X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fsession.h;h=23993248f2877374f919da5e081d969380be1097;hb=91f3e6ecdada77d57c8d92a955776fd8fe6d402e;hp=a4c052220e970ef253f92cf626ea96416387917e;hpb=3b0d4962f64f546474fa033ffa4e3d067194c888;p=src%2Fapp-framework-binder.git diff --git a/src/session.h b/src/session.h index a4c05222..23993248 100644 --- a/src/session.h +++ b/src/session.h @@ -1,5 +1,5 @@ /* - * Copyright 2016 IoT.bzh + * Copyright (C) 2016, 2017 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,35 +20,25 @@ struct json_object; struct AFB_clientCtx; -struct afb_event_listener_itf -{ - void (*send)(void *closure, const char *event, struct json_object *object); - int (*expects)(void *closure, const char *event); -}; - -struct afb_event_listener -{ - const struct afb_event_listener_itf *itf; - void *closure; -}; - extern void ctxStoreInit (int max_session_count, int timeout, const char *initok, int context_count); +extern struct AFB_clientCtx *ctxClientCreate (const char *uuid, int timeout); extern struct AFB_clientCtx *ctxClientGetSession (const char *uuid, int *created); extern struct AFB_clientCtx *ctxClientAddRef(struct AFB_clientCtx *clientCtx); extern void ctxClientUnref(struct AFB_clientCtx *clientCtx); extern void ctxClientClose (struct AFB_clientCtx *clientCtx); -extern int ctxClientEventListenerAdd(struct AFB_clientCtx *clientCtx, struct afb_event_listener listener); -extern void ctxClientEventListenerRemove(struct AFB_clientCtx *clientCtx, struct afb_event_listener listener); -extern int ctxClientEventSend(struct AFB_clientCtx *clientCtx, const char *event, struct json_object *object); - extern int ctxTokenCheck (struct AFB_clientCtx *clientCtx, const char *token); extern void ctxTokenNew (struct AFB_clientCtx *clientCtx); extern const char *ctxClientGetUuid (struct AFB_clientCtx *clientCtx); extern const char *ctxClientGetToken (struct AFB_clientCtx *clientCtx); +extern unsigned ctxClientGetLOA (struct AFB_clientCtx *clientCtx); +extern void ctxClientSetLOA (struct AFB_clientCtx *clientCtx, unsigned loa); extern void *ctxClientValueGet(struct AFB_clientCtx *clientCtx, int index); extern void ctxClientValueSet(struct AFB_clientCtx *clientCtx, int index, void *value, void (*free_value)(void*)); +extern void *ctxClientCookieGet(struct AFB_clientCtx *clientCtx, const void *key); +extern int ctxClientCookieSet(struct AFB_clientCtx *clientCtx, const void *key, void *value, void (*free_value)(void*)); +