summaryrefslogtreecommitdiffstats
path: root/ahl-binding/ahl-apidef.json
diff options
context:
space:
mode:
authorLoïc Collignon <loic.collignon@iot.bzh>2018-06-05 10:29:47 +0200
committerLoïc Collignon <loic.collignon@iot.bzh>2018-06-12 15:26:21 +0200
commit322f8932476eda944c7d3ac65eafde12c69b2ae9 (patch)
tree3146f053d8f3f8f8324d7e41493b929d348a3f9c /ahl-binding/ahl-apidef.json
parent545c14e62971b23c704bc3d7f696e934e330656d (diff)
Rewrite of the High Level API using the new HAL model
The new HAL model need the High Level API to be rewritten. This is the first version of this rewrite, still in progress but should work. Change-Id: I5c94cf39d84cefae6b7a179c09d95e645673e8d4 Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
Diffstat (limited to 'ahl-binding/ahl-apidef.json')
-rw-r--r--ahl-binding/ahl-apidef.json448
1 files changed, 0 insertions, 448 deletions
diff --git a/ahl-binding/ahl-apidef.json b/ahl-binding/ahl-apidef.json
deleted file mode 100644
index 35ffae6..0000000
--- a/ahl-binding/ahl-apidef.json
+++ /dev/null
@@ -1,448 +0,0 @@
-{
- "openapi": "3.0.0",
- "info": {
- "description": "Audio high level API for AGL applications",
- "title": "audiohighlevel",
- "version": "1.0",
- "x-binding-c-generator": {
- "api": "ahl-4a",
- "version": 2,
- "prefix": "audiohlapi_",
- "postfix": "",
- "start": null,
- "onevent": "AhlOnEvent",
- "init": "AhlBindingInit",
- "scope": "",
- "private": false,
- "noconcurrency": false
- }
- },
- "servers": [
- {
- "url": "ws://{host}:{port}/api/audiohl",
- "description": "Audio high level API for AGL applications.",
- "variables": {
- "host": {
- "default": "localhost"
- },
- "port": {
- "default": "1234"
- }
- },
- "x-afb-events": [
- {
- "$ref": "#/components/schemas/afb-event"
- }
- ]
- }
- ],
- "components": {
- "schemas": {
- "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": {
- "type": "string"
- },
- "token": {
- "type": "string"
- },
- "uuid": {
- "type": "string"
- },
- "reqid": {
- "type": "string"
- }
- }
- },
- "response": {
- "type": "object"
- }
- }
- },
- "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", "endpoint_info" ],
- "properties": {
- "stream_id": { "type": "int" },
- "state": { "type": "int" },
- "mute": { "type": "int" },
- "device_uri": { "type": "string" },
- "$ref": "#/components/schemas/endpoint_info"
- }
- }
- },
- "x-permissions": {
- "streamcontrol": { "permission": "urn:AGL:permission:audio:public:streamcontrol"},
- "endpointcontrol": { "permission": "urn:AGL:permission:audio:public:endpointcontrol"},
- "audiostream": { "permission": "urn:AGL:permission:audio:public:audiostream"},
- "soundevent": {"permission": "urn:AGL:permission:audio:public:soundevent"}
- },
- "responses": {
- "200": {
- "description": "A complex object array response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/afb-reply"
- }
- }
- }
- },
- "400": { "description": "Invalid arguments" }
- }
- },
- "paths": {
- "/get_endpoints": {
- "description": "Retrieve array of available audio endpoints",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/200",
- "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-permissions": { "$ref": "#/components/x-permissions/audiostream" },
- "parameters": [
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "endpoint_type",
- "required": true,
- "schema": { "type": "enum" }
- },
- {
- "in": "query",
- "name": "endpoint_id",
- "required": false,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/200",
- "response": {
- "description": "Stream information structure",
- "$ref": "#/components/schemas/stream_info"
- }
- },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/stream_close": {
- "description": "Request closing a stream",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/audiostream" },
- "parameters": [
- {
- "in": "query",
- "name": "stream_id",
- "required": false,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/set_stream_state": {
- "description": "Change stream active and/or mute state",
- "get": {
- "x-permissions": {
- "$ref": "#/components/x-permissions/streamcontrol"
- },
- "parameters": [
- {
- "in": "query",
- "name": "stream_id",
- "required": false,
- "schema": {"type": "int"}
- },
- {
- "in": "query",
- "name": "state",
- "required": false,
- "schema": {"type": "int"}
- },
- {
- "in": "query",
- "name": "mute",
- "required": false,
- "schema": {"type": "int"}
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/get_stream_info": {
- "description": "Retrieve stream information",
- "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-permissions": { "$ref": "#/components/x-permissions/endpointcontrol" },
- "parameters": [
- {
- "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" }
- }
- ],
- "responses": {
- "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": { "type": "enum" }
- },
- {
- "in": "query",
- "name": "endpoint_id",
- "required": true,
- "schema": { "type": "int" }
- },
- {
- "in": "query",
- "name": "property_name",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "value",
- "required": false,
- "schema": { "type": "string" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/get_list_actions": {
- "description": "Retrieve a list of supported actions for a particular audio role",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/post_action": {
- "description": "Post sound or audio device related action event (extendable mechanism)",
- "get": {
- "x-permissions": { "$ref": "#/components/x-permissions/soundevent" },
- "parameters": [
- {
- "in": "query",
- "name": "action_name",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "audio_role",
- "required": true,
- "schema": { "type": "string" }
- },
- {
- "in": "query",
- "name": "media_name",
- "required": false,
- "schema": { "type": "string"}
- },
- {
- "in": "query",
- "name": "action_context",
- "required": false,
- "schema": { "type": "object" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- },
- "/event_subscription": {
- "description": "Subscribe to audio high level events",
- "get": {
- "parameters": [
- {
- "in": "query",
- "name": "events",
- "required": true,
- "schema": { "type": "array",
- "items": { "type": "string" }
- }
- },
- {
- "in": "query",
- "name": "subscribe",
- "required": true,
- "schema": { "type": "int" }
- }
- ],
- "responses": {
- "200": { "$ref": "#/components/responses/200" },
- "400": { "$ref": "#/components/responses/400" }
- }
- }
- }
- }
-}