aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/VshlCoreApi.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-10-15Rework to remove Alexa voiceagent dependenciesScott Murray1-48/+184
Changes include: - The previous somewhat hard-coded Alexa voiceagent configuration in the app controller definition has been replaced with a scheme that allows instead specifying voiceagent configuration via the configuration file /etc/xdg/AGL/voice-high.json, and individual per-voiceagent configuration via JSON files in the directory /etc/xdg/AGL/voiceagents. See the updated README.md for more details. - The new file reading code for the above change was facilitated by bumping the C++ standard option to 17 (from 11) to allow use of the new standard library filesystem classes. - The configured voiceagents' APIs are now loaded dynamically using the afb_api_require_api call enabled by the recently exposed platform:apis:auto-ws widget permission. The widget configuration has been updated to add the permission, and also remove the previously hard-code dependency on the "alexa-voiceagent" API. - App controller event hooks are created dynamically for the events from the configured voiceagents. This is done by calling back into the app controller API at the appropriate place during initialization, replacing the previous hard-coding of events from "alexa-voiceagent". If future use cases require dynamic removal of voiceagents, then this scheme will need to be revisited, as the app controller API currently has no provision for removing events. - The IAFBApi interdace and AFBApiImpl implementation classes have been extended with additional getApi and requireApi calls to enable the above changes in a straightforward manner. Bug-AGL: SPEC-2898 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Iae8b99a6286174510e88d8eeffd51718db64f2f4
2019-10-08Switch to appcontroller libraryScott Murray1-5/+5
Remove old app-controller submodule usage in favor of library from the toolchain. Also update dynamic API calls for V3. Bug-AGL: SPEC-2856 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I0e1ee659432e3d78ed4cdd419a79bebbead13f39
2019-10-07Switch to afb-helpers libraryScott Murray1-3/+4
Remove old afb-helpers submodule usage in favor of library from the toolchain. Note that json.hpp is no longer shipped with the library, and is now assumed to be present in the toolchain, which requires a DEPENDS addition in the recipe to pick it up, and an #include of sstream to work with newer versions of json.hpp. Bug-AGL: SPEC-2854 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I28ddb57cc3f8aedf872bf45944bcf27f8e529958
2019-02-25Refactored VSHL into vshl-core and vshl-capabilities.Naveen Bobbili1-0/+348
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 <nbobbili@amazon.com>