--- a/stif/TestServer/src/TestThreadContainerRunnerFactory.cpp Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +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 module contains the implementation of
-* CTestthreadContainerRunnerFactory class member functions.
-*
-*/
-
-// INCLUDE FILES
-#include <stifinternal/TestThreadContainerRunnerFactory.h>
-#include "TestThreadContainerRunner.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: NewL
-
- Description: NewL is first phase of two-phased constructor.
-
- NewL is first phase of two-phased constructor.
-
- Parameters: TThreadId aThreadId: in: main thread id.
- CActiveScheduler* aScheduler: in: Pointer to main thread active scheduler.
- CUiEnvProxy* aUiEnvProxy: in: Pointer to UIEnvProxy.
-
- Return Values: Pointer to new CTestServerThreadStarter object.
-
- Errors/Exceptions: Leaves if new or ConstructL leaves.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C CTestThreadContainerRunnerFactory*
-CTestThreadContainerRunnerFactory::NewL( TThreadId aThreadId, CActiveScheduler* aScheduler, CUiEnvProxy* aUiEnvProxy )
- {
- CTestThreadContainerRunnerFactory* self =
- new(ELeave)CTestThreadContainerRunnerFactory();
- CleanupStack::PushL( self );
- self->ConstructL( aThreadId, aScheduler, aUiEnvProxy );
- CleanupStack::Pop( self );
- return self;
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: CTestThreadContainerRunnerFactory
-
- Description: Default constructor.
-
- Default constructor.
-
- Parameters: None.
-
- Return Values: None.
-
- Errors/Exceptions: None.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestThreadContainerRunnerFactory::CTestThreadContainerRunnerFactory()
-:CActive( EPriorityNormal ),
-iTestThreadContainerRunner( NULL ),
-iOperation( ENone )
- {
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: ~CTestThreadContainerRunnerFactory
-
- Description: Default destructor.
-
- Default destructor.
-
- Parameters: None.
-
- Return Values: None.
-
- Errors/Exceptions: None.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestThreadContainerRunnerFactory::~CTestThreadContainerRunnerFactory()
- {
- Cancel();
- iOperationEndSemaphore.Close();
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: ConstructL
-
- Description: Second phase of two-phased constructor.
-
- Second phase of two-phased constructor.
-
- Parameters: TThreadId aThreadId: in: main thread id.
- CActiveScheduler* aScheduler: in: Pointer to main thread active scheduler.
- CUiEnvProxy* aUiEnvProxy: in: Pointer to UIEnvProxy.
-
- Return Values: None.
-
- Errors/Exceptions: None.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestThreadContainerRunnerFactory::ConstructL( TThreadId aThreadId, CActiveScheduler* aScheduler, CUiEnvProxy* aUiEnvProxy )
- {
- User::LeaveIfNull( aScheduler );
- iThreadId = aThreadId;
- iScheduler = aScheduler;
- iUiEnvProxy = aUiEnvProxy;
-
- TInt ret = iOperationEndSemaphore.CreateLocal( 0 );
- if ( ret != KErrNone )
- {
- User::Leave( ret );
- }
-
- iScheduler->Add( this );
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: DeleteL
-
- Description: Performs creation of CTestThreadContainerRunner object.
-
- Performs creation of CTestThreadContainerRunner object.
-
- Parameters: CTestThreadContainerRunner* aTestThreadContainerRunner: in: Pointer to
- CTestThreadContainerRunner object which needs to be deleted.
-
- Return Values: None.
-
- Errors/Exceptions: Leaves if one of the called method leavs.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestThreadContainerRunner* CTestThreadContainerRunnerFactory::CreateL()
- {
- if ( IsActive() )
- {
- User::Panic( _L( "E32USER-CBase" ), 42 );
- }
-
- iOperation = ECreate;
- iStatus = KRequestPending;
-
- RThread thread;
- TInt ret = thread.Open( iThreadId );
- if ( ret != KErrNone )
- {
- User::Leave( ret );
- }
-
- SetActive();
- TRequestStatus* statusPtr = &iStatus;
- thread.RequestComplete( statusPtr, KErrNone );
- thread.Close();
- iOperationEndSemaphore.Wait();
-
- return iTestThreadContainerRunner;
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: DeleteL
-
- Description: Performs deletion of CTestThreadContainerRunner object.
-
- Performs deletion of CTestThreadContainerRunner object.
-
- Parameters: CTestThreadContainerRunner* aTestThreadContainerRunner: in: Pointer to
- CTestThreadContainerRunner object which needs to be deleted.
-
- Return Values: None.
-
- Errors/Exceptions: Leaves if one of the called method leavs.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestThreadContainerRunnerFactory::DeleteL( CTestThreadContainerRunner* aTestThreadContainerRunner )
- {
- if ( IsActive() )
- {
- User::Panic( _L( "E32USER-CBase" ), 42 );
- }
-
- iOperation = EDelete;
- iStatus = KRequestPending;
-
- RThread thread;
- TInt ret = thread.Open( iThreadId );
- if ( ret != KErrNone )
- {
- User::Leave( ret );
- }
-
- iTestThreadContainerRunner = aTestThreadContainerRunner;
- SetActive();
- TRequestStatus* statusPtr = &iStatus;
- thread.RequestComplete( statusPtr, KErrNone );
- thread.Close();
- iOperationEndSemaphore.Wait();
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: RunL
-
- Description: RunL derived from CActive handles the completed requests.
-
- RunL derived from CActive handles the completed requests.
-
- Parameters: None.
-
- Return Values: None.
-
- Errors/Exceptions: Leaves if one of the called method leavs.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestThreadContainerRunnerFactory::RunL()
- {
- switch( iOperation )
- {
- case ECreate:
- {
- iTestThreadContainerRunner = CTestThreadContainerRunner::NewL( iThreadId, iScheduler );
- }
- break;
- case EDelete:
- {
- delete iTestThreadContainerRunner;
- iTestThreadContainerRunner = NULL;
- }
- break;
- default:
- {
- User::Panic( _L("STIFInternalError"), KErrNotFound );
- }
- break;
- }
- iOperation = ENone;
- iOperationEndSemaphore.Signal();
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: DoCancel
-
- Description: DoCancel derived from CActive handles the Cancel.
-
- DoCancel derived from CActive handles the Cancel.
-
- Parameters: None.
-
- Return Values: None.
-
- Errors/Exceptions: None.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestThreadContainerRunnerFactory::DoCancel()
- {
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestThreadContainerRunnerFactory
-
- Method: GetUiEnvProxy
-
- Description: Gets UIEnvProxy.
-
- Parameters: None.
-
- Return Values: Pointer to UIEnvProxy.
-
- Errors/Exceptions: None.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUiEnvProxy* CTestThreadContainerRunnerFactory::GetUiEnvProxy()
- {
- return iUiEnvProxy;
- }
-
-// End of File