diff options
author | José Bollo <jose.bollo@iot.bzh> | 2016-06-09 07:54:31 +0200 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2016-06-09 08:39:02 +0200 |
commit | 7e0abe76db7b90369429bf387d7aad0fb5a42328 (patch) | |
tree | eedf5609a588f0d9d743fb941bc8727ff1356b21 /src/session.h | |
parent | c37c8e6291c36665dd23601a8ce1449afd43e6df (diff) |
Events: refactoring
This new version allows to subscribe a client for
an event.
The event should first be created for the API
(the API's prefix is added) using 'afb_daemon_make_event'.
After that, plugins can subscribe or unsubscribe their
clients (identified through requests) to the events that
it generates. See 'afb_req_subscribe' and 'afb_req_unsubscribe'.
Events created by 'afb_daemon_make_event' can be widely
broadcasted using 'afb_event_broadcast' or pushed only to
suscribers using 'afb_event_push'.
Events can be destroyed using 'afb_event_drop'.
Change-Id: I7c0bed5e625c2052dcd81c6bfe960def1fa032f3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/session.h')
-rw-r--r-- | src/session.h | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/src/session.h b/src/session.h index af074100..497951af 100644 --- a/src/session.h +++ b/src/session.h @@ -20,18 +20,6 @@ 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 *ctxClientGetSession (const char *uuid, int *created); @@ -39,10 +27,6 @@ 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); |