AWS IoT C++ SDK
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes
awsiotsdk::mqtt::SubscribeActionAsync Class Reference

Define a class for SubscribeActionAsync. More...

#include <Subscribe.hpp>

Inheritance diagram for awsiotsdk::mqtt::SubscribeActionAsync:
awsiotsdk::Action

Public Member Functions

 SubscribeActionAsync (const SubscribeActionAsync &)=delete
 
 SubscribeActionAsync (SubscribeActionAsync &&)=delete
 
SubscribeActionAsyncoperator= (const SubscribeActionAsync &) &=delete
 
SubscribeActionAsyncoperator= (SubscribeActionAsync &&) &=delete
 
 SubscribeActionAsync (std::shared_ptr< ClientState > p_client_state)
 Constructor. More...
 
ResponseCode PerformAction (std::shared_ptr< NetworkConnection > p_network_connection, std::shared_ptr< ActionData > p_action_data)
 Perform MQTT Subscribe Action in Async mode. More...
 
- Public Member Functions inherited from awsiotsdk::Action
ActionType GetActionType ()
 Get Type of this Action. More...
 
util::String GetActionInfo ()
 Get information/description about the current action. More...
 
void SetParentThreadSync (std::shared_ptr< std::atomic_bool > p_thread_continue)
 Sets the parent thread sync variable. More...
 
virtual ResponseCode PerformAction (std::shared_ptr< NetworkConnection > p_network_connection, std::shared_ptr< ActionData > p_action_data)=0
 Virtual base function for Performing Action. More...
 
 Action (const Action &)=delete
 
 Action (Action &&)=delete
 
Actionoperator= (const Action &) &=delete
 
Actionoperator= (Action &&) &=delete
 
 Action (ActionType action_type, util::String action_info_string)
 Action Constructor. More...
 

Static Public Member Functions

static std::unique_ptr< ActionCreate (std::shared_ptr< ActionState > p_action_state)
 Factory Create method. More...
 

Protected Attributes

std::shared_ptr< ClientStatep_client_state_
 Shared Client State instance.
 
- Protected Attributes inherited from awsiotsdk::Action
ActionType action_type_
 Type of the action.
 
util::String action_info_string_
 Info string.
 
std::shared_ptr< std::atomic_bool > p_thread_continue_
 Shared atomic variable used for sync when action is run in separate thread.
 

Additional Inherited Members

- Public Types inherited from awsiotsdk::Action
typedef std::function< std::unique_ptr< Action >(std::shared_ptr< ActionState > p_action_state)> CreateHandlerPtr
 
- Protected Member Functions inherited from awsiotsdk::Action
ResponseCode ReadFromNetworkBuffer (std::shared_ptr< NetworkConnection > p_network_connection, util::Vector< unsigned char > &read_buf, size_t bytes_to_read)
 Generic Network Read function for all actions. More...
 
ResponseCode WriteToNetworkBuffer (std::shared_ptr< NetworkConnection > p_network_connection, const util::String &write_buf)
 Generic Network Write function for all actions. More...
 

Detailed Description

This class defines an Asynchronous action for performing a MQTT Subscribe operation

Constructor & Destructor Documentation

◆ SubscribeActionAsync()

awsiotsdk::mqtt::SubscribeActionAsync::SubscribeActionAsync ( std::shared_ptr< ClientState p_client_state)
Warning
This constructor can throw exceptions, it is recommended to use Factory create method Constructor is kept public to not restrict usage possibilities (eg. make_shared)
Parameters
p_client_state- Shared Client State instance

Member Function Documentation

◆ Create()

std::unique_ptr< Action > awsiotsdk::mqtt::SubscribeActionAsync::Create ( std::shared_ptr< ActionState p_action_state)
static
Parameters
p_client_state- Shared Client State instance
Returns
nullptr on error, unique_ptr pointing to a created SubscribeActionAsync instance if successful

◆ PerformAction()

ResponseCode awsiotsdk::mqtt::SubscribeActionAsync::PerformAction ( std::shared_ptr< NetworkConnection p_network_connection,
std::shared_ptr< ActionData p_action_data 
)
virtual

Performs the MQTT Subscribe Operation in Async mode. Registers the Subscriptions in the subscribe packet and sets them as inactive. Will NOT wait for SUBACK. Whenever SUBACK is received by the Network Read operation, the Subscriptions will be activated/removed depending on response.

Parameters
p_network_connection- Network connection instance to use for performing this action
p_action_data- Action data specific to this execution of the Action
Returns
- ResponseCode indicating status of the operation

Implements awsiotsdk::Action.