X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=include%2Fafb%2Fafb-service-itf.h;h=081b1db62f056b1892a8efc512035edc6640b4d7;hb=ed1f4476a2e5c194d50008aa4cdfc9d3bd1365d6;hp=490d77e733cc53b5497caeea8c6c76eef8871efd;hpb=4dc768d67031aa99e2b885a0df7e643fdd1fa80c;p=src%2Fapp-framework-binder.git diff --git a/include/afb/afb-service-itf.h b/include/afb/afb-service-itf.h index 490d77e7..081b1db6 100644 --- a/include/afb/afb-service-itf.h +++ b/include/afb/afb-service-itf.h @@ -17,10 +17,32 @@ #pragma once -#pragma GCC warning "\n\n\ - This header file is OBSOLETE.\n\ - It is provided for COMPATIBILITY ONLY.\n\n\ - Please USE and ADAPT YOUR CODE to new names.\n" +/* avoid inclusion of */ +struct json_object; -#include "afb-binding.h" +/* + * Interface for internal of services + * It records the functions to be called for the request. + * Don't use this structure directly. + * Use the helper functions documented below. + */ +struct afb_service_itf +{ + /* CAUTION: respect the order, add at the end */ + + 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); +}; + +/* + * Object that encapsulate accesses to service items + */ +struct afb_service +{ + const struct afb_service_itf *itf; + void *closure; +};