AzureIoTResult_t AzureIoTMessage_PropertiesAppend()

in source/azure_iot_message.c [42:69]


AzureIoTResult_t AzureIoTMessage_PropertiesAppend( AzureIoTMessageProperties_t * pxMessageProperties,
                                                   const uint8_t * pucName,
                                                   uint32_t ulNameLength,
                                                   const uint8_t * pucValue,
                                                   uint32_t ulValueLength )
{
    az_span xNameSpan = az_span_create( ( uint8_t * ) pucName, ( int32_t ) ulNameLength );
    az_span xValueSpan = az_span_create( ( uint8_t * ) pucValue, ( int32_t ) ulValueLength );
    az_result xResult;

    if( ( pxMessageProperties == NULL ) ||
        ( pucName == NULL ) || ( ulNameLength == 0 ) ||
        ( pucValue == NULL ) || ( ulValueLength == 0 ) )
    {
        AZLogError( ( "AzureIoTMessage_PropertiesAppend failed: Invalid argument" ) );
        return eAzureIoTErrorInvalidArgument;
    }

    xResult = az_iot_message_properties_append( &pxMessageProperties->_internal.xProperties,
                                                xNameSpan, xValueSpan );

    if( az_result_failed( xResult ) )
    {
        return eAzureIoTErrorFailed;
    }

    return eAzureIoTSuccess;
}