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::playbackController::PlaybackMessageRequest Class Reference

#include <PlaybackMessageRequest.h>

Inheritance diagram for alexaClientSDK::capabilityAgents::playbackController::PlaybackMessageRequest:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::capabilityAgents::playbackController::PlaybackMessageRequest:
Collaboration graph
[legend]

Public Member Functions

 PlaybackMessageRequest (const PlaybackCommand &command, const std::string &jsonContent, std::shared_ptr< PlaybackController > playbackController)
 
MessageRequest functions.
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

This class implements MessageRequests to alert observers upon completion of the message.

Constructor & Destructor Documentation

◆ PlaybackMessageRequest()

alexaClientSDK::capabilityAgents::playbackController::PlaybackMessageRequest::PlaybackMessageRequest ( const PlaybackCommand command,
const std::string &  jsonContent,
std::shared_ptr< PlaybackController playbackController 
)

Construct a MessageRequest while binding it to a PlaybackController and a Button.

Parameters
buttonThe Button pressed.
jsonContentThe JSON content to be sent to AVS.
playbackControllerA reference to a PlaybackController so that it can be notified when onSendCompleted is invoked.

Member Function Documentation

◆ sendCompleted()

void alexaClientSDK::capabilityAgents::playbackController::PlaybackMessageRequest::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