summaryrefslogtreecommitdiffstats
path: root/include/local-def.h
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2015-12-13 10:21:46 +0100
committerFulup Ar Foll <fulup@iot.bzh>2015-12-13 10:21:46 +0100
commit1dc25c6396d8dbb6b1505751babaa499d4a68315 (patch)
tree47dcc60010448ac04ed6a1e56f815c7297be30cf /include/local-def.h
parentb8b7b338bc4bc6ac03c53a0e51716eca153f95a5 (diff)
Fixed Session Context Free with ctxFreeCB
Diffstat (limited to 'include/local-def.h')
-rw-r--r--include/local-def.h42
1 files changed, 20 insertions, 22 deletions
diff --git a/include/local-def.h b/include/local-def.h
index b37cd757..2f8fd202 100644
--- a/include/local-def.h
+++ b/include/local-def.h
@@ -169,26 +169,37 @@ typedef struct {
AFB_privateApi *private;
} AFB_restapi;
+// Plugin definition
+typedef struct {
+ AFB_pluginT type;
+ char *info;
+ char *prefix;
+ size_t prefixlen;
+ json_object *jtype;
+ AFB_restapi *apis;
+ void *handle;
+ int ctxCount;
+ AFB_apiCB freeCtxCB; // callback to free application context [null for standard free]
+} AFB_plugin;
+
// User Client Session Context
typedef struct {
- int cid; // index 0 if global
- char uuid[37]; // long term authentication of remote client
- char token[37]; // short term authentication of remote client
- time_t timeStamp; // last time token was refresh
- int restfull; // client does not use cookie
- void *handle; // application specific context
- AFB_apiCB freeHandleCB; // callback to free application handle [null for standard free]
+ int cid; // index 0 if global
+ char uuid[37]; // long term authentication of remote client
+ char token[37]; // short term authentication of remote client
+ time_t timeStamp; // last time token was refresh
+ int restfull; // client does not use cookie
+ void *ctx; // application specific context
+ AFB_plugin *plugin; // provide callback and easy access to plugin
} AFB_clientCtx;
-
// MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "value");
typedef struct {
const char *url;
char *plugin;
char *api;
char *post;
- int loa;
json_object *jresp;
AFB_clientCtx *client; // needed because libmicrohttp cannot create an empty response
int restfull; // request is resfull [uuid token provided]
@@ -199,19 +210,6 @@ typedef struct {
} AFB_request;
-// Plugin definition
-typedef struct {
- AFB_pluginT type;
- char *info;
- char *prefix;
- size_t prefixlen;
- json_object *jtype;
- AFB_restapi *apis;
- void *handle;
- int ctxCount;
-} AFB_plugin;
-
-
typedef struct {
AFB_config *config; // pointer to current config
// List of commands to execute