os/security/cryptomgmtlibs/securitytestfw/test/testhandler_on_testexecute/testexecuteinterface.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of the License "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: 
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
/**
sl@0
    20
 @file
sl@0
    21
*/
sl@0
    22
sl@0
    23
#include "testexecuteinterface.h"
sl@0
    24
#include "server.h"
sl@0
    25
sl@0
    26
sl@0
    27
namespace TestExecuteInterface
sl@0
    28
	{
sl@0
    29
	class TMain
sl@0
    30
		{
sl@0
    31
	public:
sl@0
    32
		TMain(TScriptTests* aTestTypes, const TDesC& aServerName);
sl@0
    33
		void MainL();
sl@0
    34
sl@0
    35
	private:
sl@0
    36
		void SignalClientL();
sl@0
    37
sl@0
    38
	private:
sl@0
    39
		TScriptTests* iTestTypes;
sl@0
    40
		TPtrC iServerName;
sl@0
    41
		};
sl@0
    42
}
sl@0
    43
sl@0
    44
sl@0
    45
using namespace TestExecuteInterface;
sl@0
    46
sl@0
    47
EXPORT_C TInt TestExecuteInterface::StartWinsEka1Thread(
sl@0
    48
		TInt (*)(), const TDesC&)
sl@0
    49
	{
sl@0
    50
	// EKA2 version or hardware versions do not implement this
sl@0
    51
	return KErrNone;
sl@0
    52
	}
sl@0
    53
sl@0
    54
EXPORT_C void TestExecuteInterface::StartWithTestExecuteL(TScriptTests theTestTypes[],
sl@0
    55
														  const TDesC& aServerName)
sl@0
    56
	{
sl@0
    57
	TMain(theTestTypes, aServerName).MainL();
sl@0
    58
	}
sl@0
    59
sl@0
    60
TMain::TMain(TScriptTests* aTestTypes, const TDesC& aServerName)
sl@0
    61
	: iTestTypes(aTestTypes), iServerName(aServerName)
sl@0
    62
	{
sl@0
    63
	}
sl@0
    64
sl@0
    65
void TMain::MainL()
sl@0
    66
	{
sl@0
    67
	CActiveScheduler* sched=NULL;
sl@0
    68
	sched=new (ELeave) CActiveScheduler;
sl@0
    69
	CleanupStack::PushL(sched);
sl@0
    70
	CActiveScheduler::Install(sched);
sl@0
    71
	CServer* server = new CServer (iTestTypes);
sl@0
    72
	if(server)
sl@0
    73
		{
sl@0
    74
		CleanupStack::PushL(server);
sl@0
    75
		server->StartL(iServerName);
sl@0
    76
		SignalClientL();
sl@0
    77
		CleanupStack::Pop(server);
sl@0
    78
		sched->Start();
sl@0
    79
		}
sl@0
    80
	CleanupStack::Pop(sched);
sl@0
    81
	delete server;
sl@0
    82
	delete sched;
sl@0
    83
	}
sl@0
    84
sl@0
    85
void TMain::SignalClientL()
sl@0
    86
	{
sl@0
    87
	RProcess::Rendezvous(KErrNone);
sl@0
    88
	}
sl@0
    89