diff -r 2e2a89493e2b -r 48dd0f169f0d imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailgeneratetask.h --- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/inc/thumbnailgeneratetask.h Fri Sep 03 10:29:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,242 +0,0 @@ -/* -* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Task for generating new thumbnails -* -*/ - - -#ifndef THUMBNAILGENERATETASK_H -#define THUMBNAILGENERATETASK_H - -#include - -#include "thumbnailtask.h" -#include "thumbnailprovider.h" -#include "thumbnailstore.h" // TThumbnailPersistentSize - -class CThumbnailServer; - -/** - * Task for generating new thumbnails. - * - * @since S60 v5.0 - */ -class CThumbnailGenerateTask: public CThumbnailTask, - public MThumbnailProviderObserver - { -public: - - /** - * C++ default constructor - * - * @since S60 v5.0 - * @param aProcessor Processor object for running tasks. - * @param aServer Thumbnail server in use. - * @param aFile File from which the thumbnail is to be created. - * @param aFlags Flags that control the creation of thumbnail. - * @param aSize Requested size of thumbnail. - * @param aDisplayMode Display mode. - * @param aPriority Priority of the request. - * @return New CThumbnailGenerateTask object. - */ - CThumbnailGenerateTask( CThumbnailTaskProcessor& aProcessor, CThumbnailServer& aServer, - RFile64* aFile, TDesC8* aBuffer, const TDataType* aMimeType, - CThumbnailManager::TThumbnailFlags aFlags, const TSize& aSize, - TDisplayMode aDisplayMode, TInt aPriority, - RArray < TThumbnailPersistentSize >* aMissingSizes, const TDesC& aTargetUri, - TThumbnailSize aThumbnailSize, const TInt64 aModified, - const CThumbnailManager::TThumbnailQualityPreference aQualityPreference, - TBool aImportVirtual ); - - /** - * Destructor. - * - * @since S60 v5.0 - */ - virtual ~CThumbnailGenerateTask(); - - /** - * StartL - * - * @since S60 v5.0 - */ - void StartL(); - - /** - * Handles an active object's request completion event. - * - * @since S60 v5.0 - */ - void RunL(); - - /** - * Implements cancellation of an outstanding request. - * - * @since S60 v5.0 - */ - void DoCancel(); - - /** - * Defines if scaled bitmaps needs to be added to pool. - * - * @since S60 v5.0 - * @param aBool boolean - */ - void ScaledBitmapToPool(TBool aBool); - -private: - - /** - * Calculate the largest non-cropped size and largest cropped size and - * let the provider know. - * - * @since S60 v5.0 - * @param aEffectiveTargetSize Effective target size. - * @param aCroppedTargetSize Cropped target size. - */ - void CalculateTargetSizesL( TSize& aEffectiveTargetSize, TSize& - aCroppedTargetSize ); - - /** - * For notifying when task has been finished. - * - * @since S60 v5.0 - * @param aError Error code. - * @param aBitmap Thumbnail image. - * @param aOriginalSize Original image size. - * @param aEXIF is origin EXIF. - */ - void ThumbnailProviderReady( const TInt aError, CFbsBitmap* aBitmap, const - TSize& aOriginalSize, const TBool aEXIF, const TBool aPortrait ); - - /** - * For creating scaling task. - * - * @since S60 v5.0 - * @param aBitmap Bitmap image. - * @param aEXIF is origin EXIF. - */ - void CreateScaleTasksL( CFbsBitmap* aBitmap ); - - /** - * For creating blacklisted thumbnail. - * - * @param aOriginalSize Original size of bitmap. - */ - void CreateBlackListedL( const TSize& aOriginalSize ); - - - /** - * Check is blacklisting needed - * - * @param aErrorCode verdict is based on this error code - * @param aOriginalSize Original size of bitmap. - */ - void DoBlacklisting( const TInt aError, const TSize& aOriginalSize ); - -private: - // Data - - /** - * Server. - */ - CThumbnailServer& iServer; - - /** - * Imagefile from which the thumbnail is to be created. - */ - RFile64 iFile; - - /** - * Image buffer - */ - TDesC8* iBuffer; - - /** - * Mime type of the original image. - */ - TDataType iMimeType; - - /** - * Filename of the image from which the thumbnail is to be created. - */ - TFileName iFilename; - - /** - * Flags - */ - CThumbnailManager::TThumbnailFlags iFlags; - /** - * Requested size of thumbnail. - */ - TSize iSize; - - /** - * Display mode. - */ - TDisplayMode iDisplayMode; - - /** - * Only missing persistent sized thumbnails will be created - */ - RArray < TThumbnailPersistentSize >* iMissingSizes; - - /** - * Uri of the target object - */ - TFileName iTargetUri; - - /** - * Relative thumbnail size - */ - TThumbnailSize iThumbnailSize; - - /** - * timestamp - */ - TInt64 iModified; - - /** - * Size of the original image. - */ - TSize iOriginalSize; - - /** - * Thumbnail provider implementation. - * Not own. - */ - CThumbnailProvider* iProvider; - - TBool iScaledBitmapToPool; - -#ifdef _DEBUG - TTime aStart, aStop; -#endif - - CThumbnailManager::TThumbnailQualityPreference iQualityPreference; - - TBool iEXIF; - - /** - * Target rect rotated (portrait image) - */ - TBool iPortrait; - - TInt iBitmapHandle; - - // virtual uri - TBool iVirtualUri; -}; - -#endif // THUMBNAILGENERATETASK_H