AlexaClientSDK
3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
|
#include <DirectiveSequencer.h>
Public Member Functions | |
bool | addDirectiveHandler (std::shared_ptr< avsCommon::sdkInterfaces::DirectiveHandlerInterface > handler) override |
bool | removeDirectiveHandler (std::shared_ptr< avsCommon::sdkInterfaces::DirectiveHandlerInterface > handler) override |
void | setDialogRequestId (const std::string &dialogRequestId) override |
std::string | getDialogRequestId () override |
bool | onDirective (std::shared_ptr< avsCommon::avs::AVSDirective > directive) override |
void | disable () override |
void | enable () override |
Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface | |
DirectiveSequencerInterface (const std::string &name) | |
virtual | ~DirectiveSequencerInterface ()=default |
virtual bool | addDirectiveHandler (std::shared_ptr< DirectiveHandlerInterface > handler)=0 |
virtual bool | removeDirectiveHandler (std::shared_ptr< DirectiveHandlerInterface > handler)=0 |
Public Member Functions inherited from alexaClientSDK::avsCommon::utils::RequiresShutdown | |
RequiresShutdown (const std::string &name) | |
virtual | ~RequiresShutdown () |
Destructor. More... | |
const std::string & | name () const |
void | shutdown () |
bool | isShutdown () const |
Static Public Member Functions | |
static std::shared_ptr< DirectiveSequencerInterface > | createDirectiveSequencerInterface (std::shared_ptr< avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionSender, std::shared_ptr< acsdkShutdownManagerInterfaces::ShutdownNotifierInterface > shutdownNotifier, std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder) |
static std::unique_ptr< DirectiveSequencerInterface > | create (std::shared_ptr< avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionSender, std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder=nullptr) |
Additional Inherited Members |
Class for sequencing and handling a stream of AVSDirective
instances.
|
override |
|
static |
Create a DirectiveSequencer.
exceptionSender | An instance of the ExceptionEncounteredSenderInterface used to send ExceptionEncountered messages to AVS for directives that are not handled. |
metricRecorder | The metric recorder. |
|
static |
Create a DirectiveSequencerInterface.
exceptionSender | An instance of the ExceptionEncounteredSenderInterface used to send ExceptionEncountered messages to AVS for directives that are not handled. |
shutdownNotifier | The object with which to register for a notification when it is time to shut down. |
metricRecorder | The metric recorder. |
|
overridevirtual |
Disable the DirectiveSequencer.
Implements alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface.
|
overridevirtual |
Enable the DirectiveSequencer.
Implements alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface.
|
overridevirtual |
Returns the dialogRequestId
currently in use for Directive handling. This may be the empty string if Directives have either experienced errors, or have been cancelled.
Implements alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface.
|
overridevirtual |
Sequence the handling of an AVSDirective
. The actual handling is done by whichever DirectiveHandler
is associated with the most specific routing rule.
directive | The AVSDirective to handle. |
Implements alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface.
|
override |
|
overridevirtual |
Set the current DialogRequestId
. This value can be set at any time. Setting this value causes a DirectiveSequencer
to drop unhandled AVSDirectives
with different (and non-empty) DialogRequestId values. AVSDirectives
with a differing dialogRequestId
value and whose pre-handling or handling is already in progress will be cancelled.
dialogRequestId | The new value for the current DialogRequestId . |
Implements alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface.
AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0