16 #ifndef ALEXA_CLIENT_SDK_CAPABILITYAGENTS_SYSTEM_INCLUDE_SYSTEM_REPORTSTATEHANDLER_H_ 17 #define ALEXA_CLIENT_SDK_CAPABILITYAGENTS_SYSTEM_INCLUDE_SYSTEM_REPORTSTATEHANDLER_H_ 35 namespace capabilityAgents {
56 static std::unique_ptr<ReportStateHandler>
create(
57 std::shared_ptr<registrationManager::CustomerDataManagerInterface> dataManager,
58 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionEncounteredSender,
59 std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connectionManager,
60 std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
61 std::shared_ptr<avsCommon::sdkInterfaces::storage::MiscStorageInterface> settingStorage,
62 const std::vector<StateReportGenerator>& generators);
68 void preHandleDirective(std::shared_ptr<avsCommon::avs::CapabilityAgent::DirectiveInfo> info)
override;
69 void handleDirective(std::shared_ptr<avsCommon::avs::CapabilityAgent::DirectiveInfo> info)
override;
70 void cancelDirective(std::shared_ptr<avsCommon::avs::CapabilityAgent::DirectiveInfo> info)
override;
103 std::shared_ptr<registrationManager::CustomerDataManagerInterface> dataManager,
104 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionEncounteredSender,
105 std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connectionManager,
106 std::shared_ptr<avsCommon::sdkInterfaces::storage::MiscStorageInterface> storage,
107 std::unique_ptr<settings::SettingEventSenderInterface> eventSender,
108 const std::vector<StateReportGenerator>& generators,
121 void sendReportState();
130 std::mutex m_stateMutex;
136 std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> m_connectionManager;
139 std::shared_ptr<avsCommon::sdkInterfaces::storage::MiscStorageInterface> m_storage;
142 std::vector<StateReportGenerator> m_generators;
145 std::unique_ptr<settings::SettingEventSenderInterface> m_eventSender;
148 std::shared_ptr<settings::SettingConnectionObserver> m_connectionObserver;
151 bool m_pendingReport;
158 #endif // ALEXA_CLIENT_SDK_CAPABILITYAGENTS_SYSTEM_INCLUDE_SYSTEM_REPORTSTATEHANDLER_H_ Definition: CapabilityAgent.h:47
Single-thread executor implementation.
Definition: Executor.h:45
void addStateReportGenerator(const StateReportGenerator &generator)
Definition: ReportStateHandler.h:41
Definition: AVSDirective.h:34
std::unordered_map< directiveRoutingRule::DirectiveRoutingRule, BlockingPolicy > DirectiveHandlerConfiguration
Definition: DirectiveHandlerConfiguration.h:32
void handleDirectiveImmediately(std::shared_ptr< avsCommon::avs::AVSDirective > directive) override
static std::unique_ptr< ReportStateHandler > create(std::shared_ptr< registrationManager::CustomerDataManagerInterface > dataManager, std::shared_ptr< avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionEncounteredSender, std::shared_ptr< avsCommon::sdkInterfaces::AVSConnectionManagerInterface > connectionManager, std::shared_ptr< avsCommon::sdkInterfaces::MessageSenderInterface > messageSender, std::shared_ptr< avsCommon::sdkInterfaces::storage::MiscStorageInterface > settingStorage, const std::vector< StateReportGenerator > &generators)
void handleDirective(std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
void preHandleDirective(std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override
Definition: StateReportGenerator.h:38
void clearData() override
void cancelDirective(std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override
Definition: CustomerDataHandler.h:34
avsCommon::avs::DirectiveHandlerConfiguration getConfiguration() const override