diff -r 7197e789b953 -r ffa62e555b02 imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp --- 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();