MQTTStatus_t MQTTAgentCommand_Subscribe()

in source/core_mqtt_agent_command_functions.c [88:112]


MQTTStatus_t MQTTAgentCommand_Subscribe( 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_Subscribe( &( pMqttAgentContext->mqttContext ),
                          pSubscribeArgs->pSubscribeInfo,
                          pSubscribeArgs->numSubscriptions,
                          pReturnFlags->packetId );

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

    return ret;
}