diff options
author | Fulup Ar Foll <fulup@iot.bzh> | 2015-12-22 23:09:04 +0100 |
---|---|---|
committer | Fulup Ar Foll <fulup@iot.bzh> | 2015-12-22 23:09:04 +0100 |
commit | 00857f9da5ae802794a4cb94aca576b11bfe6628 (patch) | |
tree | fb17939c9488de74e345bd5cc68a94b8894b8968 /include | |
parent | 1398adf363c182f25603f7d0c1ff52c5be8267b2 (diff) |
New Session Model [compile but not tested]
Diffstat (limited to 'include')
-rw-r--r-- | include/local-def.h | 7 | ||||
-rw-r--r-- | include/proto-def.h | 10 |
2 files changed, 9 insertions, 8 deletions
diff --git a/include/local-def.h b/include/local-def.h index abbbd61f..9c584417 100644 --- a/include/local-def.h +++ b/include/local-def.h @@ -97,6 +97,7 @@ extern char *ERROR_LABEL[]; typedef json_object* (*AFB_apiCB)(); +typedef void (*AFB_freeCtxCB)(void*, char*); // Error code are requested through function to manage json usage count typedef struct { @@ -218,23 +219,23 @@ typedef struct { AFB_restapi *apis; void *handle; int ctxCount; - AFB_apiCB freeCtxCB; // callback to free application context [null for standard free] + AFB_freeCtxCB 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 **ctx; // application specific context [one per plugin]] + void **contexts; // application specific context [one per plugin]] AFB_plugin **plugins; // we need plugins reference to cleanup session outside of call context } AFB_clientCtx; // MHD_lookup_connection_value(connection, MHD_GET_ARGUMENT_KIND, "value"); typedef struct { + const char *uuid; const char *url; char *plugin; char *api; diff --git a/include/proto-def.h b/include/proto-def.h index 7f6fc065..0f5ca048 100644 --- a/include/proto-def.h +++ b/include/proto-def.h @@ -43,11 +43,11 @@ PUBLIC json_object *sessionList (AFB_session *session, AFB_request *request PUBLIC json_object *sessionToDisk (AFB_session *session, AFB_request *request, char *name,json_object *jsonSession); PUBLIC json_object *sessionFromDisk (AFB_session *session, AFB_request *request, char *name); -PUBLIC AFB_error ctxTokenRefresh (AFB_request *request); -PUBLIC AFB_error ctxTokenCreate (AFB_request *request); -PUBLIC AFB_error ctxTokenCheck (AFB_request *request); -PUBLIC AFB_error ctxTokenReset (AFB_request *request); -PUBLIC AFB_error ctxClientGet (AFB_request *request, AFB_session *session, int idx); +PUBLIC AFB_error ctxTokenRefresh (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_error ctxTokenCreate (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_error ctxTokenCheck (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_error ctxTokenReset (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_clientCtx *ctxClientGet (AFB_request *request, int idx); PUBLIC void ctxStoreInit (int); |