AlexaClientSDK  1.26.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
Collaboration diagram for alexaClientSDK::avsCommon::avs::EditableMessageRequest:
Collaboration graph

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)
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.

messageRequestMessageRequest to copy from
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.

attachmentReadersVector of named readers

◆ setJsonContent()

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

Set json content of the message

jsonJson content

◆ setMessageRequestResolveFunction()

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

Set MessageRequest resolve function.

resolverResolve function to set

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

AlexaClientSDK 1.26.0 - Copyright 2016-2021, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0