imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp
changeset 17 ffa62e555b02
parent 15 7197e789b953
child 19 b790c5b3d11f
--- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp	Fri Apr 16 15:16:16 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp	Mon May 03 12:48:51 2010 +0300
@@ -133,7 +133,12 @@
                 {
                 UpdateThumbnailsL( aMessage );
                 break;
-                }                  
+                }       
+        case ERenameThumbnails:
+                {
+                RenameThumbnailsL( aMessage );
+                break;
+                } 
         default:
                 {
                 err = KErrUnknown;
@@ -338,6 +343,38 @@
     }
 
 // -----------------------------------------------------------------------------
+// CThumbnailServerSession::RenameThumbnailsL()
+// Rename thumbnails.
+// -----------------------------------------------------------------------------
+//
+void CThumbnailServerSession::RenameThumbnailsL( const RMessage2& aMessage )
+    {
+    if(aMessage.Int1() != KCheckValue)
+       {
+       TN_DEBUG1( "CThumbnailServerSession::RenameThumbnailsL() - error in aMessage - leaving" );
+       User::Leave(KErrArgument);
+       }
+    
+    // read message params
+    aMessage.ReadL( 0, iRequestParams );
+    const TThumbnailRequestParams& params = iRequestParams();
+    
+    // renaming only inside one store
+    if (params.iFileName.Left(1).CompareF( params.iTargetUri.Left(1) ) == 0)
+        {
+        Server()->RenameThumbnailsL( params.iFileName, params.iTargetUri );
+        
+        aMessage.Complete( KErrNone );
+        }
+    else
+        {
+        aMessage.Complete( KErrNotSupported );
+        }
+    
+    iMessage = RMessage2();
+    }
+
+// -----------------------------------------------------------------------------
 // CThumbnailServerSession::RequestThumbByIdAsyncL()
 // -----------------------------------------------------------------------------
 //
@@ -615,9 +652,14 @@
        {
        TInt sourceType = TThumbnailPersistentSize::EUnknownSourceType;
        TDataType mimetype;
-       Server()->MimeTypeFromFileExt( params.iTargetUri, mimetype );
-       sourceType = Server()->SourceTypeFromMimeType( mimetype );   
-       ModifyThumbnailSize(sourceType);
+       TInt ret = Server()->MimeTypeFromFileExt( params.iTargetUri, mimetype );
+	   
+       if( ret == KErrNone )
+           {
+           sourceType = Server()->SourceTypeFromMimeType( mimetype );   
+           ModifyThumbnailSize(sourceType);
+           }
+       User::LeaveIfError( ret );
        }
     
     TInt bufferSize = aMessage.Int2();