16 #ifndef ALEXA_CLIENT_SDK_ADSL_INCLUDE_ADSL_DIRECTIVESEQUENCER_H_ 17 #define ALEXA_CLIENT_SDK_ADSL_INCLUDE_ADSL_DIRECTIVESEQUENCER_H_ 19 #include <condition_variable> 52 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
53 std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface> shutdownNotifier,
54 std::shared_ptr<avsCommon::utils::metrics::MetricRecorderInterface>
metricRecorder);
65 static std::unique_ptr<DirectiveSequencerInterface>
create(
66 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
67 std::shared_ptr<avsCommon::utils::metrics::MetricRecorderInterface> metricRecorder =
nullptr);
69 bool addDirectiveHandler(std::shared_ptr<avsCommon::sdkInterfaces::DirectiveHandlerInterface> handler)
override;
71 bool removeDirectiveHandler(std::shared_ptr<avsCommon::sdkInterfaces::DirectiveHandlerInterface> handler)
override;
77 bool onDirective(std::shared_ptr<avsCommon::avs::AVSDirective> directive)
override;
91 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
92 std::shared_ptr<avsCommon::utils::metrics::MetricRecorderInterface> metricRecorder);
94 void doShutdown()
override;
108 void receiveDirectiveLocked(std::unique_lock<std::mutex>& lock);
114 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> m_exceptionSender;
117 bool m_isShuttingDown;
126 std::shared_ptr<DirectiveProcessor> m_directiveProcessor;
129 std::deque<std::shared_ptr<avsCommon::avs::AVSDirective>> m_receivingQueue;
135 std::shared_ptr<avsCommon::utils::power::PowerResource> m_powerResource;
138 std::thread m_receivingThread;
144 #endif // ALEXA_CLIENT_SDK_ADSL_INCLUDE_ADSL_DIRECTIVESEQUENCER_H_ Definition: ConditionVariableWrapper.h:40
static std::unique_ptr< DirectiveSequencerInterface > create(std::shared_ptr< avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionSender, std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder=nullptr)
::std::string string
Definition: gtest-port.h:1097
bool addDirectiveHandler(std::shared_ptr< avsCommon::sdkInterfaces::DirectiveHandlerInterface > handler) override
Definition: DirectiveSequencer.h:40
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)
Definition: DirectiveSequencerInterface.h:44
static std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder
Metric recorder shared ptr.
Definition: BaseAPLCapabilityAgentTest.cpp:261
bool removeDirectiveHandler(std::shared_ptr< avsCommon::sdkInterfaces::DirectiveHandlerInterface > handler) override
Definition: DirectiveRouter.h:36
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
void setDialogRequestId(const std::string &dialogRequestId) override
bool onDirective(std::shared_ptr< avsCommon::avs::AVSDirective > directive) override
std::string getDialogRequestId() override