X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=bindings%2Fsamples%2FHelloWorld.c;h=844aa1b2c3b0614e987a17197f38f8ef98ec35dc;hb=e84fc44c47b42651fef17405f5bc09e5079d4a72;hp=92d7c4d231a24f0c4eb1e32f17072344dfde099d;hpb=4521c1e7ae5371ab9d639adc617d17fb4e8ded0c;p=src%2Fapp-framework-binder.git diff --git a/bindings/samples/HelloWorld.c b/bindings/samples/HelloWorld.c index 92d7c4d2..844aa1b2 100644 --- a/bindings/samples/HelloWorld.c +++ b/bindings/samples/HelloWorld.c @@ -282,13 +282,10 @@ static void eventpush (afb_req_t request) json_object_put(object); } -static void callcb (void *prequest, int status, json_object *object, afb_api_t api) +static void callcb (void *prequest, json_object *object, const char *error, const char *info, afb_api_t api) { afb_req_t request = prequest; - if (status < 0) - afb_req_fail(request, "failed", json_object_to_json_string(object)); - else - afb_req_success(request, json_object_get(object), NULL); + afb_req_reply(request, json_object_get(object), error, info); afb_req_unref(request); } @@ -299,31 +296,22 @@ static void call (afb_req_t request) const char *args = afb_req_value(request, "args"); json_object *object = api && verb && args ? json_tokener_parse(args) : NULL; - if (object == NULL) - afb_req_fail(request, "failed", "bad arguments"); - else - afb_service_call(api, verb, object, callcb, afb_req_addref(request)); + afb_service_call(api, verb, object, callcb, afb_req_addref(request)); } static void callsync (afb_req_t request) { - int rc; const char *api = afb_req_value(request, "api"); const char *verb = afb_req_value(request, "verb"); const char *args = afb_req_value(request, "args"); - json_object *result, *object = api && verb && args ? json_tokener_parse(args) : NULL; + json_object *object = api && verb && args ? json_tokener_parse(args) : NULL; + json_object *result; + char *error, *info; - if (object == NULL) - afb_req_fail(request, "failed", "bad arguments"); - else { - rc = afb_service_call_sync(api, verb, object, &result); - if (rc >= 0) - afb_req_success(request, result, NULL); - else { - afb_req_fail(request, "failed", json_object_to_json_string(result)); - json_object_put(result); - } - } + afb_service_call_sync(api, verb, object, &result, &error, &info); + afb_req_reply(request, result, error, info); + free(error); + free(info); } static void verbose (afb_req_t request)