contentpublishingsrv/contentpublishingserver/cpserver/inc/cpactionhandlerthread.h
--- a/contentpublishingsrv/contentpublishingserver/cpserver/inc/cpactionhandlerthread.h Mon May 03 12:48:45 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2008 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:
-*
-*/
-
-#ifndef CPACTIONHANDLERTHREAD_H_
-#define CPACTIONHANDLERTHREAD_H_
-
-#include <e32base.h>
-#include <eikenv.h>
-#include <eikappui.h>
-
-class MLiwInterface;
-class CLiwGenericParamList;
-class CCPActionManager;
-
-/**
- * The function to be passed as an argument to RThread::Create.
- *
- * It just calls CCPActionHandlerThread::ThreadFunction. The only
- * reason this declaration is in the header file is to let
- * CCPActionHandlerThread declare friendship with this funcion.
- *
- * @param aParam pointer to CCPActionHandlerThread object
- * @return error code
- */
-TInt CPExecutionThreadFunction( TAny* aParam );
-
-/**
- * Action handler thread.
- *
- * Provides easy-to-use interface for executing plugin actions
- * in a separate thread.
- * @since S60 5.0
- */
-class CCPActionHandlerThread: public CBase
- {
- friend TInt CPExecutionThreadFunction( TAny* );
-
-public:
-
- /**
- * Creates new instance of CCPActionHandlerThread.
- *
- * @return new instance of CCPActionHandlerThread
- */
- static CCPActionHandlerThread* NewL();
-
- /**
- * Creates new instance of CCPActionHandlerThread.
- *
- * @return new instance of CCPActionHandlerThread
- */
- static CCPActionHandlerThread* NewLC();
-
- /**
- * Destructor.
- * Stops the action execution thread.
- */
- ~CCPActionHandlerThread();
-
- /**
- * Executes an action handler action in the action execution thread.
- *
- * @param aActionParams action parameters
- */
- void ExecuteL( const CLiwGenericParamList& aActionParams );
-
- /**
- * Starts the action execution thread.
- *
- * Creates a new instance of action execution thread
- * provided it is not running already.
- */
- void StartExecutionThreadIfNeededL();
-
- /**
- * Checks whether action execution thread is alive.
- *
- * @return ETrue if the thread is alive, EFalse otherwise.
- */
- TBool ExecutionThreadRunning();
-
-private:
- /**
- * Constructor.
- */
- CCPActionHandlerThread();
-
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
-
- /**
- * This function is run is a separate thread. It creates
- * CServerEikonEnv and CServerAppUi objects, which provide
- * a trap cleanup and an active scheduler for the thread and
- * then starts the active scheduler.
- *
- * @return error code
- */
- TInt ThreadFunction();
-
-private: // internal data types
-
- /**
- * EIkonEnv for the server process.
- */
- class CServerEikonEnv : public CEikonEnv
- {
- public:
- void DestroyEnvironment();
- void ConstructL();
- };
-
- /**
- * EikAppUi for the server process.
- */
- class CServerAppUi : public CEikAppUi
- {
- public:
- ~CServerAppUi();
- void ConstructL();
- };
-
- /**
- * A simple active object for executin actions.
- * Objects of this class are created and destroyed
- * by action execution thread.
- */
- class CActionExecutorAO: public CActive
- {
- public:
- /**
- * Factory method.
- */
- static CActionExecutorAO* NewL();
- /**
- * Factory method.
- */
- static CActionExecutorAO* NewLC();
- /**
- * Destructor.
- */
- ~CActionExecutorAO();
- /**
- * The RunL method which is run whever an action needs
- * to be executed in the action execution thread.
- * It just executes the action using the parameters
- * supplied with a call to SetActionParams. If that
- * parameters are NULL, it stops the active scheduler
- * thus terminating action execution thread.
- */
- void RunL();
- /**
- * A dummy cancel method required by Symbian.
- */
- void DoCancel();
- /**
- * Returns a pointer to this active object's iStatus
- * member variable.
- */
- TRequestStatus* RequestStatus();
- /**
- * TODO
- * Sets paramters of the action to be executed in RunL.
- * This method is supposed to be called from the main CPS thread.
- * @param aActionParams action parameters
- */
- void SetActionParams( const CLiwGenericParamList* aActionParams );
- private:
- /**
- * Constructor.
- */
- CActionExecutorAO();
- /**
- * 2nd phase constructor.
- */
- void ConstructL();
- private:
- /**
- * Parameters of the action to be executed in RunL.
- * Not own.
- */
- const CLiwGenericParamList* iActionParams;
- /**
- * Action manager instance.
- * Own.
- */
- CCPActionManager* iActionManager;
- };
-
-private: // data
- /**
- * Handle to the action execution thread.
- * Own.
- */
- RThread iActionExecThread;
-
- /**
- * Active object created in the action execution thread.
- * Own.
- */
- CActionExecutorAO *iActionExecutorAO;
-
- /**
- * ETrue if action execution thread was started at least once.
- */
- TBool iActionExecThreadStarted;
-
- /**
- * A counter for naming action execution thread.
- *
- * Every action execution thread has a number appended to its name.
- * When the thread dies (i.e. as a result of panic in a plugin), a
- * new instance of that thread is started with the number in the name
- * increased by one.
- */
- TUint iThreadNum;
- };
-
-#endif /* CPACTIONHANDLERTHREAD_H_ */