X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fsession.h;h=c11921b6c5f649f4c28db0dcbdf78c3d22cf3dcf;hb=d3a68744e728b77d2c37f51e865f2f49e533b6f7;hp=9b54179b9e6bbd3a3dff51f576a6029da6cce65c;hpb=bbe18a624f4961165cf52d7f4c25de6f3a7ec012;p=src%2Fapp-framework-binder.git diff --git a/src/session.h b/src/session.h index 9b54179b..c11921b6 100644 --- a/src/session.h +++ b/src/session.h @@ -18,19 +18,21 @@ struct AFB_clientCtx { - time_t timeStamp; // last time token was refresh - void **contexts; // application specific context [one per plugin]] - char uuid[37]; // long term authentication of remote client - char token[37]; // short term authentication of remote client + time_t expiration; // expiration time of the token + int created; + unsigned refcount; + void **contexts; // application specific context [one per plugin] + char uuid[37]; // long term authentication of remote client + char token[37]; // short term authentication of remote client }; -typedef struct AFB_clientCtx AFB_clientCtx; -extern void ctxStoreGarbage (); +extern void ctxStoreInit (int nbSession, int timeout, const char *initok); -extern void ctxStoreInit (int nbSession, int timeout, int apicount, const char *initok); - -extern AFB_clientCtx *ctxClientGet (const char *uuid); -extern int ctxClientClose (AFB_clientCtx *clientCtx); -extern int ctxTokenCheck (AFB_clientCtx *clientCtx, const char *token); -extern int ctxTokenNew (AFB_clientCtx *clientCtx); +extern struct AFB_clientCtx *ctxClientGetForUuid (const char *uuid); +extern struct AFB_clientCtx *ctxClientGet(struct AFB_clientCtx *clientCtx); +extern void ctxClientPut(struct AFB_clientCtx *clientCtx); +extern void ctxClientClose (struct AFB_clientCtx *clientCtx); +extern int ctxTokenCheck (struct AFB_clientCtx *clientCtx, const char *token); +extern int ctxTokenCheckLen (struct AFB_clientCtx *clientCtx, const char *token, size_t length); +extern void ctxTokenNew (struct AFB_clientCtx *clientCtx);