diff options
author | José Bollo <jose.bollo@iot.bzh> | 2017-04-10 11:41:21 +0200 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2017-04-10 11:41:21 +0200 |
commit | 5d248158cc380d0a164fa56b46a7bdede4115407 (patch) | |
tree | df9df98654af13f291f79dfa0cc073f2d7ae6de4 /src/afb-api-so-v1.c | |
parent | b529ded85a3e50a1aa6529e870b2e2f43e377ca2 (diff) |
Refactor of API interfaces
The new interface has increased functionnality,
it allows to set debug flags by API.
Change-Id: Ibd35fb02ed645e22cac8e7021b37b96e07e79877
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-api-so-v1.c')
-rw-r--r-- | src/afb-api-so-v1.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/afb-api-so-v1.c b/src/afb-api-so-v1.c index cb61019c..4ec378e1 100644 --- a/src/afb-api-so-v1.c +++ b/src/afb-api-so-v1.c @@ -121,6 +121,26 @@ static void update_hooks_cb(void *closure) afb_ditf_update_hook(&desc->ditf); } +static int get_verbosity_cb(void *closure) +{ + struct api_so_v1 *desc = closure; + return desc->ditf.interface.verbosity; +} + +static void set_verbosity_cb(void *closure, int level) +{ + struct api_so_v1 *desc = closure; + desc->ditf.interface.verbosity = level; +} + +static struct afb_api_itf so_v1_api_itf = { + .call = call_cb, + .service_start = service_start_cb, + .update_hooks = update_hooks_cb, + .get_verbosity = get_verbosity_cb, + .set_verbosity = set_verbosity_cb +}; + int afb_api_so_v1_add(const char *path, void *handle) { struct api_so_v1 *desc; @@ -177,9 +197,7 @@ int afb_api_so_v1_add(const char *path, void *handle) /* records the binding */ afb_ditf_rename(&desc->ditf, desc->binding->v1.prefix); afb_api.closure = desc; - afb_api.call = call_cb; - afb_api.service_start = service_start_cb; - afb_api.update_hooks = update_hooks_cb; + afb_api.itf = &so_v1_api_itf; if (afb_apis_add(desc->binding->v1.prefix, afb_api) < 0) { ERROR("binding [%s] can't be registered...", path); goto error2; |