16 #ifndef ALEXA_CLIENT_SDK_CAPABILITYAGENTS_SYSTEM_INCLUDE_SYSTEM_SOFTWAREINFOSENDER_H_ 17 #define ALEXA_CLIENT_SDK_CAPABILITYAGENTS_SYSTEM_INCLUDE_SYSTEM_SOFTWAREINFOSENDER_H_ 32 namespace capabilityAgents {
35 class SoftwareInfoSendRequest;
47 ,
public std::enable_shared_from_this<SoftwareInfoSender>
62 static std::shared_ptr<SoftwareInfoSender>
create(
64 bool sendSoftwareInfoUponConnect,
65 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::SoftwareInfoSenderObserverInterface>> observers,
66 std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connection,
67 std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
68 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionEncounteredSender);
86 void preHandleDirective(std::shared_ptr<avsCommon::avs::CapabilityAgent::DirectiveInfo> info)
override;
87 void handleDirective(std::shared_ptr<avsCommon::avs::CapabilityAgent::DirectiveInfo> info)
override;
88 void cancelDirective(std::shared_ptr<avsCommon::avs::CapabilityAgent::DirectiveInfo> info)
override;
121 bool sendSoftwareInfoUponConnect,
122 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::SoftwareInfoSenderObserverInterface>> observers,
123 std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connection,
124 std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
125 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionEncounteredSender);
132 void removeDirective(std::shared_ptr<DirectiveInfo> info);
138 bool m_sendSoftwareInfoUponConnect;
141 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::SoftwareInfoSenderObserverInterface>> m_observers;
144 std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> m_connection;
147 std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> m_messageSender;
150 std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> m_exceptionEncounteredSender;
160 std::shared_ptr<capabilityAgents::system::SoftwareInfoSendRequest> m_clientInitiatedSendRequest;
164 std::shared_ptr<capabilityAgents::system::SoftwareInfoSendRequest> m_handleDirectiveSendRequest;
171 #endif // ALEXA_CLIENT_SDK_CAPABILITYAGENTS_SYSTEM_INCLUDE_SYSTEM_SOFTWAREINFOSENDER_H_ Definition: CapabilityAgent.h:47
ChangedReason
Definition: ConnectionStatusObserverInterface.h:50
void handleDirectiveImmediately(std::shared_ptr< avsCommon::avs::AVSDirective > directive) override
avsCommon::avs::DirectiveHandlerConfiguration getConfiguration() const override
Definition: ConnectionStatusObserverInterface.h:31
Definition: RequiresShutdown.h:32
static std::shared_ptr< SoftwareInfoSender > create(avsCommon::sdkInterfaces::softwareInfo::FirmwareVersion firmwareVersion, bool sendSoftwareInfoUponConnect, std::unordered_set< std::shared_ptr< avsCommon::sdkInterfaces::SoftwareInfoSenderObserverInterface >> observers, std::shared_ptr< avsCommon::sdkInterfaces::AVSConnectionManagerInterface > connection, std::shared_ptr< avsCommon::sdkInterfaces::MessageSenderInterface > messageSender, std::shared_ptr< avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionEncounteredSender)
bool setFirmwareVersion(avsCommon::sdkInterfaces::softwareInfo::FirmwareVersion firmwareVersion)
std::unordered_map< directiveRoutingRule::DirectiveRoutingRule, BlockingPolicy > DirectiveHandlerConfiguration
Definition: DirectiveHandlerConfiguration.h:32
void cancelDirective(std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override
void onFirmwareVersionAccepted(avsCommon::sdkInterfaces::softwareInfo::FirmwareVersion firmwareVersion) override
void handleDirective(std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override
void doShutdown() override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
void preHandleDirective(std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override
int32_t FirmwareVersion
Type to use to communicate a firmware version.
Definition: SoftwareInfoSenderObserverInterface.h:29
Definition: SoftwareInfoSender.h:44
void onConnectionStatusChanged(avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status status, avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::ChangedReason reason) override
Status
Definition: ConnectionStatusObserverInterface.h:36
Definition: SoftwareInfoSenderObserverInterface.h:51