diff -r 60bb012f1157 -r 9e8b0cc88842 imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailserversession.cpp --- 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