X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Fafb%2Fafb-service-itf.h;h=081b1db62f056b1892a8efc512035edc6640b4d7;hb=7f4444176bd6efaa5e189a148351bab5a72c2853;hp=490d77e733cc53b5497caeea8c6c76eef8871efd;hpb=7a7268a5697b0b988bcabc00390878edee941b4e;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; +};