MQTTStatus_t MQTTAgentCommand_Connect()

in source/core_mqtt_agent_command_functions.c [144:174]


MQTTStatus_t MQTTAgentCommand_Connect( MQTTAgentContext_t * pMqttAgentContext,
                                       void * pVoidConnectArgs,
                                       MQTTAgentCommandFuncReturns_t * pReturnFlags )
{
    MQTTStatus_t ret;
    MQTTAgentConnectArgs_t * pConnectInfo;

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

    pConnectInfo = ( MQTTAgentConnectArgs_t * ) ( pVoidConnectArgs );

    ret = MQTT_Connect( &( pMqttAgentContext->mqttContext ),
                        pConnectInfo->pConnectInfo,
                        pConnectInfo->pWillInfo,
                        pConnectInfo->timeoutMs,
                        &( pConnectInfo->sessionPresent ) );

    /* Resume a session if one existed, else clear the list of acknowledgments. */
    if( ret == MQTTSuccess )
    {
        LogInfo( ( "Session present flag: %d", pConnectInfo->sessionPresent ) );
        ret = MQTTAgent_ResumeSession( pMqttAgentContext,
                                       pConnectInfo->sessionPresent );
    }

    ( void ) memset( pReturnFlags, 0x00, sizeof( MQTTAgentCommandFuncReturns_t ) );

    return ret;
}