CommsChampion Ecosystem MQTT v3.1.1 Client
MQTT v3.1.1 Client Library.
Classes | Typedefs | Functions
"Unsubscribe Operation Data Type and Functions"

Classes

struct  CC_Mqtt311UnsubscribeTopicConfig
 Topic filter configuration structure of the "unsubscribe" operation. More...
 

Typedefs

typedef void(* CC_Mqtt311UnsubscribeCompleteCb) (void *data, CC_Mqtt311UnsubscribeHandle handle, CC_Mqtt311AsyncOpStatus status)
 Callback used to report completion of the "unsubscribe" operation. More...
 
typedef struct CC_Mqtt311Unsubscribe * CC_Mqtt311UnsubscribeHandle
 Handle for "unsubscribe" operation. More...
 

Functions

CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe (CC_Mqtt311ClientHandle handle, const CC_Mqtt311UnsubscribeTopicConfig *topicConfigs, unsigned topicConfigsCount, CC_Mqtt311UnsubscribeCompleteCb cb, void *cbData)
 Prepare, configure, and send "unsubscribe" request in one go. More...
 
CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_cancel (CC_Mqtt311UnsubscribeHandle handle)
 Cancel the allocated "unsubscribe" operation. More...
 
CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_config_topic (CC_Mqtt311UnsubscribeHandle handle, const CC_Mqtt311UnsubscribeTopicConfig *config)
 Add topic configuration of the "unsubscribe" operation. More...
 
unsigned cc_mqtt311_client_unsubscribe_get_response_timeout (CC_Mqtt311UnsubscribeHandle handle)
 Retrieve the configured the broker response timeout for the "unsubscribe" operation. More...
 
void cc_mqtt311_client_unsubscribe_init_config_topic (CC_Mqtt311UnsubscribeTopicConfig *config)
 Intialize the CC_Mqtt311UnsubscribeTopicConfig configuration structure. More...
 
CC_Mqtt311UnsubscribeHandle cc_mqtt311_client_unsubscribe_prepare (CC_Mqtt311ClientHandle handle, CC_Mqtt311ErrorCode *ec)
 Prepare "unsubscribe" operation. More...
 
CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_send (CC_Mqtt311UnsubscribeHandle handle, CC_Mqtt311UnsubscribeCompleteCb cb, void *cbData)
 Send the configured "unsubscribe" operation to broker. More...
 
CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_set_response_timeout (CC_Mqtt311UnsubscribeHandle handle, unsigned ms)
 Configure the broker response timeout for the "unsubscribe" operation. More...
 

Detailed Description

Typedef Documentation

◆ CC_Mqtt311UnsubscribeCompleteCb

typedef void(* CC_Mqtt311UnsubscribeCompleteCb) (void *data, CC_Mqtt311UnsubscribeHandle handle, CC_Mqtt311AsyncOpStatus status)

Callback used to report completion of the "unsubscribe" operation.

Parameters
[in]dataPointer to user data object passed as last parameter to the cc_mqtt311_client_unsubscribe_send().
[in]handleHandle returned by cc_mqtt311_client_unsubscribe_prepare() function. When the callback is invoked the handle is already invalid and cannot be used in any relevant function invocation, but it allows end application to identify the original "unsubscribe" operation and use the same callback function in parallel requests.
[in]statusStatus of the "unsubscribe" operation.

◆ CC_Mqtt311UnsubscribeHandle

typedef struct CC_Mqtt311Unsubscribe* CC_Mqtt311UnsubscribeHandle

Handle for "unsubscribe" operation.

Returned by cc_mqtt311_client_unsubscribe_prepare() function.

Function Documentation

◆ cc_mqtt311_client_unsubscribe()

CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe ( CC_Mqtt311ClientHandle  handle,
const CC_Mqtt311UnsubscribeTopicConfig topicConfigs,
unsigned  topicConfigsCount,
CC_Mqtt311UnsubscribeCompleteCb  cb,
void *  cbData 
)

Prepare, configure, and send "unsubscribe" request in one go.

Abstracts away sequence of the following functions invocation:

Parameters
[in]handleHandle returned by cc_mqtt311_client_alloc() function.
[in]topicConfigsPointer to array of the topic configurations.
[in]topicConfigsCountAmount of the topic configurations in the array.
[in]cbCallback to be invoked when "unsubscribe" operation is complete.
[in]cbDataPointer to any user data structure. It will passed as one of the parameters in callback invocation. May be NULL.
Returns
Result code of the call.

