in source/fleet_provisioning.c [729:763]
FleetProvisioningStatus_t FleetProvisioning_MatchTopic( const char * pTopic,
uint16_t topicLength,
FleetProvisioningTopic_t * pOutApi )
{
FleetProvisioningStatus_t ret = FleetProvisioningNoMatch;
if( ( pTopic == NULL ) || ( pOutApi == NULL ) )
{
ret = FleetProvisioningBadParameter;
LogError( ( "Invalid input parameter. pTopic: %p, pOutApi: %p.",
( const void * ) pTopic,
( void * ) pOutApi ) );
}
else
{
*pOutApi = parseCreateCertificateFromCsrTopic( pTopic, topicLength );
if( *pOutApi == FleetProvisioningInvalidTopic )
{
*pOutApi = parseCreateKeysAndCertificateTopic( pTopic, topicLength );
}
if( *pOutApi == FleetProvisioningInvalidTopic )
{
*pOutApi = parseRegisterThingTopic( pTopic, topicLength );
}
if( *pOutApi != FleetProvisioningInvalidTopic )
{
ret = FleetProvisioningSuccess;
}
}
return ret;
}