summaryrefslogtreecommitdiffstats
path: root/src/ahl-apidef.h
diff options
context:
space:
mode:
authorTai Vuong <tvuong@audiokinetic.com>2017-11-02 16:31:15 -0400
committerTai Vuong <tvuong@audiokinetic.com>2017-11-02 16:31:15 -0400
commit5d2ee4455d95771d12cc6058bc19c0d6f7fe43d1 (patch)
treeb4cbc2be7475641edf71ae42c6ce117dba27b91d /src/ahl-apidef.h
parente92aade201ec131c3eb7430305f60a0a4c9c44c1 (diff)
parentab6e470190f2cc410b1f6fa8f146317a3c3b08b5 (diff)
merge dev branch with master
Diffstat (limited to 'src/ahl-apidef.h')
-rw-r--r--src/ahl-apidef.h237
1 files changed, 0 insertions, 237 deletions
diff --git a/src/ahl-apidef.h b/src/ahl-apidef.h
deleted file mode 100644
index 97f8de7..0000000
--- a/src/ahl-apidef.h
+++ /dev/null
@@ -1,237 +0,0 @@
-
-static const char _afb_description_v2_audiohl[] =
- "{\"openapi\":\"3.0.0\",\"info\":{\"description\":\"Audio high level API "
- "for AGL applications\",\"title\":\"audiohighlevel\",\"version\":\"1.0\","
- "\"x-binding-c-generator\":{\"api\":\"audiohl\",\"version\":2,\"prefix\":"
- "\"audiohlapi_\",\"postfix\":\"\",\"start\":null,\"onevent\":\"AhlOnEvent"
- "\",\"init\":\"AhlBindingInit\",\"scope\":\"\",\"private\":false}},\"serv"
- "ers\":[{\"url\":\"ws://{host}:{port}/api/audiohl\",\"description\":\"Aud"
- "io high level API for AGL applications.\",\"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\"}}"
- "},\"endpoint_info\":{\"type\":\"object\",\"required\":[\"endpoint_id\",\""
- "type\",\"device_name\",\"device_uri\"],\"properties\":{\"endpoint_id\":{"
- "\"type\":\"int\"},\"type\":{\"type\":\"enum\"},\"device_name\":{\"type\""
- ":\"string\"},\"device_uri_type\":{\"type\":\"string\"}}},\"stream_info\""
- ":{\"type\":\"object\",\"required\":[\"stream_id\",\"state\",\"mute\",\"e"
- "ndpoint_info\"],\"properties\":{\"stream_id\":{\"type\":\"int\"},\"state"
- "\":{\"type\":\"int\"},\"mute\":{\"type\":\"int\"},\"device_uri\":{\"type"
- "\":\"string\"},\"$ref\":\"#/components/schemas/endpoint_info\"}}},\"x-pe"
- "rmissions\":{\"streamcontrol\":{\"permission\":\"urn:AGL:permission:audi"
- "o:public:streamcontrol\"},\"endpointcontrol\":{\"permission\":\"urn:AGL:"
- "permission:audio:public:endpointcontrol\"},\"audiostream\":{\"permission"
- "\":\"urn:AGL:permission:audio:public:audiostream\"},\"soundevent\":{\"pe"
- "rmission\":\"urn:AGL:permission:audio:public:soundevent\"}},\"responses\""
- ":{\"200\":{\"description\":\"A complex object array response\",\"content"
- "\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/af"
- "b-reply\"}}}},\"400\":{\"description\":\"Invalid arguments\"}}},\"paths\""
- ":{\"/get_endpoints\":{\"description\":\"Retrieve array of available audi"
- "o endpoints\",\"get\":{\"parameters\":[{\"in\":\"query\",\"name\":\"audi"
- "o_role\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"in\":\"q"
- "uery\",\"name\":\"endpoint_type\",\"required\":true,\"schema\":{\"type\""
- ":\"enum\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/2"
- "00\",\"response\":{\"description\":\"Array of endpoint info structures\""
- ",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/endpoint_"
- "info\"}}},\"400\":{\"$ref\":\"#/components/responses/400\"}}}},\"/stream"
- "_open\":{\"description\":\"Request opening a stream\",\"get\":{\"x-permi"
- "ssions\":{\"$ref\":\"#/components/x-permissions/audiostream\"},\"paramet"
- "ers\":[{\"in\":\"query\",\"name\":\"audio_role\",\"required\":true,\"sch"
- "ema\":{\"type\":\"string\"}},{\"in\":\"query\",\"name\":\"endpoint_type\""
- ",\"required\":true,\"schema\":{\"type\":\"enum\"}},{\"in\":\"query\",\"n"
- "ame\":\"endpoint_id\",\"required\":false,\"schema\":{\"type\":\"int\"}}]"
- ",\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\",\"respo"
- "nse\":{\"description\":\"Stream information structure\",\"$ref\":\"#/com"
- "ponents/schemas/stream_info\"}},\"400\":{\"$ref\":\"#/components/respons"
- "es/400\"}}}},\"/stream_close\":{\"description\":\"Request closing a stre"
- "am\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/a"
- "udiostream\"},\"parameters\":[{\"in\":\"query\",\"name\":\"stream_id\",\""
- "required\":false,\"schema\":{\"type\":\"int\"}}],\"responses\":{\"200\":"
- "{\"$ref\":\"#/components/responses/200\"},\"400\":{\"$ref\":\"#/componen"
- "ts/responses/400\"}}}},\"/set_stream_state\":{\"description\":\"Change s"
- "tream active and/or mute state\",\"get\":{\"x-permissions\":{\"$ref\":\""
- "#/components/x-permissions/streamcontrol\"},\"parameters\":[{\"in\":\"qu"
- "ery\",\"name\":\"stream_id\",\"required\":false,\"schema\":{\"type\":\"i"
- "nt\"}},{\"in\":\"query\",\"name\":\"state\",\"required\":false,\"schema\""
- ":{\"type\":\"int\"}},{\"in\":\"query\",\"name\":\"mute\",\"required\":fa"
- "lse,\"schema\":{\"type\":\"int\"}}],\"responses\":{\"200\":{\"$ref\":\"#"
- "/components/responses/200\"},\"400\":{\"$ref\":\"#/components/responses/"
- "400\"}}}},\"/get_stream_info\":{\"description\":\"Retrieve stream inform"
- "ation\",\"get\":{\"parameters\":[{\"in\":\"query\",\"name\":\"stream_id\""
- ",\"required\":true,\"schema\":{\"type\":\"int\"}}],\"responses\":{\"200\""
- ":{\"$ref\":\"#/components/responses/200\",\"response\":{\"description\":"
- "\"Stream information structure\",\"$ref\":\"#/components/schemas/stream_"
- "info\"}},\"400\":{\"$ref\":\"#/components/responses/400\"}}}},\"/volume\""
- ":{\"description\":\"Set or get volume on endpoint\",\"get\":{\"x-permiss"
- "ions\":{\"$ref\":\"#/components/x-permissions/endpointcontrol\"},\"param"
- "eters\":[{\"in\":\"query\",\"name\":\"endpoint_type\",\"required\":true,"
- "\"schema\":{\"type\":\"enum\"}},{\"in\":\"query\",\"name\":\"endpoint_id"
- "\",\"required\":true,\"schema\":{\"type\":\"int\"}},{\"in\":\"query\",\""
- "name\":\"volume\",\"required\":false,\"schema\":{\"type\":\"string\"}}],"
- "\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"},\"400\""
- ":{\"$ref\":\"#/components/responses/400\"}}}},\"/get_endpoint_info\":{\""
- "description\":\"Retrieve endpoint information including its properties\""
- ",\"get\":{\"parameters\":[{\"in\":\"query\",\"name\":\"endpoint_type\",\""
- "required\":true,\"schema\":{\"type\":\"enum\"}},{\"in\":\"query\",\"name"
- "\":\"endpoint_id\",\"required\":true,\"schema\":{\"type\":\"int\"}}],\"r"
- "esponses\":{\"200\":{\"$ref\":\"#/components/responses/200\"},\"400\":{\""
- "$ref\":\"#/components/responses/400\"}}}},\"/property\":{\"description\""
- ":\"Set/get endpoint property value\",\"get\":{\"x-permissions\":{\"$ref\""
- ":\"#/components/x-permissions/endpointcontrol\"},\"parameters\":[{\"in\""
- ":\"query\",\"name\":\"endpoint_type\",\"required\":true,\"schema\":{\"ty"
- "pe\":\"enum\"}},{\"in\":\"query\",\"name\":\"endpoint_id\",\"required\":"
- "true,\"schema\":{\"type\":\"int\"}},{\"in\":\"query\",\"name\":\"propert"
- "y_name\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"in\":\"q"
- "uery\",\"name\":\"value\",\"required\":false,\"schema\":{\"type\":\"stri"
- "ng\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}"
- ",\"400\":{\"$ref\":\"#/components/responses/400\"}}}},\"/get_list_action"
- "s\":{\"description\":\"Retrieve a list of supported actions for a partic"
- "ular audio role\",\"get\":{\"parameters\":[{\"in\":\"query\",\"name\":\""
- "audio_role\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"resp"
- "onses\":{\"200\":{\"$ref\":\"#/components/responses/200\"},\"400\":{\"$r"
- "ef\":\"#/components/responses/400\"}}}},\"/post_action\":{\"description\""
- ":\"Post sound or audio device related action event (extendable mechanism"
- ")\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/so"
- "undevent\"},\"parameters\":[{\"in\":\"query\",\"name\":\"action_name\",\""
- "required\":true,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"na"
- "me\":\"audio_role\",\"required\":true,\"schema\":{\"type\":\"string\"}},"
- "{\"in\":\"query\",\"name\":\"media_name\",\"required\":false,\"schema\":"
- "{\"type\":\"string\"}},{\"in\":\"query\",\"name\":\"action_context\",\"r"
- "equired\":false,\"schema\":{\"type\":\"object\"}}],\"responses\":{\"200\""
- ":{\"$ref\":\"#/components/responses/200\"},\"400\":{\"$ref\":\"#/compone"
- "nts/responses/400\"}}}},\"/event_subscription\":{\"description\":\"Subsc"
- "ribe to audio high level events\",\"get\":{\"parameters\":[{\"in\":\"que"
- "ry\",\"name\":\"events\",\"required\":true,\"schema\":{\"type\":\"array\""
- ",\"items\":{\"type\":\"string\"}}},{\"in\":\"query\",\"name\":\"subscrib"
- "e\",\"required\":true,\"schema\":{\"type\":\"int\"}}],\"responses\":{\"2"
- "00\":{\"$ref\":\"#/components/responses/200\"},\"400\":{\"$ref\":\"#/com"
- "ponents/responses/400\"}}}}}}"
-;
-
-static const struct afb_auth _afb_auths_v2_audiohl[] = {
- { .type = afb_auth_Permission, .text = "urn:AGL:permission:audio:public:audiostream" },
- { .type = afb_auth_Permission, .text = "urn:AGL:permission:audio:public:streamcontrol" },
- { .type = afb_auth_Permission, .text = "urn:AGL:permission:audio:public:endpointcontrol" },
- { .type = afb_auth_Permission, .text = "urn:AGL:permission:audio:public:soundevent" }
-};
-
- void audiohlapi_get_endpoints(struct afb_req req);
- void audiohlapi_stream_open(struct afb_req req);
- void audiohlapi_stream_close(struct afb_req req);
- void audiohlapi_set_stream_state(struct afb_req req);
- void audiohlapi_get_stream_info(struct afb_req req);
- void audiohlapi_volume(struct afb_req req);
- void audiohlapi_get_endpoint_info(struct afb_req req);
- void audiohlapi_property(struct afb_req req);
- void audiohlapi_get_list_actions(struct afb_req req);
- void audiohlapi_post_action(struct afb_req req);
- void audiohlapi_event_subscription(struct afb_req req);
-
-static const struct afb_verb_v2 _afb_verbs_v2_audiohl[] = {
- {
- .verb = "get_endpoints",
- .callback = audiohlapi_get_endpoints,
- .auth = NULL,
- .info = "Retrieve array of available audio endpoints",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "stream_open",
- .callback = audiohlapi_stream_open,
- .auth = &_afb_auths_v2_audiohl[0],
- .info = "Request opening a stream",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "stream_close",
- .callback = audiohlapi_stream_close,
- .auth = &_afb_auths_v2_audiohl[0],
- .info = "Request closing a stream",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "set_stream_state",
- .callback = audiohlapi_set_stream_state,
- .auth = &_afb_auths_v2_audiohl[1],
- .info = "Change stream active and/or mute state",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "get_stream_info",
- .callback = audiohlapi_get_stream_info,
- .auth = NULL,
- .info = "Retrieve stream information",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "volume",
- .callback = audiohlapi_volume,
- .auth = &_afb_auths_v2_audiohl[2],
- .info = "Set or get volume on endpoint",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "get_endpoint_info",
- .callback = audiohlapi_get_endpoint_info,
- .auth = NULL,
- .info = "Retrieve endpoint information including its properties",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "property",
- .callback = audiohlapi_property,
- .auth = &_afb_auths_v2_audiohl[2],
- .info = "Set/get endpoint property value",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "get_list_actions",
- .callback = audiohlapi_get_list_actions,
- .auth = NULL,
- .info = "Retrieve a list of supported actions for a particular audio role",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "post_action",
- .callback = audiohlapi_post_action,
- .auth = &_afb_auths_v2_audiohl[3],
- .info = "Post sound or audio device related action event (extendable mechanism)",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = "event_subscription",
- .callback = audiohlapi_event_subscription,
- .auth = NULL,
- .info = "Subscribe to audio high level events",
- .session = AFB_SESSION_NONE_V2
- },
- {
- .verb = NULL,
- .callback = NULL,
- .auth = NULL,
- .info = NULL,
- .session = 0
- }
-};
-
-const struct afb_binding_v2 afbBindingV2 = {
- .api = "audiohl",
- .specification = _afb_description_v2_audiohl,
- .info = "Audio high level API for AGL applications",
- .verbs = _afb_verbs_v2_audiohl,
- .preinit = NULL,
- .init = AhlBindingInit,
- .onevent = AhlOnEvent,
- .noconcurrency = 0
-};
-