734 |
736 |
735 for ( TInt i( 0 ); i < count; i++ ) |
737 for ( TInt i( 0 ); i < count; i++ ) |
736 { |
738 { |
737 if( bitmapSize.iWidth < bitmapSize.iHeight ) |
739 if( bitmapSize.iWidth < bitmapSize.iHeight ) |
738 { |
740 { |
739 TInt height = (*missingSizes)[i].iSize.iHeight; |
741 TThumbnailSize size = (*missingSizes)[ i ].iType; |
740 (*missingSizes)[i].iSize.iHeight = (*missingSizes)[i].iSize.iWidth; |
742 |
741 (*missingSizes)[i].iSize.iWidth = height; |
743 if ( size == EFullScreenThumbnailSize || |
742 TN_DEBUG1( "CThumbnailServerSession::RequestSetThumbnailByBitmapL() - portrait"); |
744 size == EVideoFullScreenThumbnailSize || |
|
745 size == EAudioFullScreenThumbnailSize || |
|
746 size == EImageFullScreenThumbnailSize ) |
|
747 { |
|
748 TInt height = (*missingSizes)[i].iSize.iHeight; |
|
749 (*missingSizes)[i].iSize.iHeight = (*missingSizes)[i].iSize.iWidth; |
|
750 (*missingSizes)[i].iSize.iWidth = height; |
|
751 |
|
752 TN_DEBUG1( "CThumbnailServerSession::RequestSetThumbnailByBitmapL() - portrait"); |
|
753 } |
743 } |
754 } |
744 |
755 |
745 CThumbnailScaleTask* scaleTask = CThumbnailScaleTask::NewL( Server()->Processor(), |
756 CThumbnailScaleTask* scaleTask = CThumbnailScaleTask::NewL( Server()->Processor(), |
746 *Server(), params.iTargetUri, bitmap, bitmapSize, |
757 *Server(), params.iTargetUri, bitmap, bitmapSize, |
747 (*missingSizes)[i].iSize, (*missingSizes)[i].iCrop, params.iDisplayMode, |
758 (*missingSizes)[i].iSize, (*missingSizes)[i].iCrop, params.iDisplayMode, |
748 KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse, |
759 KMaxPriority, KNullDesC, (*missingSizes)[i].iType, params.iModified, EFalse, EFalse, |
749 reqId); |
760 reqId); |
750 CleanupStack::PushL( scaleTask ); |
761 CleanupStack::PushL( scaleTask ); |
751 scaleTask->SetDoStore( ETrue ); |
762 scaleTask->SetDoStore( ETrue ); |
752 Server()->Processor().AddTaskL( scaleTask ); |
763 Server()->Processor().AddTaskL( scaleTask ); |
753 CleanupStack::Pop( scaleTask ); |
764 CleanupStack::Pop( scaleTask ); |
754 |
765 |
755 // completion to first task, because task processor works like stack |
766 // completion to first task, because task processor works like stack |
756 if( i == 0 ) |
767 if( i == 0 ) |
757 { |
768 { |
758 // scaleTask is now responsible for completing the RMessage |
769 // scaleTask is now responsible for completing the RMessage |
759 scaleTask->SetMessageData( reqId, iMessage, iClientThread ); |
770 scaleTask->SetMessageData( reqId, iMessage, iClientThread ); |
791 const TThumbnailRequestParams& params = iRequestParams(); |
802 const TThumbnailRequestParams& params = iRequestParams(); |
792 |
803 |
793 TN_DEBUG2( |
804 TN_DEBUG2( |
794 "CThumbnailServerSession::CreateGenerateTaskFromFileHandleL() -- create thumbnail generation task for %S", ¶ms.iFileName ); |
805 "CThumbnailServerSession::CreateGenerateTaskFromFileHandleL() -- create thumbnail generation task for %S", ¶ms.iFileName ); |
795 |
806 |
796 if(Server()->StoreForPathL(params.iFileName)->IsDiskFull()) |
807 // disk space check only for stored sizes |
|
808 if ( params.iThumbnailSize != ECustomThumbnailSize && |
|
809 Server()->StoreForPathL(params.iFileName)->IsDiskFull() ) |
797 { |
810 { |
798 User::Leave( KErrDiskFull ); |
811 User::Leave( KErrDiskFull ); |
799 } |
812 } |
800 |
813 |
801 RArray < TThumbnailPersistentSize >* missingSizes = NULL; |
814 RArray < TThumbnailPersistentSize >* missingSizes = NULL; |
870 } |
883 } |
871 |
884 |
872 // Generate task is now responsible for completing the message |
885 // Generate task is now responsible for completing the message |
873 iMessage = RMessage2(); |
886 iMessage = RMessage2(); |
874 } |
887 } |
|
888 |
875 // ----------------------------------------------------------------------------- |
889 // ----------------------------------------------------------------------------- |
876 // CThumbnailServerSession::CreateGenerateTaskL() |
890 // CThumbnailServerSession::CreateGenerateTaskL() |
877 // Create a task to generate a new thumbnail |
891 // Create a task to generate a new thumbnail |
878 // ----------------------------------------------------------------------------- |
892 // ----------------------------------------------------------------------------- |
879 // |
893 // |
882 const TThumbnailRequestParams& params = iRequestParams(); |
896 const TThumbnailRequestParams& params = iRequestParams(); |
883 |
897 |
884 TN_DEBUG2( |
898 TN_DEBUG2( |
885 "CThumbnailServerSession::CreateGenerateTaskFromBufferL() -- create thumbnail generation task for %S", ¶ms.iTargetUri ); |
899 "CThumbnailServerSession::CreateGenerateTaskFromBufferL() -- create thumbnail generation task for %S", ¶ms.iTargetUri ); |
886 |
900 |
887 if(Server()->StoreForPathL(params.iTargetUri)->IsDiskFull()) |
901 // disk space check only for stored sizes |
|
902 if ( params.iThumbnailSize != ECustomThumbnailSize && |
|
903 Server()->StoreForPathL(params.iTargetUri)->IsDiskFull() ) |
888 { |
904 { |
889 User::Leave( KErrDiskFull ); |
905 User::Leave( KErrDiskFull ); |
890 } |
906 } |
891 |
907 |
892 if(aBuffer && params.iMimeType.Des().Match( KVideoMime ) == 0 ) |
908 if(aBuffer && params.iMimeType.Des().Match( KVideoMime ) == 0 ) |