AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | List of all members
alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest Class Reference

#include <DNDMessageRequest.h>

Inheritance diagram for alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest:
Collaboration graph
[legend]

Public Member Functions

 DNDMessageRequest (const std::string &jsonContent)
 
 ~DNDMessageRequest () override
 
std::shared_future< avsCommon::sdkInterfaces::MessageRequestObserverInterface::StatusgetCompletionFuture ()
 
MessageRequest overridden methods
void sendCompleted (avsCommon::sdkInterfaces::MessageRequestObserverInterface::Status status) override
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::avs::MessageRequest
 MessageRequest (const std::string &jsonContent, const std::string &uriPathExtension="", const unsigned int threshold=0, const std::string &streamMetricName="")
 
 MessageRequest (const std::string &jsonContent, const unsigned int threshold, const std::string &streamMetricName)
 
 MessageRequest (const std::string &jsonContent, bool isSerialized, const std::string &uriPathExtension="", std::vector< std::pair< std::string, std::string >> headers={}, MessageRequestResolveFunction resolver=nullptr, const unsigned int threshold=0, const std::string &streamMetricName="")
 
 MessageRequest (const MessageRequest &messageRequest)
 
virtual ~MessageRequest ()
 
void addAttachmentReader (const std::string &name, std::shared_ptr< attachment::AttachmentReader > attachmentReader)
 
std::string getJsonContent () const
 
bool getIsSerialized () const
 
std::string getUriPathExtension () const
 
int attachmentReadersCount () const
 
std::shared_ptr< NamedReadergetAttachmentReader (size_t index) const
 
virtual void responseStatusReceived (avsCommon::sdkInterfaces::MessageRequestObserverInterface::Status status)
 
virtual void exceptionReceived (const std::string &exceptionMessage)
 
void addObserver (std::shared_ptr< avsCommon::sdkInterfaces::MessageRequestObserverInterface > observer)
 
void removeObserver (std::shared_ptr< avsCommon::sdkInterfaces::MessageRequestObserverInterface > observer)
 
EventHeaders retrieveEventHeaders () const
 
const std::vector< std::pair< std::string, std::string > > & getHeaders () const
 
bool isResolved () const
 
std::shared_ptr< MessageRequestresolveRequest (const std::string &resolveKey) const
 
unsigned int getStreamBytesThreshold () const
 
std::string getStreamMetricName () const
 

Additional Inherited Members

- Public Types inherited from alexaClientSDK::avsCommon::avs::MessageRequest
using MessageRequestResolveFunction = std::function< bool(const std::shared_ptr< EditableMessageRequest > &req, const std::string &resolveKey)>
 
- Protected Attributes inherited from alexaClientSDK::avsCommon::avs::MessageRequest
std::mutex m_observerMutex
 Mutex to guard access of m_observers. More...
 
std::unordered_set< std::shared_ptr< avsCommon::sdkInterfaces::MessageRequestObserverInterface > > m_observers
 Set of observers of MessageRequestObserverInterface. More...
 
std::string m_jsonContent
 The JSON content to be sent to AVS. More...
 
bool m_isSerialized
 True if sending this message must be serialized with sending other serialized messages. More...
 
std::string m_uriPathExtension
 The path extension to be appended to the base URL when sending. More...
 
std::vector< std::shared_ptr< NamedReader > > m_readers
 The AttachmentReaders of the Attachments data to be sent to AVS. More...
 
std::vector< std::pair< std::string, std::string > > m_headers
 Optional headers to send with this request to AVS. More...
 
MessageRequestResolveFunction m_resolver
 Resolver function to resolve current message request to a valid state. Null if message is already resolved. More...
 
std::string m_streamMetricName
 The name for the stream byte metric. More...
 
unsigned int m_streamBytesThreshold
 The threshold for the number of bytes for when we should record the stream metric. More...
 

Detailed Description

Message request used to send AVS events for DND feature.

Constructor & Destructor Documentation

◆ DNDMessageRequest()

alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest::DNDMessageRequest ( const std::string &  jsonContent)

Constructor

Parameters
jsonContentJSON representation of the message to send.

◆ ~DNDMessageRequest()

alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest::~DNDMessageRequest ( )
override

Member Function Documentation

◆ getCompletionFuture()

std::shared_future<avsCommon::sdkInterfaces::MessageRequestObserverInterface::Status> alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest::getCompletionFuture ( )

Returns a future to track completion state of the request.

Returns
A future to track completion state of the request.

◆ sendCompleted()

void alexaClientSDK::capabilityAgents::doNotDisturb::DNDMessageRequest::sendCompleted ( avsCommon::sdkInterfaces::MessageRequestObserverInterface::Status  status)
overridevirtual

This is called once the send request has completed. The status parameter indicates success or failure.

Parameters
statusWhether the send request succeeded or failed.

Reimplemented from alexaClientSDK::avsCommon::avs::MessageRequest.


The documentation for this class was generated from the following file:

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0