mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/src/cabstractmediamtpdataproviderpropertysettingutility.cpp
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/src/cabstractmediamtpdataproviderpropertysettingutility.cpp Mon Mar 15 12:42:31 2010 +0200
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/src/cabstractmediamtpdataproviderpropertysettingutility.cpp Wed Mar 31 22:26:09 2010 +0300
@@ -17,6 +17,8 @@
#include <mtp/cmtptypeobjectproplist.h>
#include <mtp/mtpprotocolconstants.h>
+#include <mtp/mtpdatatypeconstants.h>
+#include <mtp/cmtptypearray.h>
#include "cabstractmediamtpdataproviderpropertysettingutility.h"
#include "mmmtpdplogger.h"
@@ -54,17 +56,40 @@
// Do nothing
}
-TMTPResponseCode CAbstractMediaMtpDataProviderPropertySettingUtility::SetSpecificObjectPropertyL( MMmMtpDpConfig& /*aDpConfig*/,
- TUint16 /*aPropCode*/,
- const CMTPObjectMetaData& /*aObject*/,
- const CMTPTypeObjectPropListElement& /*aElement*/ )
+TMTPResponseCode CAbstractMediaMtpDataProviderPropertySettingUtility::SetSpecificObjectPropertyL( MMmMtpDpConfig& aDpConfig,
+ TUint16 aPropCode,
+ const CMTPObjectMetaData& aObject,
+ const CMTPTypeObjectPropListElement& aElement )
{
PRINT( _L( "MM MTP => CAbstractMediaMtpDataProviderPropertySettingUtility::SetSpecificObjectPropertyL" ) );
- // Do nothing now.
- // May need add implementation here for further extension.
+ TMTPResponseCode responseCode = EMTPRespCodeOK;
+
+ switch ( aPropCode )
+ {
+ case EMTPObjectPropCodeRepresentativeSampleData:
+ {
+ CMTPTypeArray* desData = CMTPTypeArray::NewLC( EMTPTypeAUINT8 );
+ desData->SetByDesL( aElement.ArrayL( CMTPTypeObjectPropListElement::EValue ) );
+ responseCode = SetMetaDataToWrapper( aDpConfig, aPropCode, *desData, aObject );
+ CleanupStack::PopAndDestroy( desData );
+ }
+ break;
- return EMTPRespCodeOK;
+ case EMTPObjectPropCodeRepresentativeSampleFormat:
+ case EMTPObjectPropCodeRepresentativeSampleSize:
+ case EMTPObjectPropCodeRepresentativeSampleHeight:
+ case EMTPObjectPropCodeRepresentativeSampleWidth:
+ // no place to store, do nothing. reserve here for future usage
+ break;
+
+ default:
+ // Should not happen, property code should have been checked before set to store.
+ User::Leave( KErrNotSupported );
+ }
+
+ PRINT( _L( "MM MTP <= CAbstractMediaMtpDataProviderPropertySettingUtility::SetSpecificObjectPropertyL" ) );
+ return responseCode;
}
// end of file