From 9eb3a90df3681586b58146b47eea7f3848c348a0 Mon Sep 17 00:00:00 2001 From: Naveen Bobbili Date: Mon, 25 Feb 2019 17:24:29 -0800 Subject: Refactored VSHL into vshl-core and vshl-capabilities. vshl-core: This API is responsible for request arbitration. Verbs exposed are 1. startListening 2. cancelListening 3. subscribe 4. enumerateVoiceAgents 5. setDefaultVoiceAgent Used by applications to subscribe to dialog, connection and auth states of underlying low level voiceagent bindings. Used by applications to trigger voice recognition routine of the underlying low level voiceagent binding. vshl-capabilities: This API exposes publish and subscribe methods for all the speech framework domains/capabilities. For eg. navigation, phonecontrol etc. This API is used by apps and low level voice agent binding to subscribe and publish these capability messages whenever applicable. The code for this is agl-service-voice-high-capabilities repository. This specific commit is for vshl-core API. Change-Id: I1101db19b57ee918482a178843641b088508ac5d Signed-off-by: Naveen Bobbili --- conf.d/project/etc/CMakeLists.txt | 2 +- conf.d/project/etc/vshl-api.json | 96 ----------------------------------- conf.d/project/etc/vshl-core-api.json | 72 ++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 97 deletions(-) delete mode 100644 conf.d/project/etc/vshl-api.json create mode 100644 conf.d/project/etc/vshl-core-api.json (limited to 'conf.d/project') diff --git a/conf.d/project/etc/CMakeLists.txt b/conf.d/project/etc/CMakeLists.txt index 3aacae6..3635ed0 100644 --- a/conf.d/project/etc/CMakeLists.txt +++ b/conf.d/project/etc/CMakeLists.txt @@ -19,7 +19,7 @@ ################################################## # Control Policy Config file ################################################## -PROJECT_TARGET_ADD(vshl-api-config) +PROJECT_TARGET_ADD(vshl-core-api-config) file(GLOB CONF_FILES "*.json") diff --git a/conf.d/project/etc/vshl-api.json b/conf.d/project/etc/vshl-api.json deleted file mode 100644 index 3f92f76..0000000 --- a/conf.d/project/etc/vshl-api.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json", - "metadata": { - "uid": "vshl", - "version": "1.0", - "api": "vshl", - "info": "High Level Voice Service APIs" - }, - - "onload": [{ - "uid": "loadVoiceAgentsConfig", - "info": "Loading the information about voice agents managed by the high level voice service.", - "action": "plugin://vshl#loadVoiceAgentsConfig", - "args": { - "default": "VA-001", - "agents": [ - { - "id": "VA-001", - "active": true, - "name": "Alexa", - "api": "alexa-voiceagent", - "wakewords": [ - "alexa", - "computer", - "echo" - ], - "activewakeword": "alexa", - "description": "Alexa voice assistant by Amazon.", - "vendor": "Amazon.com Services Inc" - } - ] - } - }], - - "plugins": [{ - "uid": "vshl", - "info": "Plugin to handle high level voice service interface implementation", - "libs": [ - "vshl-api.ctlso" - ] - }], - - "events": [{ - "uid": "alexa-voiceagent/voice_authstate_event", - "action": "plugin://vshl#onAuthStateEvent" - },{ - "uid": "alexa-voiceagent/voice_connectionstate_event", - "action": "plugin://vshl#onConnectionStateEvent" - },{ - "uid": "alexa-voiceagent/voice_dialogstate_event", - "action": "plugin://vshl#onDialogStateEvent" - }], - - "controls": [{ - "uid": "startListening", - "action": "plugin://vshl#startListening" - }, { - "uid": "cancelListening", - "action": "plugin://vshl#cancelListening" - }, { - "uid": "subscribe", - "action": "plugin://vshl#subscribe" - }, { - "uid": "enumerateVoiceAgents", - "privileges": "urn:AGL:permission:vshl:voiceagents:public", - "action": "plugin://vshl#enumerateVoiceAgents" - }, { - "uid": "setDefaultVoiceAgent", - "privileges": "urn:AGL:permission:vshl:voiceagents:public", - "action": "plugin://vshl#setDefaultVoiceAgent" - }, { - "uid": "guiMetadata/publish", - "privileges": "urn:AGL:permission:vshl:guiMetadata:public", - "action": "plugin://vshl#guiMetadataPublish" - }, { - "uid": "guiMetadata/subscribe", - "privileges": "urn:AGL:permission:vshl:guiMetadata:public", - "action": "plugin://vshl#guiMetadataSubscribe" - }, { - "uid": "phonecontrol/publish", - "privileges": "urn:AGL:permission:vshl:phonecontrol:public", - "action": "plugin://vshl#phonecontrolPublish" - }, { - "uid": "phonecontrol/subscribe", - "privileges": "urn:AGL:permission:vshl:phonecontrol:public", - "action": "plugin://vshl#phonecontrolSubscribe" - }, { - "uid": "navigation/publish", - "privileges": "urn:AGL:permission:vshl:navigation:public", - "action": "plugin://vshl#navigationPublish" - }, { - "uid": "navigation/subscribe", - "privileges": "urn:AGL:permission:vshl:navigation:public", - "action": "plugin://vshl#navigationSubscribe" - }] -} \ No newline at end of file diff --git a/conf.d/project/etc/vshl-core-api.json b/conf.d/project/etc/vshl-core-api.json new file mode 100644 index 0000000..f370a32 --- /dev/null +++ b/conf.d/project/etc/vshl-core-api.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json", + "metadata": { + "uid": "vshl-core", + "version": "1.0", + "api": "vshl-core", + "info": "High Level Voice Service Core APIs" + }, + + "onload": [{ + "uid": "loadVoiceAgentsConfig", + "info": "Loading the information about voice agents managed by the high level voice service.", + "action": "plugin://vshl-core#loadVoiceAgentsConfig", + "args": { + "default": "VA-001", + "agents": [ + { + "id": "VA-001", + "active": true, + "name": "Alexa", + "api": "alexa-voiceagent", + "wakewords": [ + "alexa", + "computer", + "echo" + ], + "activewakeword": "alexa", + "description": "Alexa voice assistant by Amazon.", + "vendor": "Amazon.com Services Inc" + } + ] + } + }], + + "plugins": [{ + "uid": "vshl-core", + "info": "Plugin to handle high level voice service core API implementation", + "libs": [ + "vshl-core-api.ctlso" + ] + }], + + "events": [{ + "uid": "alexa-voiceagent/voice_authstate_event", + "action": "plugin://vshl-core#onAuthStateEvent" + },{ + "uid": "alexa-voiceagent/voice_connectionstate_event", + "action": "plugin://vshl-core#onConnectionStateEvent" + },{ + "uid": "alexa-voiceagent/voice_dialogstate_event", + "action": "plugin://vshl-core#onDialogStateEvent" + }], + + "controls": [{ + "uid": "startListening", + "action": "plugin://vshl-core#startListening" + }, { + "uid": "cancelListening", + "action": "plugin://vshl-core#cancelListening" + }, { + "uid": "subscribe", + "action": "plugin://vshl-core#subscribe" + }, { + "uid": "enumerateVoiceAgents", + "privileges": "urn:AGL:permission:vshl-core:voiceagents:public", + "action": "plugin://vshl-core#enumerateVoiceAgents" + }, { + "uid": "setDefaultVoiceAgent", + "privileges": "urn:AGL:permission:vshl-core:voiceagents:public", + "action": "plugin://vshl-core#setDefaultVoiceAgent" + }] +} \ No newline at end of file -- cgit 1.2.3-korg