MQTTStatus_t MQTTAgentCommand_Unsubscribe()

in source/core_mqtt_agent_command_functions.c [116:140]


MQTTStatus_t MQTTAgentCommand_Unsubscribe( MQTTAgentContext_t * pMqttAgentContext,
                                           void * pVoidSubscribeArgs,
                                           MQTTAgentCommandFuncReturns_t * pReturnFlags )
{
    const MQTTAgentSubscribeArgs_t * pSubscribeArgs;
    MQTTStatus_t ret;

    assert( pMqttAgentContext != NULL );
    assert( pVoidSubscribeArgs != NULL );
    assert( pReturnFlags != NULL );

    ( void ) memset( pReturnFlags, 0x00, sizeof( MQTTAgentCommandFuncReturns_t ) );
    pSubscribeArgs = ( const MQTTAgentSubscribeArgs_t * ) ( pVoidSubscribeArgs );
    pReturnFlags->packetId = MQTT_GetPacketId( &( pMqttAgentContext->mqttContext ) );

    ret = MQTT_Unsubscribe( &( pMqttAgentContext->mqttContext ),
                            pSubscribeArgs->pSubscribeInfo,
                            pSubscribeArgs->numSubscriptions,
                            pReturnFlags->packetId );

    pReturnFlags->addAcknowledgment = ( ret == MQTTSuccess );
    pReturnFlags->runProcessLoop = true;

    return ret;
}