summaryrefslogtreecommitdiffstats
path: root/src/plugins/core/VRRequestProcessorImpl.cpp
diff options
context:
space:
mode:
authorRaquel Medina <raquel.medina@konsulko.com>2019-12-09 02:25:25 +0100
committerScott Murray <scott.murray@konsulko.com>2019-12-20 17:51:21 +0000
commit9a4ec5a5793ce904333f6087cf31d7819206c101 (patch)
tree1aeb4d13352ff0f4b31a9f46fa5ab0fc761e1a69 /src/plugins/core/VRRequestProcessorImpl.cpp
parent01c999956ea5fba52c4eaf35998c023047587171 (diff)
Add CBL processing
CBL: Code Based Linking in the case of Alexa voice agent, or more generally Code Based Logging. It provides a url and code which allows the user to complete the authorization process and start using the authorized voice services. - add subscribeToLoginEvents verb - add cbl events handling - include new verb in vshl-core-api.json Bug-AGL: SPEC-2981 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: If342d45638125682621cba707eac1d4ff5ad244c (cherry picked from commit ed834a643e3843c0f805ea33363c9f2889d2bab3)
Diffstat (limited to 'src/plugins/core/VRRequestProcessorImpl.cpp')
-rw-r--r--src/plugins/core/VRRequestProcessorImpl.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/core/VRRequestProcessorImpl.cpp b/src/plugins/core/VRRequestProcessorImpl.cpp
index c07f745..d9fa846 100644
--- a/src/plugins/core/VRRequestProcessorImpl.cpp
+++ b/src/plugins/core/VRRequestProcessorImpl.cpp
@@ -57,6 +57,20 @@ string VRRequestProcessor::startListening() {
return mDelegate->startRequestForVoiceAgent(defaultVA);
}
+string VRRequestProcessor::subscribeToLoginEvents(std::string va_id, std::list<std::string> *args) {
+ // Currently simply send the request to the default voice agent, ignoring va_id
+ shared_ptr<vshlcore::common::interfaces::IVoiceAgent> defaultVA = mDelegate->getDefaultVoiceAgent();
+ if (!defaultVA) {
+ mLogger->log(Level::ERROR, TAG, "Failed to subscribeToLoginEvents. No default voiceagent found.");
+ return "";
+ }
+
+ // If the requests container is not empty, then clear the
+ // existing requests in flight and create a new request.
+ mDelegate->cancelAllRequests();
+ return mDelegate->loginEventsRequestForVoiceAgent(defaultVA, args);
+}
+
void VRRequestProcessor::cancel() {
// Cancel all pending requests
mDelegate->cancelAllRequests();