X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-api.h;h=1f2a4a98f480258683be28ff8176421c40071f58;hb=b55f3cd48507105e85894be89557787eccfbe22f;hp=3f2e7f157a03e44f07989b9d5fd33ffe8db85eb0;hpb=285fc5b291793dfbfe05625d352bd326e224b700;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api.h b/src/afb-api.h index 3f2e7f15..1f2a4a98 100644 --- a/src/afb-api.h +++ b/src/afb-api.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017, 2018 "IoT.bzh" + * Copyright (C) 2016-2019 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,24 +24,28 @@ 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; const void *group; }; -extern int afb_api_is_valid_name(const char *name, int hookable); +extern int afb_api_is_valid_name(const char *name); + +static inline int afb_api_is_public(const char *name) +{ + return *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)