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

#include <EditableMessageRequest.h>

Inheritance diagram for alexaClientSDK::avsCommon::avs::EditableMessageRequest:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::avsCommon::avs::EditableMessageRequest:
Collaboration graph
[legend]

Public Member Functions

 EditableMessageRequest (const MessageRequest &messageRequest)
 
void setJsonContent (const std::string &json)
 
void setAttachmentReaders (const std::vector< std::shared_ptr< NamedReader >> &attachmentReaders)
 
void setMessageRequestResolveFunction (const MessageRequest::MessageRequestResolveFunction &resolver)
 
- 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 sendCompleted (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

A specialized MessageRequest in which data fields are editable after creation.

Constructor & Destructor Documentation

◆ EditableMessageRequest()

alexaClientSDK::avsCommon::avs::EditableMessageRequest::EditableMessageRequest ( const MessageRequest messageRequest)

Constructor to construct an EditableMessageRequest which contains a copy of the data in MessageRequest.

Parameters
messageRequestMessageRequest to copy from
Note
Observers are not considered data and don't get copied by this constructor.

Member Function Documentation

◆ setAttachmentReaders()

void alexaClientSDK::avsCommon::avs::EditableMessageRequest::setAttachmentReaders ( const std::vector< std::shared_ptr< NamedReader >> &  attachmentReaders)

Set attachment readers of attachment data to be sent to AVS, which will replace the existing readers if there is any, and invalid attachment readers will be ignored.

Parameters
attachmentReadersVector of named readers

◆ setJsonContent()

void alexaClientSDK::avsCommon::avs::EditableMessageRequest::setJsonContent ( const std::string &  json)

Set json content of the message

Parameters
jsonJson content

◆ setMessageRequestResolveFunction()

void alexaClientSDK::avsCommon::avs::EditableMessageRequest::setMessageRequestResolveFunction ( const MessageRequest::MessageRequestResolveFunction resolver)

Set MessageRequest resolve function.

Parameters
resolverResolve function to set

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