diff -r 4843bb5893b6 -r 8b094906a049 mtpdataproviders/mtpimagedp/src/mtpimagedpgetformatcapabilities.cpp --- a/mtpdataproviders/mtpimagedp/src/mtpimagedpgetformatcapabilities.cpp Fri Mar 12 15:46:41 2010 +0200 +++ b/mtpdataproviders/mtpimagedp/src/mtpimagedpgetformatcapabilities.cpp Mon Mar 15 12:43:12 2010 +0200 @@ -51,16 +51,29 @@ delete iCapabilityList; iCapabilityList = NULL; iCapabilityList = CMTPTypeFormatCapabilityList::NewL(); - BuildFormatExifJpegL(); + + if (iFormatCode == KMTPFormatsAll) + { + TInt count(sizeof(KMTPImageDpSupportFormatCodes) / sizeof(KMTPImageDpSupportFormatCodes[0])); + for (TInt i(0); i> CMTPPictureDpGetFormatCapabilities::BuildFormatExifJpegL")); CMTPTypeInterdependentPropDesc* interDesc = CMTPTypeInterdependentPropDesc::NewLC(); - CMTPTypeFormatCapability* frmCap = CMTPTypeFormatCapability::NewLC( EMTPFormatCodeEXIFJPEG ,interDesc ); + CMTPTypeFormatCapability* frmCap = CMTPTypeFormatCapability::NewLC(aFormatCode, interDesc); //EMTPObjectPropCodeStorageID CMTPTypeObjectPropDesc* desc = CMTPTypeObjectPropDesc::NewLC(EMTPObjectPropCodeStorageID); @@ -248,13 +261,24 @@ TMTPResponseCode CMTPImageDpGetFormatCapabilities::CheckRequestL() { __FLOG(_L8(">> CMTPPictureDpGetFormatCapabilities::CheckRequestL")); + TMTPResponseCode response = EMTPRespCodeOK; iFormatCode = Request().Uint32(TMTPTypeRequest::ERequestParameter1); - if((iFormatCode != EMTPFormatCodeEXIFJPEG) && (iFormatCode != KMTPFormatsAll)) + + if (iFormatCode != KMTPFormatsAll) { - return EMTPRespCodeInvalidObjectFormatCode; + response = EMTPRespCodeInvalidObjectFormatCode; + TInt count(sizeof(KMTPImageDpSupportFormatCodes) / sizeof(KMTPImageDpSupportFormatCodes[0])); + for (TInt i(0); i