X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Fafb%2Fafb-service-itf.h;h=dd79bdde9c0bb22c0efd15fda2db2adef3ef7c5c;hb=refs%2Fchanges%2F23%2F14323%2F1;hp=321fa5acea4067093dc96f8ec2db75068ed3c82d;hpb=e94995611bd4e05a2aac1c0ae7c7f0855137b78a;p=src%2Fapp-framework-binder.git diff --git a/include/afb/afb-service-itf.h b/include/afb/afb-service-itf.h index 321fa5ac..dd79bdde 100644 --- a/include/afb/afb-service-itf.h +++ b/include/afb/afb-service-itf.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017 "IoT.bzh" + * Copyright (C) 2016, 2017, 2018 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -32,6 +32,9 @@ struct afb_service_itf void (*call)(void *closure, const char *api, const char *verb, struct json_object *args, void (*callback)(void*, int, struct json_object*), void *callback_closure); + + int (*call_sync)(void *closure, const char *api, const char *verb, struct json_object *args, + struct json_object **result); }; /* @@ -43,36 +46,3 @@ struct afb_service void *closure; }; -#include "afb-service-itf-v1.h" - -/** - * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding. - * The result of the call is delivered to the 'callback' function with the 'callback_closure'. - * - * The 'callback' receives 3 arguments: - * 1. 'closure' the user defined closure pointer 'callback_closure', - * 2. 'iserror' a boolean status being true (not null) when an error occured, - * 2. 'result' the resulting data as a JSON object. - * - * @param service The service as received during initialisation - * @param api The api name of the method to call - * @param verb The verb name of the method to call - * @param args The arguments to pass to the method - * @param callback The to call on completion - * @param callback_closure The closure to pass to the callback - * - * @returns 0 in case of success or -1 in case of error. - * - * @see also 'afb_req_subcall' - */ -static inline void afb_service_call( - struct afb_service service, - const char *api, - const char *verb, - struct json_object *args, - void (*callback)(void*closure, int iserror, struct json_object *result), - void *callback_closure) -{ - service.itf->call(service.closure, api, verb, args, callback, callback_closure); -} -