diff -r 910a23996aa0 -r c5e73110f733 harvester/harvesterplugins/OMADRMPlugin/src/harvesteromadrmplugin.cpp --- a/harvester/harvesterplugins/OMADRMPlugin/src/harvesteromadrmplugin.cpp Fri Jul 23 10:03:59 2010 +0300 +++ b/harvester/harvesterplugins/OMADRMPlugin/src/harvesteromadrmplugin.cpp Fri Aug 06 09:56:02 2010 +0300 @@ -48,11 +48,24 @@ _LIT(KInUse, "InUse"); -CHarvesterOmaDrmPluginPropertyDefs::CHarvesterOmaDrmPluginPropertyDefs() : CBase() +CHarvesterOmaDrmPluginPropertyDefs::CHarvesterOmaDrmPluginPropertyDefs() : CBase(), + iCreationDatePropertyDef( NULL ) { } -void CHarvesterOmaDrmPluginPropertyDefs::ConstructL(CMdEObjectDef& aObjectDef) +void CHarvesterOmaDrmPluginPropertyDefs::ConstructL( CMdEObjectDef& aObjectDef ) + { + SetByObjectDefL( aObjectDef ); + } + +CHarvesterOmaDrmPluginPropertyDefs* CHarvesterOmaDrmPluginPropertyDefs::NewL() + { + CHarvesterOmaDrmPluginPropertyDefs* self = + new (ELeave) CHarvesterOmaDrmPluginPropertyDefs(); + return self; + } + +void CHarvesterOmaDrmPluginPropertyDefs::SetByObjectDefL( CMdEObjectDef& aObjectDef ) { CMdENamespaceDef& nsDef = aObjectDef.NamespaceDef(); @@ -81,16 +94,6 @@ iGenrePropertyDef = &mediaDef.GetPropertyDefL( MdeConstants::MediaObject::KGenreProperty ); } -CHarvesterOmaDrmPluginPropertyDefs* CHarvesterOmaDrmPluginPropertyDefs::NewL(CMdEObjectDef& aObjectDef) - { - CHarvesterOmaDrmPluginPropertyDefs* self = - new (ELeave) CHarvesterOmaDrmPluginPropertyDefs(); - CleanupStack::PushL( self ); - self->ConstructL( aObjectDef ); - CleanupStack::Pop( self ); - return self; - } - /** * Default constructor */ @@ -140,9 +143,6 @@ iPhoneSoundsPath = NULL; delete iMmcSoundsPath; iMmcSoundsPath = NULL; - - delete iPropDefs; - iPropDefs = NULL; } /** @@ -155,6 +155,8 @@ User::LeaveIfError( iFs.Connect() ); + iPropDefs = CHarvesterOmaDrmPluginPropertyDefs::NewL(); + TFileName phoneRoot = PathInfo::PhoneMemoryRootPath(); TFileName mmcRoot = PathInfo::MemoryCardRootPath(); @@ -194,6 +196,7 @@ WRITELOG( "CHarvesterImagePlugin::HarvestL()" ); CMdEObject& mdeObject = aHarvesterData->MdeObject(); CDRMHarvestData* drmHarvestData = CDRMHarvestData::NewL(); + CleanupStack::PushL( drmHarvestData ); CFileData* fileData = CFileData::NewL(); CleanupStack::PushL( fileData ); @@ -230,7 +233,7 @@ aHarvesterData->SetErrorCode( convertedError ); } - CleanupStack::PopAndDestroy( 2, fileData ); + CleanupStack::PopAndDestroy( 3, drmHarvestData ); } // --------------------------------------------------------------------------- @@ -238,7 +241,7 @@ // --------------------------------------------------------------------------- // TInt CHarvesterOMADRMPlugin::GatherDataL( CMdEObject& aMetadataObject, CDRMHarvestData& aDRMharvestData, - CFileData& aFileData, CHarvestData& aHarvestData ) + CFileData& aFileData, CHarvestData& /*aHarvestData*/ ) { WRITELOG( "CHarvesterOMADRMPlugin::GatherDataL" ); @@ -359,19 +362,13 @@ // HandleObjectPropertiesL // --------------------------------------------------------------------------- // -void CHarvesterOMADRMPlugin::HandleObjectPropertiesL( CHarvestData& aHarvestData, CDRMHarvestData& aDRMharvestData, CFileData& aFileData, +void CHarvesterOMADRMPlugin::HandleObjectPropertiesL( CHarvestData& /*aHarvestData*/, CDRMHarvestData& aDRMharvestData, CFileData& aFileData, CHarvesterData& aHarvesterData, TBool aIsAdd ) { WRITELOG("CHarvesterOMADRMPlugin - HandleNewObject "); CMdEObject& mdeObject = aHarvesterData.MdeObject(); - if( !iPropDefs ) - { - CMdEObjectDef& objectDef = mdeObject.Def(); - iPropDefs = CHarvesterOmaDrmPluginPropertyDefs::NewL( objectDef ); - // Prefetch max text lengt for validity checking - iMaxTextLength = iPropDefs->iGenrePropertyDef->MaxTextLengthL(); - } + InitPropDefsL( mdeObject.Def() ); TTimeIntervalSeconds timeOffset = User::UTCOffset(); @@ -647,3 +644,13 @@ } } +void CHarvesterOMADRMPlugin::InitPropDefsL( CMdEObjectDef& aObjectDef ) + { + if( !iPropDefs->iCreationDatePropertyDef ) + { + iPropDefs->SetByObjectDefL( aObjectDef ); + // Prefetch max text lengt for validity checking + iMaxTextLength = iPropDefs->iGenrePropertyDef->MaxTextLengthL(); + } + } +