diff -r 7259cf1302ad -r 169364e7e4b4 stif/TestServer/inc/TestThreadContainerRunner.h --- a/stif/TestServer/inc/TestThreadContainerRunner.h Tue Jul 06 16:05:13 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,180 +0,0 @@ -/* -* Copyright (c) 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: This file contains the header file of the -* TestThreadContainerRunner class. -* -*/ - -#ifndef TESTTHREADCONTAINERRUNNER_H_ -#define TESTTHREADCONTAINERRUNNER_H_ - -// INCLUDES -#include - -// CONSTANTS -// None - -// MACROS -// None - -// DATA TYPES -// None - -// FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -class CTestThreadContainer; -class CTestModuleContainer; - -// CLASS DECLARATION - -// DESCRIPTION -// This class is used to emulate CTestThreadContainer::ExecutionThread method -// as an active object run in main thread of uitestserverstarter. -class CTestThreadContainerRunner: public CActive - { - public: // Enumerations - // None - - private: // Enumerations - // Current operation type - enum TOperationType { ENone, // None - ESetup, // Setup - ETearDown, // TearDown - ERunOneIteration, // Emulate one iteration of while loop placed - // in CTestThreadContainer::ExecutionThread - }; - - public: // Constructors and destructor - /** - * Performs first phase of two-phased constructor. - */ - IMPORT_C static CTestThreadContainerRunner* NewL( TThreadId aMainThreadId, - CActiveScheduler* aMainThreadActiveScheduler ); - - /** - * C++ destructor. - */ - ~CTestThreadContainerRunner(); - - private: // Constructors and destructor - /** - * C++ constructor. - */ - CTestThreadContainerRunner(); - - /** - * Performs second phase of two-phased constructor. - */ - void ConstructL( TThreadId aMainThreadId, - CActiveScheduler* aMainThreadActiveScheduler ); - - public: // New functions - /** - * Performs TestThreadContainer setup. - */ - void Setup( CTestModuleContainer* aTestModuleContainer ); - - /** - * Runs one iteration of emulated CTestThreadContainer::ExecutionThread while loop. - */ - void RunOneIteration(); - - /** - * Performs cleanup of TestThreadContainer. - */ - void TeareDown(); - - /** - * Checks if operation change signal was signaled from suspend state. - */ - void CheckSignalFromSuspend(); - - /** - * Checks if test thread is reusable. - */ - TBool IsReusable(); - - - public: // Functions from base classes - /** - * RunL derived from CActive handles the completed requests. - */ - void RunL(); - - /** - * DoCancel derived from CActive handles the Cancel. - */ - void DoCancel(); - - protected: // New functions - // None - - protected: // Functions from base classes - // None - - private: // New functions - /** - * Test thread exception handler. - */ - static void ExceptionHandler ( TExcType aType ); - - /** - * Raises panic. - */ - void Panic( TInt aReason ); - - /** - * Complets current operation request, what causes execution of RunL method - * in main thread of UITestServerStarter. - */ - void CompleteRequest(); - private: // Functions from base classes - // None - - public: //Data - // None - - protected: // Data - // None - - private: // Data - TThreadId iMainThreadId; // UITestServerStarter main thread id. - CActiveScheduler* iMainThreadActiveScheduler; // Pointer to UITestServerStarter main thread active scheduler. - RLibrary iModule; // Handle to test module library. - CTestModuleContainer* iTestModuleContainer; // Pointer to test module container. - TOperationType iCurrentOperation; // Current operation type. - CTestThreadContainer* iTestThreadContainer; // Pointer to test thread container. - - RSemaphore iOperationOngoing; // Current operation end semaphore. - - TBool iReusable; // Is test module reusable. - TBool iSignalFromSuspend; // Send signal from suspend state. - TBool iInitialized; // Is module initialized. - TInt iReturnCode; // Lasst loop result code - - public: // Friend classes - // None - - protected: // Friend classes - // None - - private: // Friend classes - // None - }; - -#endif // TESTTHREADCONTAINERRUNNER_H_ - -// End of File