diff options
author | José Bollo <jose.bollo@iot.bzh> | 2017-04-07 10:57:55 +0200 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2017-04-07 10:57:55 +0200 |
commit | 4846cec0be7f41f992b9f89b7adb97033e15b1a0 (patch) | |
tree | 0b03d4f8cd60af9057452c4c3e6301a610e851b2 /src/afb-hook.h | |
parent | 522569c5a9da8566f5213fa5b9b3abadf746331d (diff) |
Finalize hooking of requests
Change-Id: I0c03b2c8ce556f1e6987ee5a7ad355ba9e67f142
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-hook.h')
-rw-r--r-- | src/afb-hook.h | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/src/afb-hook.h b/src/afb-hook.h index c9624bbf..53804d40 100644 --- a/src/afb-hook.h +++ b/src/afb-hook.h @@ -18,24 +18,26 @@ #pragma once /* individual flags */ -#define afb_hook_flag_req_json 1 -#define afb_hook_flag_req_get 2 -#define afb_hook_flag_req_success 4 -#define afb_hook_flag_req_fail 8 -#define afb_hook_flag_req_raw 16 -#define afb_hook_flag_req_send 32 -#define afb_hook_flag_req_context_get 64 -#define afb_hook_flag_req_context_set 128 -#define afb_hook_flag_req_addref 256 -#define afb_hook_flag_req_unref 512 -#define afb_hook_flag_req_session_close 1024 -#define afb_hook_flag_req_session_set_LOA 2048 -#define afb_hook_flag_req_subscribe 4096 -#define afb_hook_flag_req_unsubscribe 8192 -#define afb_hook_flag_req_subcall 16384 -#define afb_hook_flag_req_subcall_result 32768 -#define afb_hook_flag_req_begin 65536 -#define afb_hook_flag_req_end 131072 +#define afb_hook_flag_req_begin 0x000001 +#define afb_hook_flag_req_end 0x000002 +#define afb_hook_flag_req_json 0x000004 +#define afb_hook_flag_req_get 0x000008 +#define afb_hook_flag_req_success 0x000010 +#define afb_hook_flag_req_fail 0x000020 +#define afb_hook_flag_req_raw 0x000040 +#define afb_hook_flag_req_send 0x000080 +#define afb_hook_flag_req_context_get 0x000100 +#define afb_hook_flag_req_context_set 0x000200 +#define afb_hook_flag_req_addref 0x000400 +#define afb_hook_flag_req_unref 0x000800 +#define afb_hook_flag_req_session_close 0x001000 +#define afb_hook_flag_req_session_set_LOA 0x002000 +#define afb_hook_flag_req_subscribe 0x004000 +#define afb_hook_flag_req_unsubscribe 0x010800 +#define afb_hook_flag_req_subcall 0x020000 +#define afb_hook_flag_req_subcall_result 0x040000 +#define afb_hook_flag_req_subcallsync 0x080000 +#define afb_hook_flag_req_subcallsync_result 0x100000 /* common flags */ #define afb_hook_flags_req_life (afb_hook_flag_req_begin|afb_hook_flag_req_end) @@ -43,7 +45,8 @@ #define afb_hook_flags_req_result (afb_hook_flag_req_success|afb_hook_flag_req_fail) #define afb_hook_flags_req_session (afb_hook_flag_req_session_close|afb_hook_flag_req_session_set_LOA) #define afb_hook_flags_req_event (afb_hook_flag_req_subscribe|afb_hook_flag_req_unsubscribe) -#define afb_hook_flags_req_subcall (afb_hook_flag_req_subcall|afb_hook_flag_req_subcall_result) +#define afb_hook_flags_req_subcall (afb_hook_flag_req_subcall|afb_hook_flag_req_subcall_result\ + |afb_hook_flag_req_subcallsync|afb_hook_flag_req_subcallsync_result) /* extra flags */ #define afb_hook_flags_req_ref (afb_hook_flag_req_addref|afb_hook_flag_req_unref) @@ -87,6 +90,8 @@ struct afb_hook_xreq_itf { void (*hook_xreq_unsubscribe)(void * closure, const struct afb_xreq *xreq, struct afb_event event, int result); void (*hook_xreq_subcall)(void * closure, const struct afb_xreq *xreq, const char *api, const char *verb, struct json_object *args); void (*hook_xreq_subcall_result)(void * closure, const struct afb_xreq *xreq, int status, struct json_object *result); + void (*hook_xreq_subcallsync)(void * closure, const struct afb_xreq *xreq, const char *api, const char *verb, struct json_object *args); + void (*hook_xreq_subcallsync_result)(void * closure, const struct afb_xreq *xreq, int status, struct json_object *result); }; extern void afb_hook_init_xreq(struct afb_xreq *xreq); @@ -114,4 +119,6 @@ extern int afb_hook_xreq_subscribe(const struct afb_xreq *xreq, struct afb_event extern int afb_hook_xreq_unsubscribe(const struct afb_xreq *xreq, struct afb_event event, int result); extern void afb_hook_xreq_subcall(const struct afb_xreq *xreq, const char *api, const char *verb, struct json_object *args); extern void afb_hook_xreq_subcall_result(const struct afb_xreq *xreq, int status, struct json_object *result); +extern void afb_hook_xreq_subcallsync(const struct afb_xreq *xreq, const char *api, const char *verb, struct json_object *args); +extern int afb_hook_xreq_subcallsync_result(const struct afb_xreq *xreq, int status, struct json_object *result); |