aboutsummaryrefslogtreecommitdiffstats
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
committerRaquel Medina <raquel.medina@konsulko.com>2019-12-12 01:28:06 +0100
commited834a643e3843c0f805ea33363c9f2889d2bab3 (patch)
treeb3809d3f2951d0f5a404a404d8932a88093ac2bf /src/plugins/core/VRRequestProcessorImpl.cpp
parent6e3e57b43693d6b07bc58a46e33fe18f0a1c5d68 (diff)
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
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();