aboutsummaryrefslogtreecommitdiffstats
path: root/Controler-afb/ctl-apidef.h
diff options
context:
space:
mode:
authorfulup <fulup.arfoll@iot.bzh>2017-08-08 18:52:13 +0200
committerfulup <fulup.arfoll@iot.bzh>2017-08-08 18:52:13 +0200
commitf817ce67ff6344f181d221c859e1cb2231a3dac4 (patch)
treeca95512377f7e2105a3a113c31c75abde0dd20ad /Controler-afb/ctl-apidef.h
parent33c2cd0236823d108cbb21af34b8d7843d117ac1 (diff)
Early Draft of LUA integration
Diffstat (limited to 'Controler-afb/ctl-apidef.h')
-rw-r--r--Controler-afb/ctl-apidef.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/Controler-afb/ctl-apidef.h b/Controler-afb/ctl-apidef.h
new file mode 100644
index 0000000..0ab4cd2
--- /dev/null
+++ b/Controler-afb/ctl-apidef.h
@@ -0,0 +1,128 @@
+
+static const char _afb_description_v2_control[] =
+ "{\"openapi\":\"3.0.0\",\"$schema\":\"http:iot.bzh/download/openapi/schem"
+ "a-3.0/default-schema.json\",\"info\":{\"description\":\"\",\"title\":\"p"
+ "olctl\",\"version\":\"1.0\",\"x-binding-c-generator\":{\"api\":\"control"
+ "\",\"version\":2,\"prefix\":\"ctlapi_\",\"postfix\":\"\",\"start\":null,"
+ "\"onevent\":null,\"init\":\"CtlBindingInit\",\"scope\":\"\",\"private\":"
+ "false}},\"servers\":[{\"url\":\"ws://{host}:{port}/api/polctl\",\"descri"
+ "ption\":\"Unicens2 API.\",\"variables\":{\"host\":{\"default\":\"localho"
+ "st\"},\"port\":{\"default\":\"1234\"}},\"x-afb-events\":[{\"$ref\":\"#/c"
+ "omponents/schemas/afb-event\"}]}],\"components\":{\"schemas\":{\"afb-rep"
+ "ly\":{\"$ref\":\"#/components/schemas/afb-reply-v2\"},\"afb-event\":{\"$"
+ "ref\":\"#/components/schemas/afb-event-v2\"},\"afb-reply-v2\":{\"title\""
+ ":\"Generic response.\",\"type\":\"object\",\"required\":[\"jtype\",\"req"
+ "uest\"],\"properties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-r"
+ "eply\"},\"request\":{\"type\":\"object\",\"required\":[\"status\"],\"pro"
+ "perties\":{\"status\":{\"type\":\"string\"},\"info\":{\"type\":\"string\""
+ "},\"token\":{\"type\":\"string\"},\"uuid\":{\"type\":\"string\"},\"reqid"
+ "\":{\"type\":\"string\"}}},\"response\":{\"type\":\"object\"}}},\"afb-ev"
+ "ent-v2\":{\"type\":\"object\",\"required\":[\"jtype\",\"event\"],\"prope"
+ "rties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-event\"},\"event"
+ "\":{\"type\":\"string\"},\"data\":{\"type\":\"object\"}}}},\"x-permissio"
+ "ns\":{\"monitor\":{\"permission\":\"urn:AGL:permission:audio:public:moni"
+ "tor\"},\"multimedia\":{\"permission\":\"urn:AGL:permission:audio:public:"
+ "monitor\"},\"navigation\":{\"permission\":\"urn:AGL:permission:audio:pub"
+ "lic:monitor\"},\"emergency\":{\"permission\":\"urn:AGL:permission:audio:"
+ "public:emergency\"}},\"responses\":{\"200\":{\"description\":\"A complex"
+ " object array response\",\"content\":{\"application/json\":{\"schema\":{"
+ "\"$ref\":\"#/components/schemas/afb-reply\"}}}}}},\"paths\":{\"/monitor\""
+ ":{\"description\":\"Subcribe Audio Agent Policy Control End\",\"get\":{\""
+ "x-permissions\":{\"$ref\":\"#/components/x-permissions/monitor\"},\"para"
+ "meters\":[{\"in\":\"query\",\"name\":\"event_patern\",\"required\":true,"
+ "\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#/"
+ "components/responses/200\"}}}},\"/event_test\":{\"description\":\"Pause "
+ "Resume Test\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-perm"
+ "issions/monitor\"},\"parameters\":[{\"in\":\"query\",\"name\":\"delay\","
+ "\"required\":false,\"schema\":{\"type\":\"interger\"}},{\"in\":\"query\""
+ ",\"name\":\"count\",\"required\":false,\"schema\":{\"type\":\"interger\""
+ "}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},"
+ "\"/navigation\":{\"description\":\"Request Access to Navigation Audio Ch"
+ "annel.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissio"
+ "ns/navigation\"},\"parameters\":[{\"in\":\"query\",\"name\":\"zone\",\"r"
+ "equired\":false,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\""
+ ":{\"$ref\":\"#/components/responses/200\"}}}},\"/lua_docall\":{\"descrip"
+ "tion\":\"Execute LUA string script.\",\"get\":{\"x-permissions\":{\"$ref"
+ "\":\"#/components/x-permissions/navigation\"},\"parameters\":[{\"in\":\""
+ "query\",\"name\":\"func\",\"required\":true,\"schema\":{\"type\":\"strin"
+ "g\"}},{\"in\":\"query\",\"name\":\"args\",\"required\":false,\"schema\":"
+ "{\"type\":\"array\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/r"
+ "esponses/200\"}}}},\"/lua_dostring\":{\"description\":\"Execute LUA stri"
+ "ng script.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permi"
+ "ssions/navigation\"},\"parameters\":[{\"in\":\"query\",\"required\":true"
+ ",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#"
+ "/components/responses/200\"}}}},\"/lua_doscript\":{\"description\":\"Exe"
+ "cute LUA string script.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/compo"
+ "nents/x-permissions/navigation\"},\"parameters\":[{\"in\":\"query\",\"na"
+ "me\":\"filename\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\""
+ "responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}}}}"
+;
+
+static const struct afb_auth _afb_auths_v2_control[] = {
+ { .type = afb_auth_Permission, .text = "urn:AGL:permission:audio:public:monitor" }
+};
+
+ void ctlapi_monitor(struct afb_req req);
+ void ctlapi_event_test(struct afb_req req);
+ void ctlapi_navigation(struct afb_req req);
+ void ctlapi_lua_docall(struct afb_req req);
+ void ctlapi_lua_dostring(struct afb_req req);
+ void ctlapi_lua_doscript(struct afb_req req);
+
+static const struct afb_verb_v2 _afb_verbs_v2_control[] = {
+ {
+ .verb = "monitor",
+ .callback = ctlapi_monitor,
+ .auth = &_afb_auths_v2_control[0],
+ .info = NULL,
+ .session = AFB_SESSION_NONE_V2
+ },
+ {
+ .verb = "event_test",
+ .callback = ctlapi_event_test,
+ .auth = &_afb_auths_v2_control[0],
+ .info = NULL,
+ .session = AFB_SESSION_NONE_V2
+ },
+ {
+ .verb = "navigation",
+ .callback = ctlapi_navigation,
+ .auth = &_afb_auths_v2_control[0],
+ .info = NULL,
+ .session = AFB_SESSION_NONE_V2
+ },
+ {
+ .verb = "lua_docall",
+ .callback = ctlapi_lua_docall,
+ .auth = &_afb_auths_v2_control[0],
+ .info = NULL,
+ .session = AFB_SESSION_NONE_V2
+ },
+ {
+ .verb = "lua_dostring",
+ .callback = ctlapi_lua_dostring,
+ .auth = &_afb_auths_v2_control[0],
+ .info = NULL,
+ .session = AFB_SESSION_NONE_V2
+ },
+ {
+ .verb = "lua_doscript",
+ .callback = ctlapi_lua_doscript,
+ .auth = &_afb_auths_v2_control[0],
+ .info = NULL,
+ .session = AFB_SESSION_NONE_V2
+ },
+ { .verb = NULL }
+};
+
+const struct afb_binding_v2 afbBindingV2 = {
+ .api = "control",
+ .specification = _afb_description_v2_control,
+ .info = NULL,
+ .verbs = _afb_verbs_v2_control,
+ .preinit = NULL,
+ .init = CtlBindingInit,
+ .onevent = NULL,
+ .noconcurrency = 0
+};
+