CommsChampion Ecosystem MQTT v5 Client
MQTT v5 Client Library.
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
"Unsubscribe Operation Data Type and Functions"

Classes

struct  CC_Mqtt5UnsubscribeResponse
 Response information from broker to "unsubscribe" request. More...
 
struct  CC_Mqtt5UnsubscribeTopicConfig
 Topic filter configuration structure of the "unsubscribe" operation. More...
 

Typedefs

typedef void(* CC_Mqtt5UnsubscribeCompleteCb) (void *data, CC_Mqtt5UnsubscribeHandle handle, CC_Mqtt5AsyncOpStatus status, const CC_Mqtt5UnsubscribeResponse *response)
 Callback used to report completion of the "unsubscribe" operation.
 
typedef struct CC_Mqtt5Unsubscribe * CC_Mqtt5UnsubscribeHandle
 Handle for "unsubscribe" operation.
 

Functions

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_add_user_prop (CC_Mqtt5UnsubscribeHandle handle, const CC_Mqtt5UserProp *prop)
 Add user property to the configuration of the "unsubscribe" operation.
 
CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_cancel (CC_Mqtt5UnsubscribeHandle handle)
 Cancel the allocated "unsubscribe" operation.
 
CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_config_topic (CC_Mqtt5UnsubscribeHandle handle, const CC_Mqtt5UnsubscribeTopicConfig *config)
 Add topic configuration of the "unsubscribe" operation.
 
CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_full (CC_Mqtt5ClientHandle handle, const CC_Mqtt5UnsubscribeTopicConfig *topicConfigs, unsigned topicConfigsCount, CC_Mqtt5UnsubscribeCompleteCb cb, void *cbData)
 Prepare, configure, and send "unsubscribe" request in one go (full version)
 
unsigned cc_mqtt5_client_unsubscribe_get_response_timeout (CC_Mqtt5UnsubscribeHandle handle)
 Retrieve the configured the broker response timeout for the "unsubscribe" operation.
 
void cc_mqtt5_client_unsubscribe_init_config_topic (CC_Mqtt5UnsubscribeTopicConfig *config)
 Intialize the CC_Mqtt5UnsubscribeTopicConfig configuration structure.
 
CC_Mqtt5UnsubscribeHandle cc_mqtt5_client_unsubscribe_prepare (CC_Mqtt5ClientHandle handle, CC_Mqtt5ErrorCode *ec)
 Prepare "unsubscribe" operation.
 
CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_send (CC_Mqtt5UnsubscribeHandle handle, CC_Mqtt5UnsubscribeCompleteCb cb, void *cbData)
 Send the configured "unsubscribe" operation to broker.
 
CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_set_response_timeout (CC_Mqtt5UnsubscribeHandle handle, unsigned ms)
 Configure the broker response timeout for the "unsubscribe" operation.
 
CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_simple (CC_Mqtt5ClientHandle handle, const CC_Mqtt5UnsubscribeTopicConfig *topicConfig, CC_Mqtt5UnsubscribeCompleteCb cb, void *cbData)
 Prepare, configure, and send "unsubscribe" request in one go (simple version)
 

Detailed Description

Typedef Documentation

◆ CC_Mqtt5UnsubscribeCompleteCb

typedef void(* CC_Mqtt5UnsubscribeCompleteCb) (void *data, CC_Mqtt5UnsubscribeHandle handle, CC_Mqtt5AsyncOpStatus status, const CC_Mqtt5UnsubscribeResponse *response)

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

Parameters
[in]dataPointer to user data object passed as last parameter to the cc_mqtt5_client_unsubscribe_send().
[in]handleHandle returned by cc_mqtt5_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.
[in]responseResponse information from the broker. Not-NULL is reported if and onfly if the "status" is equal to CC_Mqtt5AsyncOpStatus_Complete.
Postcondition
The data members of the reported response can NOT be accessed after the function returns.

◆ CC_Mqtt5UnsubscribeHandle

typedef struct CC_Mqtt5Unsubscribe* CC_Mqtt5UnsubscribeHandle

