diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-06-01 23:07:46 +0200 |
---|---|---|
committer | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-06-01 23:08:47 +0200 |
commit | 540522a733e8b6b5140cc5e44699d7636240f5e1 (patch) | |
tree | bd194813d85703b86c1304498ea569c55cab7a2b /ctl-lib/ctl-plugin.h | |
parent | 50feaf0af101bbbf4f80a9d6c2ccd0f73c31fe96 (diff) |
Use an external file for app fw functions link
Use an external file for application framework include, for macro, and
for typedef definitions used by the controller.
In this way, it will be possible to include this file without getting
all the specific controller definitions.
Also define the correct version needed by the application framework
for dynamic api.
Change-Id: Ifaa09538f49ff2739eeb6a75527767961a2ef3b0
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'ctl-lib/ctl-plugin.h')
-rw-r--r-- | ctl-lib/ctl-plugin.h | 121 |
1 files changed, 1 insertions, 120 deletions
diff --git a/ctl-lib/ctl-plugin.h b/ctl-lib/ctl-plugin.h index 10dd3f7..6488e86 100644 --- a/ctl-lib/ctl-plugin.h +++ b/ctl-lib/ctl-plugin.h @@ -30,126 +30,7 @@ extern "C" { #include <json-c/json.h> -// Waiting for a clean AppFW-V3 API -#ifdef USE_API_DYN - #define AFB_BINDING_VERSION dyn - #include <afb/afb-binding.h> - - #define AFB_BINDING_PREV3 - #define AFB_ReqNone NULL - typedef afb_request* AFB_ReqT; - typedef afb_dynapi* AFB_ApiT; - - typedef afb_eventid* AFB_EventT; - #define AFB_EventIsValid(eventid) eventid - #define AFB_EventPush afb_eventid_push - #define AFB_ReqSubscribe afb_request_subscribe - #define AFB_EventMake(api, name) afb_dynapi_make_eventid(api, name) - - #define AFB_ReqJson(request) afb_request_json(request) - - #define AFB_ReqSucess afb_request_success - #define AFB_ReqSucessF afb_request_success_f - #define AFB_ReqFail afb_request_fail - #define AFB_ReqFailF afb_request_fail_f - - #define AFB_ReqNotice(request, ...) AFB_REQUEST_NOTICE (request, __VA_ARGS__) - #define AFB_ReqWarning(request, ...) AFB_REQUEST_WARNING (request, __VA_ARGS__) - #define AFB_ReqDebug(request, ...) AFB_REQUEST_DEBUG (request, __VA_ARGS__) - #define AFB_ReqError(request, ...) AFB_REQUEST_ERROR (request, __VA_ARGS__) - #define AFB_ReqInfo(request, ...) AFB_REQUEST_INFO (request, __VA_ARGS__) - - #define AFB_ApiVerbose(api, level, ...) afb_dynapi_verbose(api, level, __VA_ARGS__) - #define AFB_ApiNotice(api, ...) AFB_DYNAPI_NOTICE (api, __VA_ARGS__) - #define AFB_ApiWarning(api, ...) AFB_DYNAPI_WARNING (api, __VA_ARGS__) - #define AFB_ApiDebug(api, ...) AFB_DYNAPI_DEBUG (api, __VA_ARGS__) - #define AFB_ApiError(api, ...) AFB_DYNAPI_ERROR (api, __VA_ARGS__) - #define AFB_ApiInfo(api, ...) AFB_DYNAPI_INFO (api, __VA_ARGS__) - - #define AFB_ReqIsValid(request) request - #define AFB_EvtIsValid(evtHandle) evtHandle - - #define AFB_ServiceCall(api, ...) afb_dynapi_call(api, __VA_ARGS__) - #define AFB_ServiceSync(api, ...) afb_dynapi_call_sync(api, __VA_ARGS__) - - #define AFB_RequireApi(api, ...) afb_dynapi_require_api(api, __VA_ARGS__) - - - #define AFB_GetEventLoop(api) afb_dynapi_get_event_loop(api) - #define AFB_RootDirGetFD(api) afb_dynapi_rootdir_get_fd(api) - - #define AFB_ClientCtxSet(request, replace, createCB, freeCB, handle) afb_request_context(request, replace, createCB, freeCB, handle) - #define AFB_ClientCtxClear(request) afb_request_context_clear(request) - - #define AFB_ReqSetLOA(request, level) afb_request_session_set_LOA(request, level) - - typedef struct { - const char *verb; /* name of the verb, NULL only at end of the array */ - void (*callback)(AFB_ReqT req); /* callback function implementing the verb */ - const struct afb_auth *auth; /* required authorisation, can be NULL */ - const char *info; /* some info about the verb, can be NULL */ - uint32_t session; - } AFB_ApiVerbs; - -#else - #define AFB_BINDING_VERSION 2 - #include <afb/afb-binding.h> - - typedef afb_req AFB_ReqT; - typedef void* AFB_ApiT; - #define AFB_ReqNone (struct afb_req){0,0} - - typedef afb_event AFB_EventT; - #define AFB_EventPush afb_event_push - #define AFB_ReqSubscribe afb_req_subscribe - #define AFB_EventIsValid(event) afb_event_is_valid(event) - #define AFB_EventMake(api, name) afb_daemon_make_event(name) - - #define AFB_ReqJson(request) afb_req_json(request) - #define AFB_ReqSucess afb_req_success - #define AFB_ReqSucessF afb_req_success_f - #define AFB_ReqFail afb_req_fail - #define AFB_ReqFailF afb_req_fail_f - - #define AFB_ReqNotice(request, ...) AFB_NOTICE (__VA_ARGS__) - #define AFB_ReqWarning(request, ...) AFB_WARNING (__VA_ARGS__) - #define AFB_ReqDebug(request, ...) AFB_DEBUG (__VA_ARGS__) - #define AFB_ReqError(request, ...) AFB_ERROR (__VA_ARGS__) - #define AFB_ReqInfo(request, ...) AFB_INFO (__VA_ARGS__) - - #define AFB_ApiVerbose(api, level, ...) afb_daemon_verbose_v2(level,__VA_ARGS__) - #define AFB_ApiNotice(api, ...) AFB_NOTICE (__VA_ARGS__) - #define AFB_ApiWarning(api, ...) AFB_WARNING (__VA_ARGS__) - #define AFB_ApiDebug(api, ...) AFB_DEBUG (__VA_ARGS__) - #define AFB_ApiError(api, ...) AFB_ERROR (__VA_ARGS__) - #define AFB_ApiInfo(api, ...) AFB_INFO (__VA_ARGS__) - - #define AFB_ReqIsValid(request) afb_req_is_valid(request) - #define AFB_EvtIsValid(evtHandle) afb_event_is_valid(evtHandle) - - #define AFB_ServiceCall(api, ...) afb_service_call(__VA_ARGS__) - #define AFB_ServiceSync(api, ...) afb_service_call_sync(__VA_ARGS__) - - #define AFB_RequireApi(api, ...) afb_daemon_require_api(__VA_ARGS__) - - #define AFB_GetEventLoop(api) afb_daemon_get_event_loop() - #define AFB_RootDirGetFD(api) afb_daemon_rootdir_get_fd() - - #define AFB_ReqSetLOA(request, level) afb_req_session_set_LOA(request, level) - - static inline void* AFB_ClientCtxSet(afb_req request, int replace, void *(*create_context)(void *closure), void (*free_context)(void*), void *closure) - { - void *ctx = create_context(closure); - if(ctx) - {afb_req_context_set(request, ctx, free_context);} - return ctx; - } - - #define AFB_ClientCtxClear(request) afb_req_context_clear(request) - - #define AFB_ApiVerbs afb_verb_v2 -#endif - +#include "afb-definitions.h" #ifndef CTL_PLUGIN_MAGIC #define CTL_PLUGIN_MAGIC 852369147 |