commsprocess/commsrootserverconfig/TE_rootserver/inc/TestStepRootServer.h
author hgs
Mon, 06 Sep 2010 13:49:23 +0100
changeset 72 ae47d0499bee
permissions -rw-r--r--
201033_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     1
// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     2
// All rights reserved.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     7
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     8
// Initial Contributors:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    10
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    11
// Contributors:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    12
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    13
// Description:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    14
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    15
// This contains CTestCaseRootServer which is the base class for all 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    16
// the ROOTSERVER suite test cases
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    17
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    18
#if (!defined __ROOTSERVERTESTSTEP_H__)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    19
#define __ROOTSERVERTESTSTEP_H__
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    20
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    21
// EPOC includes
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    22
#include <e32base.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    23
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    24
// RootServer includes
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    25
#include <es_mbman.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    26
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    27
#include "RootServerTest.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    28
#include "TestAsynchHandler.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    29
#include <comms-infras/commsdebugutility.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    30
#include "rsshared.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    31
#include "cfshared.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    32
#include "c32cmiutils.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    33
#include "TE_RootServerServer.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    34
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    35
_LIT8(KModule1, "module1");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    36
_LIT8(KModule2, "module2");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    37
_LIT8(KSubModule1, "Test Protocol1");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    38
_LIT8(KSubModule2, "Test Protocol2");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    39
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    40
class CTE_RootServerServer;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    41
class CTestAsynchHandler;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    42
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    43
class CTestStepRootServer : public CTestStep
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    44
{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    45
public:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    46
	CTestStepRootServer(CTE_RootServerServer *aSuite);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    47
	~CTestStepRootServer();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    48
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    49
	// config file access - RootServer specific
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    50
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    51
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    52
	// override pre and post ambles
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    53
	TVerdict doTestStepPreambleL( void );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    54
	TVerdict doTestStepPostambleL( void );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    55
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    56
	// global methods
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    57
	void GetTestStepServerName(const TDesC &aNamePostFix, TDes &aServerName);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    58
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    59
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    60
	// pointer to suite which owns this test 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    61
	CTE_RootServerServer * iRootServerSuite;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    62
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    63
	// expected test server lifetime in microsecs
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    64
	static const TInt isTestServerLifeTime;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    65
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    66
	// time to wait for all test servers to die
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    67
	static const TInt isTestServerWaitTime;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    68
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    69
	// time to delay testserver statrup rendezvous when required
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    70
	static const TInt isRendezvousDelayTime;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    71
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    72
	// Narrow-char overloads; would be better in base class
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    73
	enum { EMaxLogLength = 256 };
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    74
	void Log( TRefByValue<const TDesC8> aFormat, ... );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    75
	void Log( TInt aSeverity, TRefByValue<const TDesC8> aFormat, ... );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    76
	void LogExtra(const TText8* aFile, TInt aLine, TInt aSeverity,
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    77
		TRefByValue<const TDesC8> aFmt,...);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    78
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    79
	// And forwards to the base class, since the narrow overloads mask the usual ones
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    80
	void Log( TRefByValue<const TDesC16> aFormat, ... );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    81
	void Log( TInt aSeverity, TRefByValue<const TDesC16> aFormat, ... );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    82
	void LogExtra(const TText8* aFile, TInt aLine, TInt aSeverity,
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    83
		TRefByValue<const TDesC> aFmt,...);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    84
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    85
protected:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    86
	void DefaultStartParams(RootServer::TRSStartModuleParams& aStartParams, TTestModuleIniData& iIniData);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    87
	void LoadNormalModuleL(CTestAsynchHandler* aHandler, const TDesC8& aModule, TThreadPriority aPriority = EPriorityNormal);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    88
	TInt TryHierachicalBind(CTestAsynchHandler* aHandler, 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    89
							const TDesC8& aTopModule, const TDesC8& aTopSubModule, 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    90
							const TDesC8& aBottomModule, const TDesC8& aBottomSubModule);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    91
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    92
private:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    93
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    94
};
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    95
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    96
#endif /* __ROOTSERVERTESTSTEP_H__ */