◆ cc_mqtt311_client_unsubscribe_cancel()

CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_cancel ( CC_Mqtt311UnsubscribeHandle  handle)

Cancel the allocated "unsubscribe" operation.

In case the cc_mqtt311_client_unsubscribe_send() function was successfully called before, the operation is cancelled without callback invocation.

Parameters
[in]handleHandle returned by cc_mqtt311_client_unsubscribe_prepare() function.
Returns
Result code of the call.
Postcondition
The handle of the "unsubscribe" operation is no longer valid and must be discarded.

◆ cc_mqtt311_client_unsubscribe_config_topic()

CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_config_topic ( CC_Mqtt311UnsubscribeHandle  handle,
const CC_Mqtt311UnsubscribeTopicConfig config 
)

Add topic configuration of the "unsubscribe" operation.

Parameters
[in]handleHandle returned by cc_mqtt311_client_unsubscribe_prepare() function.
[in]configTopic configuration structure. Must NOT be NULL. Does not need to be preserved after invocation.
Returns
Result code of the call.

◆ cc_mqtt311_client_unsubscribe_get_response_timeout()

unsigned cc_mqtt311_client_unsubscribe_get_response_timeout ( CC_Mqtt311UnsubscribeHandle  handle)

Retrieve the configured the broker response timeout for the "unsubscribe" operation.

Parameters
[in]handleHandle returned by cc_mqtt311_client_unsubscribe_prepare() function.
Returns
Response timeout duration in milliseconds.

◆ cc_mqtt311_client_unsubscribe_init_config_topic()

void cc_mqtt311_client_unsubscribe_init_config_topic ( CC_Mqtt311UnsubscribeTopicConfig config)

Intialize the CC_Mqtt311UnsubscribeTopicConfig configuration structure.

Parameters
[out]configConfiguration structure. Must not be NULL.

◆ cc_mqtt311_client_unsubscribe_prepare()

CC_Mqtt311UnsubscribeHandle cc_mqtt311_client_unsubscribe_prepare ( CC_Mqtt311ClientHandle  handle,
CC_Mqtt311ErrorCode ec 
)

Prepare "unsubscribe" operation.

For successful operation the client needs to be in the "connected" state.

Parameters
[in]handleHandle returned by cc_mqtt311_client_alloc() function.
[out]ecError code reporting result of the operation. Can be NULL.
Returns
Handle of the "unsubscribe" operation, will be NULL in case of failure. To analyze the reason failure use "ec" output parameter.
Postcondition
The "unsubscribe" operation is allocated, use either cc_mqtt311_client_unsubscribe_send() or cc_mqtt311_client_unsubscribe_cancel() to prevent memory leaks.

◆ cc_mqtt311_client_unsubscribe_send()

CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_send ( CC_Mqtt311UnsubscribeHandle  handle,
CC_Mqtt311UnsubscribeCompleteCb  cb,
void *  cbData 
)

Send the configured "unsubscribe" operation to broker.

Parameters
[in]handleHandle returned by cc_mqtt311_client_unsubscribe_prepare() function.
[in]cbCallback to be invoked when "unsubscribe" operation is complete.
[in]cbDataPointer to any user data structure. It will passed as one of the parameters in callback invocation. May be NULL.
Returns
Result code of the call.
Precondition
At least one topic has been configured using cc_mqtt311_client_unsubscribe_config_topic.
Postcondition
The handle of the "unsubscribe" operation can be discarded.
The provided callback will be invoked when the "unsubscribe" operation is complete if and only if the function returns CC_Mqtt311ErrorCode_Success.

◆ cc_mqtt311_client_unsubscribe_set_response_timeout()

CC_Mqtt311ErrorCode cc_mqtt311_client_unsubscribe_set_response_timeout ( CC_Mqtt311UnsubscribeHandle  handle,
unsigned  ms 
)

Configure the broker response timeout for the "unsubscribe" operation.

Parameters
[in]handleHandle returned by cc_mqtt311_client_unsubscribe_prepare() function.
[in]msResponse timeout duration in milliseconds.
Returns
Result code of the call.