--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserver.cpp Wed Mar 31 22:04:49 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserver.cpp Wed Apr 14 16:16:51 2010 +0300
@@ -36,6 +36,7 @@
#include "thumbnailcenrep.h"
#include "thumbnailmemorycardobserver.h"
#include "tmgetimei.h"
+#include "thumbnailfetchedchecker.h"
_LIT8( KThumbnailMimeWildCard, "*" );
@@ -73,7 +74,7 @@
ERequestThumbByBufferAsync,
ERequestSetThumbnailByBuffer,
EDeleteThumbnailsById,
- EReserved1,
+ ERenameThumbnails,
EUpdateThumbnails,
ERequestSetThumbnailByBitmap,
EThumbnailServerRequestCount,
@@ -96,7 +97,7 @@
CPolicyServer::ECustomCheck, // ERequestThumbByBufferAsync
CPolicyServer::ECustomCheck, // ERequestSetThumbnailByBuffer
CPolicyServer::ECustomCheck, // EDeleteThumbnailsById
- CPolicyServer::ECustomCheck,
+ CPolicyServer::ECustomCheck, // ERenameThumbnails
CPolicyServer::ECustomCheck, // EUpdateThumbnails
CPolicyServer::ECustomCheck, // ERequestSetThumbnailByBitmap
CPolicyServer::ECustomCheck, // EThumbnailServerRequestCount
@@ -142,7 +143,8 @@
case EGetMimeTypeList:
case ERequestSetThumbnailByBuffer:
case EDeleteThumbnailsById:
- case EUpdateThumbnails:
+ case EUpdateThumbnails:
+ case ERenameThumbnails:
case ERequestSetThumbnailByBitmap:
{
if( aMsg.HasCapability( ECapabilityReadDeviceData ) &&
@@ -152,8 +154,6 @@
}
break;
}
-
- case EReserved1:
case EThumbnailServerRequestCount:
default:
{
@@ -254,6 +254,7 @@
//OpenStoresL();
AddUnmountObserversL();
+ iFetchedChecker = CThumbnailFetchedChecker::NewL();
}
@@ -267,6 +268,7 @@
iShutdown = ETrue;
+ delete iFetchedChecker;
delete iShutdownObserver;
delete iProcessor;
@@ -536,6 +538,10 @@
{
TN_DEBUG1( "CThumbnailServer::StoreThumbnailL() - file doesn't exists anymore, skip store!");
}
+ if( iFetchedChecker )
+ {
+ iFetchedChecker->SetFetchResult( aPath, KErrNone );
+ }
}
@@ -547,8 +553,23 @@
aThumbnail, TDesC8* & aData, const TThumbnailSize aThumbnailSize, TSize &aOriginalSize )
{
TN_DEBUG3( "CThumbnailServer::FetchThumbnailL(aPath=%S aThumbnailSize=%d)", &aPath, aThumbnailSize );
-
- StoreForPathL( aPath )->FetchThumbnailL( aPath, aThumbnail, aData, aThumbnailSize, aOriginalSize);
+ if( iFetchedChecker )
+ {
+ TInt err( iFetchedChecker->LastFetchResult( aPath ) );
+ if ( err == KErrNone ) // To avoid useless sql gets that fails for sure
+ {
+ TRAP( err, StoreForPathL( aPath )->FetchThumbnailL( aPath, aThumbnail, aData, aThumbnailSize, aOriginalSize) );
+ if ( err != KErrNone )
+ {
+ iFetchedChecker->SetFetchResult( aPath, err );
+ }
+ }
+ User::LeaveIfError( err );
+ }
+ else
+ {
+ StoreForPathL( aPath )->FetchThumbnailL( aPath, aThumbnail, aData, aThumbnailSize, aOriginalSize);
+ }
}
@@ -600,6 +621,10 @@
TN_DEBUG2( "CThumbnailServer::DeleteThumbnailsL(%S)", &aPath);
StoreForPathL( aPath )->DeleteThumbnailsL( aPath );
+ if( iFetchedChecker )
+ {
+ iFetchedChecker->SetFetchResult( aPath, KErrNone );
+ }
}
// -----------------------------------------------------------------------------
@@ -1193,6 +1218,17 @@
}
// -----------------------------------------------------------------------------
+// Renames thumbnails.
+// -----------------------------------------------------------------------------
+//
+void CThumbnailServer::RenameThumbnailsL( const TDesC& aCurrentPath, const TDesC& aNewPath )
+ {
+ TN_DEBUG2( "CThumbnailServer::RenameThumbnailsL(%S)", &aCurrentPath);
+
+ StoreForPathL( aCurrentPath )->RenameThumbnailsL( aCurrentPath, aNewPath );
+ }
+
+// -----------------------------------------------------------------------------
// CThumbnailServer::MimeTypeFromFileExt()
// -----------------------------------------------------------------------------
//