diff options
Diffstat (limited to 'plugins/samples')
-rw-r--r-- | plugins/samples/HelloWorld.c | 18 | ||||
-rw-r--r-- | plugins/samples/SamplePost.c | 25 |
2 files changed, 4 insertions, 39 deletions
diff --git a/plugins/samples/HelloWorld.c b/plugins/samples/HelloWorld.c index 7d99f6df..946f4b01 100644 --- a/plugins/samples/HelloWorld.c +++ b/plugins/samples/HelloWorld.c @@ -23,27 +23,11 @@ #include "afb-plugin.h" #include "afb-req-itf.h" -static int fillargs(json_object *args, struct afb_arg arg) -{ - json_object *obj; - - obj = json_object_new_object(); - json_object_object_add (obj, "value", json_object_new_string(arg.value)); - if (arg.path != NULL) - json_object_object_add (obj, "path", json_object_new_string(arg.path)); - json_object_object_add (obj, "size", json_object_new_int64((int64_t)arg.size)); - json_object_object_add (args, arg.name && *arg.name ? arg.name : "<empty-string>", obj); - return 1; /* continue to iterate */ -} - // Sample Generic Ping Debug API static void ping(struct afb_req request, json_object *jresp, const char *tag) { static int pingcount = 0; - json_object *query; - - query = json_object_new_object(); - afb_req_iterate(request, (void*)fillargs, query); + json_object *query = afb_req_json(request); afb_req_success_f(request, jresp, "Ping Binder Daemon tag=%s count=%d query=%s", tag, ++pingcount, json_object_to_json_string(query)); } diff --git a/plugins/samples/SamplePost.c b/plugins/samples/SamplePost.c index 8a1b477a..e5a7235f 100644 --- a/plugins/samples/SamplePost.c +++ b/plugins/samples/SamplePost.c @@ -25,27 +25,11 @@ #include "afb-req-itf.h" -static int fillargs(json_object *args, struct afb_arg arg) -{ - json_object *obj; - - obj = json_object_new_object(); - json_object_object_add (obj, "value", json_object_new_string(arg.value)); - if (arg.path != NULL) - json_object_object_add (obj, "path", json_object_new_string(arg.path)); - json_object_object_add (obj, "size", json_object_new_int64((int64_t)arg.size)); - json_object_object_add (args, arg.name && *arg.name ? arg.name : "<empty-string>", obj); - return 1; /* continue to iterate */ -} - // Sample Generic Ping Debug API static void getPingTest(struct afb_req request) { static int pingcount = 0; - json_object *query; - - query = json_object_new_object(); - afb_req_iterate(request, (void*)fillargs, query); + json_object *query = afb_req_json(request); afb_req_success_f(request, query, "Ping Binder Daemon count=%d", ++pingcount); } @@ -53,12 +37,9 @@ static void getPingTest(struct afb_req request) // With content-type=json data are directly avaliable in request->post->data static void GetJsonByPost (struct afb_req request) { - json_object* jresp; - json_object *query; struct afb_arg arg; - - query = json_object_new_object(); - afb_req_iterate(request, (void*)fillargs, query); + json_object* jresp; + json_object *query = afb_req_json(request); arg = afb_req_get(request, ""); jresp = arg.value ? json_tokener_parse(arg.value) : NULL; |