--- a/imagehandling_plat/thumbnailmanager_api/inc/thumbnailmanager.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/inc/thumbnailmanager.h Wed Oct 13 14:53:56 2010 +0300
@@ -47,9 +47,6 @@
EGridThumbnailSize,
EListThumbnailSize,
EFullScreenThumbnailSize,
-EContactGridThumbnailSize,
-EContactListThumbnailSize,
-EContactFullScreenThumbnailSize,
EThumbnailSizeCount //last item, don't remove
} TThumbnailSize;
/**
--- a/imagehandling_plat/thumbnailmanager_api/inc/thumbnailobjectsource.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/inc/thumbnailobjectsource.h Wed Oct 13 14:53:56 2010 +0300
@@ -134,45 +134,6 @@
*/
void ConstructL( const RFile64& aFile, const TDesC& aMimeType );
- /**
- * Symbian 2nd phase constructor can leave.
- *
- * @since S60 v5.0
- * @param aURI URI.
- * @param aMimeType MimeType.
- * @param aThumbnailId ThumbnailId
- */
- void ConstructL( const TDesC& aUri, const TDesC& aMimeType, TThumbnailId aThumbnailId );
-
- /**
- * Symbian 2nd phase constructor can leave.
- *
- * @since S60 v5.0
- * @param aBitmap Bitmap.
- * @param aURI URI.
- */
- void ConstructL( CFbsBitmap* aBitmap, const TDesC& aUri );
-
- /**
- * Symbian 2nd phase constructor can leave.
- *
- * @since S60 v5.0
- * @param aBuffer Buffer.
- * @param aMimeType MIME type. Optional, but should be specified if known.
- * @param aURI URI.
- */
- void ConstructL( TDesC8* aBuffer, const TDesC& aMimeType, const TDesC& aUri );
-
- /**
- * Symbian 2nd phase constructor can leave.
- *
- * @since Symbian^3
- * @param aUri Object URI or a full path to a file in the file system.
- * @param aTargetUri For linking the thumbnail to a different URI.
- * @param aMimeType MIME type. Optional, but should be specified if known.
- */
- void ConstructL( const TDesC& aUri, const TDesC& aTargetUri, const TDesC& aMimeType );
-
private:
// data
@@ -199,19 +160,25 @@
/**
* Bitmap
*/
+
CFbsBitmap* iBitmap; // own
/**
* ThumbnailId
- */
- TThumbnailId iThumbnailId; //own
+ */
- /**
- * Uri
- */
- HBufC* iTargetUri; // own
+ TThumbnailId iThumbnailId; //own
public:
+ /**
+ * Symbian 2nd phase constructor can leave.
+ *
+ * @since S60 v5.0
+ * @param aURI URI.
+ * @param aMimeType MimeType.
+ * @param aThumbnailId ThumbnailId
+ */
+ void ConstructL( const TDesC& aUri, const TDesC& aMimeType, TThumbnailId aThumbnailId );
/**
* Construct a new CThumbnailObjectSource referring to a buffer
@@ -244,8 +211,7 @@
* @since S60 v5.0
* @return New CThumbnailObjectSource instance.
*/
- IMPORT_C static CThumbnailObjectSource* NewL( TDesC8* aBuffer, TDesC& aMimeType,
- const TDesC& aUri );
+ IMPORT_C static CThumbnailObjectSource* NewL( TDesC8* aBuffer, TDesC& aMimeType, const TDesC& aUri );
/**
* Construct a new CThumbnailObjectSource referring to a buffer
@@ -257,8 +223,7 @@
* @since S60 v5.0
* @return New CThumbnailObjectSource instance.
*/
- IMPORT_C static CThumbnailObjectSource* NewLC( TDesC8* aBuffer, TDesC& aMimeType,
- const TDesC& aUri);
+ IMPORT_C static CThumbnailObjectSource* NewLC( TDesC8* aBuffer, TDesC& aMimeType, const TDesC& aUri);
/**
* Construct a new CThumbnailObjectSource referring to an URI.
@@ -268,7 +233,7 @@
* @return New CThumbnailObjectSource instance.
*/
IMPORT_C static CThumbnailObjectSource* NewL( const TDesC& aUri,
- TThumbnailId aThumbnailId = 0, const TDesC& aMimeType = KNullDesC );
+ TThumbnailId aThumbnailId = 0, const TDesC& aMimeType = KNullDesC );
/**
* Construct a new CThumbnailObjectSource referring to an URI.
@@ -278,8 +243,9 @@
* @return New CThumbnailObjectSource instance.
*/
IMPORT_C static CThumbnailObjectSource* NewLC( const TDesC& aUri,
- TThumbnailId aThumbnailId = 0, const TDesC& aMimeType = KNullDesC );
-
+ TThumbnailId aThumbnailId = 0, const TDesC& aMimeType = KNullDesC );
+
+
/**
* Returns source buffer.
*
@@ -310,8 +276,30 @@
*
* @since S60 v5.0
* @return ThumbnailId
- */
- IMPORT_C TThumbnailId Id();
+ */
+
+ IMPORT_C TThumbnailId Id();
+
+ /**
+ * Symbian 2nd phase constructor can leave.
+ *
+ * @since S60 v5.0
+ * @param aBitmap Bitmap.
+ * @param aURI URI.
+ */
+ void ConstructL( CFbsBitmap* aBitmap, const TDesC&
+ aUri );
+
+ /**
+ * Symbian 2nd phase constructor can leave.
+ *
+ * @since S60 v5.0
+ * @param aBuffer Buffer.
+ * @param aMimeType MIME type. Optional, but should be specified if known.
+ * @param aURI URI.
+ */
+ void ConstructL( TDesC8* aBuffer, const TDesC&
+ aMimeType, const TDesC& aUri );
/**
* Returns source bitmap.
@@ -329,36 +317,6 @@
* @return bitmap
*/
IMPORT_C CFbsBitmap* GetBitmapOwnership();
-
- /**
- * Construct a new CThumbnailObjectSource referring to an URI.
- * @param aUri Object URI or a full path to a file in the file system.
- * @param aTargetUri For linking the thumbnail to a different URI.
- * @param aMimeType MIME type. Optional, but should be specified if known.
- * @since Symbian^3
- * @return New CThumbnailObjectSource instance.
- */
- IMPORT_C static CThumbnailObjectSource* NewL( const TDesC& aUri,
- const TDesC& aTargetUri, const TDesC& aMimeType );
-
- /**
- * Construct a new CThumbnailObjectSource referring to an URI.
- * @param aUri Object URI or a full path to a file in the file system.
- * @param aTargetUri For linking the thumbnail to a different URI.
- * @param aMimeType MIME type.
- * @since Symbian^3
- * @return New CThumbnailObjectSource instance.
- */
- IMPORT_C static CThumbnailObjectSource* NewLC( const TDesC& aUri,
- const TDesC& aTargetUri, const TDesC& aMimeType );
-
- /**
- * Returns target uri.
- *
- * @since Symbian^3
- * @return uri
- */
- IMPORT_C const TDesC& TargetUri();
};
#endif // THUMBNAILOBJECTSOURCE_H
--- a/imagehandling_plat/thumbnailmanager_api/tsrc/conf/ThumbnailManagerTest.cfg Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/tsrc/conf/ThumbnailManagerTest.cfg Wed Oct 13 14:53:56 2010 +0300
@@ -15,7 +15,6 @@
*
*/
-
[StifSettings]
TestThreadStackSize= 32768
TestThreadMinHeap= 4096
@@ -88,9 +87,6 @@
EGridThumbnailSize = 11
EListThumbnailSize = 12
EFullScreenThumbnailSize = 13
-EContactGridThumbnailSize = 14
-EContactListThumbnailSize = 15
-EContactFullScreenThumbnailSize = 16
// Custom sizes
KCustomSizeX 111
@@ -609,128 +605,12 @@
pause KTestDelay
[Endtest]
-// ---------------------------------------------------------------------------
-// Create MP3 thumbnail with PNG album art
-// ---------------------------------------------------------------------------
-[Test]
-title Create MP3 thumbnail with PNG album art
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetDisplayModeL EColor16M
-
-// using path
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\mp3_png.mp3
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageFullScreenThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageFullScreenThumbnailSize EColor16M
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL ECustomThumbnailSize
-tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailL KCustomSizeX KCustomSizeY EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
// ---------------------------------------------------------------------------
-// Create thumbnail preview from JPG with EXIF
+// Thumbs from buffer
// ---------------------------------------------------------------------------
[Test]
-title Create thumbnail preview from JPG with EXIF
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetDisplayModeL EColor16M
-
-// jpg with exif
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn SetQualityPreferenceL EOptimizeForQualityWithPreview
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// png with exif
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\exif.png
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn SetQualityPreferenceL EOptimizeForQualityWithPreview
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// no exif
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\no_exif.jpg
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn SetQualityPreferenceL EOptimizeForQualityWithPreview
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
-
-// ---------------------------------------------------------------------------
-// Create thumbnail from WMA PNG & empty album arts
-// ---------------------------------------------------------------------------
-[Test]
-title Create thumbnail from WMA PNG & empty album arts
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetDisplayModeL EColor16M
-
-// try to create thumbnail from PNG
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\wma_png.wma
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// try to create thumbnail without album art
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\wma_empty.wma
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
-
-
-// ---------------------------------------------------------------------------
-// Create thumbs from buffer
-// ---------------------------------------------------------------------------
-[Test]
-title Create thumbs from buffer
+title Thumbs from buffer
create ThumbnailManagerTest tn
tn CreateInstanceL
tn SetDisplayModeL EColor16M
@@ -821,77 +701,6 @@
[Endtest]
// ---------------------------------------------------------------------------
-// Create thumbs from CFbsBitmap
-// ---------------------------------------------------------------------------
-[Test]
-title Create thumbs from CFbsBitmap
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetDisplayModeL EColor16M
-
-tn SetFlagsL EDefaultFlags
-tn CreateSourceInstanceBitmapL \data\ThumbnailManagerTest\TestMBM.mbm \data\ThumbnailManagerTest\camera.jpg
-tn DeleteThumbnails
-tn CreateThumbnails
-waittestclass tn
-
-pause KTenSecondDelay
-
-tn DeleteSourceInstance
-
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\camera.jpg
-tn SetFlagsL EDoNotCreate
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn SetThumbnailEnumSizeL EImageFullScreenThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageFullScreenThumbnailSize EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
-
-
-// ---------------------------------------------------------------------------
-// Create image/audio/video thumbs
-// ---------------------------------------------------------------------------
-[Test]
-title Create image/audio/video thumbs
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetDisplayModeL EColor16M
-
-// try to create thumbnail from image
-tn CreateThumbnailsByUrlL \data\ThumbnailManagerTest\RGB_VGA.jpg
-waittestclass tn
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// try to create thumbnail from music
-tn CreateThumbnailsByUrlL \data\ThumbnailManagerTest\mp3_png.mp3
-waittestclass tn
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// try to create thumbnail from video
-tn CreateThumbnailsByUrlL \data\ThumbnailManagerTest\Videoclip.mp4
-waittestclass tn
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
-
-
-// ---------------------------------------------------------------------------
// Create thumbnails for each persistent size
// ---------------------------------------------------------------------------
[Test]
@@ -1025,6 +834,80 @@
pause KTestDelay
[Endtest]
+
+// ---------------------------------------------------------------------------
+// Thumbnail from missing or unsupported file
+// ---------------------------------------------------------------------------
+[Test]
+title Thumbnail from missing or unsupported file
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetThumbnailEnumSizeL ECustomThumbnailSize
+tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
+
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\does_not_exist.jpg
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteSourceInstance
+
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\Unsupported.txt
+tn GetThumbnailL
+allownextresult KErrNotSupported
+waittestclass tn
+tn DeleteSourceInstance
+
+tn CreateSourceInstanceHandleL \data\ThumbnailManagerTest\Unsupported.txt
+tn GetThumbnailL
+allownextresult KErrNotSupported
+waittestclass tn
+tn DeleteSourceInstance
+
+tn CreateSourceInstanceBufferL \data\ThumbnailManagerTest\Unsupported.txt plain/text
+tn GetThumbnailL
+allownextresult KErrNotSupported
+waittestclass tn
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+// ---------------------------------------------------------------------------
+// Thumbnail from corrupt file
+// ---------------------------------------------------------------------------
+[Test]
+title Thumbnail from corrupt file
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetThumbnailEnumSizeL ECustomThumbnailSize
+tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
+
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_jpg.jpg
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteSourceInstance
+
+tn CreateSourceInstanceBufferL \data\ThumbnailManagerTest\not_jpg.jpg image/jpeg
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteSourceInstance
+
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_3gp.3gp
+tn GetThumbnailL
+allownextresult KErrNotSupported
+waittestclass tn
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+
// ---------------------------------------------------------------------------
// Custom size thumbs
// ---------------------------------------------------------------------------
@@ -1714,79 +1597,28 @@
// ---------------------------------------------------------------------------
-// Thumbnail from missing or unsupported file
+// Create thumbnail with id
// ---------------------------------------------------------------------------
[Test]
-title Thumbnail from missing or unsupported file
+title Create thumbnail with id
create ThumbnailManagerTest tn
tn CreateInstanceL
-tn SetThumbnailEnumSizeL ECustomThumbnailSize
-tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
+tn SetDisplayModeL EColor16M
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\does_not_exist.jpg
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg 99999
tn GetThumbnailL
-allownextresult KErrNotFound
waittestclass tn
-tn DeleteSourceInstance
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\Unsupported.txt
-tn GetThumbnailL
-allownextresult KErrNotSupported
-waittestclass tn
tn DeleteSourceInstance
-
-tn CreateSourceInstanceHandleL \data\ThumbnailManagerTest\Unsupported.txt
-tn GetThumbnailL
-allownextresult KErrNotSupported
-waittestclass tn
-tn DeleteSourceInstance
-
-tn CreateSourceInstanceBufferL \data\ThumbnailManagerTest\Unsupported.txt plain/text
-tn GetThumbnailL
-allownextresult KErrNotSupported
-waittestclass tn
-tn DeleteSourceInstance
-
tn DeleteInstance
delete tn
pause KTestDelay
[Endtest]
// ---------------------------------------------------------------------------
-// Thumbnail from corrupt file
-// ---------------------------------------------------------------------------
-[Test]
-title Thumbnail from corrupt file
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetThumbnailEnumSizeL ECustomThumbnailSize
-tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
-
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_jpg.jpg
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteSourceInstance
-
-tn CreateSourceInstanceBufferL \data\ThumbnailManagerTest\not_jpg.jpg image/jpeg
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteSourceInstance
-
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_3gp.3gp
-tn GetThumbnailL
-allownextresult KErrNotSupported
-waittestclass tn
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
-
-
-// ---------------------------------------------------------------------------
// Set thumbnail from buffer
// ---------------------------------------------------------------------------
[Test]
@@ -1844,47 +1676,72 @@
[Endtest]
// ---------------------------------------------------------------------------
-// Set thumbnail from path
+// Import thumbnail
// ---------------------------------------------------------------------------
[Test]
-title Set thumbnail from path
+title Import thumbnail
create ThumbnailManagerTest tn
tn CreateInstanceL
tn SetDisplayModeL EColor16M
-// normal uri
tn SetFlagsL EDefaultFlags
-tn CreateSourceInstancePathTargetL \data\ThumbnailManagerTest\RGB_VGA.jpg \data\ThumbnailManagerTest\target.jpg image/jpeg 0 0
-tn SetThumbnailL
-
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn DeleteThumbnails
+tn ImportThumbnailL \data\ThumbnailManagerTest\imported.jpg
waittestclass tn
+tn DeleteSourceInstance
-tn DeleteSourceInstance
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\target.jpg
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
tn SetFlagsL EDoNotCreate
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\imported.jpg
tn GetThumbnailL
-
waittestclass tn
tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
tn DeleteThumbnails
tn DeleteSourceInstance
-// virtual uri
tn SetFlagsL EDefaultFlags
-tn CreateSourceInstancePathTargetL \data\ThumbnailManagerTest\RGB_VGA.jpg \data\ThumbnailManagerTest\target.vcf contact/x-vcard 0 1
-tn SetThumbnailL
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_400x300.bmp
+tn DeleteThumbnails
+tn ImportThumbnailL \data\ThumbnailManagerTest\imported.bmp
+waittestclass tn
+tn DeleteSourceInstance
+tn SetFlagsL EDoNotCreate
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\imported.bmp
+tn GetThumbnailL
waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+tn SetFlagsL EDefaultFlags
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\WIDE_800x400.gif
+tn DeleteThumbnails
+tn ImportThumbnailL \data\ThumbnailManagerTest\imported.gif
+waittestclass tn
tn DeleteSourceInstance
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\target.vcf
-tn SetThumbnailEnumSizeL EContactGridThumbnailSize
+
tn SetFlagsL EDoNotCreate
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\imported.gif
tn GetThumbnailL
-
waittestclass tn
-tn CheckThumbnailCenrepL EContactGridThumbnailSize EColor16M
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn SetFlagsL EDefaultFlags
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\video.3gp
+tn DeleteThumbnails
+tn ImportThumbnailL \data\ThumbnailManagerTest\imported.3gp
+waittestclass tn
+tn DeleteSourceInstance
+
+tn SetFlagsL EDoNotCreate
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\imported.3gp
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
tn DeleteThumbnails
tn DeleteSourceInstance
@@ -1933,7 +1790,19 @@
tn GetThumbnailL
allownextresult KErrNotFound
waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+// delete thumbnail which is not in database yet
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn CreateThumbnails
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\Videoclip.mp4
+tn CreateThumbnails
tn DeleteThumbnails
tn DeleteSourceInstance
@@ -1942,116 +1811,11 @@
pause KTestDelay
[Endtest]
-
// ---------------------------------------------------------------------------
-// Run multiple tests
+// Delete thumbnail when requests are pending
// ---------------------------------------------------------------------------
[Test]
-title Run misc multiple tests
-create ThumbnailManagerTest tn
-tn CreateInstanceL
-tn SetDisplayModeL EColor16M
-
-// using path
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EImageFullScreenThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageFullScreenThumbnailSize EColor16M
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL ECustomThumbnailSize
-tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailL KCustomSizeX KCustomSizeY EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// mp3 using handle
-tn CreateSourceInstanceHandleL \data\ThumbnailManagerTest\mp3.mp3
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EAudioGridThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EAudioGridThumbnailSize EColor16M
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EAudioFullScreenThumbnailSize EColor16M
-tn DeleteThumbnails
-tn SetThumbnailEnumSizeL ECustomThumbnailSize
-tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailL KCustomSizeX KCustomSizeY EColor16M
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-// corrupted file
-tn SetThumbnailEnumSizeL ECustomThumbnailSize
-tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_jpg.jpg
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteSourceInstance
-tn CreateSourceInstanceBufferL \data\ThumbnailManagerTest\not_jpg.jpg image/jpeg
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteSourceInstance
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_3gp.3gp
-tn GetThumbnailL
-allownextresult KErrNotSupported
-waittestclass tn
-tn DeleteSourceInstance
-
-// delete one thumbnail
-tn SetThumbnailEnumSizeL EImageGridThumbnailSize
-tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
-tn DeleteThumbnails
-tn GetThumbnailL
-waittestclass tn
-tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
-tn DeleteThumbnails
-pause KTenSecondDelay
-tn SetFlagsL EDoNotCreate
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-
-// delete all persistent thumbnails created
-tn SetFlagsL EDefaultFlags
-tn CreateThumbnails
-waittestclass tn
-pause KTenSecondDelay
-tn DeleteThumbnails
-pause KTenSecondDelay
-tn SetFlagsL EDoNotCreate
-tn GetThumbnailL
-allownextresult KErrNotFound
-waittestclass tn
-tn DeleteThumbnails
-tn DeleteSourceInstance
-
-tn DeleteInstance
-delete tn
-pause KTestDelay
-[Endtest]
-
-
-// ---------------------------------------------------------------------------
-// Delete engine when requests are pending
-// ---------------------------------------------------------------------------
-[Test]
-title Delete engine when requests are pending
+title Delete thumbnail when requests are pending
create ThumbnailManagerTest tn
tn CreateInstanceL
@@ -2266,3 +2030,319 @@
pause KTestDelay
[Endtest]
+// ---------------------------------------------------------------------------
+// Create thumbnails using CFbsBitmap
+// ---------------------------------------------------------------------------
+[Test]
+title Create thumbnails using CFbsBitmap
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+tn SetFlagsL EDefaultFlags
+tn CreateSourceInstanceBitmapL \data\ThumbnailManagerTest\TestMBM.mbm \data\ThumbnailManagerTest\camera.jpg
+tn DeleteThumbnails
+tn CreateThumbnails
+waittestclass tn
+
+pause KTenSecondDelay
+
+tn DeleteSourceInstance
+
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\camera.jpg
+tn SetFlagsL EDoNotCreate
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn SetThumbnailEnumSizeL EImageFullScreenThumbnailSize
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageFullScreenThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+// ---------------------------------------------------------------------------
+// Load MP3 thumbnail with PNG album art
+// ---------------------------------------------------------------------------
+[Test]
+title Create MP3 PNG album art thumbnail
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\mp3_png.mp3
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EAudioFullScreenThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+
+// ---------------------------------------------------------------------------
+// Test WMA png & empty album arts
+// ---------------------------------------------------------------------------
+[Test]
+title Test WMA png & empty album arts
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+// try to create thumbnail from PNG
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\wma_png.wma
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// try to create thumbnail without album art
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\wma_empty.wma
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+// ---------------------------------------------------------------------------
+// Create thumbnail preview with EXIF
+// ---------------------------------------------------------------------------
+[Test]
+title Create thumbnail preview with EXIF
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+// jpg with exif
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn SetQualityPreferenceL EOptimizeForQualityWithPreview
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// png with exif
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\exif.png
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn SetQualityPreferenceL EOptimizeForQualityWithPreview
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// no exif
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\no_exif.jpg
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn SetQualityPreferenceL EOptimizeForQualityWithPreview
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+// ---------------------------------------------------------------------------
+// Create thumbnails by Url
+// ---------------------------------------------------------------------------
+[Test]
+title Create thumbnails by Url
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+// try to create thumbnail from image
+tn CreateThumbnailsByUrlL \data\ThumbnailManagerTest\RGB_VGA.jpg
+waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// try to create thumbnail from music
+tn CreateThumbnailsByUrlL \data\ThumbnailManagerTest\mp3_png.mp3
+waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// try to create thumbnail from video
+tn CreateThumbnailsByUrlL \data\ThumbnailManagerTest\Videoclip.mp4
+waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+// ---------------------------------------------------------------------------
+// Get thumbnails
+// ---------------------------------------------------------------------------
+[Test]
+title Get thumbnails
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+// Get thumbnail with url
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn DeleteThumbnails
+tn CreateThumbnails
+waittestclass tn
+
+pause KTenSecondDelay
+
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// Get thumbnail with EDoNotCreate flag on
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn SetFlagsL EDoNotCreate
+tn DeleteThumbnails
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteThumbnails
+
+tn DeleteSourceInstance
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
+
+// ---------------------------------------------------------------------------
+// Run multiple tests
+// ---------------------------------------------------------------------------
+[Test]
+title Run multiple tests
+create ThumbnailManagerTest tn
+tn CreateInstanceL
+tn SetDisplayModeL EColor16M
+
+// using path
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EImageFullScreenThumbnailSize
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageFullScreenThumbnailSize EColor16M
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL ECustomThumbnailSize
+tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailL KCustomSizeX KCustomSizeY EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// mp3 using handle
+tn CreateSourceInstanceHandleL \data\ThumbnailManagerTest\mp3.mp3
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EAudioGridThumbnailSize
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EAudioGridThumbnailSize EColor16M
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL EAudioFullScreenThumbnailSize
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EAudioFullScreenThumbnailSize EColor16M
+tn DeleteThumbnails
+tn SetThumbnailEnumSizeL ECustomThumbnailSize
+tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailL KCustomSizeX KCustomSizeY EColor16M
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+// corrupted file
+tn SetThumbnailEnumSizeL ECustomThumbnailSize
+tn SetThumbnailSizeL KCustomSizeX KCustomSizeY
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_jpg.jpg
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteSourceInstance
+tn CreateSourceInstanceBufferL \data\ThumbnailManagerTest\not_jpg.jpg image/jpeg
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteSourceInstance
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\not_3gp.3gp
+tn GetThumbnailL
+allownextresult KErrNotSupported
+waittestclass tn
+tn DeleteSourceInstance
+
+// delete one thumbnail
+tn SetThumbnailEnumSizeL EImageGridThumbnailSize
+tn CreateSourceInstancePathL \data\ThumbnailManagerTest\RGB_VGA.jpg
+tn DeleteThumbnails
+tn GetThumbnailL
+waittestclass tn
+tn CheckThumbnailCenrepL EImageGridThumbnailSize EColor16M
+tn DeleteThumbnails
+pause KTenSecondDelay
+tn SetFlagsL EDoNotCreate
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+
+// delete all persistent thumbnails created
+tn SetFlagsL EDefaultFlags
+tn CreateThumbnails
+waittestclass tn
+pause KTenSecondDelay
+tn DeleteThumbnails
+pause KTenSecondDelay
+tn SetFlagsL EDoNotCreate
+tn GetThumbnailL
+allownextresult KErrNotFound
+waittestclass tn
+tn DeleteThumbnails
+tn DeleteSourceInstance
+
+tn DeleteInstance
+delete tn
+pause KTestDelay
+[Endtest]
\ No newline at end of file
--- a/imagehandling_plat/thumbnailmanager_api/tsrc/group/ThumbnailManagerTest.pkg Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/tsrc/group/ThumbnailManagerTest.pkg Wed Oct 13 14:53:56 2010 +0300
@@ -46,9 +46,4 @@
"..\data\mmc\ThumbnailManagerTest\TestMBM.mbm" - "e:\testing\data\ThumbnailManagerTest\TestMBM.mbm"
"..\data\mmc\ThumbnailManagerTest\mp3.mp3" - "e:\testing\data\ThumbnailManagerTest\mp3.mp3"
"..\data\mmc\ThumbnailManagerTest\camera.jpg" - "e:\testing\data\ThumbnailManagerTest\camera.jpg"
-"..\data\mmc\ThumbnailManagerTest\mp3_png.mp3" - "e:\testing\data\ThumbnailManagerTest\mp3_png.mp3"
-"..\data\mmc\ThumbnailManagerTest\no_exif.jpg" - "e:\testing\data\ThumbnailManagerTest\no_exif.jpg"
-"..\data\mmc\ThumbnailManagerTest\wma.wma" - "e:\testing\data\ThumbnailManagerTest\wma.wma"
-"..\data\mmc\ThumbnailManagerTest\wma_empty.wma" - "e:\testing\data\ThumbnailManagerTest\wma_empty.wma"
-"..\data\mmc\ThumbnailManagerTest\wma_png.wma" - "e:\testing\data\ThumbnailManagerTest\wma_png.wma"
-"..\data\mmc\ThumbnailManagerTest\exif.jpg" - "e:\testing\data\ThumbnailManagerTest\exif.jpg"
+
--- a/imagehandling_plat/thumbnailmanager_api/tsrc/inc/ThumbnailManagerTest.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/tsrc/inc/ThumbnailManagerTest.h Wed Oct 13 14:53:56 2010 +0300
@@ -117,7 +117,6 @@
virtual TInt DeleteInstance( CStifItemParser& aItem );
virtual TInt CreateSourceInstancePathL( CStifItemParser& aItem );
- virtual TInt CreateSourceInstancePathTargetL( CStifItemParser& aItem );
virtual TInt CreateSourceInstanceHandleL( CStifItemParser& aItem );
virtual TInt CreateSourceInstanceBufferL( CStifItemParser& aItem );
virtual TInt CreateSourceInstanceBitmapL( CStifItemParser& aItem );
--- a/imagehandling_plat/thumbnailmanager_api/tsrc/inc/thumbnailcenrep.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/tsrc/inc/thumbnailcenrep.h Wed Oct 13 14:53:56 2010 +0300
@@ -142,7 +142,7 @@
};
public:
- enum { EUnknownSourceType, EImage, EVideo, EAudio, EContact };
+ enum { EUnknownSourceType, EImage, EVideo, EAudio };
enum { EUnknownSizeType, EGrid, EList, EFullscreen };
public:
@@ -205,10 +205,7 @@
TBool iVideoFullscreen;
TBool iAudioGrid;
TBool iAudioList;
- TBool iAudioFullscreen;
- TBool iContactGrid;
- TBool iContactList;
- TBool iContactFullscreen;
+ TBool iAudioFullscreen;
};
#endif // THUMBNAILCENREP_H
--- a/imagehandling_plat/thumbnailmanager_api/tsrc/src/ThumbnailManagerTestBlocks.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/tsrc/src/ThumbnailManagerTestBlocks.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -67,7 +67,6 @@
ENTRY( "CheckThumbnailSizeL", CThumbnailManagerTest::CheckThumbnailSizeL ),
ENTRY( "SetThumbnailEnumSizeL", CThumbnailManagerTest::SetThumbnailEnumSizeL ),
ENTRY( "CreateSourceInstancePathL", CThumbnailManagerTest::CreateSourceInstancePathL ),
- ENTRY( "CreateSourceInstancePathTargetL", CThumbnailManagerTest::CreateSourceInstancePathTargetL ),
ENTRY( "CreateSourceInstanceHandleL", CThumbnailManagerTest::CreateSourceInstanceHandleL ),
ENTRY( "CreateSourceInstanceBufferL", CThumbnailManagerTest::CreateSourceInstanceBufferL ),
ENTRY( "CreateSourceInstanceBitmapL", CThumbnailManagerTest::CreateSourceInstanceBitmapL ),
@@ -301,53 +300,6 @@
return KErrNone;
}
-TInt CThumbnailManagerTest::CreateSourceInstancePathTargetL( CStifItemParser& aItem )
- {
- _LIT( KPanicTxt, "CreateSrcPathTarget" );
- __ASSERT_ALWAYS( !iObjectSource, User::Panic( KPanicTxt, 0 ));
-
- TPtrC path;
- User::LeaveIfError( aItem.GetNextString( path ));
-
- TPtrC target;
- User::LeaveIfError( aItem.GetNextString( target ));
-
- TPtrC mimeType;
- User::LeaveIfError( aItem.GetNextString( mimeType ));
-
- TInt virtual1 = 0;
- aItem.GetNextInt( virtual1 );
-
- TInt virtual2 = 0;
- aItem.GetNextInt( virtual2 );
-
- TFileName filePath( iDataPath );
- filePath.Append( path );
- filePath.ZeroTerminate();
-
- if (virtual1)
- {
- filePath.Delete(2,1);
- }
-
- TFileName targetPath( iDataPath );
- targetPath.Append( target );
- targetPath.ZeroTerminate();
-
- if (virtual2)
- {
- targetPath.Delete(2,1);
- }
-
- iLog->Log( _L( "CreateSourceInstancePathTargetL - path = %S, target = %S" ), &filePath );
-
- delete iObjectSource;
- iObjectSource = NULL;
-
- iObjectSource = CThumbnailObjectSource::NewL( filePath, targetPath, mimeType );
- return KErrNone;
- }
-
TInt CThumbnailManagerTest::CreateSourceInstanceHandleL( CStifItemParser& aItem )
{
_LIT( KPanicTxt, "CreateSrcHandle" );
@@ -821,7 +773,48 @@
return KErrNone;
}
+
+/*
+TInt CThumbnailManagerTest::GetThumbnailsByUrlL( CStifItemParser& aItem )
+ {
+ _LIT( KPanicTxt, "CreateSrcPath" );
+ __ASSERT_ALWAYS( !iObjectSource, User::Panic( KPanicTxt, 0 ));
+
+ TPtrC path;
+ User::LeaveIfError( aItem.GetNextString( path ));
+
+ TInt id = 0;
+ aItem.GetNextInt( id );
+ TFileName filePath( iDataPath );
+ filePath.Append( path );
+ filePath.ZeroTerminate();
+
+ iLog->Log( _L( "CreateSourceInstancePathL - path = %S" ), &filePath );
+
+ delete iObjectSource;
+ iObjectSource = NULL;
+
+ iObjectSource = CThumbnailObjectSource::NewL( filePath, id );
+
+ id = iEngine->GetThumbnailL( *iObjectSource );
+ if (id < 0)
+ {
+ iLog->Log( _L( "GetThumbnails - error %d" ), id );
+ return id;
+ }
+ else
+ {
+ iPreviousRequestId = id;
+ iLog->Log( _L( "GetThumbnails - request id %d" ), iPreviousRequestId );
+ }
+
+ iCreateThumbnails = ETrue;
+
+ return KErrNone;
+ }
+
+*/
TInt CThumbnailManagerTest::CreateThumbnails( CStifItemParser& aItem )
{
@@ -851,6 +844,7 @@
return KErrNone;
}
+
TInt CThumbnailManagerTest::UpdatePathL( CStifItemParser& aItem )
{
_LIT( KPanicTxt, "UpdatePath" );
--- a/imagehandling_plat/thumbnailmanager_api/tsrc/src/thumbnailcenrep.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandling_plat/thumbnailmanager_api/tsrc/src/thumbnailcenrep.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -42,12 +42,6 @@
const TUint32 KSizeAudioListHeight = 0x15;
const TUint32 KSizeAudioFullscreenWidth = 0x16;
const TUint32 KSizeAudioFullscreenHeight = 0x17;
-const TUint32 KSizeContactListWidth = 0x18;
-const TUint32 KSizeContactListHeight = 0x19;
-const TUint32 KSizeContactGridWidth = 0x20;
-const TUint32 KSizeContactGridHeight = 0x21;
-const TUint32 KSizeContactFullscreenWidth = 0x22;
-const TUint32 KSizeContactFullscreenHeight = 0x23;
const TUint32 KAutoCreateImageGrid = 0x100;
const TUint32 KAutoCreateImageList = 0x101;
@@ -58,9 +52,6 @@
const TUint32 KAutoCreateAudioGrid = 0x106;
const TUint32 KAutoCreateAudioList = 0x107;
const TUint32 KAutoCreateAudioFullscreen = 0x108;
-const TUint32 KAutoCreateContactGrid = 0x109;
-const TUint32 KAutoCreateContactList = 0x110;
-const TUint32 KAutoCreateContactFullscreen = 0x111;
// ---------------------------------------------------------------------------
@@ -103,11 +94,6 @@
case EAudioFullScreenThumbnailSize:
iSourceType = EAudio;
break;
- case EContactGridThumbnailSize:
- case EContactListThumbnailSize:
- case EContactFullScreenThumbnailSize:
- iSourceType = EContact;
- break;
default:
iSourceType = EUnknownSourceType;
}
@@ -121,8 +107,7 @@
TThumbnailAutoCreate::TThumbnailAutoCreate()
: iImageGrid(EFalse), iImageList(EFalse), iImageFullscreen(EFalse),
iVideoGrid(EFalse), iVideoList(EFalse), iVideoFullscreen(EFalse),
- iAudioGrid(EFalse), iAudioList(EFalse), iAudioFullscreen(EFalse),
- iContactGrid(EFalse), iContactList(EFalse), iContactFullscreen(EFalse)
+ iAudioGrid(EFalse), iAudioList(EFalse), iAudioFullscreen(EFalse)
{
// No implementation required
}
@@ -245,27 +230,6 @@
iPersistentSizes.AppendL( TThumbnailPersistentSize( EAudioFullScreenThumbnailSize, TSize( xSize, ySize ),
flags, static_cast <TDisplayMode> (raw_mode), format, autoCreate ));
-
- User::LeaveIfError( iRepository->Get( KSizeContactGridWidth, xSize ));
- User::LeaveIfError( iRepository->Get( KSizeContactGridHeight, ySize ));
- User::LeaveIfError( iRepository->Get( KAutoCreateContactGrid, autoCreate ));
-
- iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactGridThumbnailSize, TSize( xSize, ySize ),
- KGridAndListThumbnailCropped, static_cast <TDisplayMode> (raw_mode), format, autoCreate ));
-
- User::LeaveIfError( iRepository->Get( KSizeContactListWidth, xSize ));
- User::LeaveIfError( iRepository->Get( KSizeContactListHeight, ySize ));
- User::LeaveIfError( iRepository->Get( KAutoCreateContactList, autoCreate ));
-
- iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactListThumbnailSize, TSize( xSize, ySize ),
- KGridAndListThumbnailCropped, static_cast <TDisplayMode> (raw_mode), format, autoCreate ));
-
- User::LeaveIfError( iRepository->Get( KSizeContactFullscreenWidth, xSize ));
- User::LeaveIfError( iRepository->Get( KSizeContactFullscreenHeight, ySize ));
- User::LeaveIfError( iRepository->Get( KAutoCreateContactFullscreen, autoCreate ));
-
- iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactFullScreenThumbnailSize, TSize( xSize, ySize ),
- flags, static_cast <TDisplayMode> (raw_mode), format, autoCreate ));
iAutoCreate = new (ELeave) TThumbnailAutoCreate();
@@ -278,9 +242,6 @@
User::LeaveIfError( iRepository->Get( KAutoCreateAudioGrid, iAutoCreate->iAudioGrid ));
User::LeaveIfError( iRepository->Get( KAutoCreateAudioList, iAutoCreate->iAudioList ));
User::LeaveIfError( iRepository->Get( KAutoCreateAudioFullscreen, iAutoCreate->iAudioFullscreen ));
- User::LeaveIfError( iRepository->Get( KAutoCreateContactGrid, iAutoCreate->iContactGrid ));
- User::LeaveIfError( iRepository->Get( KAutoCreateContactList, iAutoCreate->iContactList ));
- User::LeaveIfError( iRepository->Get( KAutoCreateContactFullscreen, iAutoCreate->iContactFullscreen ));
}
// ---------------------------------------------------------------------------
--- a/imagehandlinglib/Src/IHLDebugPrint.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlinglib/Src/IHLDebugPrint.h Wed Oct 13 14:53:56 2010 +0300
@@ -59,7 +59,7 @@
/**
* Macro for defining debug-only literal strings (empty release version)
*/
- #define IHL_DEBUG_STRING(name, s) const TIHLEmptyDebugString name = {}
+ #define IHL_DEBUG_STRING(name, s) const TIHLEmptyDebugString name
/**
* Output to debugger output (empty)
Binary file imagehandlingutilities/thumbnailmanager/conf/102830B0.txt has changed
Binary file imagehandlingutilities/thumbnailmanager/conf/thumbnailmanager.confml has changed
Binary file imagehandlingutilities/thumbnailmanager/conf/thumbnailmanager_102830B0.crml has changed
--- a/imagehandlingutilities/thumbnailmanager/inc/thumbnailmanagerconstants.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/inc/thumbnailmanagerconstants.h Wed Oct 13 14:53:56 2010 +0300
@@ -149,52 +149,43 @@
const TInt KImeiBufferSize = CTelephony::KPhoneSerialNumberSize;
const TInt KCheckValue = 123456;
-_LIT8( KJpegMime, "image/jpeg" ); _LIT( KJpegExt, ".jpeg" );
-_LIT8( KJpeg2000Mime, "image/jp2" ); _LIT( KJpeg2000Ext, ".jp2" );
-_LIT8( KJpgMime, "image/jpeg" ); _LIT( KJpgExt, ".jpg" );
-_LIT8( KGifMime, "image/gif" ); _LIT( KGifExt, ".gif" );
-_LIT8( KPngMime, "image/png" ); _LIT( KPngExt, ".png" );
-_LIT8( KSvgMime, "image/svg+xml" ); _LIT( KSvgExt, ".svg" );
-_LIT8( KMpgMime1, "video/mpeg"); _LIT( KMpgExt1, ".mpg" );
-_LIT8( KMpeg4Mime, "video/mpeg4" ); _LIT( KMpeg4Ext,".mpeg4" );
-_LIT8( KMp4Mime, "video/mp4" ); _LIT( KMp4Ext, ".mp4" ); _LIT( KM4vExt, ".m4v" );
-_LIT8( KAviMime, "video/x-msvideo" ); _LIT( KAviExt, ".avi" );
-_LIT8( KMp3Mime, "audio/mpeg" ); _LIT( KMp3Ext, ".mp3" );
-_LIT8( KNonEmbeddArtMime, "audio/mpeg" ); _LIT( KNonEmbeddArtExt, ".alb" );
-_LIT8( KM4aMime, "audio/mp4" ); _LIT( KM4aExt, ".m4a" );
-_LIT8( KAacMime, "audio/aac" ); _LIT( KAacExt, ".aac" );
-_LIT8( KWmaMime, "audio/x-ms-wma" ); _LIT( KWmaExt, ".wma" );
-_LIT8( KBmpMime, "image/bmp" ); _LIT( KBmpExt, ".bmp" );
-_LIT8( KAudio3gppMime, "audio/3gpp" );
-_LIT8( KVideo3gppMime, "video/3gpp" ); _LIT( K3gpExt, ".3gp" ); _LIT( K3gppExt, ".3gpp" );
-_LIT8( KAudioAmrMime, "audio/AMR" ); _LIT( KAmrExt, ".amr" );
-_LIT8( KVideoWmvMime, "video/x-ms-wmv" ); _LIT( KWmvExt, ".wmv" );
-_LIT8( KRealAudioMime, "audio/vnd.rn-realaudio" ); _LIT( KRealAudioExt, ".ra" );
-_LIT8( KPmRealAudioPluginMime, "audio/x-pn-realaudio-plugin" ); _LIT( KPmRealAudioPluginExt, ".rpm" );
-_LIT8( KPmRealVideoPluginMime, "video/x-pn-realvideo" ); _LIT( KPmRealVideoPluginExt, ".rm" );
-_LIT8( KPmRealVbVideoPluginMime, "video/x-pn-realvideo" ); _LIT( KPmRealVbVideoPluginExt, ".rmvb" );
-_LIT8( KPmRealAudioMime, "audio/x-pn-realaudio" ); _LIT( KPmRealAudioExt, ".ra" );
-_LIT8( KRealVideoMime, "video/vnd.rn-realvideo" ); _LIT( KRealVideoExt, ".rv" );
-_LIT8( KFlashVideoMime, "video/x-flv" ); _LIT( KFlashVideoExt, ".flv" );
-_LIT8( KMatroskaVideoMime, "video/x-matroska" ); _LIT( KMatroskaVideoExt, ".mkv" );
-_LIT8( KContactMime, "contact/x-vcard" ); _LIT( KContactExt, ".vcf" );
-
-_LIT( KNonEmbeddedArtExt, ".alb" );
-
-_LIT8( KAlbumArtMime, "audio/albumart" ); _LIT( KAlbumArtExt, ".maa" );
-
+_LIT8( KJpegMime, "image/jpeg" ); _LIT( KJpegExt, ".jpeg" );
+_LIT8( KJpeg2000Mime, "image/jp2" ); _LIT( KJpeg2000Ext, ".jp2" );
+_LIT8( KJpgMime, "image/jpeg" ); _LIT( KJpgExt, ".jpg" );
+_LIT8( KGifMime, "image/gif" ); _LIT( KGifExt, ".gif" );
+_LIT8( KPngMime, "image/png" ); _LIT( KPngExt, ".png" );
+_LIT8( KSvgMime, "image/svg+xml" ); _LIT( KSvgExt, ".svg" );
+_LIT8( KMpgMime1, "video/mpeg"); _LIT( KMpgExt1, ".mpg" );
+_LIT8( KMpeg4Mime, "video/mpeg4" ); _LIT( KMpeg4Ext,".mpeg4" );
+_LIT8( KMp4Mime, "video/mp4" ); _LIT( KMp4Ext, ".mp4" );
+_LIT8( KAviMime, "video/x-msvideo" ); _LIT( KAviExt, ".avi" );
+_LIT8( KMp3Mime, "audio/mpeg" ); _LIT( KMp3Ext, ".mp3" );
+_LIT8( KNonEmbeddArtMime, "audio/mpeg" ); _LIT( KNonEmbeddArtExt, ".alb" );
+_LIT8( KM4aMime, "audio/mp4" ); _LIT( KM4aExt, ".m4a" );
+_LIT8( KAacMime, "audio/aac" ); _LIT( KAacExt, ".aac" );
+_LIT8( KWmaMime, "audio/x-ms-wma" ); _LIT( KWmaExt, ".wma" );
+_LIT8( KBmpMime, "image/bmp" ); _LIT( KBmpExt, ".bmp" );
+_LIT8( KAudio3gppMime, "audio/3gpp" );
+_LIT8( KVideo3gppMime, "video/3gpp" ); _LIT( K3gpExt, ".3gp" ); _LIT( K3gppExt, ".3gpp" );
+_LIT8( KAudioAmrMime, "audio/AMR" ); _LIT( KAmrExt, ".amr" );
+_LIT8( KVideoWmvMime, "video/x-ms-wmv" ); _LIT( KWmvExt, ".wmv" );
+_LIT8( KRealAudioMime, "audio/vnd.rn-realaudio" ); _LIT( KRealAudioExt, ".ra" );
+_LIT8( KPmRealAudioPluginMime, "audio/x-pn-realaudio-plugin" ); _LIT( KPmRealAudioPluginExt, ".rpm" );
+_LIT8( KPmRealVideoPluginMime, "video/x-pn-realvideo" ); _LIT( KPmRealVideoPluginExt, ".rm" );
+_LIT8( KPmRealVbVideoPluginMime, "video/x-pn-realvideo" ); _LIT( KPmRealVbVideoPluginExt, ".rmvb" );
+_LIT8( KPmRealAudioMime, "audio/x-pn-realaudio" ); _LIT( KPmRealAudioExt, ".ra" );
+_LIT8( KRealVideoMime, "video/vnd.rn-realvideo" ); _LIT( KRealVideoExt, ".rv" );
+_LIT8( KFlashVideoMime, "video/x-flv" ); _LIT( KFlashVideoExt, ".flv" );
+_LIT8( KMatroskaVideoMime, "video/x-matroska" ); _LIT( KMatroskaVideoExt, ".mkv" );
_LIT( KImageMime, "image/*" );
_LIT( KVideoMime, "video/*" );
_LIT( KAudioMime, "audio/*" );
+_LIT( KM4vExt, ".m4v" );
+_LIT( KNonEmbeddedArtExt, ".alb" );
_LIT( KPrivateFolder, ":\\private\\");
_LIT( KSysFolder, ":\\sys\\");
-_LIT( KDrv, ":");
-_LIT( KBackSlash, "\\");
-
-const TInt KExtLength = 4;
-
/**
* Control flags set by the server for handling specific situations
* (for example for distinguishing between preview thumbnails and
@@ -325,16 +316,6 @@
* Overwrite old thumbs (SetThumbnailL)
*/
TBool iOverwrite;
-
- /**
- * URI is virtual
- */
- TBool iVirtualUri;
-
- /**
- * Target differs from source
- */
- TBool iImport;
};
--- a/imagehandlingutilities/thumbnailmanager/inc/thumbnailmanagerprivatecrkeys.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/inc/thumbnailmanagerprivatecrkeys.h Wed Oct 13 14:53:56 2010 +0300
@@ -44,12 +44,6 @@
const TUint32 KSizeAudioListHeight = 0x15;
const TUint32 KSizeAudioFullscreenWidth = 0x16;
const TUint32 KSizeAudioFullscreenHeight = 0x17;
-const TUint32 KSizeContactListWidth = 0x18;
-const TUint32 KSizeContactListHeight = 0x19;
-const TUint32 KSizeContactGridWidth = 0x20;
-const TUint32 KSizeContactGridHeight = 0x21;
-const TUint32 KSizeContactFullscreenWidth = 0x22;
-const TUint32 KSizeContactFullscreenHeight = 0x23;
const TUint32 KAutoCreateImageGrid = 0x100;
const TUint32 KAutoCreateImageList = 0x101;
@@ -60,9 +54,6 @@
const TUint32 KAutoCreateAudioGrid = 0x106;
const TUint32 KAutoCreateAudioList = 0x107;
const TUint32 KAutoCreateAudioFullscreen = 0x108;
-const TUint32 KAutoCreateContactGrid = 0x109;
-const TUint32 KAutoCreateContactList = 0x110;
-const TUint32 KAutoCreateContactFullscreen = 0x111;
const TUint32 KColorDepthGrid = 0x200;
const TUint32 KColorDepthList = 0x201;
--- a/imagehandlingutilities/thumbnailmanager/plugins/audio/src/thumbnailaudioprovider.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/plugins/audio/src/thumbnailaudioprovider.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -69,7 +69,6 @@
{
TN_DEBUG1( "CThumbnailAudioProvider::~CThumbnailAudioProvider()" );
delete iImageDecoderv3;
- iImageDecoderv3 = NULL;
REComSession::DestroyedImplementation( iDtor_ID_Key );
}
@@ -153,7 +152,6 @@
{
TN_DEBUG1( "CThumbnailAudioProvider::GetThumbnailL() - buffer no mime" );
__ASSERT_DEBUG((EFalse), User::Panic(_L("CThumbnailAudioProvider::GetThumbnailL"), KErrNotSupported));
- User::Leave( KErrNotSupported );
}
// ---------------------------------------------------------------------------
--- a/imagehandlingutilities/thumbnailmanager/plugins/audio/src/thumbnailimagedecoderv3.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/plugins/audio/src/thumbnailimagedecoderv3.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -216,7 +216,7 @@
iDecoder = NULL;
CImageDecoder::TOptions options = ( CImageDecoder::TOptions )(
- CImageDecoder::EOptionNoDither );
+ CImageDecoder::EOptionNoDither | CImageDecoder::EPreferFastDecode | CImageDecoder::EOptionAlwaysThread );
TRAPD( decErr, iDecoder = CExtJpegDecoder::DataNewL(
CExtJpegDecoder::EHwImplementation, iFs, *iBuffer, options ));
--- a/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoder.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoder.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -377,12 +377,12 @@
if ( aFlags == CThumbnailManager::EOptimizeForQuality )
{
options = ( CImageDecoder::TOptions )( CImageDecoder
- ::EOptionNoDither );
+ ::EOptionNoDither | CImageDecoder::EOptionAlwaysThread );
}
else
{
options = ( CImageDecoder::TOptions )( CImageDecoder
- ::EOptionNoDither | CImageDecoder::EPreferFastDecode );
+ ::EOptionNoDither | CImageDecoder::EPreferFastDecode | CImageDecoder::EOptionAlwaysThread );
}
if ( IsSvg())
@@ -576,12 +576,12 @@
CImageDecoder::TOptions options;
if ( aFlags == CThumbnailManager::EOptimizeForQuality )
{
- options = ( CImageDecoder::TOptions )( CImageDecoder::EOptionNoDither );
+ options = ( CImageDecoder::TOptions )( CImageDecoder::EOptionNoDither | CImageDecoder::EOptionAlwaysThread );
}
else
{
options = ( CImageDecoder::TOptions )( CImageDecoder::EOptionNoDither |
- CImageDecoder::EPreferFastDecode );
+ CImageDecoder::EPreferFastDecode | CImageDecoder::EOptionAlwaysThread );
}
TRAPD( err, iDecoder = CExtJpegDecoder::DataNewL( iFs, * iExifThumbImage, options ));
--- a/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoderv2.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimagedecoderv2.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -170,7 +170,7 @@
iDecoder = NULL;
CImageDecoder::TOptions options = ( CImageDecoder::TOptions )(
- CImageDecoder::EOptionNoDither );
+ CImageDecoder::EOptionNoDither | CImageDecoder::EPreferFastDecode | CImageDecoder::EOptionAlwaysThread );
TRAPD( decErr, iDecoder = CExtJpegDecoder::DataNewL(
CExtJpegDecoder::EHwImplementation, iFs, *iBuffer, options ));
--- a/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimageprovider.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimageprovider.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -67,9 +67,7 @@
{
TN_DEBUG1( "CThumbnailImageProvider::~CThumbnailImageProvider()" );
delete iImageDecoder;
- iImageDecoder = NULL;
delete iImageDecoderv2;
- iImageDecoderv2 = NULL;
REComSession::DestroyedImplementation( iDtor_ID_Key );
}
Binary file imagehandlingutilities/thumbnailmanager/sis/thumbnailmanager/ThumbnailManager_0x102830AB_v9.20.8_SA_S60.50_Euro1.sis has changed
--- a/imagehandlingutilities/thumbnailmanager/sis/thumbnailmanager/package.pkg Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/sis/thumbnailmanager/package.pkg Wed Oct 13 14:53:56 2010 +0300
@@ -17,7 +17,7 @@
&EN
; Header
-#{"Thumbnail Manager"},(0x102830AB), 9, 20, 9, TYPE=SA, RU
+#{"Thumbnail Manager"},(0x102830AB), 9, 20, 8, TYPE=SA, RU
; Localised Vendor name
%{"Nokia"}
--- a/imagehandlingutilities/thumbnailmanager/sis/thumbnailmanager/stub.pkg Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/sis/thumbnailmanager/stub.pkg Wed Oct 13 14:53:56 2010 +0300
@@ -17,7 +17,7 @@
&EN
; Header
-#{"ThumbnailManager"},(0x102830AB), 9, 20, 9, TYPE=SA
+#{"ThumbnailManager"},(0x102830AB), 9, 20, 8, TYPE=SA
; Localised Vendor name
%{"Nokia"}
Binary file imagehandlingutilities/thumbnailmanager/sis/thumbnailmanager/thumbnailmanager_stub.sis has changed
--- a/imagehandlingutilities/thumbnailmanager/sis/thumbnailmanagercenrep/package.pkg Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/sis/thumbnailmanagercenrep/package.pkg Wed Oct 13 14:53:56 2010 +0300
@@ -17,7 +17,7 @@
&EN
; Header
-#{"Thumbnail Manager Cenrep"},(0x10202BE9), 9, 20, 9, TYPE=SP
+#{"Thumbnail Manager Cenrep"},(0x10202BE9), 9, 20, 8, TYPE=SP
; Localised Vendor name
%{"Symbian Software Ltd."}
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/inc/thumbagprocessor.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/inc/thumbagprocessor.h Wed Oct 13 14:53:56 2010 +0300
@@ -62,8 +62,7 @@
struct TThumbnailGenerationItem
{
- inline TThumbnailGenerationItem(): iItemId( KErrNotFound ), iItemType(EGenerationItemTypeUnknown),
- iItemAction(EGenerationItemActionAdd), iPlaceholder(EFalse), iUri(NULL){}
+ inline TThumbnailGenerationItem(): iItemId( KErrNotFound ), iItemType(EGenerationItemTypeUnknown), iItemAction(EGenerationItemActionAdd), iPlaceholder(EFalse), iUri(NULL){}
inline ~TThumbnailGenerationItem(){delete iUri; iUri = NULL;}
TItemId iItemId;
@@ -167,9 +166,7 @@
* @param aIDArray IDs for thumbnail creation
* @param aForce pass ETrue if processor is forced to run without waiting harvesting complete
*/
- void AddToQueueL( TObserverNotificationType aType, TThumbnailGenerationItemType aItemType,
- const RArray<TItemId>& aIDArray, const RPointerArray<HBufC>& aObjectUriArray,
- TBool aPresent );
+ void AddToQueueL( TObserverNotificationType aType, TThumbnailGenerationItemType aItemType, const RArray<TItemId>& aIDArray, const RPointerArray<HBufC>& aObjectUriArray, TBool aPresent );
/**
* Calls Thumbnail Manager to create thumbnails
@@ -448,6 +445,9 @@
//Observer foreground generation
CTMRPropertyObserver* iForegroundGenerationObserver;
+ //Observer itemsLeft
+ CTMRPropertyObserver* iItemsLeftObserver;
+
//Previously notified amount of items in processing queues (add/modify)
TInt iPreviousItemsLeft;
TBool iPreviousDaemonProcessing;
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagaudioobserver.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagaudioobserver.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -309,17 +309,17 @@
// set observing conditions
CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
addCondition->AddObjectConditionL( audioDef );
+ CleanupStack::Pop( addCondition );
CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
modifyCondition->AddObjectConditionL( audioDef );
+ CleanupStack::Pop( modifyCondition );
// add observer
iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd );
// modify observer
iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
-
- CleanupStack::Pop( 2, addCondition );
TN_DEBUG1( "CThumbAGAudioObserver::AddObserversL() - end" );
}
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -147,10 +147,7 @@
iShutdown = ETrue;
delete iMDSShutdownObserver;
- iMDSShutdownObserver = NULL;
-
delete iShutdownObserver;
- iShutdownObserver = NULL;
if(iReconnect)
{
@@ -304,17 +301,17 @@
// set observing conditions
CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
addCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera));
+ CleanupStack::Pop( addCondition );
CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera));
+ CleanupStack::Pop( modifyCondition );
// add observer
iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd );
// modify observer
iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
-
- CleanupStack::Pop( 2, addCondition );
TN_DEBUG1( "CThumbAGCameraObserver::AddObserversL() - end" );
}
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagdaemon.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagdaemon.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -194,10 +194,7 @@
iAudioObserver = NULL;
delete iMDSShutdownObserver;
- iMDSShutdownObserver = NULL;
-
delete iShutdownObserver;
- iShutdownObserver = NULL;
if(iReconnect)
{
@@ -270,7 +267,6 @@
// comes here if server gets shut down
delete server;
- server = NULL;
CleanupStack::PopAndDestroy( scheduler );
}
@@ -542,8 +538,6 @@
TInt ret = rep->Get( KEnableDaemon, val );
delete rep;
- rep = NULL;
-
TN_DEBUG3( "CThumbAGDaemon::DaemonEnabledL() - val == %d, ret == %d", val, ret );
return val;
}
@@ -585,7 +579,6 @@
{
TRAP( result, CThumbAGDaemon::ThreadFunctionL());
delete cleanup;
- cleanup = NULL;
}
if ( result != KErrNone )
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -147,10 +147,7 @@
iShutdown = ETrue;
delete iMDSShutdownObserver;
- iMDSShutdownObserver = NULL;
-
delete iShutdownObserver;
- iShutdownObserver = NULL;
if(iReconnect)
{
@@ -291,22 +288,20 @@
// set observing conditions
CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
addCondition->AddObjectConditionL( imageDef );
-
- addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ CleanupStack::Pop( addCondition );
CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
- modifyCondition->AddObjectConditionL( imageDef );
-
- modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
-
+ modifyCondition->AddObjectConditionL( imageDef );
+ addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ CleanupStack::Pop( modifyCondition );
+
// add observers
iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd );
// modify observer
iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
-
- CleanupStack::Pop( 2, addCondition );
-
+
TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" );
}
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -105,6 +105,9 @@
//start foreground generation observer
iForegroundGenerationObserver = CTMRPropertyObserver::NewL( *this, KTAGDPSNotification, KForceBackgroundGeneration, ETrue );
+ //itemsLeft observer
+ iItemsLeftObserver = CTMRPropertyObserver::NewL( *this, KTAGDPSNotification, KItemsleft, EFalse );
+
TN_DEBUG1( "CThumbAGProcessor::ConstructL() - end" );
}
@@ -182,6 +185,12 @@
iForegroundGenerationObserver = NULL;
}
+ if(iItemsLeftObserver)
+ {
+ delete iItemsLeftObserver;
+ iItemsLeftObserver = NULL;
+ }
+
if(iFormatObserver)
{
delete iFormatObserver;
@@ -958,43 +967,39 @@
CMdEObjectDef& objDef = iDefNamespace->GetObjectDefL( MdeConstants::Object::KBaseObject );
iQuery = iMdESession->NewObjectQueryL( *iDefNamespace, objDef, this );
-
- if(iQuery)
- {
- iQuery->SetResultMode( EQueryResultModeItem );
+ iQuery->SetResultMode( EQueryResultModeItem );
- CMdELogicCondition& rootCondition = iQuery->Conditions();
- rootCondition.SetOperator( ELogicConditionOperatorAnd );
+ CMdELogicCondition& rootCondition = iQuery->Conditions();
+ rootCondition.SetOperator( ELogicConditionOperatorAnd );
- // add IDs
- CleanupClosePushL( iQueryQueue );
- rootCondition.AddObjectConditionL( iQueryQueue );
- CleanupStack::Pop( &iQueryQueue );
+ // add IDs
+ CleanupClosePushL( iQueryQueue );
+ rootCondition.AddObjectConditionL( iQueryQueue );
+ CleanupStack::Pop( &iQueryQueue );
- // add object type conditions
- if (!(iModify || iUnknown))
- {
- CMdELogicCondition& objDefCondition = rootCondition.AddLogicConditionL( ELogicConditionOperatorOr );
+ // add object type conditions
+ if (!(iModify || iUnknown))
+ {
+ CMdELogicCondition& objDefCondition = rootCondition.AddLogicConditionL( ELogicConditionOperatorOr );
- if (iAutoImage)
- {
- CMdEObjectDef& imageDef = iDefNamespace->GetObjectDefL( MdeConstants::Image::KImageObject );
- objDefCondition.AddObjectConditionL( imageDef );
- }
- if (iAutoVideo)
- {
- CMdEObjectDef& videoDef = iDefNamespace->GetObjectDefL( MdeConstants::Video::KVideoObject );
- objDefCondition.AddObjectConditionL( videoDef );
- }
- if (iAutoAudio)
- {
- CMdEObjectDef& audioDef = iDefNamespace->GetObjectDefL( MdeConstants::Audio::KAudioObject );
- objDefCondition.AddObjectConditionL( audioDef );
- }
- }
+ if (iAutoImage)
+ {
+ CMdEObjectDef& imageDef = iDefNamespace->GetObjectDefL( MdeConstants::Image::KImageObject );
+ objDefCondition.AddObjectConditionL( imageDef );
+ }
+ if (iAutoVideo)
+ {
+ CMdEObjectDef& videoDef = iDefNamespace->GetObjectDefL( MdeConstants::Video::KVideoObject );
+ objDefCondition.AddObjectConditionL( videoDef );
+ }
+ if (iAutoAudio)
+ {
+ CMdEObjectDef& audioDef = iDefNamespace->GetObjectDefL( MdeConstants::Audio::KAudioObject );
+ objDefCondition.AddObjectConditionL( audioDef );
+ }
+ }
- iQuery->FindL();
- }
+ iQuery->FindL();
TN_DEBUG1( "CThumbAGProcessor::QueryL() - end" );
}
@@ -1040,28 +1045,25 @@
CMdEObjectDef& objDef = iDefNamespace->GetObjectDefL( MdeConstants::Object::KBaseObject);
iQueryPlaceholders = iMdESession->NewObjectQueryL( *iDefNamespace, objDef, this );
- if(iQueryPlaceholders)
- {
- iQueryPlaceholders->SetResultMode( EQueryResultModeItem );
-
- CMdELogicCondition& rootCondition = iQueryPlaceholders->Conditions();
- rootCondition.SetOperator( ELogicConditionOperatorOr );
-
- CMdEObjectCondition& imagePHObjectCondition = rootCondition.AddObjectConditionL(imageObjDef);
- imagePHObjectCondition.SetPlaceholderOnly( ETrue );
- imagePHObjectCondition.SetNotPresent( aPresent );
-
- CMdEObjectCondition& videoPHObjectCondition = rootCondition.AddObjectConditionL(videoObjDef);
- videoPHObjectCondition.SetPlaceholderOnly( ETrue );
- videoPHObjectCondition.SetNotPresent( aPresent );
-
- CMdEObjectCondition& audioPHObjectCondition = rootCondition.AddObjectConditionL(audioObjDef);
- audioPHObjectCondition.SetPlaceholderOnly( ETrue );
- audioPHObjectCondition.SetNotPresent( aPresent );
-
- iQueryPlaceholders->FindL(KMaxTInt, KMaxQueryBatchSize);
- }
-
+ iQueryPlaceholders->SetResultMode( EQueryResultModeItem );
+
+ CMdELogicCondition& rootCondition = iQueryPlaceholders->Conditions();
+ rootCondition.SetOperator( ELogicConditionOperatorOr );
+
+ CMdEObjectCondition& imagePHObjectCondition = rootCondition.AddObjectConditionL(imageObjDef);
+ imagePHObjectCondition.SetPlaceholderOnly( ETrue );
+ imagePHObjectCondition.SetNotPresent( aPresent );
+
+ CMdEObjectCondition& videoPHObjectCondition = rootCondition.AddObjectConditionL(videoObjDef);
+ videoPHObjectCondition.SetPlaceholderOnly( ETrue );
+ videoPHObjectCondition.SetNotPresent( aPresent );
+
+ CMdEObjectCondition& audioPHObjectCondition = rootCondition.AddObjectConditionL(audioObjDef);
+ audioPHObjectCondition.SetPlaceholderOnly( ETrue );
+ audioPHObjectCondition.SetNotPresent( aPresent );
+
+ iQueryPlaceholders->FindL(KMaxTInt, KMaxQueryBatchSize);
+
TN_DEBUG1( "CThumbAGProcessor::QueryPlaceholdersL - end" );
}
@@ -1295,52 +1297,6 @@
QueryL( EGenerationItemActionResolveType );
}
- else if ( iDeleteItemCount > 0 )
- {
- TN_DEBUG1( "void CThumbAGProcessor::RunL() delete thumbnails");
- // delete thumbs by URI
- __ASSERT_DEBUG((iTMSession), User::Panic(_L("CThumbAGProcessor::RunL() !iTMSession "), KErrBadHandle));
- if(iTMSession)
- {
- TInt itemIndex(KErrNotFound);
-
- for(TInt i=0;i<iGenerationQueue.Count() || itemIndex == KErrNotFound;i++)
- {
- if(iGenerationQueue[i].iItemAction == EGenerationItemActionDelete)
- {
- itemIndex = i;
- }
- }
-
- if(itemIndex >= 0)
- {
- if(!iGenerationQueue[itemIndex].iUri)
- {
- //URI is invalid
- TN_DEBUG1( "void CThumbAGProcessor::RunL() unable to delete URI inbalid");
- iGenerationQueue.Remove( itemIndex );
- ActivateAO();
- return;
- }
-
- TN_DEBUG2( "void CThumbAGProcessor::RunL() delete %S", iGenerationQueue[itemIndex].iUri);
- CThumbnailObjectSource* source = NULL;
- TRAPD(err, source = CThumbnailObjectSource::NewL( *iGenerationQueue[itemIndex].iUri, KNullDesC));
-
- if(err == KErrNone)
- {
- iTMSession->DeleteThumbnails( *source );
- }
- delete source;
-
- delete iGenerationQueue[itemIndex].iUri;
- iGenerationQueue[itemIndex].iUri = NULL;
- iGenerationQueue.Remove( itemIndex );
-
- iActiveCount++;
- }
- }
- }
// no items in query queue, start new
// select queue to process, priority by type
else if ( iModifyItemCount > 0 )
@@ -1366,6 +1322,54 @@
QueryL( EGenerationItemActionAdd );
}
+ else if ( iDeleteItemCount > 0 )
+ {
+ TN_DEBUG1( "void CThumbAGProcessor::RunL() delete thumbnails");
+ i2ndRound = EFalse;
+ iUnknown = EFalse;
+ // delete thumbs by URI
+ __ASSERT_DEBUG((iTMSession), User::Panic(_L("CThumbAGProcessor::RunL() !iTMSession "), KErrBadHandle));
+ if(iTMSession)
+ {
+ TInt itemIndex(KErrNotFound);
+
+ for(TInt i=0;i<iGenerationQueue.Count() || itemIndex == KErrNotFound;i++)
+ {
+ if(iGenerationQueue[i].iItemAction == EGenerationItemActionDelete)
+ {
+ itemIndex = i;
+ }
+ }
+
+ if(itemIndex >= 0)
+ {
+ if(!iGenerationQueue[itemIndex].iUri)
+ {
+ //URI is invalid
+ TN_DEBUG1( "void CThumbAGProcessor::RunL() unable to delete URI inbalid");
+ iGenerationQueue.Remove( itemIndex );
+ ActivateAO();
+ return;
+ }
+
+ TN_DEBUG2( "void CThumbAGProcessor::RunL() delete %S", iGenerationQueue[itemIndex].iUri);
+ CThumbnailObjectSource* source = NULL;
+ TRAPD(err, source = CThumbnailObjectSource::NewL( *iGenerationQueue[itemIndex].iUri, KNullDesC));
+
+ if(err == KErrNone)
+ {
+ iTMSession->DeleteThumbnails( *source );
+ }
+ delete source;
+
+ delete iGenerationQueue[itemIndex].iUri;
+ iGenerationQueue[itemIndex].iUri = NULL;
+ iGenerationQueue.Remove( itemIndex );
+
+ iActiveCount++;
+ }
+ }
+ }
else if( i2ndAddItemCount > 0)
{
TN_DEBUG1( "void CThumbAGProcessor::RunL() update 2nd round thumbnails");
@@ -1692,7 +1696,7 @@
}
//check if forced run needs to continue
- if ( (iModifyItemCount > 0 || iDeleteItemCount > 0 || iUnknownItemCount > 0) && !iMountTimer->IsActive())
+ if ( ( iModifyItemCount || iUnknownItemCount > 0 ) && !iMountTimer->IsActive())
{
TN_DEBUG1( "CThumbAGProcessor::ActivateAO() - forced run");
SetForceRun( ETrue );
@@ -1885,9 +1889,11 @@
CMdELogicCondition& rootCondition = iQueryAllItems->Conditions();
rootCondition.SetOperator( ELogicConditionOperatorOr );
- rootCondition.AddObjectConditionL(imageObjDef);
- rootCondition.AddObjectConditionL(videoObjDef);
- rootCondition.AddObjectConditionL(audioObjDef);
+ CMdEObjectCondition& imageObjectCondition = rootCondition.AddObjectConditionL(imageObjDef);
+
+ CMdEObjectCondition& videoObjectCondition = rootCondition.AddObjectConditionL(videoObjDef);
+
+ CMdEObjectCondition& audioObjectCondition = rootCondition.AddObjectConditionL(audioObjDef);
iQueryAllItems->FindL(KMaxTInt, KMaxQueryBatchSize);
@@ -2052,6 +2058,15 @@
iForegroundRun = EFalse;
}
}
+ else if(aPropertyKey == KItemsleft && aKeyCategory == KTAGDPSNotification )
+ {
+ if( aError == KErrNone && aValue != iPreviousItemsLeft)
+ {
+ TN_DEBUG1( "CThumbAGProcessor::RPropertyNotification() - itemsLeft changed outside Daemon" );
+ iPreviousItemsLeft = aValue;
+ ActivateAO();
+ }
+ }
}
// ---------------------------------------------------------------------------
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagvideoobserver.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagvideoobserver.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -301,22 +301,20 @@
// set observing conditions
CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
- addCondition->AddObjectConditionL( videoDef );
-
- addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ addCondition->AddObjectConditionL( videoDef );
+ addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ CleanupStack::Pop( addCondition );
CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
- modifyCondition->AddObjectConditionL( videoDef );
-
- modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ modifyCondition->AddObjectConditionL( videoDef );
+ addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+ CleanupStack::Pop( modifyCondition );
// add observer
iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd );
// modify observer
iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
-
- CleanupStack::Pop( 2, addCondition );
TN_DEBUG1( "CThumbAGVideoObserver::AddObserversL() - end" );
}
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/bwins/thumbnailmanageru.def Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/bwins/thumbnailmanageru.def Wed Oct 13 14:53:56 2010 +0300
@@ -19,7 +19,4 @@
?Uri@CThumbnailObjectSource@@QAEABVTDesC16@@XZ @ 18 NONAME ; class TDesC16 const & CThumbnailObjectSource::Uri(void)
?Bitmap@CThumbnailObjectSource@@QAEPAVCFbsBitmap@@XZ @ 19 NONAME ; class CFbsBitmap * CThumbnailObjectSource::Bitmap(void)
?GetBitmapOwnership@CThumbnailObjectSource@@QAEPAVCFbsBitmap@@XZ @ 20 NONAME ; class CFbsBitmap * CThumbnailObjectSource::GetBitmapOwnership(void)
- ?NewLC@CThumbnailObjectSource@@SAPAV1@ABVTDesC16@@00@Z @ 21 NONAME ; class CThumbnailObjectSource * CThumbnailObjectSource::NewLC(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &)
- ?TargetUri@CThumbnailObjectSource@@QAEABVTDesC16@@XZ @ 22 NONAME ; class TDesC16 const & CThumbnailObjectSource::TargetUri(void)
- ?NewL@CThumbnailObjectSource@@SAPAV1@ABVTDesC16@@00@Z @ 23 NONAME ; class CThumbnailObjectSource * CThumbnailObjectSource::NewL(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &)
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/eabi/thumbnailmanageru.def Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/eabi/thumbnailmanageru.def Wed Oct 13 14:53:56 2010 +0300
@@ -21,7 +21,4 @@
_ZN22CThumbnailObjectSource6BitmapEv @ 20 NONAME
_ZTI22CThumbnailRequestQueue @ 21 NONAME
_ZTV22CThumbnailRequestQueue @ 22 NONAME
- _ZN22CThumbnailObjectSource4NewLERK7TDesC16S2_S2_ @ 23 NONAME
- _ZN22CThumbnailObjectSource5NewLCERK7TDesC16S2_S2_ @ 24 NONAME
- _ZN22CThumbnailObjectSource9TargetUriEv @ 25 NONAME
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/inc/thumbnailrequestactive.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/inc/thumbnailrequestactive.h Wed Oct 13 14:53:56 2010 +0300
@@ -41,8 +41,7 @@
EReqUpdateThumbnails = 4,
EReqGetThumbnailHandleLater = 5,
EReqDeleteThumbnails = 6,
- EReqRenameThumbnails = 7,
- EReqSetThumbnailPath = 8
+ EReqRenameThumbnails = 7
};
/**
@@ -95,7 +94,7 @@
* ThumbnailReady callback.
* @param aTargetUri Target URI to which the imported thumbnail is linked.
*/
- void GetThumbnailL( const RFile64& aFile, TThumbnailId aThumbnailId, const TDesC8& aMimeType,
+ void GetThumbnailL( const RFile64& aFile, TThumbnailId aThumbnailId,
CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager::TThumbnailQualityPreference
aQualityPreference, const TSize& aSize, const TDisplayMode aDisplayMode,
const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly, const TDesC& aTargetUri = KNullDesC,
@@ -117,7 +116,7 @@
* ThumbnailReady callback.
* @param aTargetUri Target URI to which the imported thumbnail is linked.
*/
- void GetThumbnailL( TThumbnailId aThumbnailId, const TDesC& aPath, const TDesC8& aMimeType,
+ void GetThumbnailL( TThumbnailId aThumbnailId, const TDesC& aPath,
CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager::TThumbnailQualityPreference
aQualityPreference, const TSize& aSize, const TDisplayMode aDisplayMode,
const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly, const TDesC& aTargetUri = KNullDesC,
@@ -142,7 +141,7 @@
* @param aThumbnailSize Relative thumbnail size
*/
void GetThumbnailL( const TDesC& aPath, TThumbnailId aThumbnailId,
- const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags,
+ CThumbnailManager::TThumbnailFlags aFlags,
CThumbnailManager::TThumbnailQualityPreference aQualityPreference,
const TSize& aSize, const TDisplayMode aDisplayMode, const TInt aPriority,
TAny* aClientData, TBool aGeneratePersistentSizesOnly,
@@ -239,32 +238,6 @@
const TInt aPriority );
/**
- * Set thumbnail from file path.
- *
- * @param aPath Path to file from which the thumbnail is to be created.
- * @param aFile File from which the thumbnail is to be created.
- * @param aFlags Flags that control the creation of thumbnail.
- * @param aQualityPreference Quality preference value
- * @param aSize Requested size of the thumbnail.
- * @param aDisplayMode Display mode.
- * @param aPriority Priority of the request.
- * @param aClientData Pointer to arbitrary client data.
- * This pointer is not used by the API for
- * anything other than returning it in the
- * ThumbnailReady callback.
- * @param aGeneratePersistentSizesOnly
- * @param aOverwrite Overwrite old existing thumbs
- * @param aTargetUri Target URI to which the imported thumbnail is linked.
- * @param aThumbnailSize Relative thumbnail size
- */
- void SetThumbnailL( const TDesC& aPath, const TDesC8& aMimeType,
- CThumbnailManager::TThumbnailFlags aFlags,
- CThumbnailManager::TThumbnailQualityPreference aQualityPreference,
- const TSize& aSize, const TDisplayMode aDisplayMode, const TInt aPriority,
- TAny* aClientData, TBool aGeneratePersistentSizesOnly, const TDesC& aTargetUri,
- TThumbnailSize aThumbnailSize, TBool aOverwrite);
-
- /**
* Start active request.
*
* @since S60 v5.0
@@ -393,11 +366,6 @@
* @since S60 v5.0
*/
static TInt TimerCallBack(TAny* aAny);
-
- /**
- * Checks if URI is virtual.
- */
- TBool IsVirtualUri( const TDesC& aPath );
private:
// data
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnaildataimpl.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnaildataimpl.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -41,7 +41,6 @@
CThumbnailDataImpl::~CThumbnailDataImpl()
{
delete iBitmap;
- iBitmap = NULL;
iClientData = NULL;
}
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailmanagerimpl.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailmanagerimpl.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -172,21 +172,21 @@
if(aObjectSource.Id() > 0)
{
- getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(),
- aObjectSource.MimeType(),iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, aGeneratePersistentSizesOnly, KNullDesC, iThumbnailSize);
+ getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags,
+ iQualityPreference, iSize, iDisplayMode, priority, aClientData, aGeneratePersistentSizesOnly,
+ KNullDesC, iThumbnailSize);
}
else if ( aObjectSource.Uri().Length())
{
- getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(),
- aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, aGeneratePersistentSizesOnly, KNullDesC, iThumbnailSize );
+ getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags,
+ iQualityPreference, iSize, iDisplayMode, priority, aClientData, aGeneratePersistentSizesOnly,
+ KNullDesC, iThumbnailSize );
}
else
{
- getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(),
- aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, aGeneratePersistentSizesOnly, KNullDesC, iThumbnailSize );
+ getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(), iFlags,
+ iQualityPreference, iSize, iDisplayMode, priority, aClientData, aGeneratePersistentSizesOnly,
+ KNullDesC, iThumbnailSize );
}
iRequestQueue->AddRequestL( getThumbnailActive );
@@ -231,9 +231,9 @@
( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
CleanupStack::PushL( getThumbnailActive );
- getThumbnailActive->GetThumbnailL( KNullDesC, aThumbnailId, KNullDesC8,
- iFlags, iQualityPreference, iSize, iDisplayMode, priority, aClientData,
- EFalse, KNullDesC, iThumbnailSize );
+ getThumbnailActive->GetThumbnailL( KNullDesC, aThumbnailId, iFlags,
+ iQualityPreference, iSize, iDisplayMode, priority, aClientData,
+ EFalse, KNullDesC, iThumbnailSize );
iRequestQueue->AddRequestL( getThumbnailActive );
CleanupStack::Pop( getThumbnailActive );
@@ -267,15 +267,15 @@
if ( aObjectSource.Uri().Length())
{
- getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(),
- aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, EFalse, aTargetUri, iThumbnailSize );
+ getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags,
+ iQualityPreference, iSize, iDisplayMode, priority, aClientData,
+ EFalse, aTargetUri, iThumbnailSize );
}
else
{
getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(),
- aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, EFalse, aTargetUri, iThumbnailSize );
+ iFlags, iQualityPreference, iSize, iDisplayMode, priority, aClientData,
+ EFalse, aTargetUri, iThumbnailSize );
}
iRequestQueue->AddRequestL( getThumbnailActive );
@@ -307,20 +307,13 @@
CleanupStack::PushL( getThumbnailActive );
if (aObjectSource.Uri().Length() &&
- aObjectSource.TargetUri().Length())
- {
- // from path
- getThumbnailActive->SetThumbnailL( aObjectSource.Uri(),
- aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, ETrue, aObjectSource.TargetUri(), iThumbnailSize, ETrue);
- }
- else if (aObjectSource.Uri().Length() &&
- aObjectSource.Bitmap() != NULL)
+ aObjectSource.Bitmap() != NULL)
{
// from bitmap
getThumbnailActive->SetThumbnailL( aObjectSource.GetBitmapOwnership(),
- aObjectSource.Id(), KBmpMime, iFlags, iQualityPreference, iSize, iDisplayMode,
- priority, aClientData, ETrue, aObjectSource.Uri(), iThumbnailSize, ETrue);
+ aObjectSource.Id(), KBmpMime, iFlags, iQualityPreference,
+ iSize, iDisplayMode, priority, aClientData, ETrue,
+ aObjectSource.Uri(), iThumbnailSize, ETrue);
}
else if (aObjectSource.Uri().Length() &&
aObjectSource.Buffer() != NULL &&
@@ -374,9 +367,9 @@
else if( !aObjectSource.Buffer() )
{
getThumbnailActive->GetThumbnailL( aObjectSource.Id(),
- aObjectSource.Uri(), aObjectSource.MimeType(), iFlags,
- iQualityPreference, iSize, iDisplayMode, priority, NULL,
- ETrue, aObjectSource.Uri(), EUnknownThumbnailSize);
+ aObjectSource.Uri(), iFlags, iQualityPreference, iSize,
+ iDisplayMode, priority, NULL, ETrue, aObjectSource.Uri(),
+ EUnknownThumbnailSize);
}
else
{
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailobjectsource.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailobjectsource.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -24,7 +24,6 @@
// ---------------------------------------------------------------------------
// CThumbnailObjectSource::NewL()
-// CThumbnailObjectSource::NewLC()
// Two-phased constructor.
// ---------------------------------------------------------------------------
//
@@ -37,6 +36,12 @@
return self;
}
+
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::NewLC()
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC&
aUri, const TDesC& aMimeType )
{
@@ -46,6 +51,11 @@
return self;
}
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::NewL()
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const RFile64&
aFile, const TDesC& aMimeType )
{
@@ -55,6 +65,12 @@
return self;
}
+
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::NewLC()
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const RFile64&
aFile, const TDesC& aMimeType )
{
@@ -64,16 +80,15 @@
return self;
}
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( CFbsBitmap* aBitmap,
- const TDesC& aUri )
+
+EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( CFbsBitmap* aBitmap, const TDesC& aUri )
{
CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBitmap, aUri );
CleanupStack::Pop( self );
return self;
}
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( CFbsBitmap* aBitmap,
- const TDesC& aUri )
+EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( CFbsBitmap* aBitmap, const TDesC& aUri )
{
CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
CleanupStack::PushL( self );
@@ -81,60 +96,21 @@
return self;
}
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( TDesC8* aBuffer,
- TDesC& aMimeType, const TDesC& aUri)
+EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( TDesC8* aBuffer, TDesC& aMimeType, const TDesC& aUri)
{
- CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBuffer,
- aMimeType, aUri );
+ CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBuffer, aMimeType, aUri );
CleanupStack::Pop( self );
return self;
}
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( TDesC8* aBuffer,
- TDesC& aMimeType, const TDesC& aUri)
+EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( TDesC8* aBuffer, TDesC& aMimeType, const TDesC& aUri)
{
CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
CleanupStack::PushL( self );
self->ConstructL( aBuffer, aMimeType, aUri );
return self;
}
-
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC&
- aUri, const TThumbnailId aThumbnailId, const TDesC& aMimeType )
- {
- CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aUri,
- aThumbnailId, aMimeType );
- CleanupStack::Pop( self );
- return self;
- }
-
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC& aUri,
- const TThumbnailId aThumbnailId, const TDesC& aMimeType )
- {
- CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
- CleanupStack::PushL( self );
- self->ConstructL( aUri, aMimeType, aThumbnailId );
- return self;
- }
-
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC& aUri,
- const TDesC& aTargetUri, const TDesC& aMimeType )
- {
- CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aUri, aTargetUri,
- aMimeType );
- CleanupStack::Pop( self );
- return self;
- }
-
-EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC& aUri,
- const TDesC& aTargetUri, const TDesC& aMimeType )
- {
- CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
- CleanupStack::PushL( self );
- self->ConstructL( aUri, aTargetUri, aMimeType );
- return self;
- }
-
+
// ---------------------------------------------------------------------------
// CThumbnailObjectSource::CThumbnailObjectSource()
@@ -158,11 +134,15 @@
iUri = aUri.AllocL();
iMimeType = HBufC8::NewL( aMimeType.Length() );
iMimeType->Des().Copy( aMimeType );
- iThumbnailId = 0;
iBitmap = NULL;
- iTargetUri = NULL;
}
+
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
void CThumbnailObjectSource::ConstructL( const RFile64& aFile, const TDesC&
aMimeType )
{
@@ -171,18 +151,26 @@
iMimeType->Des().Copy( aMimeType );
iThumbnailId = 0;
iBitmap = NULL;
- iTargetUri = NULL;
}
-void CThumbnailObjectSource::ConstructL( CFbsBitmap* aBitmap, const TDesC&
- aUri )
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CThumbnailObjectSource::ConstructL( CFbsBitmap* aBitmap, const TDesC&
+ aUri )
{
iBitmap = aBitmap;
iUri = aUri.AllocL();
iThumbnailId = 0;
- iTargetUri = NULL;
}
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
void CThumbnailObjectSource::ConstructL( TDesC8* aBuffer, const TDesC&
aMimeType, const TDesC& aUri )
{
@@ -192,9 +180,13 @@
iUri = aUri.AllocL();
iThumbnailId = 0;
iBitmap = NULL;
- iTargetUri = NULL;
}
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
void CThumbnailObjectSource::ConstructL( const TDesC& aUri, const TDesC&
aMimeType, TThumbnailId aThumbnailId )
{
@@ -202,18 +194,6 @@
iMimeType = HBufC8::NewL( aMimeType.Length() );
iMimeType->Des().Copy( aMimeType );
iThumbnailId = aThumbnailId;
- iTargetUri = NULL;
- }
-
-void CThumbnailObjectSource::ConstructL( const TDesC& aUri, const TDesC&
- aTargetUri, const TDesC& aMimeType )
- {
- iUri = aUri.AllocL();
- iTargetUri = aTargetUri.AllocL();
- iMimeType = HBufC8::NewL( aMimeType.Length() );
- iMimeType->Des().Copy( aMimeType );
- iThumbnailId = 0;
- iBitmap = NULL;
}
@@ -239,11 +219,12 @@
// CThumbnailObjectSourceImpl::FileHandle()
// ---------------------------------------------------------------------------
//
-EXPORT_C RFile64& CThumbnailObjectSource::FileHandle()
+EXPORT_C RFile64& CThumbnailObjectSource::FileHandle()
{
return iFile;
}
+
// ---------------------------------------------------------------------------
// CThumbnailObjectSourceImpl::Uri()
// ---------------------------------------------------------------------------
@@ -290,15 +271,35 @@
return KNullDesC8;
}
-// ---------------------------------------------------------------------------
-// CThumbnailObjectSourceImpl::Id()
-// ---------------------------------------------------------------------------
-//
EXPORT_C TThumbnailId CThumbnailObjectSource::Id()
{
return iThumbnailId;
}
+EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC&
+aUri, const TThumbnailId aThumbnailId, const TDesC& aMimeType )
+{
+CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aUri,
+ aThumbnailId, aMimeType );
+CleanupStack::Pop( self );
+return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CThumbnailObjectSource::NewLC()
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC& aUri,
+ const TThumbnailId aThumbnailId, const TDesC& aMimeType )
+ {
+ CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
+ CleanupStack::PushL( self );
+ self->ConstructL( aUri, aMimeType, aThumbnailId );
+ return self;
+ }
+
// ---------------------------------------------------------------------------
// CThumbnailObjectSourceImpl::Bitmap()
// ---------------------------------------------------------------------------
@@ -319,18 +320,4 @@
return temp;
}
-// ---------------------------------------------------------------------------
-// CThumbnailObjectSourceImpl::TargetUri()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CThumbnailObjectSource::TargetUri()
- {
- if ( iTargetUri )
- {
- return * iTargetUri;
- }
- return KNullDesC;
- }
-
-
// End of file
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailrequestactive.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailrequestactive.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -47,7 +47,6 @@
{
iTimer->Cancel();
}
-
delete iTimer;
iTimer = NULL;
@@ -164,14 +163,6 @@
TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iPath );
CleanupClosePushL( iFile );
-
- if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
- {
- // We may need the file handle later for the 2nd phase thumbnail
- iMyFileHandle.Close();
- User::LeaveIfError( iMyFileHandle.Duplicate( iFile ));
- }
-
iSession.RequestThumbnailL( iFile, iPath, iParamsPckg, iStatus );
CleanupStack::PopAndDestroy( &iFile );
}
@@ -206,14 +197,6 @@
TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iTargetUri );
CleanupClosePushL( iFile );
-
- if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
- {
- // We may need the file handle later for the 2nd phase thumbnail
- iMyFileHandle.Close();
- User::LeaveIfError( iMyFileHandle.Duplicate( iFile ));
- }
-
iSession.RequestThumbnailL( iFile, iTargetUri, iParamsPckg, iStatus );
CleanupStack::PopAndDestroy( &iFile );
break;
@@ -237,29 +220,6 @@
iSession.RenameThumbnails( iParamsPckg, iStatus );
break;
}
- case EReqSetThumbnailPath:
- {
- // open file handle
- iFile.Close();
- User::LeaveIfError( iFile.Open( iFs, iParams.iFileName, EFileShareReadersOrWriters ) );
-
- TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iParams.iFileName );
-
- CleanupClosePushL( iFile );
-
- if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
- {
- // We may need the file handle later for the 2nd phase thumbnail
- iMyFileHandle.Close();
- User::LeaveIfError( iMyFileHandle.Duplicate( iFile ));
- }
-
- iSession.RequestThumbnailL( iFile, iTargetUri, iParamsPckg, iStatus );
- CleanupStack::PopAndDestroy( &iFile );
-
- break;
- }
-
default:
{
break;
@@ -634,7 +594,7 @@
}
}
#endif
- TN_DEBUG3( "CThumbnaiRequestActive::HandleError() - iObserver.ThumbnailReady req=%d err=%d", iParams.iRequestId, iError );
+ TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - iObserver.ThumbnailReady %d", iParams.iRequestId );
iObserver.ThumbnailReady( iError, *iCallbackThumbnail, iParams.iRequestId );
}
@@ -659,7 +619,7 @@
// ---------------------------------------------------------------------------
//
void CThumbnailRequestActive::GetThumbnailL( const RFile64& aFile, TThumbnailId aThumbnailId,
- const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
+ CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
@@ -680,7 +640,6 @@
EThumbnailGeneratePersistentSizesOnly :
EThumbnailNoControlFlags);
iParams.iOriginalControlFlags = iParams.iControlFlags;
- iParams.iMimeType = TDataType( aMimeType );
iParams.iBitmapHandle = 0;
iParams.iSize = aSize;
iParams.iDisplayMode = aDisplayMode;
@@ -692,20 +651,10 @@
iParams.iThumbnailSize = aThumbnailSize;
iParams.iThumbnailId = aThumbnailId;
iParams.iOverwrite = EFalse;
- iParams.iImport = EFalse;
User::LeaveIfError( iFile.Duplicate( aFile ));
iTargetUri = aTargetUri;
-
- if (iParams.iFileName.Length() && IsVirtualUri(iParams.iFileName))
- {
- iParams.iVirtualUri = ETrue;
- }
- else
- {
- iParams.iVirtualUri = EFalse;
- }
}
@@ -715,8 +664,8 @@
// ---------------------------------------------------------------------------
//
void CThumbnailRequestActive::GetThumbnailL( TThumbnailId aThumbnailId,
- const TDesC& aPath, const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags,
- CThumbnailManager::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
+ const TDesC& aPath, CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
+ ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
{
@@ -727,7 +676,6 @@
EThumbnailGeneratePersistentSizesOnly :
EThumbnailNoControlFlags);
iParams.iOriginalControlFlags = iParams.iControlFlags;
- iParams.iMimeType = TDataType( aMimeType );
iParams.iBitmapHandle = 0;
iParams.iSize = aSize;
iParams.iDisplayMode = aDisplayMode;
@@ -739,18 +687,8 @@
iParams.iThumbnailSize = aThumbnailSize;
iParams.iThumbnailId = aThumbnailId;
iParams.iOverwrite = EFalse;
- iParams.iImport = EFalse;
iTargetUri = aTargetUri;
-
- if (iPath.Length() && IsVirtualUri(iPath))
- {
- iParams.iVirtualUri = ETrue;
- }
- else
- {
- iParams.iVirtualUri = EFalse;
- }
}
@@ -760,7 +698,7 @@
// ---------------------------------------------------------------------------
//
void CThumbnailRequestActive::GetThumbnailL( const TDesC& aPath, TThumbnailId aThumbnailId,
- const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
+ CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
@@ -772,7 +710,6 @@
EThumbnailGeneratePersistentSizesOnly :
EThumbnailNoControlFlags);
iParams.iOriginalControlFlags = iParams.iControlFlags;
- iParams.iMimeType = TDataType( aMimeType );
iParams.iBitmapHandle = 0;
iParams.iSize = aSize;
iParams.iDisplayMode = aDisplayMode;
@@ -784,19 +721,9 @@
iParams.iThumbnailId = aThumbnailId;
iParams.iFileName = aPath;
iParams.iOverwrite = EFalse;
- iParams.iImport = EFalse;
iPath = aPath;
iTargetUri = aTargetUri;
-
- if (iPath.Length() && IsVirtualUri(iPath))
- {
- iParams.iVirtualUri = ETrue;
- }
- else
- {
- iParams.iVirtualUri = EFalse;
- }
}
// ---------------------------------------------------------------------------
@@ -830,18 +757,8 @@
iParams.iQualityPreference = aQualityPreference;
iParams.iThumbnailId = aThumbnailId;
iParams.iOverwrite = aOverwrite;
- iParams.iImport = EFalse;
iTargetUri = aTargetUri;
-
- if (iTargetUri.Length() && IsVirtualUri(iTargetUri))
- {
- iParams.iVirtualUri = ETrue;
- }
- else
- {
- iParams.iVirtualUri = EFalse;
- }
}
// ---------------------------------------------------------------------------
@@ -872,19 +789,9 @@
iParams.iThumbnailId = aThumbnailId;
iParams.iFileName = aTargetUri;
iParams.iOverwrite = aOverwrite;
- iParams.iImport = EFalse;
iTargetUri = aTargetUri;
- if (iTargetUri.Length() && IsVirtualUri(iTargetUri))
- {
- iParams.iVirtualUri = ETrue;
- }
- else
- {
- iParams.iVirtualUri = EFalse;
- }
-
TInt memoryFree( 0 );
HAL::Get( HALData::EMemoryRAMFree, memoryFree );
@@ -897,7 +804,7 @@
iParams.iMimeType = TDataType( aMimeType );
iRequestType = EReqSetThumbnailBitmap;
}
- else if (!iParams.iVirtualUri)
+ else
{
// memory low, create thumbs using filehandle
TN_DEBUG1( "CThumbnaiRequestActive::SetThumbnailbyBitmap() - memory low, create thumbs using filehandle!" );
@@ -906,10 +813,6 @@
iParams.iPriority = aPriority - 1;
iRequestType = EReqGetThumbnailHandleLater;
}
- else
- {
- User::Leave(KErrNoMemory);
- }
}
// ---------------------------------------------------------------------------
@@ -935,8 +838,6 @@
iParams.iQualityPreference = aQualityPreference;
iParams.iThumbnailId = aThumbnailId;
iParams.iOverwrite = EFalse;
- iParams.iVirtualUri = EFalse;
- iParams.iImport = EFalse;
iPath = aPath;
iOrientation = aOrientation;
@@ -977,51 +878,6 @@
}
// ---------------------------------------------------------------------------
-// CThumbnailRequestActive::SetThumbnailL()
-// Set thumbnail from file path.
-// ---------------------------------------------------------------------------
-//
-void CThumbnailRequestActive::SetThumbnailL( const TDesC& aPath, const TDesC8& aMimeType,
- CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
- ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
- TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData,
- TBool aGeneratePersistentSizesOnly, const TDesC& aTargetUri,
- TThumbnailSize aThumbnailSize, TBool aOverwrite)
- {
- iRequestType = EReqSetThumbnailPath;
-
- iClientData = aClientData;
- iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
- EThumbnailGeneratePersistentSizesOnly :
- EThumbnailNoControlFlags);
- iParams.iOriginalControlFlags = iParams.iControlFlags;
- iParams.iMimeType = TDataType( aMimeType );
- iParams.iBitmapHandle = 0;
- iParams.iSize = aSize;
- iParams.iDisplayMode = aDisplayMode;
- iParams.iFileName = aPath;
- iParams.iRequestId = iRequestId;
- iParams.iPriority = aPriority;
- iParams.iFlags = aFlags;
- iParams.iQualityPreference = aQualityPreference;
- iParams.iThumbnailSize = aThumbnailSize;
- iParams.iOverwrite = aOverwrite;
-
- iTargetUri = aTargetUri;
-
- if (iTargetUri.Length() && IsVirtualUri(iTargetUri))
- {
- iParams.iVirtualUri = ETrue;
- }
- else
- {
- iParams.iVirtualUri = EFalse;
- }
-
- iParams.iImport = ETrue;
- }
-
-// ---------------------------------------------------------------------------
// Request 2nd phase thumbnail
// ---------------------------------------------------------------------------
//
@@ -1114,26 +970,4 @@
return KErrNone;
}
-// ---------------------------------------------------------------------------
-// CThumbnailRequestActive::IsVirtualUri()
-// Checks if URI is virtual.
-// ---------------------------------------------------------------------------
-//
-TBool CThumbnailRequestActive::IsVirtualUri( const TDesC& aPath )
- {
- TInt pos = aPath.Find(KBackSlash);
-
- // normal URI
- if ( pos == 2 )
- {
- return EFalse;
- }
- // virtual URI
- else
- {
- TN_DEBUG1( "CThumbnailRequestActive::IsVirtualUri() - yes");
- return ETrue;
- }
- }
-
// End of file
--- a/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailrequestqueue.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailrequestqueue.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -163,7 +163,6 @@
// delete completed task
TN_DEBUG3( "CThumbnailRequestQueue::RemoveCompleted() - deleted id = %d (0x%08x)", request->RequestId(), request);
delete request;
- request = NULL;
iRequests.Remove( i );
}
}
@@ -204,7 +203,6 @@
else
{
delete request;
- request = NULL;
iRequests.Remove( i );
TN_DEBUG2( "CThumbnailRequestQueue::CancelRequest() - removed request ID: %d", aRequestId);
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailcenrep.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailcenrep.h Wed Oct 13 14:53:56 2010 +0300
@@ -142,7 +142,7 @@
};
public:
- enum TThumbnailSourceType { EUnknownSourceType, EImage, EVideo, EAudio, EContact };
+ enum TThumbnailSourceType { EUnknownSourceType, EImage, EVideo, EAudio };
enum TThumbnailSizeType { EUnknownSizeType, EGrid, EList, EFullscreen };
public:
@@ -203,10 +203,7 @@
TBool iVideoFullscreen;
TBool iAudioGrid;
TBool iAudioList;
- TBool iAudioFullscreen;
- TBool iContactGrid;
- TBool iContactList;
- TBool iContactFullscreen;
+ TBool iAudioFullscreen;
};
#endif // THUMBNAILCENREP_H
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailfetchedchecker.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailfetchedchecker.h Wed Oct 13 14:53:56 2010 +0300
@@ -18,7 +18,6 @@
#define THUMBNAILFETCHEDCHECKER_H
#include <e32base.h>
-#include <thumbnailmanager.h>
NONSHARABLE_CLASS( CThumbnailFetchedChecker ): public CBase
{
@@ -26,10 +25,8 @@
static CThumbnailFetchedChecker* NewL();
virtual ~CThumbnailFetchedChecker();
public:
- TInt LastFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize );
- void SetFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError );
- void DeleteFetchResult( const TDesC& aUri );
- void RenameFetchResultL( const TDesC& aNewUri, const TDesC& aOldUri );
+ TInt LastFetchResult( const TDesC& aUri );
+ void SetFetchResult( const TDesC& aUri, TInt aError );
void Reset();
private:
CThumbnailFetchedChecker();
@@ -37,15 +34,13 @@
NONSHARABLE_CLASS( CEntry ) : public CBase
{
public:
- static CEntry* NewL( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError );
- static TInt FindCB( const CEntry& aEntry1, const CEntry& aEntry );
- static TInt FindCBUri( const TDesC* aUri, const CEntry& aEntry );
+ static CEntry* NewL( const TDesC& aUri, TInt aError );
+ static TInt FindCB( const TDesC* aUri, const CEntry& aEntry );
static TInt InsertCB( const CEntry& aEntry1, const CEntry& aEntry2 );
CEntry();
virtual ~CEntry();
public:
HBufC* iUri;
- TInt32 iSize;
TInt iError;
};
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailgeneratetask.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailgeneratetask.h Wed Oct 13 14:53:56 2010 +0300
@@ -33,7 +33,7 @@
* @since S60 v5.0
*/
class CThumbnailGenerateTask: public CThumbnailTask,
- public MThumbnailProviderObserver
+ public MThumbnailProviderObserver
{
public:
@@ -56,8 +56,7 @@
TDisplayMode aDisplayMode, TInt aPriority,
RArray < TThumbnailPersistentSize >* aMissingSizes, const TDesC& aTargetUri,
TThumbnailSize aThumbnailSize, const TInt64 aModified,
- const CThumbnailManager::TThumbnailQualityPreference aQualityPreference,
- TBool aImportVirtual );
+ const CThumbnailManager::TThumbnailQualityPreference aQualityPreference );
/**
* Destructor.
@@ -234,9 +233,6 @@
TBool iPortrait;
TInt iBitmapHandle;
-
- // virtual uri
- TBool iVirtualUri;
};
#endif // THUMBNAILGENERATETASK_H
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailscaletask.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailscaletask.h Wed Oct 13 14:53:56 2010 +0300
@@ -59,7 +59,7 @@
TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri,
const TThumbnailSize aThumbnailSize, const TInt64 aModified,
const TBool aBitmapToPool, const TBool aEXIF,
- const TThumbnailServerRequestId aRequestId, const TBool aImportVirtual);
+ const TThumbnailServerRequestId aRequestId);
/**
* Destructor
@@ -131,7 +131,7 @@
aDisplayMode, TInt aPriority, const TDesC& aTargetUri,
const TThumbnailSize aThumbnailSize, const TInt64 aModified,
const TBool aBitmapToPool, const TBool aEXIF,
- const TThumbnailServerRequestId aRequestId, const TBool aImportVirtual);
+ const TThumbnailServerRequestId aRequestId);
/**
* Symbian 2nd phase constructor can leave.
@@ -278,9 +278,6 @@
* Is origin EXIF.
*/
TBool iEXIF;
-
- // virtual uri
- TBool iVirtualUri;
};
#endif // THUMBNAILSCALETASK_H
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailserver.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailserver.h Wed Oct 13 14:53:56 2010 +0300
@@ -63,7 +63,7 @@
while ( item )
{
- delete *item;
+ delete * item;
item = iter.NextValue();
}
aHashMap.Close();
@@ -168,8 +168,9 @@
*/
void StoreThumbnailL( const TDesC& aPath, CFbsBitmap* aBitmap, const TSize&
aOriginalSize, const TBool aCropped, const TThumbnailSize aThumbnailSize,
- const TInt64 aModified, const TBool aThumbFromPath,
- const TBool aCheckExist);
+ const TInt64 aModified,
+ const TBool aThumbFromPath = ETrue,
+ const TBool aCheckExist = ETrue);
/**
* Fetch thumbnail image.
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailsql.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailsql.h Wed Oct 13 14:53:56 2010 +0300
@@ -210,6 +210,6 @@
_LIT8( KThumbnailSelectAllPaths, "SELECT ThumbnailInfo.RowID,Path FROM ThumbnailInfo "
"WHERE NOT EXISTS (SELECT Path FROM ThumbnailDeleted "
"WHERE ThumbnailInfo.Path = ThumbnailDeleted.Path) "
- "AND ThumbFromPath = 1 AND ThumbnailInfo.RowID > :RowID ORDER BY ThumbnailInfo.RowID ASC LIMIT :Limit;" );
+ "AND ThumbnailInfo.RowID > :RowID ORDER BY ThumbnailInfo.RowID ASC LIMIT :Limit;" );
#endif // THUMBNAILSQL_H
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailstore.h Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailstore.h Wed Oct 13 14:53:56 2010 +0300
@@ -208,10 +208,9 @@
* @param aFs File server.
* @param aDrive Drive the store used for
* @param aCenter Pointer to cenrep data handler
- * @param aReadOnly flag is store write protected
* @return New CThumbnailStore instance.
*/
- static CThumbnailStore* NewL( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer, const TBool aReadOnly );
+ static CThumbnailStore* NewL( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer );
/**
* Destructor
@@ -233,7 +232,9 @@
*/
void StoreThumbnailL( const TDesC& aPath, CFbsBitmap* aThumbnail, const
TSize& aOriginalSize, TBool aCropped, const TThumbnailSize aThumbnailSize,
- const TInt64 aModified, const TBool aThumbFromPath, TBool aBlackListed);
+ const TInt64 aModified,
+ const TBool aThumbFromPath = ETrue,
+ TBool aBlackListed = EFalse );
/**
* Fetches thumbnail image.
@@ -359,11 +360,6 @@
* @contains indication whether file modified
*/
TBool CheckModifiedByPathL( const TDesC& aPath, const TInt64 aModified, TBool& modifiedChanged);
-
- /**
- * @return TBool is store write protected
- */
- TBool IsReadOnly();
private:
/**
@@ -372,10 +368,9 @@
* @since S60 v5.0
* @param aFs File server.
* @param aDrive Drive the store used for
- * @param aReadOnly set flag if store is write protected
* @return New CThumbnailStore instance.
*/
- CThumbnailStore( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer, const TBool aReadOnly);
+ CThumbnailStore( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer);
/**
* Symbian 2nd phase constructor can leave.
@@ -447,7 +442,7 @@
void StoreThumbnailL( const TDesC& aPath, const TDes8& aData, const TSize&
aSize, const TSize& aOriginalSize, const TThumbnailFormat& aFormat, TInt aFlags,
const TThumbnailSize& aThumbnailSize, const TInt64 aModified,
- const TBool aThumbFromPath);
+ const TBool aThumbFromPath = ETrue);
/**
* Finds possible existing duplicate thumbnail.
@@ -655,11 +650,6 @@
* How long previous flush took ms
*/
TInt iPreviousFlushDelay;
-
- /**
- * is store write protected
- */
- TBool iReadOnly;
};
// End of File
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailcenrep.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailcenrep.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -67,11 +67,6 @@
case EAudioFullScreenThumbnailSize:
iSourceType = EAudio;
break;
- case EContactGridThumbnailSize:
- case EContactListThumbnailSize:
- case EContactFullScreenThumbnailSize:
- iSourceType = EContact;
- break;
default:
iSourceType = EUnknownSourceType;
}
@@ -85,8 +80,7 @@
TThumbnailAutoCreate::TThumbnailAutoCreate()
: iImageGrid(EFalse), iImageList(EFalse), iImageFullscreen(EFalse),
iVideoGrid(EFalse), iVideoList(EFalse), iVideoFullscreen(EFalse),
- iAudioGrid(EFalse), iAudioList(EFalse), iAudioFullscreen(EFalse),
- iContactGrid(EFalse), iContactList(EFalse), iContactFullscreen(EFalse)
+ iAudioGrid(EFalse), iAudioList(EFalse), iAudioFullscreen(EFalse)
{
// No implementation required
}
@@ -113,9 +107,7 @@
{
iPersistentSizes.Close();
delete iAutoCreate;
- iAutoCreate = NULL;
delete iRepository;
- iRepository = NULL;
}
// ---------------------------------------------------------------------------
@@ -211,57 +203,6 @@
iPersistentSizes.AppendL( TThumbnailPersistentSize( EAudioFullScreenThumbnailSize, TSize( xSize, ySize ),
flags, static_cast <TDisplayMode> (raw_mode), format, autoCreate, TThumbnailPersistentSize::EFullscreen ));
-
-// Contact TN, set default values if not found
- if(iRepository->Get( KSizeContactGridWidth, xSize ) != KErrNone)
- {
- xSize = 54;
- }
- if( iRepository->Get( KSizeContactGridHeight, ySize ) != KErrNone)
- {
- ySize = 54;
- }
-
- if( iRepository->Get( KAutoCreateContactGrid, autoCreate ) != KErrNone)
- {
- autoCreate = 1;
- }
-
- iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactGridThumbnailSize, TSize( xSize, ySize ),
- KGridAndListThumbnailCropped, static_cast <TDisplayMode> (raw_mode), format, autoCreate, TThumbnailPersistentSize::EGrid ));
-
- if( iRepository->Get( KSizeContactListWidth, xSize ) != KErrNone)
- {
- xSize = 64;
- }
- if( iRepository->Get( KSizeContactListHeight, ySize ) != KErrNone)
- {
- ySize = 64;
- }
- if( iRepository->Get( KAutoCreateContactList, autoCreate ) != KErrNone)
- {
- autoCreate = 1;
- }
-
- iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactListThumbnailSize, TSize( xSize, ySize ),
- KGridAndListThumbnailCropped, static_cast <TDisplayMode> (raw_mode), format, autoCreate, TThumbnailPersistentSize::EList ));
-
- if( iRepository->Get( KSizeContactFullscreenWidth, xSize ) != KErrNone)
- {
- xSize = 250;
- }
- if( iRepository->Get( KSizeContactFullscreenHeight, ySize ) != KErrNone)
- {
- ySize = 250;
- }
- if( iRepository->Get( KAutoCreateContactFullscreen, autoCreate) != KErrNone)
- {
- autoCreate = 1;
- }
-
- iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactFullScreenThumbnailSize, TSize( xSize, ySize ),
- flags, static_cast <TDisplayMode> (raw_mode), format, autoCreate, TThumbnailPersistentSize::EFullscreen ));
-
iAutoCreate = new (ELeave) TThumbnailAutoCreate();
@@ -274,19 +215,6 @@
User::LeaveIfError( iRepository->Get( KAutoCreateAudioGrid, iAutoCreate->iAudioGrid ));
User::LeaveIfError( iRepository->Get( KAutoCreateAudioList, iAutoCreate->iAudioList ));
User::LeaveIfError( iRepository->Get( KAutoCreateAudioFullscreen, iAutoCreate->iAudioFullscreen ));
-
- if( iRepository->Get( KAutoCreateContactGrid, iAutoCreate->iContactGrid ) != KErrNone )
- {
- iAutoCreate->iContactGrid = 1;
- }
- if( iRepository->Get( KAutoCreateContactList, iAutoCreate->iContactList ) != KErrNone )
- {
- iAutoCreate->iContactList = 1;
- }
- if( iRepository->Get( KAutoCreateContactFullscreen, iAutoCreate->iContactFullscreen ) != KErrNone )
- {
- iAutoCreate->iContactFullscreen = 1;
- }
}
// ---------------------------------------------------------------------------
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailfetchedchecker.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailfetchedchecker.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -16,7 +16,6 @@
*/
#include "thumbnailfetchedchecker.h"
-#include "thumbnaillog.h"
const int KMaxStoredEntries = 100;
@@ -50,27 +49,13 @@
// CThumbnailFetchedChecker::LastFetchResult()
// -----------------------------------------------------------------------------
//
-TInt CThumbnailFetchedChecker::LastFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize )
+TInt CThumbnailFetchedChecker::LastFetchResult( const TDesC& aUri )
{
- TN_DEBUG3( "CThumbnailFetchedChecker::LastFetchResult(aUri=%S aThumbnailSize=%d)", &aUri, aThumbnailSize);
-
- CEntry* entry = NULL;
- TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, KErrNone ) );
- if ( !err && entry )
+ TInt i = iNotFetched.FindInOrder( aUri, CEntry::FindCB );
+ if ( i >= 0 && i < iNotFetched.Count() )
{
- TInt ret = iNotFetched.FindInOrder( entry, CEntry::FindCB );
- if ( ret != KErrNotFound )
- {
- TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> error found");
- delete entry;
- entry = NULL;
- return iNotFetched[ ret ]->iError;
- }
+ return iNotFetched[ i ]->iError;
}
-
- delete entry;
- entry = NULL;
-
return KErrNone;
}
@@ -78,44 +63,31 @@
// CThumbnailFetchedChecker::SetFetchResult()
// -----------------------------------------------------------------------------
//
-void CThumbnailFetchedChecker::SetFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError )
+void CThumbnailFetchedChecker::SetFetchResult( const TDesC& aUri, TInt aError )
{
- TN_DEBUG4( "CThumbnailFetchedChecker::SetFetchResult(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError);
if ( aError == KErrNone )
{
- // Remove successful results from store
- CEntry* entry = NULL;
- TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) );
- if ( !err && entry )
+ // Do not store successful results
+ TInt i = iNotFetched.FindInOrder( aUri, CEntry::FindCB );
+ if ( i >= 0 && i < iNotFetched.Count() )
{
- TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB );
- if ( i >= 0 )
- {
- TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Remove successful results from store %d", iNotFetched.Count() );
- delete iNotFetched[ i ];
- iNotFetched[ i ] = NULL;
- iNotFetched.Remove( i );
- }
+ delete iNotFetched[ i ];
+ iNotFetched.Remove( i );
}
- entry = NULL;
- delete entry;
}
else
{
-
// Add or update
CEntry* entry = NULL;
- TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) );
+ TRAPD( err, entry = CEntry::NewL( aUri, aError ) );
if ( !err && entry )
{
err = iNotFetched.Find( entry );
if ( err != KErrNotFound )
{
- // update existing fetch result
- TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB );
- if ( i >= 0 )
+ TInt i = iNotFetched.FindInOrder( aUri, CEntry::FindCB );
+ if ( i >= 0 && i < iNotFetched.Count() )
{
- TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> Update fetched tn error" );
iNotFetched[ i ]->iError = aError;
}
}
@@ -123,11 +95,9 @@
{
if( iNotFetched.Count() < KMaxStoredEntries )
{
- // insert new fetch result
TInt err = iNotFetched.InsertInOrder( entry, CEntry::InsertCB );
if ( err == KErrNone )
{
- TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Inserted new fetched tn error %d", iNotFetched.Count());
entry = NULL; // owned by array now
}
}
@@ -140,77 +110,25 @@
}
// -----------------------------------------------------------------------------
-// CThumbnailFetchedChecker::DeleteFetchResult()
-// -----------------------------------------------------------------------------
-//
-void CThumbnailFetchedChecker::DeleteFetchResult( const TDesC& aUri )
- {
- TN_DEBUG2( "CThumbnailFetchedChecker::DeleteFetchResult(%S)", &aUri);
- // delete all entries of passed uri
- TInt ret;
- do
- {
- ret = iNotFetched.FindInOrder( aUri, CEntry::FindCBUri );
- if ( ret >= 0 )
- {
- TN_DEBUG1( "CThumbnailFetchedChecker::DeleteFetchResult() -> Deteled URI from fetched list" );
- delete iNotFetched[ ret ];
- iNotFetched[ ret ] = NULL;
- iNotFetched.Remove( ret );
- }
- }
- while(ret != KErrNotFound );
-
- }
-
-// -----------------------------------------------------------------------------
-// CThumbnailFetchedChecker::LastFetchResult()
-// -----------------------------------------------------------------------------
-//
-void CThumbnailFetchedChecker::RenameFetchResultL( const TDesC& aNewUri, const TDesC& aOldUri )
- {
- TN_DEBUG3( "CThumbnailFetchedChecker::RenameFetchResult(aNewUri=%S aOldUri=%S)", &aNewUri, &aOldUri);
- // change every occurence of passed uri
- TInt ret;
- do
- {
- ret = iNotFetched.FindInOrder( aOldUri, CEntry::FindCBUri );
- if ( ret >= 0 )
- {
- delete iNotFetched[ ret ]->iUri;
- iNotFetched[ ret ]->iUri = NULL;
-
- iNotFetched[ ret ]->iUri = aNewUri.AllocL();
- TN_DEBUG1( "CThumbnailFetchedChecker::RenameeFetchResult() -> Renamed URI in fetched list" );
- }
- }
- while(ret != KErrNotFound );
-
- }
-
-// -----------------------------------------------------------------------------
// CThumbnailFetchedChecker::Reset()
// -----------------------------------------------------------------------------
//
void CThumbnailFetchedChecker::Reset()
{
- TN_DEBUG1( "CThumbnailFetchedChecker::Reset()");
iNotFetched.ResetAndDestroy();
}
// -----------------------------------------------------------------------------
-// CThumbnailFetchedChecker::CEntry::NewL()
+// CThumbnailFetchedChecker::CEntry::New()
// -----------------------------------------------------------------------------
//
CThumbnailFetchedChecker::CEntry* CThumbnailFetchedChecker::CEntry::NewL(
- const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError )
+ const TDesC& aUri, TInt aError )
{
- TN_DEBUG4( "CThumbnailFetchedChecker::CEntry::NewL(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError);
CEntry* self = new (ELeave) CEntry();
if ( self )
{
- self->iUri = aUri.AllocL();
- self->iSize = aThumbnailSize;
+ self->iUri = aUri.Alloc();
self->iError = aError;
if ( !self->iUri )
{
@@ -226,28 +144,8 @@
// -----------------------------------------------------------------------------
//
TInt CThumbnailFetchedChecker::CEntry::FindCB(
- const CThumbnailFetchedChecker::CEntry& aEntry, const CThumbnailFetchedChecker::CEntry& aEntry1 )
+ const TDesC* aUri, const CThumbnailFetchedChecker::CEntry& aEntry )
{
- TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::FindCB");
- if( aEntry1.iSize == aEntry.iSize)
- {
- // return index if size and uri matches
- return aEntry.iUri->CompareF( *( aEntry1.iUri ) );
- }
- else
- {
- return KErrNotFound;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CThumbnailFetchedChecker::CEntry::FindCBUri()
-// -----------------------------------------------------------------------------
-//
-TInt CThumbnailFetchedChecker::CEntry::FindCBUri(
- const TDesC* aUri, const CThumbnailFetchedChecker::CEntry& aEntry )
- {
- TN_DEBUG2( "CThumbnailFetchedChecker::CEntry::FindCBUri(aUri=%S", &aUri);
return aUri->CompareF( *( aEntry.iUri ) );
}
@@ -259,16 +157,7 @@
const CThumbnailFetchedChecker::CEntry& aEntry1,
const CThumbnailFetchedChecker::CEntry& aEntry2 )
{
- TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::InsertCB");
- if( aEntry1.iSize == aEntry2.iSize)
- {
- // return index if size and uri matches
- return aEntry1.iUri->CompareF( *( aEntry2.iUri ) );
- }
- else
- {
- return KErrNotFound;
- }
+ return aEntry1.iUri->CompareF( *( aEntry2.iUri ) );
}
// -----------------------------------------------------------------------------
@@ -286,5 +175,4 @@
CThumbnailFetchedChecker::CEntry::~CEntry()
{
delete iUri;
- iUri = NULL;
}
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailgeneratetask.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailgeneratetask.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -43,13 +43,12 @@
const TSize& aSize, TDisplayMode aDisplayMode, TInt aPriority,
RArray < TThumbnailPersistentSize >* aMissingSizes, const TDesC& aTargetUri,
TThumbnailSize aThumbnailSize, const TInt64 aModified,
- const CThumbnailManager::TThumbnailQualityPreference aQualityPreference,
- TBool aVirtualUri ):
+ const CThumbnailManager::TThumbnailQualityPreference aQualityPreference ):
CThumbnailTask( aProcessor, aPriority ), iServer( aServer ),
iFlags( aFlags ), iSize( aSize ), iDisplayMode( aDisplayMode ),
iMissingSizes( aMissingSizes ), iTargetUri( aTargetUri ),
iThumbnailSize( aThumbnailSize ), iModified(aModified),
- iQualityPreference( aQualityPreference ), iVirtualUri( aVirtualUri )
+ iQualityPreference( aQualityPreference )
{
TN_DEBUG2( "CThumbnailGenerateTask(0x%08x)::CThumbnailGenerateTask()", this);
@@ -95,7 +94,6 @@
{
iMissingSizes->Reset();
delete iMissingSizes;
- iMissingSizes = NULL;
}
if ( iBitmapHandle )
@@ -127,11 +125,11 @@
aStart.UniversalTime();
#endif
- TBuf8< KMaxDataTypeLength > mimeType;
-
- if ( (!iVirtualUri && iFilename.Right(KExtLength).CompareF(KNonEmbeddedArtExt) == 0) ||
- (iVirtualUri && iTargetUri.Right(KExtLength).CompareF(KContactExt) == 0) ) // tparse panics with virtual URI
- {
+ TParsePtrC parse(iFilename);
+ TPtrC ext(parse.Ext());
+ TBuf8< KMaxDataTypeLength > mimeType;
+ if (ext.CompareF(KNonEmbeddedArtExt)== 0)
+ {
mimeType.Copy( KImageMime );
}
else
@@ -140,7 +138,8 @@
}
iProvider = iServer.ResolveProviderL(mimeType);
- TN_DEBUG3( "CThumbnailGenerateTask(0x%08x) -- provider UID 0x%08x", this, iProvider->Uid());
+ TN_DEBUG3( "CThumbnailGenerateTask(0x%08x) -- provider UID 0x%08x", this,
+ iProvider->Uid());
__ASSERT_DEBUG(( iProvider ), ThumbnailPanic( EThumbnailNullPointer ));
@@ -198,7 +197,6 @@
void CThumbnailGenerateTask::DoCancel()
{
TN_DEBUG2( "CThumbnailGenerateTask(0x%08x)::DoCancel()", this );
-
if ( iProvider )
{
iProvider->CancelGetThumbnail();
@@ -330,31 +328,11 @@
// compTask is the scale task which returns the bitmap to the client
CThumbnailScaleTask* complTask = NULL;
- TInt err1 = KErrNone;
- TInt err2 = KErrNone;
- TBool isPublic = ETrue;
- TBool isPublic2 = ETrue;
-
- if(iFilename != KNullDesC)
- {
- TRAP(err1, iServer.StoreForPathL(iFilename));
-
- isPublic = iServer.IsPublicPath( iFilename );
- }
- if(iTargetUri != KNullDesC )
- {
- TRAP(err2, iServer.StoreForPathL(iTargetUri));
-
- isPublic2 = iServer.IsPublicPath( iTargetUri );
- }
-
- // check if need to create more than one scale task
if ( iMissingSizes )
{
const TInt count = iMissingSizes->Count();
- // scale small thumbs first, because fullscreen encoding takes longer
- for ( TInt i( count-1 ); i >= 0; i-- )
+ for ( TInt i( 0 ); i < count; i++ )
{
TThumbnailSize size = (*iMissingSizes)[ i ].iType;
#ifdef _DEBUG
@@ -366,8 +344,7 @@
if ( size == EFullScreenThumbnailSize ||
size == EVideoFullScreenThumbnailSize ||
size == EAudioFullScreenThumbnailSize ||
- size == EImageFullScreenThumbnailSize ||
- size == EContactFullScreenThumbnailSize )
+ size == EImageFullScreenThumbnailSize )
{
TN_DEBUG2( "*iMissingSizes)[ i ].iWidth == %d", (*iMissingSizes)[ i ].iSize.iWidth );
TN_DEBUG2( "*iMissingSizes)[ i ].iHeight == %d", (*iMissingSizes)[ i ].iSize.iHeight );
@@ -382,23 +359,41 @@
CThumbnailScaleTask* complTask = CThumbnailScaleTask::NewL( iProcessor, iServer, iFilename,
aBitmap, iOriginalSize, (*iMissingSizes)[ i ].iSize, (*iMissingSizes)[ i ].iCrop, iDisplayMode,
KMaxPriority, iTargetUri, (*iMissingSizes)[ i ].iType, iModified, iScaledBitmapToPool, iEXIF,
- iRequestId, iVirtualUri);
+ iRequestId);
CleanupStack::PushL( complTask );
+ TInt err1 = KErrNone;
+ TInt err2 = KErrNone;
+
+ if(iFilename != KNullDesC)
+ {
+ TRAP(err1, iServer.StoreForPathL(iFilename));
+ }
+
+ if(iTargetUri != KNullDesC )
+ {
+ TRAP(err2, iServer.StoreForPathL(iTargetUri));
+ }
// if trying to access Z drive, don't try to store
// don't want to store custom sizes
- // don't store if from private directory
- if( !isPublic || !isPublic2 ||
- err1 == KErrAccessDenied || err2 == KErrAccessDenied ||
- (*iMissingSizes)[ i ].iType == ECustomThumbnailSize ||
- (*iMissingSizes)[ i ].iType == EUnknownThumbnailSize )
+ if( err1 == KErrAccessDenied || err2 == KErrAccessDenied ||
+ (*iMissingSizes)[ i ].iType == ECustomThumbnailSize ||
+ (*iMissingSizes)[ i ].iType == EUnknownThumbnailSize )
{
complTask->SetDoStore( EFalse );
TN_DEBUG2( "CThumbnailGenerateTask(0x%08x)::CreateScaleTasksL() - do not store", this );
}
else
{
- complTask->SetDoStore( ETrue );
+ if(iFilename != KNullDesC)
+ {
+ complTask->SetDoStore(iServer.IsPublicPath( iFilename ));
+ }
+
+ if(iTargetUri != KNullDesC)
+ {
+ complTask->SetDoStore(iServer.IsPublicPath( iTargetUri ));
+ }
}
iProcessor.AddTaskL( complTask );
@@ -420,8 +415,7 @@
if ( iThumbnailSize == EFullScreenThumbnailSize ||
iThumbnailSize == EVideoFullScreenThumbnailSize ||
iThumbnailSize == EAudioFullScreenThumbnailSize ||
- iThumbnailSize == EImageFullScreenThumbnailSize ||
- iThumbnailSize == EContactFullScreenThumbnailSize)
+ iThumbnailSize == EImageFullScreenThumbnailSize )
{
TInt width = iSize.iWidth;
iSize.iWidth = iSize.iHeight;
@@ -432,14 +426,22 @@
complTask = CThumbnailScaleTask::NewL( iProcessor, iServer, iFilename,
aBitmap, iOriginalSize, iSize, iFlags& CThumbnailManager
::ECropToAspectRatio, iDisplayMode, KMaxPriority, iTargetUri,
- iThumbnailSize, iModified, iScaledBitmapToPool, iEXIF, iRequestId,
- iVirtualUri);
+ iThumbnailSize, iModified, iScaledBitmapToPool, iEXIF, iRequestId );
CleanupStack::PushL( complTask );
+ TInt err1 = KErrNone;
+ TInt err2 = KErrNone;
+ if(iFilename != KNullDesC)
+ {
+ TRAP(err1, iServer.StoreForPathL(iFilename));
+ }
+ if(iTargetUri != KNullDesC)
+ {
+ TRAP(err2, iServer.StoreForPathL(iTargetUri));
+ }
// if trying to access Z drive, don't try to store
// don't want to store custom sizes
- if( !isPublic || !isPublic2 ||
- err1 == KErrAccessDenied || err2 == KErrAccessDenied ||
+ if( err1 == KErrAccessDenied || err2 == KErrAccessDenied ||
iThumbnailSize == ECustomThumbnailSize ||
iThumbnailSize == EUnknownThumbnailSize )
{
@@ -448,7 +450,15 @@
}
else
{
- complTask->SetDoStore( ETrue );
+ if(iFilename != KNullDesC)
+ {
+ complTask->SetDoStore(iServer.IsPublicPath( iFilename ));
+ }
+
+ if(iTargetUri != KNullDesC)
+ {
+ complTask->SetDoStore(iServer.IsPublicPath( iTargetUri ));
+ }
}
iProcessor.AddTaskL( complTask );
@@ -496,16 +506,16 @@
if(iFilename != KNullDesC)
{
iServer.StoreForPathL( iFilename )->StoreThumbnailL(
- iFilename, tempBitmap, aOriginalSize, EFalse, iThumbnailSize, iModified, !iVirtualUri, ETrue );
+ iFilename, tempBitmap, aOriginalSize, EFalse, iThumbnailSize, iModified, EFalse, ETrue );
//remove result from fetched checker
- iServer.FetchedChecker().SetFetchResult( iFilename, iThumbnailSize, KErrNone );
+ iServer.FetchedChecker().SetFetchResult( iFilename, KErrNone );
}
else if(iTargetUri != KNullDesC)
{
iServer.StoreForPathL( iTargetUri )->StoreThumbnailL(
- iTargetUri, tempBitmap, aOriginalSize, EFalse, iThumbnailSize, iModified, !iVirtualUri, ETrue );
+ iTargetUri, tempBitmap, aOriginalSize, EFalse, iThumbnailSize, iModified, EFalse, ETrue );
//remove result from fetched checker
- iServer.FetchedChecker().SetFetchResult( iTargetUri, iThumbnailSize, KErrNone );
+ iServer.FetchedChecker().SetFetchResult( iTargetUri, KErrNone );
}
CleanupStack::PopAndDestroy( tempBitmap );
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailmdsquerytask.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailmdsquerytask.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -36,7 +36,7 @@
//
CThumbnailMDSQueryTask::CThumbnailMDSQueryTask(
CThumbnailTaskProcessor& aProcessor, TInt aPriority, CMdESession* aMdESession, CThumbnailServer& aServer):
- CThumbnailTask( aProcessor, aPriority ), iMdESession( aMdESession ), iQuery(NULL), iServer(aServer), iUpdateToDb(ETrue)
+ CThumbnailTask( aProcessor, aPriority ), iMdESession( aMdESession ), iServer(aServer), iUpdateToDb(ETrue)
{
TN_DEBUG2( "CThumbnailMDSQueryTask(0x%08x)::CThumbnailMDSQueryTask()", this );
}
@@ -55,7 +55,6 @@
{
iQuery->Cancel();
delete iQuery;
- iQuery = NULL;
}
}
@@ -183,21 +182,14 @@
CMdENamespaceDef* defNamespace = &iMdESession->GetDefaultNamespaceDefL();
CMdEObjectDef& objDef = defNamespace->GetObjectDefL( MdeConstants::Object::KBaseObject );
- delete iQuery;
- iQuery = NULL;
+ iQuery = iMdESession->NewObjectQueryL( *defNamespace, objDef, this );
+ iQuery->SetResultMode( EQueryResultModeItem );
+
+ CMdELogicCondition& rootCondition = iQuery->Conditions();
+ rootCondition.SetOperator( ELogicConditionOperatorOr );
- iQuery = iMdESession->NewObjectQueryL( *defNamespace, objDef, this );
-
- if(iQuery)
- {
- iQuery->SetResultMode( EQueryResultModeItem );
-
- CMdELogicCondition& rootCondition = iQuery->Conditions();
- rootCondition.SetOperator( ELogicConditionOperatorOr );
-
- // add ID condition
- rootCondition.AddObjectConditionL( aId );
- }
+ // add ID condition
+ rootCondition.AddObjectConditionL( aId );
}
// ---------------------------------------------------------------------------
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailscaletask.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailscaletask.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -42,15 +42,14 @@
aBitmap, const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop,
TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri,
const TThumbnailSize aThumbnailSize, const TInt64 aModified,
- TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId,
- const TBool aImportVirtual)
+ TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId)
{
// We take ownership of aBitmap
CleanupStack::PushL( aBitmap );
CThumbnailScaleTask* self = new( ELeave )CThumbnailScaleTask( aProcessor,
aServer, aFilename, aBitmap, aOriginalSize, aTargetSize, aCrop,
aDisplayMode, aPriority, aTargetUri, aThumbnailSize, aModified,
- aBitmapToPool, aEXIF, aRequestId, aImportVirtual);
+ aBitmapToPool, aEXIF, aRequestId);
CleanupStack::Pop( aBitmap );
CleanupStack::PushL( self );
self->ConstructL();
@@ -69,13 +68,12 @@
const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop,
TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri,
const TThumbnailSize aThumbnailSize, const TInt64 aModified,
- TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId,
- const TBool aVirtualUri):
+ TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId):
CThumbnailTask( aProcessor, aPriority ), iServer( aServer ), iOwnBitmap( aBitmap ),
iOriginalSize( aOriginalSize ), iTargetSize(aTargetSize), iTargetSizeTN( aTargetSize ), iCrop( aCrop ),
iDisplayMode( aDisplayMode ), iFilename( aFilename ), iTargetUri( aTargetUri ),
iThumbnailSize(aThumbnailSize), iModified(aModified),
- iBitmapToPool(aBitmapToPool), iEXIF(aEXIF), iVirtualUri( aVirtualUri )
+ iBitmapToPool(aBitmapToPool), iEXIF(aEXIF)
{
TN_DEBUG2( "CThumbnailScaleTask(0x%08x)::CThumbnailScaleTask()", this );
@@ -121,7 +119,6 @@
// Scaled bitmap is owned by us, delete now
delete iScaledBitmap;
- iScaledBitmap = NULL;
}
@@ -241,8 +238,7 @@
if ( (iThumbnailSize == EFullScreenThumbnailSize ||
iThumbnailSize == EImageFullScreenThumbnailSize ||
iThumbnailSize == EVideoFullScreenThumbnailSize ||
- iThumbnailSize == EAudioFullScreenThumbnailSize ||
- iThumbnailSize == EContactFullScreenThumbnailSize) &&
+ iThumbnailSize == EAudioFullScreenThumbnailSize) &&
iOriginalSize.iHeight < iTargetSize.iHeight &&
iOriginalSize.iWidth < iTargetSize.iWidth )
{
@@ -352,20 +348,17 @@
if (iFilename != KNullDesC && iFilename.CompareF(iTargetUri) == 0)
{
// filename and target URI match, so thumb created from associated path
- iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop,
- iThumbnailSize, iModified, !iVirtualUri, !iVirtualUri );
+ iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, ETrue );
}
else
{
// thumb not created from associated path
- iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop,
- iThumbnailSize, iModified, !iVirtualUri, EFalse );
+ iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, EFalse, EFalse );
}
}
else if (iFilename != KNullDesC)
{
- iServer.StoreThumbnailL( iFilename, iScaledBitmap, iOriginalSize, iCrop,
- iThumbnailSize, iModified, !iVirtualUri, !iVirtualUri );
+ iServer.StoreThumbnailL( iFilename, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, ETrue );
}
}
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserver.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserver.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -43,7 +43,6 @@
_LIT8( KThumbnailMimeImage, "image" );
_LIT8( KThumbnailMimeVideo, "video" );
_LIT8( KThumbnailMimeAudio, "audio" );
-_LIT8( KThumbnailMimeContact, "contact" );
const TChar KThumbnailMimeSeparatorChar = '/';
const TChar KThumbnailMimeWildCardChar = '*';
@@ -416,7 +415,6 @@
"CThumbnailServer::ThreadFunctionL() -- CActiveScheduler::Start() out" );
// Comes here if server gets shut down
delete server;
- server = NULL;
CleanupStack::PopAndDestroy( scheduler );
}
}
@@ -463,7 +461,7 @@
{
TN_DEBUG2( "CThumbnailServer::DropSession() - ref->iSession = 0x%08x", ref->iSession );
- delete ref->iBitmap;
+ delete ref->iBitmap;
bpiter.RemoveCurrent();
TN_DEBUG2( "CThumbnailServer::DropSession() - deleted bitmap, left=%d", iBitmapPool.Count());
@@ -560,12 +558,12 @@
if (!aCheckExist)
{
StoreForPathL( aPath )->StoreThumbnailL( aPath, aBitmap, aOriginalSize,
- aCropped, aThumbnailSize, aModified, aThumbFromPath, EFalse );
+ aCropped, aThumbnailSize, aModified, aThumbFromPath );
}
else if(BaflUtils::FileExists( iFs, aPath))
{
StoreForPathL( aPath )->StoreThumbnailL( aPath, aBitmap, aOriginalSize,
- aCropped, aThumbnailSize, aModified, aThumbFromPath, EFalse );
+ aCropped, aThumbnailSize, aModified, aThumbFromPath );
}
else
{
@@ -574,7 +572,7 @@
if( iFetchedChecker )
{
- iFetchedChecker->SetFetchResult( aPath, aThumbnailSize, KErrNone );
+ iFetchedChecker->SetFetchResult( aPath, KErrNone );
}
}
@@ -589,7 +587,7 @@
TN_DEBUG3( "CThumbnailServer::FetchThumbnailL(aPath=%S aThumbnailSize=%d)", &aPath, aThumbnailSize );
if( iFetchedChecker )
{
- TInt err( iFetchedChecker->LastFetchResult( aPath, aThumbnailSize ) );
+ TInt err( iFetchedChecker->LastFetchResult( aPath ) );
if ( err == KErrNone ) // To avoid useless sql gets that fails for sure
{
// custom sizes are not stored to db, skip fetching
@@ -601,7 +599,7 @@
TRAP( err, StoreForPathL( aPath )->FetchThumbnailL( aPath, aThumbnail, aData, aThumbnailSize, aOriginalSize) );
if ( err != KErrNone )
{
- iFetchedChecker->SetFetchResult( aPath, aThumbnailSize, err );
+ iFetchedChecker->SetFetchResult( aPath, err );
}
}
User::LeaveIfError( err );
@@ -670,7 +668,7 @@
if( iFetchedChecker )
{
- iFetchedChecker->DeleteFetchResult( aPath );
+ iFetchedChecker->SetFetchResult( aPath, KErrNone );
}
}
@@ -856,7 +854,7 @@
if ( ref->iSession == aRequestId.iSession &&
ref->iRequestId == aRequestId.iRequestId )
{
- delete ref->iBitmap;
+ delete ref->iBitmap;
bpiter.RemoveCurrent();
TN_DEBUG2( "CThumbnailServer::DequeTask() - deleted bitmap, left=%d",
@@ -948,7 +946,7 @@
}
else
{
- if( iFormatting )
+ if(iFormatting)
{
TN_DEBUG1( "CThumbnailServer::StoreForDriveL() - FORMATTING! - ABORT");
User::Leave( KErrNotSupported );
@@ -957,31 +955,17 @@
TVolumeInfo volumeInfo;
TInt err = iFs.Volume( volumeInfo, aDrive );
- if ( err )
- {
- // Locked
- TN_DEBUG2( "CThumbnailServer::StoreForDriveL() - err %d", err);
- User::Leave( err);
- }
- else if( volumeInfo.iDrive.iMediaAtt& KMediaAttLocked )
- {
- TN_DEBUG1( "CThumbnailServer::StoreForDriveL() - locked");
- User::Leave( KErrAccessDenied );
- }
- else if ( volumeInfo.iDrive.iDriveAtt& KDriveAttRom ||
+ if ( err || volumeInfo.iDrive.iDriveAtt& KDriveAttRom ||
volumeInfo.iDrive.iDriveAtt& KDriveAttRemote ||
- volumeInfo.iDrive.iMediaAtt& KMediaAttWriteProtected )
+ volumeInfo.iDrive.iMediaAtt& KMediaAttWriteProtected ||
+ volumeInfo.iDrive.iMediaAtt& KMediaAttLocked )
{
- // We support ROM disks and remote disks in read only mode.
- TN_DEBUG1( "CThumbnailServer::StoreForDriveL() - rom/remote/write protected");
- res = CThumbnailStore::NewL( iFs, aDrive, iImei, this, ETrue );
+ // We don't support ROM disks or remote mounts. Media
+ // must be read-write and not locked.
+ User::Leave( KErrAccessDenied);
}
- else
- {
- TN_DEBUG1( "CThumbnailServer::StoreForDriveL() - normal");
- res = CThumbnailStore::NewL( iFs, aDrive, iImei, this, EFalse );
- }
-
+
+ res = CThumbnailStore::NewL( iFs, aDrive, iImei, this );
CleanupStack::PushL( res );
iStores.InsertL( aDrive, res );
res->SetPersistentSizes(iPersistentSizes);
@@ -1075,7 +1059,6 @@
if (store)
{
delete *store;
- *store = NULL;
iStores.Remove( aDrive );
}
}
@@ -1164,7 +1147,7 @@
// If drive-list entry is zero, drive is not available
continue;
}
-
+
TInt err = iFs.Volume(volumeInfo, drive);
TInt err_drive = iFs.Drive(driveInfo, drive);
@@ -1279,45 +1262,62 @@
TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL()");
// 1. check path change
- // 2. check timestamp change
+ // 2. check orientation change
+ // 3. check timestamp change
+
+ TBool orientationChanged = EFalse;
TBool modifiedChanged = EFalse;
CThumbnailStore* store = StoreForPathL( aPath );
- TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - exist");
-
- TBool exists = store->CheckModifiedByPathL(aPath, aModified, modifiedChanged);
-
- if(!exists)
- {
- TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - exists NO");
- //not found, needs to be generated
- return EFalse;
- }
-
- TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - modified ?");
+ // placeholder for orientation check
+ orientationChanged = EFalse;
- if (modifiedChanged)
+ if (orientationChanged)
{
- TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - modified YES");
-
- // delete old thumbs
- store->DeleteThumbnailsL(aPath, ETrue);
-
- if( iFetchedChecker )
- {
- iFetchedChecker->DeleteFetchResult( aPath );
- }
-
- // need to create new thumbs
+ TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - orientation updated");
+
+ // orientation updated, no need to check further
+ return ETrue;
}
else
{
- TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - modified NO");
+ TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - exist");
+
+ TBool exists = store->CheckModifiedByPathL(aPath, aModified, modifiedChanged);
+
+ if(!exists)
+ {
+ TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - exists NO");
+ //not found, needs to be generated
+ return EFalse;
+ }
+
+ TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - modified ?");
- // not modified
- return ETrue;
+ if (modifiedChanged)
+ {
+ TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - modified YES");
+
+ // delete old thumbs
+ store->DeleteThumbnailsL(aPath, ETrue);
+
+ if( iFetchedChecker )
+ {
+ iFetchedChecker->SetFetchResult( aPath, KErrNone );
+ }
+
+ // need to create new thumbs
+ }
+ else
+ {
+ TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - modified NO");
+
+ // not modified
+ return ETrue;
+ }
}
+
TN_DEBUG1( "CThumbnailServer::UpdateThumbnailsL() - no thumbs found, create new");
@@ -1336,7 +1336,8 @@
if( iFetchedChecker )
{
- iFetchedChecker->RenameFetchResultL( aNewPath, aCurrentPath );
+ iFetchedChecker->SetFetchResult( aNewPath, iFetchedChecker->LastFetchResult(aCurrentPath) );
+ iFetchedChecker->SetFetchResult( aCurrentPath, KErrNone );
}
}
@@ -1347,7 +1348,8 @@
TInt CThumbnailServer::MimeTypeFromFileExt( const TDesC& aFileName, TDataType& aMimeType )
{
TBool found = ETrue;
- TPtrC ext( aFileName.Right(KExtLength) ); // tparse panics with virtual URI
+ TParsePtrC parse( aFileName );
+ TPtrC ext( parse.Ext() );
if ( ext.CompareF( KJpegExt ) == 0 || ext.CompareF( KJpgExt ) == 0)
{
@@ -1461,14 +1463,6 @@
{
aMimeType = TDataType( KMatroskaVideoMime );
}
- else if ( ext.CompareF( KContactExt ) == 0 )
- {
- aMimeType = TDataType( KContactMime );
- }
- else if ( ext.CompareF( KAlbumArtExt ) == 0 )
- {
- aMimeType = TDataType( KAlbumArtMime );
- }
else
{
aMimeType = TDataType( KNullDesC8 );
@@ -1506,10 +1500,6 @@
{
return TThumbnailPersistentSize::EAudio;
}
- else if (mediaType.Compare(KThumbnailMimeContact) == 0)
- {
- return TThumbnailPersistentSize::EContact;
- }
return TThumbnailPersistentSize::EUnknownSourceType;
}
@@ -1539,11 +1529,6 @@
case EAudioFullScreenThumbnailSize:
sourceType = TThumbnailPersistentSize::EAudio;
break;
- case EContactListThumbnailSize:
- case EContactGridThumbnailSize:
- case EContactFullScreenThumbnailSize:
- sourceType = TThumbnailPersistentSize::EContact;
- break;
default:
sourceType = TThumbnailPersistentSize::EUnknownSourceType;
}
@@ -1563,30 +1548,24 @@
mimeType.CompareF( KJpeg2000Mime ) == 0 ||
mimeType.CompareF( KGifMime ) == 0 ||
mimeType.CompareF( KPngMime ) == 0 ||
- mimeType.CompareF( KSvgMime ) == 0 ||
+ mimeType.CompareF( KBmpMime ) == 0 ||
mimeType.CompareF( KMpgMime1 ) == 0 ||
mimeType.CompareF( KMpeg4Mime ) == 0 ||
mimeType.CompareF( KMp4Mime ) == 0 ||
mimeType.CompareF( KAviMime ) == 0 ||
+ mimeType.CompareF( KVideo3gppMime ) == 0 ||
+ mimeType.CompareF( KVideoWmvMime ) == 0 ||
+ mimeType.CompareF( KRealVideoMime ) == 0 ||
mimeType.CompareF( KMp3Mime ) == 0 ||
- mimeType.CompareF( KNonEmbeddArtMime ) == 0 ||
- mimeType.CompareF( KM4aMime ) == 0 ||
mimeType.CompareF( KAacMime ) == 0 ||
mimeType.CompareF( KWmaMime ) == 0 ||
- mimeType.CompareF( KBmpMime ) == 0 ||
- mimeType.CompareF( KAudio3gppMime ) == 0 ||
- mimeType.CompareF( KVideo3gppMime ) == 0 ||
mimeType.CompareF( KAudioAmrMime ) == 0 ||
- mimeType.CompareF( KVideoWmvMime ) == 0 ||
mimeType.CompareF( KRealAudioMime ) == 0 ||
- mimeType.CompareF( KPmRealAudioPluginMime ) == 0 ||
+ mimeType.CompareF( KM4aMime ) == 0 ||
+ mimeType.CompareF( KFlashVideoMime ) == 0 ||
mimeType.CompareF( KPmRealVideoPluginMime ) == 0 ||
mimeType.CompareF( KPmRealVbVideoPluginMime ) == 0 ||
- mimeType.CompareF( KRealVideoMime ) == 0 ||
- mimeType.CompareF( KFlashVideoMime ) == 0 ||
- mimeType.CompareF( KMatroskaVideoMime ) == 0 ||
- mimeType.CompareF( KContactMime ) == 0 ||
- mimeType.CompareF( KAlbumArtMime ) == 0 )
+ mimeType.CompareF( KPmRealAudioPluginMime ) == 0 )
{
return ETrue;
}
@@ -1620,7 +1599,6 @@
"CThumbnailServer::E32Main() -- thread function out, result=%d",
result );
delete cleanup;
- cleanup = NULL;
}
if ( result != KErrNone )
{
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -480,12 +480,6 @@
ModifyThumbnailSize(sourceType);
}
- // delete existing
- if(params.iImport && params.iOverwrite)
- {
- Server()->DeleteThumbnailsL( params.iTargetUri);
- }
-
// CreateThumbnails
if (params.iControlFlags == EThumbnailGeneratePersistentSizesOnly)
{
@@ -643,19 +637,6 @@
TN_DEBUG2(
"CThumbnailServerSession::RequestThumbByPathAsyncL() - thumbnail not found, err = %d", err );
- // don't try to create from virtual URI
- if ( params.iVirtualUri )
- {
- User::Leave(err);
- }
-
- // disk space check only for stored sizes
- if ( params.iThumbnailSize != ECustomThumbnailSize &&
- Server()->StoreForPathL(params.iFileName)->IsDiskFull() )
- {
- User::Leave( KErrDiskFull );
- }
-
if ( (err == KErrNotFound || err == KErrAccessDenied) &&
!(params.iFlags& CThumbnailManager::EDoNotCreate) )
{
@@ -663,6 +644,17 @@
// and retry the request using file handle
err = KThumbnailErrThumbnailNotFound;
}
+ else
+ {
+ User::Leave(err);
+ }
+
+ // disk space check only for stored sizes
+ if ( params.iThumbnailSize != ECustomThumbnailSize &&
+ Server()->StoreForPathL(params.iFileName)->IsDiskFull() )
+ {
+ User::Leave( KErrDiskFull );
+ }
User::Leave(err);
}
@@ -810,8 +802,7 @@
TSize bitmapSize = bitmap->SizeInPixels();
- // scale small thumbs first, because fullscreen encoding takes longer
- for ( TInt i( count-1 ); i >= 0; i-- )
+ for ( TInt i( 0 ); i < count; i++ )
{
if( bitmapSize.iWidth < bitmapSize.iHeight )
{
@@ -820,8 +811,7 @@
if ( size == EFullScreenThumbnailSize ||
size == EVideoFullScreenThumbnailSize ||
size == EAudioFullScreenThumbnailSize ||
- size == EImageFullScreenThumbnailSize ||
- size == EContactFullScreenThumbnailSize )
+ size == EImageFullScreenThumbnailSize )
{
TInt height = (*missingSizes)[i].iSize.iHeight;
(*missingSizes)[i].iSize.iHeight = (*missingSizes)[i].iSize.iWidth;
@@ -835,8 +825,7 @@
*Server(), params.iTargetUri, bitmap, bitmapSize,
(*missingSizes)[i].iSize, (*missingSizes)[i].iCrop, params.iDisplayMode,
KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse,
- reqId, params.iVirtualUri);
-
+ reqId);
CleanupStack::PushL( scaleTask );
scaleTask->SetDoStore( ETrue );
Server()->Processor().AddTaskL( scaleTask );
@@ -884,12 +873,7 @@
"CThumbnailServerSession::CreateGenerateTaskFromFileHandleL() -- create thumbnail generation task for %S", ¶ms.iFileName );
// disk space check only for stored sizes
- if ( params.iImport &&
- Server()->StoreForPathL(params.iTargetUri)->IsDiskFull() )
- {
- User::Leave( KErrDiskFull );
- }
- else if ( params.iThumbnailSize != ECustomThumbnailSize &&
+ if ( params.iThumbnailSize != ECustomThumbnailSize &&
Server()->StoreForPathL(params.iFileName)->IsDiskFull() )
{
User::Leave( KErrDiskFull );
@@ -907,28 +891,19 @@
TBool gridSizeOnly(EFalse);
- if ( params.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
+ if ( params.iQualityPreference == CThumbnailManager
+ ::EOptimizeForQualityWithPreview )
{
gridSizeOnly = ETrue;
}
- // import vs. normal
- if(params.iImport)
- {
- Server()->GetMissingSizesL( params.iTargetUri, sourceType, *missingSizes, gridSizeOnly);
- }
- else
- {
- Server()->GetMissingSizesL( params.iFileName, sourceType, *missingSizes, gridSizeOnly);
- }
+ Server()->GetMissingSizesL( params.iFileName, sourceType, *missingSizes, gridSizeOnly);
if ( missingSizes->Count() == 0)
{
// all thumbs already exist
CleanupStack::PopAndDestroy( missingSizes );
delete missingSizes;
- missingSizes = NULL;
-
if( aFile )
{
aFile->Close();
@@ -973,8 +948,7 @@
CThumbnailGenerateTask* task = new( ELeave )CThumbnailGenerateTask( Server()
->Processor(), * Server(), aFile, NULL, ¶ms.iMimeType, params.iFlags,
params.iSize, params.iDisplayMode, priority, missingSizes, params.iTargetUri,
- params.iThumbnailSize, params.iModified, params.iQualityPreference,
- params.iVirtualUri);
+ params.iThumbnailSize, params.iModified, params.iQualityPreference );
// do not store bitmaps to server pool when generating only
if( params.iControlFlags & EThumbnailGeneratePersistentSizesOnly )
@@ -1060,8 +1034,6 @@
// all thumbs already exist
CleanupStack::PopAndDestroy( missingSizes );
delete missingSizes;
- missingSizes = NULL;
-
if ( aBuffer)
{
delete aBuffer;
@@ -1088,8 +1060,7 @@
CThumbnailGenerateTask* task = new( ELeave )CThumbnailGenerateTask( Server()
->Processor(), * Server(), NULL, aBuffer, ¶ms.iMimeType, params.iFlags,
params.iSize, params.iDisplayMode, priority, missingSizes, params.iTargetUri,
- params.iThumbnailSize, params.iModified, params.iQualityPreference,
- params.iVirtualUri);
+ params.iThumbnailSize, params.iModified, params.iQualityPreference );
// do not store bitmaps to server pool when generating only
if( params.iControlFlags & EThumbnailGeneratePersistentSizesOnly )
@@ -1383,21 +1354,6 @@
params.iThumbnailSize = EAudioListThumbnailSize;
}
}
- else if(aSourceType == TThumbnailPersistentSize::EContact)
- {
- if(params.iThumbnailSize == EFullScreenThumbnailSize)
- {
- params.iThumbnailSize = EContactFullScreenThumbnailSize;
- }
- else if(params.iThumbnailSize == EGridThumbnailSize)
- {
- params.iThumbnailSize = EContactGridThumbnailSize;
- }
- else if(params.iThumbnailSize == EListThumbnailSize)
- {
- params.iThumbnailSize = EContactListThumbnailSize;
- }
- }
}
//------------------------------------------------------------------------
@@ -1411,42 +1367,34 @@
// mime type
if ( params.iMimeType.Des8() == KNullDesC8 && !Server()->SupportedMimeType(params.iMimeType) )
- {
- // try parsing from file extension
- if (params.iImport)
- {
- res = Server()->MimeTypeFromFileExt( params.iTargetUri, params.iMimeType );
- }
- else
- {
- res = Server()->MimeTypeFromFileExt( params.iFileName, params.iMimeType );
- }
-
- if ( res == KErrNotFound )
- {
- if( aFile )
- {
- // parsed type not in the list, resolve from file
- params.iMimeType = Server()->ResolveMimeTypeL(*aFile);
- }
- else
- {
- Server()->Fs().ShareProtected();
- RFile64 file;
- CleanupClosePushL( file );
-
- User::LeaveIfError( file.Open( Server()->Fs(), params.iFileName, EFileShareReadersOrWriters ));
- TN_DEBUG2( "CThumbnailServerSession::ResolveMimeType - file handle opened for %S", ¶ms.iFileName );
-
- params.iMimeType = Server()->ResolveMimeTypeL(file);
-
- file.Close();
- TN_DEBUG1("CThumbnailServerSession::ResolveMimeType - file handle closed");
-
- CleanupStack::Pop( &file );
- }
- }
- }
+ {
+ // try parsing from file extension
+ res = Server()->MimeTypeFromFileExt( params.iFileName, params.iMimeType );
+ if ( res == KErrNotFound )
+ {
+ if( aFile )
+ {
+ // parsed type not in the list, resolve from file
+ params.iMimeType = Server()->ResolveMimeTypeL(*aFile);
+ }
+ else
+ {
+ Server()->Fs().ShareProtected();
+ RFile64 file;
+ CleanupClosePushL( file );
+
+ User::LeaveIfError( file.Open( Server()->Fs(), params.iFileName, EFileShareReadersOrWriters ));
+ TN_DEBUG2( "CThumbnailServerSession::ResolveMimeType - file handle opened for %S", ¶ms.iFileName );
+
+ params.iMimeType = Server()->ResolveMimeTypeL(file);
+
+ file.Close();
+ TN_DEBUG1("CThumbnailServerSession::ResolveMimeType - file handle closed");
+
+ CleanupStack::Pop( &file );
+ }
+ }
+ }
}
@@ -1587,5 +1535,4 @@
}
}
-
// End of file
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailstore.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailstore.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -47,6 +47,7 @@
//Symbian^3 v4
_LIT( KThumbnailDatabaseName, ":[102830AB]thumbnail_v4.db" );
+_LIT( KDrv, ":");
// Allow access to database only for the server process
const TSecurityPolicy KThumbnailDatabaseSecurityPolicy( TSecureId(
@@ -166,9 +167,9 @@
// Two-phased constructor.
// ---------------------------------------------------------------------------
//
-CThumbnailStore* CThumbnailStore::NewL( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer, const TBool aReadOnly )
+CThumbnailStore* CThumbnailStore::NewL( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer )
{
- CThumbnailStore* self = new( ELeave )CThumbnailStore( aFs, aDrive, aImei, aServer, aReadOnly );
+ CThumbnailStore* self = new( ELeave )CThumbnailStore( aFs, aDrive, aImei, aServer );
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
@@ -222,9 +223,9 @@
// C++ default constructor can NOT contain any code, that might leave.
// ---------------------------------------------------------------------------
//
-CThumbnailStore::CThumbnailStore( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer, const TBool aReadOnly ):
- iFs( aFs ), iDrive( aDrive ), iDriveChar( 0 ), iBatchItemCount(0), iImei(aImei), iServer(aServer), iDiskFullNotifier(NULL),
- iDiskFull(EFalse), iActivityManager(NULL), iUnrecoverable(ETrue), iBatchFlushItemCount(KMInBatchItems), iReadOnly(aReadOnly)
+CThumbnailStore::CThumbnailStore( RFs& aFs, TInt aDrive, TDesC& aImei, CThumbnailServer* aServer ):
+ iFs( aFs ), iDrive( aDrive ), iDriveChar( 0 ), iBatchItemCount(0), iImei(aImei),
+ iServer(aServer), iDiskFull(EFalse), iUnrecoverable(ETrue), iBatchFlushItemCount(KMInBatchItems)
{
// no implementation required
}
@@ -241,39 +242,31 @@
#ifdef _DEBUG
iThumbCounter = 0;
#endif
- if(!iReadOnly)
- {
- HBufC* databasePath = HBufC::NewLC( KMaxFileName );
- TPtr pathPtr = databasePath->Des();
- User::LeaveIfError( RFs::DriveToChar( iDrive, iDriveChar ));
- pathPtr.Append( iDriveChar );
- pathPtr.Append( KThumbnailDatabaseName );
-
- //start disk space monitor
- iDiskFullNotifier = CThumbnailStoreDiskSpaceNotifierAO::NewL( *this,
- KDiskFullThreshold,
- pathPtr );
-
- CleanupStack::PopAndDestroy( databasePath );
- TN_DEBUG2( "CThumbnailStore::ConstructL() drive: %d", iDrive );
+ HBufC* databasePath = HBufC::NewLC( KMaxFileName );
+ TPtr pathPtr = databasePath->Des();
+ User::LeaveIfError( RFs::DriveToChar( iDrive, iDriveChar ));
+ pathPtr.Append( iDriveChar );
+ pathPtr.Append( KThumbnailDatabaseName );
- OpenDatabaseL();
+ //start disk space monitor
+ iDiskFullNotifier = CThumbnailStoreDiskSpaceNotifierAO::NewL( *this,
+ KDiskFullThreshold,
+ pathPtr );
+
+ CleanupStack::PopAndDestroy( databasePath );
- // to monitor device activity
- iActivityManager = CTMActivityManager::NewL( this, KStoreMaintenanceIdle);
- iActivityManager->Start();
+ TN_DEBUG2( "CThumbnailStore::ConstructL() drive: %d", iDrive );
- iDeleteThumbs = ETrue;
- iCheckFilesExist = ETrue;
- }
- else
- {
- TN_DEBUG1( "CThumbnailStore::ConstructL() - read only, dymmy mode..." );
- iDeleteThumbs = EFalse;
- iCheckFilesExist = EFalse;
- iLastCheckedRowID = -1;
- }
+ OpenDatabaseL();
+
+ // to monitor device activity
+ iActivityManager = CTMActivityManager::NewL( this, KStoreMaintenanceIdle);
+ iActivityManager->Start();
+
+ iDeleteThumbs = ETrue;
+ iCheckFilesExist = ETrue;
+ iLastCheckedRowID = -1;
}
// ---------------------------------------------------------------------------
@@ -332,7 +325,16 @@
checkError = CheckVersion();
if(checkError == KErrNone)
{
+#ifdef _DEBUG
+ TN_DEBUG1( "CThumbnailStore::OpenDatabaseL() start CheckRowIDs");
+ TTime aStart, aStop;
+ aStart.UniversalTime();
+#endif
checkError = CheckRowIDs();
+#ifdef _DEBUG
+ aStop.UniversalTime();
+ TN_DEBUG2( "CThumbnailStore::OpenDatabaseL() CheckRowIDs took %d ms", (TInt)aStop.MicroSecondsFrom(aStart).Int64()/1000);
+#endif
}
}
@@ -1075,12 +1077,6 @@
const TThumbnailSize& aThumbnailSize, const TInt64 aModified, const TBool aThumbFromPath )
{
TN_DEBUG1( "CThumbnailStore::StoreThumbnailL( private ) in" );
-
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::StoreThumbnailL() read only, skip..." );
- return;
- }
#ifdef _DEBUG
TTime aStart, aStop;
@@ -1232,12 +1228,6 @@
{
TSize thumbSize = aThumbnail->SizeInPixels();
TN_DEBUG4( "CThumbnailStore::StoreThumbnailL( public ) aThumbnailSize = %d, aThumbnailSize(%d,%d) IN", aThumbnailSize, thumbSize.iWidth, thumbSize.iHeight );
-
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::StoreThumbnailL() read only, skip..." );
- return;
- }
__ASSERT_DEBUG(( aThumbnail ), ThumbnailPanic( EThumbnailNullPointer ));
@@ -1276,10 +1266,8 @@
flags |= KThumbnailDbFlagBlacklisted;
}
- if( (aThumbnailSize == EImageFullScreenThumbnailSize ||
- aThumbnailSize == EVideoFullScreenThumbnailSize ||
- aThumbnailSize == EAudioFullScreenThumbnailSize ||
- aThumbnailSize == EContactFullScreenThumbnailSize) && !aBlackListed )
+ if( (aThumbnailSize == EImageFullScreenThumbnailSize || aThumbnailSize == EVideoFullScreenThumbnailSize ||
+ aThumbnailSize == EAudioFullScreenThumbnailSize) && !aBlackListed )
{
TN_DEBUG1( "CThumbnailStore::StoreThumbnailL( public ) - encode jpg" );
@@ -1287,20 +1275,17 @@
CleanupStack::PushL( data );
CImageEncoder* encoder = NULL;
-
- CImageEncoder::TOptions options = ( CImageEncoder::TOptions )( CImageEncoder::EOptionAlwaysThread );
-
- TRAPD( decErr, encoder = CExtJpegEncoder::DataNewL( CExtJpegEncoder::EHwImplementation, data, options ) );
+ TRAPD( decErr, encoder = CExtJpegEncoder::DataNewL( CExtJpegEncoder::EHwImplementation, data, CImageEncoder::EOptionAlwaysThread ) );
if ( decErr != KErrNone )
{
TN_DEBUG2( "CThumbnailStore::StoreThumbnailL( public ) - HW CExtJpegEncoder failed %d", decErr);
- TRAPD( decErr, encoder = CExtJpegEncoder::DataNewL( CExtJpegEncoder::ESwImplementation, data, options ) );
+ TRAPD( decErr, encoder = CExtJpegEncoder::DataNewL( CExtJpegEncoder::ESwImplementation, data, CImageEncoder::EOptionAlwaysThread ) );
if ( decErr != KErrNone )
{
TN_DEBUG2( "CThumbnailStore::StoreThumbnailL( public ) - SW CExtJpegEncoder failed %d", decErr);
- TRAPD( decErr, encoder = CImageEncoder::DataNewL( data, KJpegMime(), options ) );
+ TRAPD( decErr, encoder = CImageEncoder::DataNewL( data, KJpegMime(), CImageEncoder::EOptionAlwaysThread ) );
if ( decErr != KErrNone )
{
TN_DEBUG2( "CThumbnailStore::StoreThumbnailL( public ) - CImageEncoder failed %d", decErr);
@@ -1333,7 +1318,7 @@
// Set some format specific data
imageData->iSampleScheme = TJpegImageData::EColor444;
- imageData->iQualityFactor = 80;
+ imageData->iQualityFactor = 75;
// imageData - ownership passed to frameImageData after AppendImageData
User::LeaveIfError(frameImageData->AppendImageData(imageData));
@@ -1382,7 +1367,7 @@
StoreThumbnailL( *path, buf->Ptr( 0 ), aThumbnail->SizeInPixels(),
aOriginalSize, EThumbnailFormatFbsBitmap, flags,
- aThumbnailSize, aModified, aThumbFromPath);
+ aThumbnailSize, aModified);
CleanupStack::PopAndDestroy( buf );
}
@@ -1403,12 +1388,6 @@
TBool CThumbnailStore::FindDuplicateL( const TDesC& aPath, const TThumbnailSize& aThumbnailSize )
{
TN_DEBUG1( "CThumbnailStore::FindDuplicateL()" );
-
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::FindDuplicateL() read only, skip..." );
- return EFalse;
- }
User::LeaveIfError( CheckDbState() );
@@ -1505,12 +1484,6 @@
{
TN_DEBUG2( "CThumbnailStore::GetMissingSizesL() aSourceType == %d", aSourceType );
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::GetMissingSizesL() read only, skip..." );
- return;
- }
-
User::LeaveIfError( CheckDbState() );
HBufC* path = aPath.AllocLC();
@@ -1620,12 +1593,6 @@
{
TN_DEBUG3( "CThumbnailStore::FetchThumbnailL(%S) aThumbnailSize==%d", &aPath, aThumbnailSize );
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::FetchThumbnailL() read only, skip..." );
- User::Leave( KErrNotFound );
- }
-
User::LeaveIfError( CheckDbState() );
HBufC* path = aPath.AllocLC();
@@ -1750,12 +1717,6 @@
{
TN_DEBUG2( "CThumbnailStore::DeleteThumbnailsL(%S)", &aPath );
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::DeleteThumbnailsL() read only, skip..." );
- return;
- }
-
#ifdef _DEBUG
TTime aStart, aStop;
aStart.UniversalTime();
@@ -1955,12 +1916,6 @@
{
TN_DEBUG2( "CThumbnailStore::RenameThumbnailsL(%S)", &aCurrentPath );
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::RenameThumbnailsL() read only, skip..." );
- return;
- }
-
#ifdef _DEBUG
TTime aStart, aStop;
aStart.UniversalTime();
@@ -2050,12 +2005,6 @@
StopAutoFlush();
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::FlushCacheTable() read only, skip..." );
- return;
- }
-
if(iBatchItemCount <= 0 || CheckDbState() != KErrNone)
{
// cache empty or db unusable
@@ -2197,12 +2146,6 @@
{
TN_DEBUG1( "CThumbnailStore::StartAutoFlush()" );
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::StartAutoFlush() read only, skip..." );
- return;
- }
-
TInt err = KErrNone;
if( iAutoFlushTimer )
@@ -2384,13 +2327,6 @@
{
TN_DEBUG2( "CThumbnailStore::CheckModifiedByPathL() %S", &aPath);
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::CheckModifiedByPathL() read only, skip..." );
- modifiedChanged = EFalse;
- return ETrue;
- }
-
User::LeaveIfError( CheckDbState() );
HBufC* path = aPath.AllocLC();
@@ -2470,16 +2406,6 @@
return ret;
}
-
-// -----------------------------------------------------------------------------
-// IsReadOnly()
-// -----------------------------------------------------------------------------
-//
-TBool CThumbnailStore::IsReadOnly()
- {
- return iReadOnly;
- }
-
// -----------------------------------------------------------------------------
// PrepareBlacklistedItemsForRetryL()
// -----------------------------------------------------------------------------
@@ -2510,12 +2436,6 @@
TInt CThumbnailStore::DeleteMarkedL()
{
TN_DEBUG1( "CThumbnailStore::DeleteMarkedL()" );
-
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::DeleteMarkedL() read only, skip..." );
- return KErrAccessDenied;
- }
#ifdef _DEBUG
TTime aStart, aStop;
@@ -2607,12 +2527,6 @@
TInt CThumbnailStore::FileExistenceCheckL()
{
TN_DEBUG1( "CThumbnailStore::FileExistenceCheckL()" );
-
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::FileExistenceCheckL() read only, skip..." );
- return ETrue;
- }
#ifdef _DEBUG
TTime aStart, aStop;
@@ -2711,21 +2625,11 @@
void CThumbnailStore::StripDriveLetterL( TDes& aPath )
{
TInt pos = aPath.Find(KDrv);
- TInt pos2 = aPath.Find(KBackSlash);
// if URI contains drive letter
if ( pos == 1 )
{
- // normal URI
- if ( pos2 == 2 )
- {
- aPath.Delete(0,pos+1);
- }
- // virtual URI
- else
- {
- aPath.Replace(0,2,KBackSlash);
- }
+ aPath.Delete(0,pos+1);
}
}
@@ -2735,7 +2639,7 @@
//
TInt CThumbnailStore::CheckDbState()
{
- if (iUnrecoverable && !iReadOnly)
+ if (iUnrecoverable)
{
TN_DEBUG1( "CThumbnailStore::CheckDbState() - database in unrecoverable state" );
__ASSERT_DEBUG( !iUnrecoverable, ThumbnailPanic( EThumbnailDatabaseUnrecoverable ));
@@ -2765,11 +2669,6 @@
TBool CThumbnailStore::IsDiskFull()
{
- if(iReadOnly)
- {
- TN_DEBUG1( "CThumbnailStore::IsDiskFull() read only, skip..." );
- return EFalse;
- }
return iDiskFull;
}
@@ -2781,12 +2680,6 @@
{
TN_DEBUG2( "CThumbnailStore::ActivityChanged() aActive == %d", aActive);
- if( iReadOnly )
- {
- TN_DEBUG1( "CThumbnailStore::ActivityChanged() read only, skip..." );
- return;
- }
-
if( aActive )
{
iIdle = EFalse;
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailtask.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailtask.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -49,6 +49,7 @@
//
CThumbnailTask::~CThumbnailTask()
{
+ TN_DEBUG1( "CThumbnailTask::~CThumbnailTask()" );
Cancel();
CancelMessage();
@@ -231,6 +232,7 @@
//
void CThumbnailTask::CancelMessage()
{
+ TN_DEBUG1( "CThumbnailTask::CancelMessage()");
if ( ClientThreadAlive() )
{
iMessage.Complete( KErrCancel );
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/tmgetimei.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/tmgetimei.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -45,7 +45,6 @@
Cancel();
delete iTelephony;
- iTelephony = NULL;
}
TBuf<KImeiBufferSize> CTMGetImei::GetIMEI()
--- a/imagehandlingutilities/thumbnailmanager/tmiadrestart/src/tmiadrestart.cpp Wed Sep 15 12:32:44 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/tmiadrestart/src/tmiadrestart.cpp Wed Oct 13 14:53:56 2010 +0300
@@ -150,7 +150,6 @@
TRAP(err, MainL());
delete cleanup;
- cleanup = NULL;
__UHEAP_MARKEND;
return err;
}