diff -r 000000000000 -r 3553901f7fa8 smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,289 @@ +// Copyright (c) 1997-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: +// WAP prot test suite server +// +// + +/** + @file +*/ + +// Include your own server header file and step header file(s) here +#include "WapProtSuiteServer.h" +#include "WapIoctlSteps.h" +#include "WapStatusReports.h" + + +CWapProtSuite* CWapProtSuite::NewL() +/** + * @return - Instance of the test server + * Same code for Secure and non-secure variants + * Called inside the MainL() function to create and start the + * CTestServer derived server. + */ + { + CWapProtSuite * server = new (ELeave) CWapProtSuite(); + CleanupStack::PushL(server); + // CServer base class call + + RProcess handle = RProcess(); + TParsePtrC serverName(handle.FileName()); + server->ConstructL(serverName.Name()); + + CleanupStack::Pop(server); + return server; + } + + +LOCAL_C void MainL() + { + CActiveScheduler* sched=NULL; + sched=new(ELeave) CActiveScheduler; + CActiveScheduler::Install(sched); + CWapProtSuite* server = NULL; + // Create the CTestServer derived server + TRAPD(err,server = CWapProtSuite::NewL()); + if(!err) + { + // sync with the client and enter the active scheduler + RProcess::Rendezvous(KErrNone); + sched->Start(); + } + delete server; + delete sched; + } + + + +GLDEF_C TInt E32Main() +/** + * @return - Standard Epoc error code on process exit + * Secure variant only + * Process entry point. Called by client using RProcess API + */ + { + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + if(cleanup == NULL) + { + return KErrNoMemory; + } + TRAPD(err,MainL()); + delete cleanup; + __UHEAP_MARKEND; + + return err; + } + +CTestStep* CWapProtSuite::CreateTestStep(const TDesC& aStepName) +/** + * @return - A CTestStep derived instance + * Secure and non-secure variants + * Implementation of CTestServer pure virtual + */ + { + CTestStep* testStep = NULL; + + // + // Here the test step is created when it is needed. Note that this + // function is non-leaving so we cannot use new(ELeave). Therefore + // the new could return NULL, but that is not a problem as it implies + // the test step is missing and this will be marked in the log file. + // + + //************************************* + // IOCTL tests + //************************************* + + // IOCTL steps [1 - XYZ] + if (aStepName == _L("IoctlStep_1")) + { + testStep = new CIoctlStep_1(); + } + else if (aStepName == _L("IoctlStep_2")) + { + testStep = new CIoctlStep_2(); + } + else if (aStepName == _L("IoctlStep_3")) + { + testStep = new CIoctlStep_3(); + } + else if (aStepName == _L("IoctlStep_4")) + { + testStep = new CIoctlStep_4(); + } + else if (aStepName == _L("IoctlStep_5")) + { + testStep = new CIoctlStep_5(); + } + else if (aStepName == _L("IoctlStep_6")) + { + testStep = new CIoctlStep_6(); + } + else if (aStepName == _L("IoctlStep_7")) + { + testStep = new CIoctlStep_7(); + } + else if (aStepName == _L("IoctlStep_8")) + { + testStep = new CIoctlStep_8(); + } + else if (aStepName == _L("IoctlStep_9")) + { + testStep = new CIoctlStep_9(); + } + else if (aStepName == _L("IoctlStep_10")) + { + testStep = new CIoctlStep_10(); + } + else if (aStepName == _L("IoctlStep_11")) + { + testStep = new CIoctlStep_11(); + } + else if (aStepName == _L("IoctlStep_12")) + { + testStep = new CIoctlStep_12(); + } + else if (aStepName == _L("IoctlStep_13")) + { + testStep = new CIoctlStep_13(); + } + else if (aStepName == _L("IoctlStep_14")) + { + testStep = new CIoctlStep_14(); + } + else if (aStepName == _L("IoctlStep_15")) + { + testStep = new CIoctlStep_15(); + } + else if (aStepName == _L("BackupRestoreStep")) + { + testStep = new CBackupRestoreStep(); + } + else if (aStepName == _L("IoctlStep_17")) + { + testStep = new CIoctlStep_17(); + } + else if (aStepName == _L("IoctlStep_18")) + { + testStep = new CIoctlStep_18(); + } + else if (aStepName == _L("IoctlStep_19")) + { + testStep = new CIoctlStep_19(); + } + else if (aStepName == _L("IoctlStep_20")) + { + testStep = new CIoctlStep_20(); + } + else if (aStepName == _L("IoctlStep_21")) + { + testStep = new CIoctlStep_21(); + } + else if (aStepName == _L("IoctlStep_22")) + { + testStep = new CIoctlStep_22(); + } + else if (aStepName == _L("IoctlStep_23")) + { + testStep = new CIoctlStep_23(); + } + else if (aStepName == _L("IoctlStep_24")) + { + testStep = new CIoctlStep_24(); + } + else if (aStepName == _L("IoctlStep_25")) + { + testStep = new CIoctlStep_25(); + } + else if (aStepName == _L("IoctlStep_26")) + { + testStep = new CIoctlStep_26(); + } + else if (aStepName == _L("IoctlStep_27")) + { + testStep = new CIoctlStep_27(); + } + else if (aStepName == _L("IoctlStep_28")) + { + testStep = new CIoctlStep_28(); + } + //Status report tests + else if (aStepName == _L("TestRequestingStatusReports")) + { + testStep = new CTestRequestingStatusReports(); + } + else if(aStepName == _L("TestRequestingStatusReportsWithOption")) + { + testStep = new CTestRequestingStatusReportsWithOption(); + } + else if (aStepName == _L("TestReceivingStatusReports")) + { + testStep = new CTestReceivingStatusReports(); + } + else if (aStepName == _L("TestReceivingStatusReportsSevenBitMultiplePDUs")) + { + testStep = new CTestReceivingStatusReportsSevenBitMultiplePDUs(); + } + else if (aStepName == _L("TestReceivingStatusReportsWithOption")) + { + testStep = new CTestReceivingStatusReportsWithOption(); + } + else if (aStepName == _L("SetDiskMonitorLimits")) + { + testStep = new CSetDiskMonitorLimits(); + } + else if (aStepName == _L("SetDiskSpace")) + { + testStep = new CSetDiskSpace(); + } + else if (aStepName == _L("FreeDiskSpace")) + { + testStep = new CFreeDiskSpace(); + } + else if (aStepName == _L("ReceiveWapMessage")) + { + testStep = new CReceiveWapMessage(); + } + else if (aStepName == _L("InitializePhone")) + { + testStep = new CInitializePhone(); + } + else if (aStepName == _L("TestEnumeratingVCard")) + { + testStep = new CTestEnumeratingVCard(); + } + else if (aStepName == _L("Test7BitBusinessCardWithEmail")) + { + testStep = new CTest7BitBusinessCardWithEmail(); + } + else if (aStepName == _L("TestOversizedDatagram")) + { + testStep = new CTestOversizedDatagram(); + } + else if (aStepName == _L("TestWapDatagramSegmentContainingNoData")) + { + testStep = new CTestWapDatagramSegmentContainingNoData(); + } + + // + // Set the test step name here to save code!!! + // + if (testStep != NULL) + { + testStep->SetTestStepName(aStepName); + } + + return testStep; + }