aboutsummaryrefslogtreecommitdiffstats
path: root/src/afb-api-so-v2.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-04-10 11:41:21 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-04-10 11:41:21 +0200
commit5d248158cc380d0a164fa56b46a7bdede4115407 (patch)
treedf9df98654af13f291f79dfa0cc073f2d7ae6de4 /src/afb-api-so-v2.c
parentb529ded85a3e50a1aa6529e870b2e2f43e377ca2 (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-v2.c')
-rw-r--r--src/afb-api-so-v2.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/afb-api-so-v2.c b/src/afb-api-so-v2.c
index 12b83aca..714bcd0f 100644
--- a/src/afb-api-so-v2.c
+++ b/src/afb-api-so-v2.c
@@ -119,6 +119,26 @@ static void update_hooks_cb(void *closure)
afb_ditf_update_hook(&desc->ditf);
}
+static int get_verbosity_cb(void *closure)
+{
+ struct api_so_v2 *desc = closure;
+ return desc->ditf.interface.verbosity;
+}
+
+static void set_verbosity_cb(void *closure, int level)
+{
+ struct api_so_v2 *desc = closure;
+ desc->ditf.interface.verbosity = level;
+}
+
+static struct afb_api_itf so_v2_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_v2_add(const char *path, void *handle)
{
int rc;
@@ -177,9 +197,7 @@ int afb_api_so_v2_add(const char *path, void *handle)
/* records the binding */
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_v2_api_itf;
if (afb_apis_add(binding->api, afb_api) < 0) {
ERROR("binding [%s] can't be registered...", path);
goto error2;