--- a/engine/collectionframework/thumbnailcreator/inc/glxtntask.h Mon Sep 27 15:13:20 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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: Base classes for multi-purpose tasks.
-*
-*/
-
-
-
-/**
- * @internal reviewed 30/07/2007 by Simon Brooks
- */
-
-#ifndef C_GLXTNTASK_H
-#define C_GLXTNTASK_H
-
-#include "glxtnstd.h"
-#include <glxmediaid.h>
-#include <e32base.h>
-
-// Forward declarations
-class CGlxtnTaskManager;
-class MGlxtnThumbnailCreatorClient;
-class MGlxtnThumbnailStorage;
-
-/**
- * Base class for thumbnail tasks.
- *
- * @ingroup glx_thumbnail_creator
- */
-NONSHARABLE_CLASS(CGlxtnTask) : public CBase
- {
- friend class CGlxtnTaskManager;
-public:
- /**
- * Different state a task can go through
- */
- enum TState
- {
- EIdle, /**< Task is not ready to start */
- EStarting, /**< Task is ready to start */
- ERunning, /**< Task is currently running */
- ECanceled, /**< Task has been cancelled, and can be deleted */
- EComplete /**< Task has finished, and can be deleted */
- };
-
-public:
- CGlxtnTask(const TGlxtnTaskId& aId, const TGlxMediaId& aItemId,
- MGlxtnThumbnailStorage* aStorage);
- ~CGlxtnTask();
-
- /**
- * Gets the current task specific state
- * @returns TState The task current state.
- */
- inline TState State() const;
-
- /**
- * Gets the type of task this is.
- * @returns TGlxtnTaskId Task type ID.
- */
- inline TGlxtnTaskId Id() const;
-
- /**
- * Gets the media ID of the item to which this task relates.
- * @returns TGlxMediaId Media ID.
- */
- inline TGlxMediaId ItemId() const;
-
- /**
- * Sets the priority of the task. By default it is set to
- * EPriorityStandard.
- */
- inline void SetPriority(TInt aPriority);
- /**
- * Gets the task priority.
- * @returns TInt Task priority.
- */
- inline TInt Priority() const;
-
- /**
- * Get thumbnail storage for the task to use, if any.
- * @returns Pointer to thumbnail storage, or NULL if none.
- */
- inline MGlxtnThumbnailStorage* Storage() const;
-
- /**
- * Provides a pointer to the task manager.
- * @param aManager Pointer to the task manager.
- */
- virtual void SetManager(CGlxtnTaskManager* aManager);
-
-private: // For CGlxTaskManager only
- /**
- * Starts the task
- */
- void StartL(TRequestStatus& aStatus);
-
- /**
- * Cancels the task
- */
- void Cancel();
-
- /**
- * Runs a bit of the task
- */
- void RunL(TRequestStatus& aStatus);
-
- /**
- * Handle a leave in StartL or RunL.
- */
- void RunError(TInt aError);
-
-protected:
- /**
- * Starts the task.
- * @param aStatus Request status for asynchronous operations
- * @returns -ETrue if the task has issued an asyncronous request.
- * CActive::SetActive() will be called in this case and the
- * task state will be ERunning.
- * -EFalse if the task has not issued a request.
- * SetActive will not be called and the task state will be
- * EComplete.
- */
- virtual TBool DoStartL(TRequestStatus& aStatus) = 0;
-
- /**
- * Cancels the task. The task's state will be set to ECanceled.
- */
- virtual void DoCancel() = 0;
-
- /**
- * Runs a bit of the task
- * @param aStatus Request status for asynchronous operations
- * @returns -ETrue if the task has issued an asyncronous request.
- * CActive::SetActive() will be called in this case and the
- * task state will be ERunning.
- * -EFalse if the task has not issued a request.
- * SetActive will not be called and the task state will be
- * EComplete.
- */
- virtual TBool DoRunL(TRequestStatus& aStatus) = 0;
-
- /**
- * Handle a leave in StartL or RunL.
- * @param aError The error that occurred.
- * @returns -ETrue if the task has issued an asyncronous request.
- * CActive::SetActive() will be called in this case and the
- * task state will be ERunning.
- * -EFalse if the task has not issued a request.
- * SetActive will not be called and the task state will be
- * EComplete.
- */
- virtual TBool DoRunError(TInt aError) = 0;
-
-protected:
- /**
- * Issues a request and sets the aStatus as KRequestPending
- * Use this to make a synchronous operation asynchronous.
- */
- void SelfComplete(TRequestStatus& aStatus);
-
-private:
- /** Task state */
- TState iState;
-
- /** Task id */
- TGlxtnTaskId iId;
-
- /** Media item id */
- TGlxMediaId iItemId;
-
- /**
- * Priority of this task.
- * The task schedule will execute tasks based on this priority
- * When this task is run, the execution priority in CActiveScheduler
- * will be this priority. (So it is comparable to priorities of active
- * objects in the system.)
- */
- TInt iPriority;
-
- /** Thumbnail storage for the task to use (can be NULL) */
- MGlxtnThumbnailStorage* iStorage;
- };
-
-/**
- * Base class for thumbnail tasks which return results to a client.
- *
- * @ingroup glx_thumbnail_creator
- */
-NONSHARABLE_CLASS(CGlxtnClientTask) : public CGlxtnTask
- {
-protected:
- CGlxtnClientTask(const TGlxtnTaskId& aId, const TGlxMediaId& aItemId,
- MGlxtnThumbnailCreatorClient& aClient);
-
- /**
- * Get the client for this task.
- */
- inline MGlxtnThumbnailCreatorClient& Client();
-
-private:
- /** Client for this task */
- MGlxtnThumbnailCreatorClient& iClient;
- };
-
-#include "glxtntask.inl"
-
-#endif // C_GLXTNTASK_H