diff options
Diffstat (limited to 'ucs2-afb/ucs_apidef.h')
-rw-r--r-- | ucs2-afb/ucs_apidef.h | 156 |
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 }; |