Handle for "unsubscribe" operation.

Returned by cc_mqtt5_client_unsubscribe_prepare() function.

Function Documentation

◆ cc_mqtt5_client_unsubscribe_add_user_prop()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_add_user_prop ( CC_Mqtt5UnsubscribeHandle  handle,
const CC_Mqtt5UserProp prop 
)

Add user property to the configuration of the "unsubscribe" operation.

Parameters
[in]handleHandle returned by cc_mqtt5_client_unsubscribe_prepare() function.
[in]propSingle user property info. Must NOT be NULL. Does not need to be preserved after invocation.
Returns
Result code of the call.

◆ cc_mqtt5_client_unsubscribe_cancel()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_cancel ( CC_Mqtt5UnsubscribeHandle  handle)

Cancel the allocated "unsubscribe" operation.

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

Parameters
[in]handleHandle returned by cc_mqtt5_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_mqtt5_client_unsubscribe_config_topic()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_config_topic ( CC_Mqtt5UnsubscribeHandle  handle,
const CC_Mqtt5UnsubscribeTopicConfig config 
)

Add topic configuration of the "unsubscribe" operation.

Parameters
[in]handleHandle returned by cc_mqtt5_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_mqtt5_client_unsubscribe_full()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_full ( CC_Mqtt5ClientHandle  handle,
const CC_Mqtt5UnsubscribeTopicConfig topicConfigs,
unsigned  topicConfigsCount,
CC_Mqtt5UnsubscribeCompleteCb  cb,
void *  cbData 
)

Prepare, configure, and send "unsubscribe" request in one go (full version)

Abstracts away sequence of the following functions invocation:

Parameters
[in]handleHandle returned by cc_mqtt5_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_mqtt5_client_unsubscribe_get_response_timeout()

unsigned cc_mqtt5_client_unsubscribe_get_response_timeout ( CC_Mqtt5UnsubscribeHandle  handle)

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

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

◆ cc_mqtt5_client_unsubscribe_init_config_topic()

void cc_mqtt5_client_unsubscribe_init_config_topic ( CC_Mqtt5UnsubscribeTopicConfig config)

Intialize the CC_Mqtt5UnsubscribeTopicConfig configuration structure.

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

◆ cc_mqtt5_client_unsubscribe_prepare()

CC_Mqtt5UnsubscribeHandle cc_mqtt5_client_unsubscribe_prepare ( CC_Mqtt5ClientHandle  handle,
CC_Mqtt5ErrorCode ec 
)

Prepare "unsubscribe" operation.

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

Parameters
[in]handleHandle returned by cc_mqtt5_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_mqtt5_client_unsubscribe_send() or cc_mqtt5_client_unsubscribe_cancel() to prevent memory leaks.

◆ cc_mqtt5_client_unsubscribe_send()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_send ( CC_Mqtt5UnsubscribeHandle  handle,
CC_Mqtt5UnsubscribeCompleteCb  cb,
void *  cbData 
)

Send the configured "unsubscribe" operation to broker.

Parameters
[in]handleHandle returned by cc_mqtt5_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_mqtt5_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_Mqtt5ErrorCode_Success.

◆ cc_mqtt5_client_unsubscribe_set_response_timeout()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_set_response_timeout ( CC_Mqtt5UnsubscribeHandle  handle,
unsigned  ms 
)

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

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

◆ cc_mqtt5_client_unsubscribe_simple()

CC_Mqtt5ErrorCode cc_mqtt5_client_unsubscribe_simple ( CC_Mqtt5ClientHandle  handle,
const CC_Mqtt5UnsubscribeTopicConfig topicConfig,
CC_Mqtt5UnsubscribeCompleteCb  cb,
void *  cbData 
)

Prepare, configure, and send "unsubscribe" request in one go (simple version)

Abstracts away sequence of the following functions invocation:

Parameters
[in]handleHandle returned by cc_mqtt5_client_alloc() function.
[in]topicConfigTopic configuration. Can be NULL.
[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.