summaryrefslogtreecommitdiffstats
path: root/ucs2-afb/ucs_apidef.h
diff options
context:
space:
mode:
Diffstat (limited to 'ucs2-afb/ucs_apidef.h')
-rw-r--r--ucs2-afb/ucs_apidef.h156
1 files changed, 89 insertions, 67 deletions
diff --git a/ucs2-afb/ucs_apidef.h b/ucs2-afb/ucs_apidef.h
index 379966b..ebc3cc3 100644
--- a/ucs2-afb/ucs_apidef.h
+++ b/ucs2-afb/ucs_apidef.h
@@ -1,61 +1,65 @@
static const char _afb_description_UNICENS[] =
- "{\"openapi\":\"3.0.0\",\"$schema\":\"http:iot.bzh/download/openapi/schem"
- "a-3.0/default-schema.json\",\"info\":{\"description\":\"\",\"title\":\"u"
- "cs2\",\"version\":\"1.0\",\"x-binding-c-generator\":{\"api\":\"UNICENS\""
- ",\"version\":2,\"prefix\":\"ucs2_\",\"postfix\":\"\",\"start\":null,\"on"
- "event\":null,\"preinit\":null,\"init\":\"ucs2_initbinding\",\"scope\":\""
- "\",\"private\":false}},\"servers\":[{\"url\":\"ws://{host}:{port}/api/mo"
- "nitor\",\"description\":\"Unicens2 API.\",\"variables\":{\"host\":{\"def"
- "ault\":\"localhost\"},\"port\":{\"default\":\"1234\"}},\"x-afb-events\":"
- "[{\"$ref\":\"#/components/schemas/afb-event\"}]}],\"components\":{\"sche"
- "mas\":{\"afb-reply\":{\"$ref\":\"#/components/schemas/afb-reply-v2\"},\""
- "afb-event\":{\"$ref\":\"#/components/schemas/afb-event-v2\"},\"afb-reply"
- "-v2\":{\"title\":\"Generic response.\",\"type\":\"object\",\"required\":"
- "[\"jtype\",\"request\"],\"properties\":{\"jtype\":{\"type\":\"string\",\""
- "const\":\"afb-reply\"},\"request\":{\"type\":\"object\",\"required\":[\""
- "status\"],\"properties\":{\"status\":{\"type\":\"string\"},\"info\":{\"t"
- "ype\":\"string\"},\"token\":{\"type\":\"string\"},\"uuid\":{\"type\":\"s"
- "tring\"},\"reqid\":{\"type\":\"string\"}}},\"response\":{\"type\":\"obje"
- "ct\"}}},\"afb-event-v2\":{\"type\":\"object\",\"required\":[\"jtype\",\""
- "event\"],\"properties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-"
- "event\"},\"event\":{\"type\":\"string\"},\"data\":{\"type\":\"object\"}}"
- "}},\"x-permissions\":{\"config\":{\"permission\":\"urn:AGL:permission:UN"
- "ICENS:public:initialise\"},\"monitor\":{\"permission\":\"urn:AGL:permiss"
- "ion:UNICENS:public:monitor\"},\"controller\":{\"permission\":\"urn:AGL:p"
- "ermission:UNICENS:public:controller\"}},\"responses\":{\"200\":{\"descri"
- "ption\":\"A complex object array response\",\"content\":{\"application/j"
- "son\":{\"schema\":{\"$ref\":\"#/components/schemas/afb-reply\"}}}}}},\"p"
- "aths\":{\"/listconfig\":{\"description\":\"List Config Files\",\"get\":{"
- "\"x-permissions\":{\"$ref\":\"#/components/x-permissions/config\"},\"par"
- "ameters\":[{\"in\":\"query\",\"name\":\"cfgpath\",\"required\":false,\"s"
- "chema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#/com"
- "ponents/responses/200\"}}}},\"/initialise\":{\"description\":\"configure"
- " Unicens2 lib from NetworkConfig.XML.\",\"get\":{\"x-permissions\":{\"$r"
- "ef\":\"#/components/x-permissions/config\"},\"parameters\":[{\"in\":\"qu"
- "ery\",\"name\":\"filename\",\"required\":true,\"schema\":{\"type\":\"str"
- "ing\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\""
- "}}}},\"/subscribe\":{\"description\":\"Subscribe to network events.\",\""
- "get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/monitor\""
- "},\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\""
- "/subscriberx\":{\"description\":\"Subscribe to Rx control message events"
- ".\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/mo"
- "nitor\"},\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\""
- "}}}},\"/writei2c\":{\"description\":\"Writes I2C command to remote node."
- "\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/mon"
- "itor\"},\"parameters\":[{\"in\":\"query\",\"name\":\"node\",\"required\""
- ":true,\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}},{\"in\":\""
- "query\",\"name\":\"data\",\"required\":true,\"schema\":{\"type\":\"array"
- "\",\"format\":\"int32\"},\"style\":\"simple\"}],\"responses\":{\"200\":{"
- "\"$ref\":\"#/components/responses/200\"}}}},\"/sendmessage\":{\"descript"
- "ion\":\"Transmits a control message to a node.\",\"get\":{\"x-permission"
- "s\":{\"$ref\":\"#/components/x-permissions/controller\"},\"parameters\":"
- "[{\"in\":\"query\",\"name\":\"node\",\"required\":true,\"schema\":{\"typ"
- "e\":\"integer\",\"format\":\"int32\"}},{\"in\":\"query\",\"name\":\"msgi"
- "d\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int3"
- "2\"}},{\"in\":\"query\",\"name\":\"data\",\"required\":false,\"schema\":"
- "{\"type\":\"string\",\"format\":\"byte\"},\"style\":\"simple\"}],\"respo"
- "nses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}}}}"
+ "{\"openapi\":\"3.0.0\",\"$schema\":\"http:iot.bzh/download/openapi/s"
+ "chema-3.0/default-schema.json\",\"info\":{\"description\":\"\",\"tit"
+ "le\":\"ucs2\",\"version\":\"1.0\",\"x-binding-c-generator\":{\"api\""
+ ":\"UNICENS\",\"version\":3,\"prefix\":\"ucs2_\",\"postfix\":\"\",\"s"
+ "tart\":null,\"onevent\":null,\"preinit\":null,\"init\":\"ucs2_initbi"
+ "nding\",\"scope\":\"\",\"private\":false}},\"servers\":[{\"url\":\"w"
+ "s://{host}:{port}/api/monitor\",\"description\":\"Unicens2 API.\",\""
+ "variables\":{\"host\":{\"default\":\"localhost\"},\"port\":{\"defaul"
+ "t\":\"1234\"}},\"x-afb-events\":[{\"$ref\":\"#/components/schemas/af"
+ "b-event\"}]}],\"components\":{\"schemas\":{\"afb-reply\":{\"$ref\":\""
+ "#/components/schemas/afb-reply-v2\"},\"afb-event\":{\"$ref\":\"#/com"
+ "ponents/schemas/afb-event-v2\"},\"afb-reply-v2\":{\"title\":\"Generi"
+ "c response.\",\"type\":\"object\",\"required\":[\"jtype\",\"request\""
+ "],\"properties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-rep"
+ "ly\"},\"request\":{\"type\":\"object\",\"required\":[\"status\"],\"p"
+ "roperties\":{\"status\":{\"type\":\"string\"},\"info\":{\"type\":\"s"
+ "tring\"},\"token\":{\"type\":\"string\"},\"uuid\":{\"type\":\"string"
+ "\"},\"reqid\":{\"type\":\"string\"}}},\"response\":{\"type\":\"objec"
+ "t\"}}},\"afb-event-v2\":{\"type\":\"object\",\"required\":[\"jtype\""
+ ",\"event\"],\"properties\":{\"jtype\":{\"type\":\"string\",\"const\""
+ ":\"afb-event\"},\"event\":{\"type\":\"string\"},\"data\":{\"type\":\""
+ "object\"}}}},\"x-permissions\":{\"config\":{\"permission\":\"urn:AGL"
+ ":permission:UNICENS:public:initialise\"},\"monitor\":{\"permission\""
+ ":\"urn:AGL:permission:UNICENS:public:monitor\"},\"controller\":{\"pe"
+ "rmission\":\"urn:AGL:permission:UNICENS:public:controller\"}},\"resp"
+ "onses\":{\"200\":{\"description\":\"A complex object array response\""
+ ",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/compone"
+ "nts/schemas/afb-reply\"}}}}}},\"paths\":{\"/listconfig\":{\"descript"
+ "ion\":\"List Config Files\",\"get\":{\"x-permissions\":{\"$ref\":\"#"
+ "/components/x-permissions/config\"},\"parameters\":[{\"in\":\"query\""
+ ",\"name\":\"cfgpath\",\"required\":false,\"schema\":{\"type\":\"stri"
+ "ng\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/20"
+ "0\"}}}},\"/initialise\":{\"description\":\"configure Unicens2 lib fr"
+ "om NetworkConfig.XML.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/com"
+ "ponents/x-permissions/config\"},\"parameters\":[{\"in\":\"query\",\""
+ "name\":\"filename\",\"required\":true,\"schema\":{\"type\":\"string\""
+ "}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}"
+ "}}},\"/subscribe\":{\"description\":\"Subscribe to network events.\""
+ ",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/m"
+ "onitor\"},\"responses\":{\"200\":{\"$ref\":\"#/components/responses/"
+ "200\"}}}},\"/subscriberx\":{\"description\":\"Subscribe to Rx contro"
+ "l message events.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/compone"
+ "nts/x-permissions/monitor\"},\"responses\":{\"200\":{\"$ref\":\"#/co"
+ "mponents/responses/200\"}}}},\"/writei2c\":{\"description\":\"Writes"
+ " I2C command to remote node.\",\"get\":{\"x-permissions\":{\"$ref\":"
+ "\"#/components/x-permissions/monitor\"},\"parameters\":[{\"in\":\"qu"
+ "ery\",\"name\":\"node\",\"required\":true,\"schema\":{\"type\":\"int"
+ "eger\",\"format\":\"int32\"}},{\"in\":\"query\",\"name\":\"data\",\""
+ "required\":true,\"schema\":{\"type\":\"array\",\"format\":\"int32\"}"
+ ",\"style\":\"simple\"}],\"responses\":{\"200\":{\"$ref\":\"#/compone"
+ "nts/responses/200\"}}}},\"/sendmessage\":{\"description\":\"Transmit"
+ "s a control message to a node.\",\"get\":{\"x-permissions\":{\"$ref\""
+ ":\"#/components/x-permissions/controller\"},\"parameters\":[{\"in\":"
+ "\"query\",\"name\":\"node\",\"required\":true,\"schema\":{\"type\":\""
+ "integer\",\"format\":\"int32\"}},{\"in\":\"query\",\"name\":\"msgid\""
+ ",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int"
+ "32\"}},{\"in\":\"query\",\"name\":\"data\",\"required\":false,\"sche"
+ "ma\":{\"type\":\"string\",\"format\":\"byte\"},\"style\":\"simple\"}"
+ "],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}"
+ "}}}"
;
static const struct afb_auth _afb_auths_UNICENS[] = {
@@ -71,61 +75,75 @@ void ucs2_subscriberx(afb_req_t req);
void ucs2_writei2c(afb_req_t req);
void ucs2_sendmessage(afb_req_t req);
-static const struct afb_verb_v2 _afb_verbs_UNICENS[] = {
+static const struct afb_verb_v3 _afb_verbs_UNICENS[] = {
{
.verb = "listconfig",
.callback = ucs2_listconfig,
.auth = &_afb_auths_UNICENS[0],
.info = "List Config Files",
- .session = AFB_SESSION_NONE
+ .vcbdata = NULL,
+ .session = AFB_SESSION_NONE,
+ .glob = 0
},
{
.verb = "initialise",
.callback = ucs2_initialise,
.auth = &_afb_auths_UNICENS[0],
.info = "configure Unicens2 lib from NetworkConfig.XML.",
- .session = AFB_SESSION_NONE
+ .vcbdata = NULL,
+ .session = AFB_SESSION_NONE,
+ .glob = 0
},
{
.verb = "subscribe",
.callback = ucs2_subscribe,
.auth = &_afb_auths_UNICENS[1],
.info = "Subscribe to network events.",
- .session = AFB_SESSION_NONE
+ .vcbdata = NULL,
+ .session = AFB_SESSION_NONE,
+ .glob = 0
},
{
.verb = "subscriberx",
.callback = ucs2_subscriberx,
.auth = &_afb_auths_UNICENS[1],
.info = "Subscribe to Rx control message events.",
- .session = AFB_SESSION_NONE
+ .vcbdata = NULL,
+ .session = AFB_SESSION_NONE,
+ .glob = 0
},
{
.verb = "writei2c",
.callback = ucs2_writei2c,
.auth = &_afb_auths_UNICENS[1],
.info = "Writes I2C command to remote node.",
- .session = AFB_SESSION_NONE
+ .vcbdata = NULL,
+ .session = AFB_SESSION_NONE,
+ .glob = 0
},
{
.verb = "sendmessage",
.callback = ucs2_sendmessage,
.auth = &_afb_auths_UNICENS[2],
.info = "Transmits a control message to a node.",
- .session = AFB_SESSION_NONE
+ .vcbdata = NULL,
+ .session = AFB_SESSION_NONE,
+ .glob = 0
},
{
.verb = NULL,
.callback = NULL,
.auth = NULL,
.info = NULL,
- .session = 0
- }
+ .vcbdata = NULL,
+ .session = 0,
+ .glob = 0
+ }
};
-int ucs2_initbinding();
+int ucs2_initbinding(afb_api_t api);
-const struct afb_binding_v2 afbBindingV2 = {
+const struct afb_binding_v3 afbBindingV3 = {
.api = "UNICENS",
.specification = _afb_description_UNICENS,
.info = "",
@@ -133,6 +151,10 @@ const struct afb_binding_v2 afbBindingV2 = {
.preinit = NULL,
.init = ucs2_initbinding,
.onevent = NULL,
+ .userdata = NULL,
+ .provide_class = NULL,
+ .require_class = NULL,
+ .require_api = NULL,
.noconcurrency = 0
};