46 _LIT( KSvgMime, "image/svg+xml" ); |
46 _LIT( KSvgMime, "image/svg+xml" ); |
47 _LIT( KRingingToneMime, "application/vnd.nokia.ringing-tone" ); |
47 _LIT( KRingingToneMime, "application/vnd.nokia.ringing-tone" ); |
48 |
48 |
49 _LIT(KInUse, "InUse"); |
49 _LIT(KInUse, "InUse"); |
50 |
50 |
51 CHarvesterOmaDrmPluginPropertyDefs::CHarvesterOmaDrmPluginPropertyDefs() : CBase(), |
51 CHarvesterOmaDrmPluginPropertyDefs::CHarvesterOmaDrmPluginPropertyDefs() : CBase() |
52 iCreationDatePropertyDef( NULL ) |
52 { |
53 { |
53 } |
54 } |
54 |
55 |
55 void CHarvesterOmaDrmPluginPropertyDefs::ConstructL(CMdEObjectDef& aObjectDef) |
56 void CHarvesterOmaDrmPluginPropertyDefs::ConstructL( CMdEObjectDef& aObjectDef ) |
|
57 { |
|
58 SetByObjectDefL( aObjectDef ); |
|
59 } |
|
60 |
|
61 CHarvesterOmaDrmPluginPropertyDefs* CHarvesterOmaDrmPluginPropertyDefs::NewL() |
|
62 { |
|
63 CHarvesterOmaDrmPluginPropertyDefs* self = |
|
64 new (ELeave) CHarvesterOmaDrmPluginPropertyDefs(); |
|
65 return self; |
|
66 } |
|
67 |
|
68 void CHarvesterOmaDrmPluginPropertyDefs::SetByObjectDefL( CMdEObjectDef& aObjectDef ) |
|
69 { |
56 { |
70 CMdENamespaceDef& nsDef = aObjectDef.NamespaceDef(); |
57 CMdENamespaceDef& nsDef = aObjectDef.NamespaceDef(); |
71 |
58 |
72 // Common property definitions |
59 // Common property definitions |
73 CMdEObjectDef& objectDef = nsDef.GetObjectDefL( MdeConstants::Object::KBaseObject ); |
60 CMdEObjectDef& objectDef = nsDef.GetObjectDefL( MdeConstants::Object::KBaseObject ); |
92 iBitsPerSamplePropertyDef = &imageDef.GetPropertyDefL( MdeConstants::Image::KBitsPerSampleProperty ); |
79 iBitsPerSamplePropertyDef = &imageDef.GetPropertyDefL( MdeConstants::Image::KBitsPerSampleProperty ); |
93 iFrameCountPropertyDef = &imageDef.GetPropertyDefL( MdeConstants::Image::KFrameCountProperty ); |
80 iFrameCountPropertyDef = &imageDef.GetPropertyDefL( MdeConstants::Image::KFrameCountProperty ); |
94 iGenrePropertyDef = &mediaDef.GetPropertyDefL( MdeConstants::MediaObject::KGenreProperty ); |
81 iGenrePropertyDef = &mediaDef.GetPropertyDefL( MdeConstants::MediaObject::KGenreProperty ); |
95 } |
82 } |
96 |
83 |
|
84 CHarvesterOmaDrmPluginPropertyDefs* CHarvesterOmaDrmPluginPropertyDefs::NewL(CMdEObjectDef& aObjectDef) |
|
85 { |
|
86 CHarvesterOmaDrmPluginPropertyDefs* self = |
|
87 new (ELeave) CHarvesterOmaDrmPluginPropertyDefs(); |
|
88 CleanupStack::PushL( self ); |
|
89 self->ConstructL( aObjectDef ); |
|
90 CleanupStack::Pop( self ); |
|
91 return self; |
|
92 } |
|
93 |
97 /** |
94 /** |
98 * Default constructor |
95 * Default constructor |
99 */ |
96 */ |
100 CHarvesterOMADRMPlugin::CHarvesterOMADRMPlugin() : CHarvesterPlugin() |
97 CHarvesterOMADRMPlugin::CHarvesterOMADRMPlugin() : CHarvesterPlugin() |
101 { |
98 { |
239 // --------------------------------------------------------------------------- |
237 // --------------------------------------------------------------------------- |
240 // GatherDataL |
238 // GatherDataL |
241 // --------------------------------------------------------------------------- |
239 // --------------------------------------------------------------------------- |
242 // |
240 // |
243 TInt CHarvesterOMADRMPlugin::GatherDataL( CMdEObject& aMetadataObject, CDRMHarvestData& aDRMharvestData, |
241 TInt CHarvesterOMADRMPlugin::GatherDataL( CMdEObject& aMetadataObject, CDRMHarvestData& aDRMharvestData, |
244 CFileData& aFileData, CHarvestData& /*aHarvestData*/ ) |
242 CFileData& aFileData, CHarvestData& aHarvestData ) |
245 { |
243 { |
246 WRITELOG( "CHarvesterOMADRMPlugin::GatherDataL" ); |
244 WRITELOG( "CHarvesterOMADRMPlugin::GatherDataL" ); |
247 |
245 |
248 TEntry* entry = new (ELeave) TEntry(); |
246 TEntry* entry = new (ELeave) TEntry(); |
249 CleanupStack::PushL( entry ); |
247 CleanupStack::PushL( entry ); |
328 if ( err != KErrNone) |
326 if ( err != KErrNone) |
329 { |
327 { |
330 WRITELOG1( "CHarvesterOMADRMPlugin::GatherDataL - ERROR: getting protection info failed %d", err ); |
328 WRITELOG1( "CHarvesterOMADRMPlugin::GatherDataL - ERROR: getting protection info failed %d", err ); |
331 } |
329 } |
332 |
330 |
333 if( aMetadataObject.Def().Name() == MdeConstants::Image::KImageObject ) |
331 CImageDecoder* decoder = NULL; |
334 { |
332 |
335 CImageDecoder* decoder = NULL; |
333 TRAP( err, decoder = CImageDecoder::FileNewL( iFs, uri, ContentAccess::EPeek, |
336 |
334 ( CImageDecoder::TOptions )( CImageDecoder::EPreferFastDecode ))); |
337 TRAP( err, decoder = CImageDecoder::FileNewL( iFs, uri, ContentAccess::EPeek, |
335 |
338 ( CImageDecoder::TOptions )( CImageDecoder::EPreferFastDecode ))); |
336 CleanupStack::PushL( decoder ); |
339 |
337 |
340 CleanupStack::PushL( decoder ); |
338 if(decoder && !err) |
341 |
339 { |
342 if(decoder && !err) |
340 WRITELOG( "CHarvesterImagePlugin::GatherData() - Image decoder has opened the file." ); |
343 { |
341 // Get image width, frame count, height and bits per pixel from image decoder. |
344 WRITELOG( "CHarvesterImagePlugin::GatherData() - Image decoder has opened the file." ); |
342 const TFrameInfo info = decoder->FrameInfo( 0 ); |
345 // Get image width, frame count, height and bits per pixel from image decoder. |
343 const TSize imageSize = info.iOverallSizeInPixels; |
346 const TFrameInfo info = decoder->FrameInfo( 0 ); |
344 const TInt framecount = decoder->FrameCount(); |
347 const TSize imageSize = info.iOverallSizeInPixels; |
345 aFileData.iFrameCount = framecount; |
348 const TInt framecount = decoder->FrameCount(); |
346 aFileData.iImageWidth = imageSize.iWidth; |
349 aFileData.iFrameCount = framecount; |
347 aFileData.iImageHeight = imageSize.iHeight; |
350 aFileData.iImageWidth = imageSize.iWidth; |
348 aFileData.iBitsPerPixel = info.iBitsPerPixel; |
351 aFileData.iImageHeight = imageSize.iHeight; |
349 } |
352 aFileData.iBitsPerPixel = info.iBitsPerPixel; |
350 else |
353 } |
351 { |
354 else |
352 WRITELOG1( "CHarvesterImagePlugin::GatherData() - ERROR: decoder %d", err ); |
355 { |
353 } |
356 WRITELOG1( "CHarvesterImagePlugin::GatherData() - ERROR: decoder %d", err ); |
354 |
357 } |
355 CleanupStack::PopAndDestroy( 4 ); // content, data, attrSet, imagedecoder |
358 CleanupStack::PopAndDestroy( decoder ); |
|
359 } |
|
360 |
|
361 |
|
362 CleanupStack::PopAndDestroy( 3 ); // content, data, attrSet |
|
363 return KErrNone; |
356 return KErrNone; |
364 } |
357 } |
365 |
358 |
366 // --------------------------------------------------------------------------- |
359 // --------------------------------------------------------------------------- |
367 // HandleObjectPropertiesL |
360 // HandleObjectPropertiesL |
368 // --------------------------------------------------------------------------- |
361 // --------------------------------------------------------------------------- |
369 // |
362 // |
370 void CHarvesterOMADRMPlugin::HandleObjectPropertiesL( CHarvestData& /*aHarvestData*/, CDRMHarvestData& aDRMharvestData, CFileData& aFileData, |
363 void CHarvesterOMADRMPlugin::HandleObjectPropertiesL( CHarvestData& aHarvestData, CDRMHarvestData& aDRMharvestData, CFileData& aFileData, |
371 CHarvesterData& aHarvesterData, TBool aIsAdd ) |
364 CHarvesterData& aHarvesterData, TBool aIsAdd ) |
372 { |
365 { |
373 WRITELOG("CHarvesterOMADRMPlugin - HandleNewObject "); |
366 WRITELOG("CHarvesterOMADRMPlugin - HandleNewObject "); |
374 CMdEObject& mdeObject = aHarvesterData.MdeObject(); |
367 CMdEObject& mdeObject = aHarvesterData.MdeObject(); |
375 |
368 |
376 InitPropDefsL( mdeObject.Def() ); |
369 if( !iPropDefs ) |
|
370 { |
|
371 CMdEObjectDef& objectDef = mdeObject.Def(); |
|
372 iPropDefs = CHarvesterOmaDrmPluginPropertyDefs::NewL( objectDef ); |
|
373 // Prefetch max text lengt for validity checking |
|
374 iMaxTextLength = iPropDefs->iGenrePropertyDef->MaxTextLengthL(); |
|
375 } |
377 |
376 |
378 TTimeIntervalSeconds timeOffset = User::UTCOffset(); |
377 TTimeIntervalSeconds timeOffset = User::UTCOffset(); |
379 |
378 |
380 TPtrC objectDefName( mdeObject.Def().Name()); |
379 TPtrC objectDefName( mdeObject.Def().Name()); |
381 |
380 |