X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fafb-api.h;h=70bf3c3431e9e7ac2e8148251b5e51e4f86c4904;hb=65353dce81a629e042800bb7b86fcd869a76727e;hp=a9de8434941b2db29ea88660c3bd2e504c105768;hpb=379b11154f301a30e79154c0af1ef1f257149efa;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api.h b/src/afb-api.h index a9de8434..70bf3c34 100644 --- a/src/afb-api.h +++ b/src/afb-api.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017 "IoT.bzh" + * Copyright (C) 2015-2020 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,14 +24,17 @@ struct json_object; struct afb_api_itf { void (*call)(void *closure, struct afb_xreq *xreq); - int (*service_start)(void *closure, int share_session, int onneed, struct afb_apiset *apiset); + int (*service_start)(void *closure); +#if WITH_AFB_HOOK void (*update_hooks)(void *closure); - int (*get_verbosity)(void *closure); - void (*set_verbosity)(void *closure, int level); - struct json_object *(*describe)(void *closure); +#endif + int (*get_logmask)(void *closure); + void (*set_logmask)(void *closure, int level); + void (*describe)(void *closure, void (*describecb)(void *, struct json_object *), void *clocb); + void (*unref)(void *closure); }; -struct afb_api +struct afb_api_item { void *closure; struct afb_api_itf *itf; @@ -40,7 +43,9 @@ struct afb_api extern int afb_api_is_valid_name(const char *name); -#define AFB_API_UNHOOKABLE_PREFIX_CHAR '$' -#define AFB_API_UNHOOKABLE_PREFIX_STRING "$" -#define afb_api_is_hookable(api) ((api)[0] != AFB_API_UNHOOKABLE_PREFIX_CHAR) +static inline int afb_api_is_public(const char *name) +{ + return *name != '.'; +} +