mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovidergetobjectpropdesc.cpp
changeset 25 d881023c13eb
parent 21 a05c44bc3c61
child 27 cbb1bfb7ebfb
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovidergetobjectpropdesc.cpp	Fri Apr 16 15:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,716 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implement the operation: GetObjectPropDesc
-*
-*/
-
-#include <mtp/cmtptypeobjectpropdesc.h>
-#include <mtp/mtpprotocolconstants.h>
-#include <mtp/cmtptypestring.h>
-
-#include "cmediamtpdataprovidergetobjectpropdesc.h"
-#include "mediamtpdataproviderconst.h"
-#include "mmmtpdplogger.h"
-#include "mmmtpdpdefs.h"
-
-const TUint32 KMTPDescriptionLen = 0x00000200;
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::NewL
-// Two-phase construction method
-// -----------------------------------------------------------------------------
-//
-MMmRequestProcessor* CMediaMtpDataProviderGetObjectPropDesc::NewL( MMTPDataProviderFramework& aFramework,
-    MMTPConnection& aConnection,
-    MMmMtpDpConfig& aDpConfig )
-    {
-    CMediaMtpDataProviderGetObjectPropDesc* self =
-        new ( ELeave ) CMediaMtpDataProviderGetObjectPropDesc( aFramework,
-            aConnection,
-            aDpConfig );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::ConstructL
-// Two-phase construction method
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ConstructL()
-    {
-    CGetObjectPropDesc::ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::~CMediaMtpDataProviderGetObjectPropDesc
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMediaMtpDataProviderGetObjectPropDesc::~CMediaMtpDataProviderGetObjectPropDesc()
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::CMediaMtpDataProviderGetObjectPropDesc
-// Standard c++ constructor
-// -----------------------------------------------------------------------------
-//
-CMediaMtpDataProviderGetObjectPropDesc::CMediaMtpDataProviderGetObjectPropDesc( MMTPDataProviderFramework& aFramework,
-    MMTPConnection& aConnection,
-    MMmMtpDpConfig& aDpConfig ) :
-    CGetObjectPropDesc( aFramework, aConnection, aDpConfig )
-    {
-
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceSpecificObjectPropertyL(TUint16 aPropCode)
-    {
-    switch (aPropCode)
-        {
-        // format specific
-        case EMTPObjectPropCodeArtist: // Artist
-        case EMTPObjectPropCodeTrack: // Track
-        case EMTPObjectPropCodeGenre: // Genre
-        case EMTPObjectPropCodeUseCount: // Use Count
-        case EMTPObjectPropCodeAlbumName: // Album Name
-        case EMTPObjectPropCodeAlbumArtist: // Album Artist
-        case EMTPObjectPropCodeOriginalReleaseDate: // Original Release Date
-        case EMTPObjectPropCodeComposer: // Composer
-        case EMTPObjectPropCodeParentalRating:
-            iObjectProperty = CMTPTypeObjectPropDesc::NewL( aPropCode );
-            break;
-
-        // Number of Channels (m)
-        case EMTPObjectPropCodeNumberOfChannels:
-            ServiceNumberOfChannelsL();
-            break;
-
-        // Sample Rate (HAS MINIMUM AND MAX VALUE)
-        case EMTPObjectPropCodeSampleRate:
-            ServiceCodeSampleRateL();
-            break;
-
-        // Audio Wave Codec (MAY REQUIRED LIMITED NUMBER TO BE PRODUCED)
-        case EMTPObjectPropCodeAudioWAVECodec:
-            ServiceCodeWaveCodecL();
-            break;
-
-        // Audio Bit Rate (MAY REQUIRED LIMITED NUMBER TO BE PRODUCED)
-        case EMTPObjectPropCodeAudioBitRate:
-            ServiceCodeAudioBitrateL();
-            break;
-
-        // Duration
-        case EMTPObjectPropCodeDuration:
-            ServiceDurationL();
-            break;
-
-        // Description
-        case EMTPObjectPropCodeDescription:
-            ServiceDescriptionL();
-            break;
-
-        case EMTPObjectPropCodeWidth:
-            ServiceRangeFormDescriptionL( aPropCode,
-                EMTPMinWidth,
-                EMTPMaxWidth,
-                EMTPStepWidth );
-            break;
-
-        case EMTPObjectPropCodeHeight:
-            ServiceRangeFormDescriptionL( aPropCode,
-                EMTPMinHeight,
-                EMTPMaxHeight,
-                EMTPStepHeight );
-            break;
-
-        case EMTPObjectPropCodeScanType:
-            ServiceScanTypeDescriptionL();
-            break;
-
-        case EMTPObjectPropCodeVideoFourCCCodec:
-            ServiceVideoFourCCCodecL();
-            break;
-
-        case EMTPObjectPropCodeVideoBitRate:
-            ServiceRangeFormDescriptionL( aPropCode,
-                EMTPWMVMinBitrate,
-                EMTPWMVMaxBitrate,
-                EMTPVideoBitrateStep,
-                ETrue );
-            break;
-
-        case EMTPObjectPropCodeFramesPerThousandSeconds:
-            ServiceRangeFormDescriptionL( aPropCode,
-                EMTPMinFramesPerThousandSeconds,
-                EMTPMaxFramesPerThousandSeconds,
-                EMTPStepFramesPerThousandSeconds );
-            break;
-
-        case EMTPObjectPropCodeKeyFrameDistance:
-            ServiceRangeFormDescriptionL( aPropCode,
-                EMTPMinKeyFrameDistance,
-                EMTPMaxKeyFrameDistance,
-                EMTPStepKeyFrameDistance );
-            break;
-
-        case EMTPObjectPropCodeEncodingProfile:
-            ServiceEncodingProfileDescriptionL();
-            break;
-
-        case EMTPObjectPropCodeDRMStatus:
-            ServiceDRMStatusL();
-            break;
-
-        case EMTPExtObjectPropCodeOmaDrmStatus:
-            ServiceOMADRMStatusL();
-            break;
-
-        default:
-            User::Leave( KErrNotSupported );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::ServiceDescriptionL()
-// Create Description and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceDescriptionL()
-    {
-    TMTPTypeUint32 uint32Data( KMTPDescriptionLen );
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeDescription,
-        CMTPTypeObjectPropDesc::ELongStringForm,
-        &uint32Data );
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::ServiceNumberOfChannelsL
-// Create list of possible Channel numbers and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceNumberOfChannelsL()
-    {
-    PRINT( _L( "MM MTP => CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeSampleRateL" ) );
-
-    CMTPTypeObjectPropDescEnumerationForm* expectedForm = CMTPTypeObjectPropDescEnumerationForm::NewL( EMTPTypeUINT16 );
-    CleanupStack::PushL( expectedForm ); // + expectedForm
-
-    TUint16 values[] =
-        {
-        EMTPChannelMono,
-        EMTPChannelStereo
-        };
-
-    TInt numValues =  sizeof ( values ) / sizeof ( values[0] ) ;
-
-    for ( TInt i = 0; i < numValues; i++ )
-        {
-        TMTPTypeUint16 data( values[i] );
-        expectedForm->AppendSupportedValueL( data );
-        }
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way :)
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeNumberOfChannels, *expectedForm );
-    CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-
-    PRINT( _L( "MM MTP <= CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeSampleRateL" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeSampleRateL
-// Create list of possible Sample rate list and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeSampleRateL()
-    {
-    // if some format does not support the sample rate,
-    // here still need an instance of CMTPTypeObjectPropDesc.
-    PRINT( _L( "MM MTP => CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeSampleRateL" ) );
-
-    CMTPTypeObjectPropDescEnumerationForm* expectedForm =
-        CMTPTypeObjectPropDescEnumerationForm::NewLC( EMTPTypeUINT32 ); // + expectedForm
-
-    TUint32 values[] =
-        {
-        EMTPSampleRate8K ,
-        EMTPSampleRate16K,
-        EMTPSampleRate22_05K,
-        EMTPSampleRate24K,
-        EMTPSampleRate32K,
-        EMTPSampleRate44_1K,
-        EMTPSampleRate48K
-        };
-
-    TInt numValues = sizeof( values ) / sizeof( values[0] ) ;
-
-    for ( TInt i = 0; i < numValues; i++ )
-        {
-        TMTPTypeUint32 data( values[i] );
-        expectedForm->AppendSupportedValueL( data );
-        }
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way :)
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeSampleRate, CMTPTypeObjectPropDesc::EEnumerationForm, expectedForm );
-    CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-
-    PRINT( _L( "MM MTP <= CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeSampleRateL" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::ServiceWaveCodecL
-// Create list of possible bitrate types and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL()
-    {
-    PRINT1( _L( "MM MTP => CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL, format = 0x%x" ), iFormatCode );
-
-    CMTPTypeObjectPropDescEnumerationForm* form =
-    CMTPTypeObjectPropDescEnumerationForm::NewLC( EMTPTypeUINT32 ); // + form
-
-    switch (iFormatCode)
-        {
-        case EMTPFormatCodeWMA:
-        case EMTPFormatCodeWMV:
-        case EMTPFormatCodeASF:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL format = 0x%x" ), iFormatCode );
-            TMTPTypeUint32 data( EMTPAudioWAVECodecWMA );
-            form->AppendSupportedValueL( data );
-            }
-            break;
-
-        case EMTPFormatCodeMP3:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL format = 0x%x" ), iFormatCode );
-            TMTPTypeUint32 data( EMTPAudioWAVECodecMP3 );
-            form->AppendSupportedValueL( data );
-            }
-            break;
-
-        case EMTPFormatCodeMP4Container:
-        case EMTPFormatCode3GPContainer:
-        case EMTPFormatCodeAAC:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL format = 0x%x" ), iFormatCode );
-            TMTPTypeUint32 data( EMTPAudioWAVECodecAAC );
-            form->AppendSupportedValueL( data );
-            }
-            break;
-
-        case EMTPFormatCodeWAV:
-            {
-            PRINT1( _L("MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL format = 0x%x"), iFormatCode );
-            TMTPTypeUint32 data( EMTPAudioWAVECodecPCM );
-            form->AppendSupportedValueL( data );
-            }
-            break;
-
-        default:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL leave because of invalid formatcode = 0x%x" ), iFormatCode );
-            User::Leave(KErrNotSupported);
-            }
-            break;
-        }
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way :)
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeAudioWAVECodec, *form );
-    CleanupStack::PopAndDestroy( form ); // - form
-
-    PRINT( _L( "MM MTP <= CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeWaveCodecL" ) );
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeAudioBitrateL()
-    {
-    PRINT1( _L("MM MTP => CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeAudioBitrate, format = 0x%x"), iFormatCode );
-
-    switch (iFormatCode)
-        {
-        case EMTPFormatCodeWMA:
-        case EMTPFormatCodeWMV:
-        case EMTPFormatCodeASF:
-            {
-            ServiceRangeFormDescriptionL( EMTPObjectPropCodeAudioBitRate,
-                EMTPWMAMinBitrate,
-                EMTPWMAMaxBitrate,
-                EMTPAudioBitrateStep );
-            }
-            break;
-
-        case EMTPFormatCodeMP3:
-            {
-            ServiceRangeFormDescriptionL( EMTPObjectPropCodeAudioBitRate,
-                EMTPMP3MinBitrate,
-                EMTPMP3MaxBitrate,
-                EMTPAudioBitrateStep );
-            }
-            break;
-
-        case EMTPFormatCodeAAC:
-            {
-            ServiceRangeFormDescriptionL( EMTPObjectPropCodeAudioBitRate,
-                EMTPAACMinBitrate,
-                EMTPAACMaxBitrate,
-                EMTPAudioBitrateStep );
-            }
-            break;
-
-        case EMTPFormatCodeWAV:
-            {
-            ServiceRangeFormDescriptionL( EMTPObjectPropCodeAudioBitRate,
-                EMTPPCMMinBitrate,
-                EMTPPCMMaxBitrate,
-                EMTPAudioBitrateStep );
-            }
-            break;
-
-        case EMTPFormatCodeMP4Container:
-        case EMTPFormatCode3GPContainer:
-            {
-            ServiceRangeFormDescriptionL( EMTPObjectPropCodeAudioBitRate,
-                EMTPAACPlusMinBitrate,
-                EMTPAACPlusMaxBitrate,
-                EMTPAudioBitrateStep );
-            }
-            break;
-
-        default:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeAudioBitRateL leave because of invalid formatcode = 0x%x" ), iFormatCode );
-            User::Leave( KErrNotSupported );
-            }
-        }
-
-    PRINT( _L( "MM MTP <= CMediaMtpDataProviderGetObjectPropDesc::ServiceCodeAudioBitRateL" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CGetObjectPropDesc::ServiceDurationL()
-// Create list of Duration types and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceDurationL()
-    {
-
-    PRINT( _L( "MM MTP => CMediaMtpDataProviderGetObjectPropDesc::ServiceDurationL" ) );
-
-    CMTPTypeObjectPropDescRangeForm* form = CMTPTypeObjectPropDescRangeForm::NewLC( EMTPTypeUINT32 ); // + form
-
-    // Set expected values
-    form->SetUint32L( CMTPTypeObjectPropDescRangeForm::EMinimumValue, EMTPMinDuration );
-    form->SetUint32L( CMTPTypeObjectPropDescRangeForm::EMaximumValue, EMTPMaxDuration );
-    form->SetUint32L( CMTPTypeObjectPropDescRangeForm::EStepSize, EMTPDurationStep );
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeDuration, *form );
-    CleanupStack::PopAndDestroy( form ); // - form
-
-    PRINT( _L( "MM MTP <= CMediaMtpDataProviderGetObjectPropDesc::ServiceDurationL" ) );
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceScanTypeDescriptionL()
-    {
-    CMTPTypeObjectPropDescEnumerationForm* expectedForm =
-        CMTPTypeObjectPropDescEnumerationForm::NewL( EMTPTypeUINT16 );
-    CleanupStack::PushL( expectedForm ); // + expectedForm
-
-    TUint16 values[] =
-        {
-        EMTPScanTypeProgressive
-        };
-
-    TInt numValues = sizeof ( values ) / sizeof ( values[0] ) ;
-    for ( TInt i = 0; i < numValues; i++ )
-        {
-        TMTPTypeUint16 data( values[i] );
-        expectedForm->AppendSupportedValueL( data );
-        }
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way :)
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeScanType, *expectedForm );
-    CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceVideoFourCCCodecL()
-    {
-    switch( iFormatCode )
-        {
-        case EMTPFormatCodeWMV:
-        case EMTPFormatCodeASF:
-            {
-            CMTPTypeObjectPropDescEnumerationForm* expectedForm =
-                CMTPTypeObjectPropDescEnumerationForm::NewL( EMTPTypeUINT32 );
-            CleanupStack::PushL( expectedForm ); // + expectedForm
-
-            TUint32 values[] =
-                {
-                EMTPVideoFourCCCodecWMV3
-                };
-
-            TInt numValues = sizeof ( values ) / sizeof ( values[0] ) ;
-            for ( TInt i = 0; i < numValues; i++ )
-                {
-                TMTPTypeUint32 data( values[i] );
-                expectedForm->AppendSupportedValueL( data );
-                }
-
-            // comment out asf fourcc for mp2a and mp4a, not sure if this is needed
-            /*if ( iFormatCode == EMTPFormatCodeASF )
-                {
-                TUint32 additionalValues[] =
-                    {
-                    EMTPVideoFourCCCodecMP2A,
-                    EMTPVideoFourCCCodecMP4A
-                    };
-
-                for ( TInt j = 0; i < sizeof(additionalValues) / sizeof(additionalValues[0]) )
-                    {
-                    TMTPTypeUint32 data( additionalValues[i] );
-                    expectedForm->AppendSupportedValueL( data );
-                    }
-                }*/
-
-            // Althrough iObjectProperty is released in ServiceL(),
-            // release it here maybe a more safer way :)
-            if ( iObjectProperty != NULL )
-                {
-                delete iObjectProperty;
-                iObjectProperty = NULL;
-                }
-
-            iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeVideoFourCCCodec, *expectedForm );
-            CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-            }
-            break;
-
-        default:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceVideoFourCCCodecL leave because of invalid formatcode = 0x%x" ), iFormatCode );
-            User::Leave( KErrNotSupported );
-            }
-            break;
-        }
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceVideoBitrateL()
-    {
-    switch( iFormatCode )
-        {
-        case EMTPFormatCodeWMV:
-        case EMTPFormatCodeASF:
-            {
-            ServiceRangeFormDescriptionL( EMTPObjectPropCodeAudioBitRate,
-                EMTPWMVMinBitrate,
-                EMTPWMVMaxBitrate,
-                EMTPVideoBitrateStep,
-                ETrue );
-            }
-            break;
-
-        default:
-            {
-            PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropDesc::ServiceVideoBitrateL leave because of invalid formatcode = 0x%x" ), iFormatCode );
-            User::Leave( KErrNotSupported );
-            }
-            break;
-        }
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceEncodingProfileDescriptionL()
-    {
-    CMTPTypeObjectPropDescEnumerationForm* expectedForm =
-        CMTPTypeObjectPropDescEnumerationForm::NewLC( EMTPTypeString ); // + expectedForm
-
-    CMTPTypeString* string = CMTPTypeString::NewLC( _L( "SP@LL" ) );
-    expectedForm->AppendSupportedValueL( *string );
-    string->SetL(_L("SP@ML"));
-    expectedForm->AppendSupportedValueL( *string );
-    string->SetL(_L("MP@LL"));
-    expectedForm->AppendSupportedValueL( *string );
-
-    CMTPTypeObjectPropDesc::TPropertyInfo propertyInfo;
-    propertyInfo.iDataType = EMTPTypeString;
-    propertyInfo.iFormFlag = CMTPTypeObjectPropDesc::EEnumerationForm;
-    propertyInfo.iGetSet = CMTPTypeObjectPropDesc::EReadWrite;
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeEncodingProfile,
-        propertyInfo,
-        expectedForm );
-
-    CleanupStack::PopAndDestroy( string );
-    CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-    }
-
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceRangeFormDescriptionL( TUint16 aPropCode,
-    TUint32 aMinValue,
-    TUint32 aMaxValue,
-    TUint32 aStepValue,
-    TBool aIsReadOnly )
-    {
-    CMTPTypeObjectPropDescRangeForm* form =
-        CMTPTypeObjectPropDescRangeForm::NewLC( EMTPTypeUINT32 ); // + form
-
-    // Set expected values
-    form->SetUint32L( CMTPTypeObjectPropDescRangeForm::EMinimumValue, aMinValue );
-    form->SetUint32L( CMTPTypeObjectPropDescRangeForm::EMaximumValue, aMaxValue );
-    form->SetUint32L( CMTPTypeObjectPropDescRangeForm::EStepSize, aStepValue );
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    CMTPTypeObjectPropDesc::TPropertyInfo propertyInfo;
-    propertyInfo.iDataType = EMTPTypeUINT32;
-    propertyInfo.iFormFlag = CMTPTypeObjectPropDesc::ERangeForm;
-    propertyInfo.iGetSet = !aIsReadOnly;
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( aPropCode, propertyInfo, form );
-
-    CleanupStack::PopAndDestroy( form ); // - form
-    }
-
-// -----------------------------------------------------------------------------
-// CGetObjectPropDesc::ServiceDRMStatusL
-// Create list of possible DRM status and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceDRMStatusL()
-    {
-    CMTPTypeObjectPropDescEnumerationForm* expectedForm =
-        CMTPTypeObjectPropDescEnumerationForm::NewL( EMTPTypeUINT16 );
-    CleanupStack::PushL( expectedForm ); // + expectedForm
-
-    TUint16 values[] =
-        {
-        EMTPDrmNoProtection,
-        EMTPDrmProtection,
-        EMTPDrmReserveForMTP,
-        EMTPDrmVenderExtension
-        };
-
-    TInt numValues = sizeof ( values ) / sizeof ( values[0] ) ;
-    for ( TInt i = 0; i < numValues; i++ )
-        {
-        TMTPTypeUint16 data( values[i] );
-        expectedForm->AppendSupportedValueL( data );
-        }
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way :)
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPObjectPropCodeDRMStatus, *expectedForm );
-    CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-    }
-
-// -----------------------------------------------------------------------------
-// CMediaMtpDataProviderGetObjectPropDesc::ServiceOMADRMStatusL
-// Create list of possible OMA DRM status and create new ObjectPropDesc
-// -----------------------------------------------------------------------------
-//
-void CMediaMtpDataProviderGetObjectPropDesc::ServiceOMADRMStatusL()
-    {
-    CMTPTypeObjectPropDescEnumerationForm* expectedForm =
-        CMTPTypeObjectPropDescEnumerationForm::NewL( EMTPTypeUINT8 );
-    CleanupStack::PushL( expectedForm ); // + expectedForm
-
-    TUint8 values[] =
-        {
-        EMTPOMADrmNoProtection,
-        EMTPOMADrmProtection,
-        };
-
-    TInt numValues = sizeof ( values ) / sizeof ( values[0] ) ;
-    for ( TInt i = 0; i < numValues; i++ )
-        {
-        TMTPTypeUint8 data( values[i] );
-        expectedForm->AppendSupportedValueL( data );
-        }
-
-    // Althrough iObjectProperty is released in ServiceL(),
-    // release it here maybe a more safer way :)
-    if ( iObjectProperty != NULL )
-        {
-        delete iObjectProperty;
-        iObjectProperty = NULL;
-        }
-
-    CMTPTypeObjectPropDesc::TPropertyInfo propertyInfo;
-    propertyInfo.iDataType = EMTPTypeUINT8;
-    propertyInfo.iFormFlag = CMTPTypeObjectPropDesc::EEnumerationForm;
-
-    iObjectProperty = CMTPTypeObjectPropDesc::NewL( EMTPExtObjectPropCodeOmaDrmStatus,
-        propertyInfo,
-        expectedForm );
-    CleanupStack::PopAndDestroy( expectedForm ); // - expectedForm
-    }
-
-// end of file