diff -r 45459746d5e8 -r 27f2d7aec52a engine/collectionframework/thumbnailcreator/inc/glxtnfilteravailabletask.h --- a/engine/collectionframework/thumbnailcreator/inc/glxtnfilteravailabletask.h Mon Sep 27 15:13:20 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* -* Copyright (c) 2008-2009 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 used for thumbnail availability filter. -* -*/ - - - -/** - * @internal reviewed 30/07/2007 by Simon Brooks - */ - -#ifndef C_GLXTNFILTERAVAILABLETASK_H -#define C_GLXTNFILTERAVAILABLETASK_H - -#include "glxtntask.h" - -// Forward declarations -class CGlxtnFileInfo; - -/** - * Task to filter a list of media item IDs to include only those which don't - * have a high quality thumbnail of a given size. - * - * @author Dan Rhodes - * @ingroup glx_thumbnail_creator - */ -NONSHARABLE_CLASS(CGlxtnFilterAvailableTask) : public CGlxtnClientTask - { -public: - /** - * Two-phased constructor. - * @param aItemArray Array of item IDs, from which those with thumbnails - * should be removed. - * @param aSize Size of thumbnail required. - * @param aClient Client initiating the request. - */ - static CGlxtnFilterAvailableTask* NewL( - const TArray& aItemArray, const TSize& aSize, - MGlxtnThumbnailCreatorClient& aClient); - /** - * Destructor. - */ - ~CGlxtnFilterAvailableTask(); - -protected: // From CGlxtnTask - - TBool DoStartL(TRequestStatus& aStatus); - void DoCancel(); - TBool DoRunL(TRequestStatus& aStatus); - TBool DoRunError(TInt aError); - -private: - /** - * C++ default constructor. - * @param aSize Size of thumbnail required. - * @param aClient Client initiating the request. - */ - CGlxtnFilterAvailableTask(const TSize& aSize, - MGlxtnThumbnailCreatorClient& aClient); - /** - * Symbian 2nd phase constructor. - * @param aItemArray Array of item IDs, from which those with thumbnails - * should be removed. - */ - void ConstructL(const TArray& aItemArray); - - /** - * Start asynchronous request for file information for an item. - * @param aStatus Request status for the asynchronous operation. - */ - TBool GetFileInfoL(TRequestStatus& aStatus); - /** - * Start asynchronous check for thumbnail in persistent storage. - * @param aStatus Request status for the asynchronous operation. - */ - TBool CheckIdL(TRequestStatus& aStatus); - -private: - enum TFilterState - { - EStateFetchingUri, EStateChecking - }; - - /** Size of thumbnail for which to check */ - TSize iSize; - /** Array of media IDs from which those with thumbnails are removed */ - RArray iIdArray; - /** Current task state */ - TFilterState iState; - /** Current index in Id array */ - TInt iIndex; - /** File info for current item */ - CGlxtnFileInfo* iFileInfo; - }; - -#endif // C_GLXTNFILTERAVAILABLETASK_H