static bool validateParams()

in source/core_mqtt_agent.c [908:942]


static bool validateParams( MQTTAgentCommandType_t commandType,
                            const void * pParams )
{
    bool ret = false;
    const MQTTAgentConnectArgs_t * pConnectArgs = NULL;
    const MQTTAgentSubscribeArgs_t * pSubscribeArgs = NULL;

    assert( ( commandType == CONNECT ) || ( commandType == PUBLISH ) ||
            ( commandType == SUBSCRIBE ) || ( commandType == UNSUBSCRIBE ) );

    switch( commandType )
    {
        case CONNECT:
            pConnectArgs = ( const MQTTAgentConnectArgs_t * ) pParams;
            ret = ( ( pConnectArgs != NULL ) &&
                    ( pConnectArgs->pConnectInfo != NULL ) );
            break;

        case SUBSCRIBE:
        case UNSUBSCRIBE:
            pSubscribeArgs = ( const MQTTAgentSubscribeArgs_t * ) pParams;
            ret = ( ( pSubscribeArgs != NULL ) &&
                    ( pSubscribeArgs->pSubscribeInfo != NULL ) &&
                    ( pSubscribeArgs->numSubscriptions != 0U ) );
            break;

        case PUBLISH:
        default:
            /* Publish, does not need to be cast since we do not check it. */
            ret = ( pParams != NULL );
            break;
    }

    return ret;
}