commsprocess/commsrootserverconfig/TE_rootserver/inc/TE_RootServerServer.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
  *
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    16
 * Header for TE_RootServerSuite class. This is the container
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    17
 * class for all the RConnection multihoming test steps
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    18
 *
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    19
 */
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    20
#if (!defined __TE_RootServerSUITE_H__)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    21
#define __TE_RootServerSUITE_H__
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    22
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    23
#include <test/TestExecuteServerBase.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    24
#include "c32root.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    25
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    26
class CTestStepRootServer;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    27
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    28
class CTE_RootServerServer : public CTestServer
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    29
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    30
public:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    31
	static CTE_RootServerServer* NewL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    32
	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    33
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    34
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    35
	TInt StartRootServer();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    36
	TBool ShutdownRootServer();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    37
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    38
	RRootServ& RootSess()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    39
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    40
		return iRootServer;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    41
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    42
	TInt NextServerNumber()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    43
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    44
		return iNextServerNumber++;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    45
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    46
	// this should be a pure virtual so every test ddl
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    47
	// has to provide a version but for now defaults to ?.?
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    48
	virtual TPtrC GetVersion( void );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    49
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    50
private:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    51
	RRootServ iRootServer;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    52
	TInt iNextServerNumber;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    53
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    54
	};
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    55
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    56
// CSelfPopScheduler - thin extension of CActiveScheduler to give useful installation & removal cleanup-stack behaviour
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    57
class CSelfPopScheduler : public CActiveScheduler
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    58
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    59
public:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    60
	static CSelfPopScheduler* CreateLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    61
	operator TCleanupItem();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    62
private:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    63
	static void Cleanup(TAny* aItem);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    64
	};
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    65
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    66
#endif