diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstatemgr/test/tss/src/tss_server.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/test/tss/src/tss_server.cpp Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,150 @@ +// Copyright (c) 2007-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: +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#include "tss_server.h" +#include "tss_errors.h" +#include "tss_appstart.h" +#include "tss_procstart.h" +#include "tss_apptimeout.h" +#include "tss_procstartmon.h" +#include "tss_startandcancel.h" +#include "tss_appstartrverror.h" +#include "tss_appstartmultiple.h" +#include "tss_appstartapparcinit.h" +#include "tss_procstartwithfandf.h" + +_LIT(KServerName, "tss_server"); + + +CSsTestServer* CSsTestServer::NewL() + { + CSsTestServer * server = new (ELeave) CSsTestServer(); + CleanupStack::PushL(server); + + server->StartL(KServerName); + CleanupStack::Pop(server); + return server; + } + + + +static void MainL() + { + CActiveScheduler* sched=new(ELeave) CActiveScheduler; + CleanupStack::PushL(sched); + CActiveScheduler::Install(sched); + + // Create the CTestServer derived server, sync with the client and enter the active scheduler + CSsTestServer* server = CSsTestServer::NewL(); + RProcess::Rendezvous(KErrNone); + sched->Start(); + + delete server; + CleanupStack::PopAndDestroy(sched); + } + + + +TInt E32Main() + { + __UHEAP_MARK; + + CTrapCleanup* cleanup = CTrapCleanup::New(); + + if(cleanup == NULL) + { + return KErrNoMemory; + } + + TRAPD( err, MainL() ); + + if( KErrNone != err ) + { + RDebug::Print( _L("%S MainL - Error: %d"), &KServerName(),err ); + User::Panic( KServerName, err ); + } + + delete cleanup; + + __UHEAP_MARKEND; + + return KErrNone; + } + + + +/** + * @return - A CTestStep derived instance + * Implementation of CTestServer pure virtual + */ +CTestStep* CSsTestServer::CreateTestStep(const TDesC& aStepName) + { + CTestStep* testStep = NULL; + + if (aStepName == KCTestCaseProcStart) + { + testStep = new CSsTestStepProcStart(); + } + else if (aStepName == KCTestCaseAppStart) + { + testStep = new CSsTestStepAppStart(); + } + else if (aStepName == KCTestCaseProcStartMon) + { + testStep = new CSsTestStepProcStartMon(); + } + else if (aStepName == KCTestCaseAppTimeout) + { + testStep = new CSsTestStepAppTimeout(); + } + else if (aStepName == KCTestCaseStartAndCancel) + { + testStep = new CSsTestStepStartAndCancel(); + } + else if (aStepName == KCTestCaseAppStartMultiple) + { + testStep = new CSsTestStepAppStartMultiple(); + } + else if (aStepName == KCTestCaseAppStartAppArcInit) + { + testStep = new CSsTestStepAppStartAppArcInit(); + } + else if( aStepName == KCTestCaseAppStartRvError ) + { + testStep = new CSsTestStepAppStartRvError(); + } + else if( aStepName == KStartSafeErrors ) + { + testStep = new CSsTestStepErrors(); + } + else if (aStepName == KCTestCaseProcStartWithFAndF) + { + testStep = new CSsTestStepProcStartWithFAndF(); + } + else + { + RDebug::Printf("Unknown SsmStartSafe teststep %S", &aStepName); + } + + + return testStep; + } +