![]() |
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