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

Define a class for DisconnectActionAsync. More...

#include <Connect.hpp>

Inheritance diagram for awsiotsdk::mqtt::DisconnectActionAsync:
awsiotsdk::Action

Public Member Functions

 DisconnectActionAsync (const DisconnectActionAsync &)=delete
 
 DisconnectActionAsync (DisconnectActionAsync &&)=delete
 
DisconnectActionAsyncoperator= (const DisconnectActionAsync &) &=delete
 
DisconnectActionAsyncoperator= (DisconnectActionAsync &&) &=delete
 
 DisconnectActionAsync (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 Disconnect 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 Puback operation

Constructor & Destructor Documentation

◆ DisconnectActionAsync()

awsiotsdk::mqtt::DisconnectActionAsync::DisconnectActionAsync ( 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::DisconnectActionAsync::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 DisconnectActionAsync instance if successful

◆ PerformAction()

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

Performs the MQTT Disconnect Operation in Async mode. Also calls disconnect API of the provided network connection. If the client is already in disconnected state, will not attempt disconnect and return with appropriate ResponseCode.

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.