--- 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();
+ }
+ }
+