1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
/*
* Copyright (C) 2016-2018 "IoT.bzh"
* Author Fulup Ar Foll <fulup@iot.bzh>
* Contrib Jonathan Aillet <jonathan.aillet@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, something express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef _AFB_DEFINITIONS_INCLUDE_
#define _AFB_DEFINITIONS_INCLUDE_
#if(AFB_BINDING_VERSION != 2)
#include <afb/afb-binding.h>
#define AFB_ReqNone NULL
typedef struct afb_req_x2* AFB_ReqT;
typedef struct afb_api_x3* AFB_ApiT;
typedef struct afb_event_x2* AFB_EventT;
#define AFB_EventIsValid(eventid) eventid
#define AFB_EventPush afb_event_x2_push
#define AFB_ReqSubscribe afb_req_x2_subscribe
#define AFB_ReqJson(request) afb_req_x2_json(request)
#define AFB_ReqSuccess(r,o,i) afb_req_x2_reply(r,o,NULL,i)
#define AFB_ReqSuccessF(r,o,...) afb_req_x2_reply_f(r,o,NULL,__VA_ARGS__)
#define AFB_ReqFail(r,e,i) afb_req_x2_reply(r,NULL,e,i)
#define AFB_ReqFailF(r,e,...) afb_req_x2_reply_f(r,NULL,e,__VA_ARGS__)
#define AFB_ReqNotice(request, ...) AFB_REQ_NOTICE (request, __VA_ARGS__)
#define AFB_ReqWarning(request, ...) AFB_REQ_WARNING (request, __VA_ARGS__)
#define AFB_ReqDebug(request, ...) AFB_REQ_DEBUG (request, __VA_ARGS__)
#define AFB_ReqError(request, ...) AFB_REQ_ERROR (request, __VA_ARGS__)
#define AFB_ReqInfo(request, ...) AFB_REQ_INFO (request, __VA_ARGS__)
#define AFB_ReqIsValid(request) request
#define AFB_EvtIsValid(evtHandle) evtHandle
/*
* Binder version < FF.RC4, we miss two defined calls.
* This is for compatibility purpose that we defined them here.
*/
#if ! defined(afb_service_call_legacy) || ! defined(afb_service_call_sync_legacy)
#define afb_service_call_legacy afb_api_x3_call_legacy
#define afb_service_call_sync_legacy afb_api_x3_call_sync_legacy
#endif
#define AFB_ClientCtxClear(request) afb_req_x2_context_clear(request)
#define AFB_ReqSetLOA(request, level) afb_req_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;
#define AFB_EventMake(api, name) afb_api_x3_make_event_x2(api, name)
#define AFB_ApiVerbose(api, level, ...) afb_api_x3_verbose(api, level, __VA_ARGS__)
#define AFB_ApiNotice(api, ...) AFB_API_NOTICE_V3 (api, __VA_ARGS__)
#define AFB_ApiWarning(api, ...) AFB_API_WARNING_V3 (api, __VA_ARGS__)
#define AFB_ApiDebug(api, ...) AFB_API_DEBUG_V3 (api, __VA_ARGS__)
#define AFB_ApiError(api, ...) AFB_API_ERROR_V3 (api, __VA_ARGS__)
#define AFB_ApiInfo(api, ...) AFB_API_INFO_V3 (api, __VA_ARGS__)
#define AFB_GetApiSettings afb_api_x3_settings
#define AFB_ServiceCall(api, ...) afb_api_x3_call_legacy(api, __VA_ARGS__)
#define AFB_ServiceSync(api, ...) afb_api_x3_call_sync_legacy(api, __VA_ARGS__)
#define AFB_ApiCall(api, ...) afb_api_x3_call(api, __VA_ARGS__)
#define AFB_ApiSync(api, ...) afb_api_x3_call_sync(api, __VA_ARGS__)
#define AFB_RequireApi(api, ...) afb_api_x3_require_api(api, __VA_ARGS__)
#define AFB_GetEventLoop(api) afb_api_x3_get_event_loop(api)
#define AFB_RootDirGetFD(api) afb_api_x3_rootdir_get_fd(api)
#define AFB_ReqVCBData afb_req_x2_get_vcbdata
#define AFB_ReqGetApi afb_req_get_api
#define AFB_NewApi afb_api_x3_new_api
#define AFB_ApiAddVerb afb_api_x3_add_verb
#define AFB_ApiSetUserData afb_api_x3_set_userdata
#define AFB_ApiGetUserData afb_api_x3_get_userdata
#define AFB_ApiOnEvent afb_api_x3_on_event
#define AFB_ApiOnInit afb_api_x3_on_init
#define AFB_ApiSeal afb_api_x3_seal
#define AFB_ClientCtxSet(request, replace, createCB, freeCB, handle) afb_req_x2_context(request, replace, createCB, freeCB, handle)
#endif
#include "afb-definitions_v2.h"
#endif /* _AFB_DEFINITIONS_INCLUDE_ */
|