From f30be1ca9ce04cfab55b9e6ce25cec6952f7e21d Mon Sep 17 00:00:00 2001 From: José Bollo Date: Fri, 22 Sep 2017 15:59:48 +0200 Subject: Add a closure argument to dynamic verbs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also demonstrate the mix of api v2 with dynapi. Change-Id: I95e8d32ac836590ce3f7b3f0b5f29e5574808976 Signed-off-by: José Bollo --- bindings/samples/ave.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'bindings/samples') diff --git a/bindings/samples/ave.c b/bindings/samples/ave.c index 3ddfda62..e6b195b8 100644 --- a/bindings/samples/ave.c +++ b/bindings/samples/ave.c @@ -447,6 +447,18 @@ static const struct { { .verb=NULL} }; +static void pingoo(afb_req req) +{ + json_object *args = afb_req_json(req); + afb_req_success_f(req, json_object_get(args), "You reached pingoo \\o/ nice args: %s", json_object_to_json_string(args)); +} + +static const afb_verb_v2 verbsv2[]= { + { .verb="pingoo", .callback=pingoo }, + { .verb="ping", .callback=pingoo }, + { .verb=NULL} +}; + static const char *apis[] = { "ave", "hi", "salut", NULL }; static int api_preinit(void *closure, afb_dynapi *dynapi) @@ -458,8 +470,9 @@ static int api_preinit(void *closure, afb_dynapi *dynapi) afb_dynapi_on_init(dynapi, init); afb_dynapi_on_event(dynapi, onevent); + rc = afb_dynapi_set_verbs_v2(dynapi, verbsv2); for (i = rc = 0; verbs[i].verb && rc >= 0 ; i++) { - rc = afb_dynapi_add_verb(dynapi, verbs[i].verb, NULL, verbs[i].callback, NULL, 0); + rc = afb_dynapi_add_verb(dynapi, verbs[i].verb, NULL, verbs[i].callback, (void*)(intptr_t)i, NULL, 0); } afb_dynapi_seal(dynapi); return rc; -- cgit 1.2.3-korg