telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_EtelMMTestServer.cpp
changeset 0 3553901f7fa8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_EtelMMTestServer.cpp	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,414 @@
+// Copyright (c) 2005-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:
+// Definitions for creating the test suite and test steps of ETelMM's API
+// test harness.
+// 
+//
+
+/**
+ @file
+*/
+
+
+#include "TE_EtelMMTestServer.h"
+
+#include "TE_mmcanceller.h"
+#include "TE_mmconference.h"
+#include "TE_mmsmsstore.h"
+#include "TE_mmmemsmsstore.h"
+#include "TE_mmnamstore.h"
+#include "TE_mmmemnamstore.h"
+#include "TE_mmonstore.h"
+#include "TE_mmmemonstore.h"
+#include "TE_mmenstore.h"
+#include "TE_mmmemenstore.h"
+#include "TE_mmphonebookstore.h"
+#include "TE_mmphonebookstoreutils.h"
+#include "TE_mmsms.h"
+#include "TE_mmmemsms.h"
+#include "TE_mmbroadcast.h"
+#include "TE_mmmembroadcast.h"
+#include "TE_mmussd.h"
+#include "TE_mmcall.h"
+#include "TE_mmline.h"
+#include "TE_mmphone.h"
+#include "TE_mmmemphone.h"
+#include "TE_mmlist.h"
+#include "TE_mmmemlist.h"
+#include "TE_mmloaddrv.h"
+#include "TE_mmauthorization.h"
+#include "TE_mmauthenticate.h"
+#include "TE_mmsmartcardeap.h"
+#include "te_mmsmartcardauth.h"
+#include "TE_mmNotifyMtlr.h"
+#include "TE_mmSendMtlrResponse.h"
+#include "TE_mmNotifyMeasurementControl.h"
+#include "TE_mmSendMeasurementReport.h"
+#include "TE_mmSendMolr.h"
+#include "TE_mmCancelLbsRequests.h"
+#include "te_mmsetemergencyclient.h"
+#include "te_mmsetpriorityclient.h"
+#include "te_mmdialcallcontrol.h"
+#include "TE_MMEtelRecorder.h"
+#include "te_mmnotifyuepositioningreset.h"
+
+CEtelMMTestServer* CEtelMMTestServer::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.
+ */
+	{
+	CEtelMMTestServer * testServer = new (ELeave) CEtelMMTestServer();
+	CleanupStack::PushL(testServer);
+	RProcess	handle = RProcess();
+	TParsePtrC	serverName(handle.FileName());
+	testServer->ConstructL(serverName.Name());
+	CleanupStack::Pop(testServer);
+	return testServer;
+	}
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+   	TInt result = StartC32();
+	if (result != KErrNone  &&  result != KErrAlreadyExists)
+		{
+		User::Leave(result);
+		}
+
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CEtelMMTestServer* testServer = NULL;
+	
+	// Create the CTestServer derived server
+	TRAPD(err,testServer = CEtelMMTestServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete testServer;
+	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* CEtelMMTestServer::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Secure and non-secure variants
+ * Implementation of CTestServer pure virtual
+ */
+	{
+	CTestStep* testStep = NULL;
+           
+	//Load any components used by the different tests
+    if(aStepName == _L("TestMMLoadDrv"))
+    	{
+    	testStep = new CTestMMLoadDrv;
+    	}
+
+	//Test Mobile Phone Functionality
+    else if(aStepName == _L("TestPhone"))
+    	{
+    	testStep = new CTestPhone;
+    	}
+
+	// Test Line Functions
+    else if(aStepName == _L("TestLine"))
+    	{
+    	testStep = new CTestLine;
+    	}
+
+	// Test Call Functions
+    else if(aStepName == _L("TestCall"))
+    	{
+    	testStep = new CTestCall;
+    	}
+    else if(aStepName == _L("TestCall-2nd-part"))
+    	{
+    	testStep = new CTestCallb;
+    	}
+    else if(aStepName == _L("TestCall-3rd-part"))
+    	{
+    	testStep = new CTestCallc;
+    	}
+    else if(aStepName == _L("TestCall-ISV"))
+    	{
+    	testStep = new CTestCallISV;
+    	}
+  
+	// Test Broadcast Messaging Functions
+    else if(aStepName == _L("TestBrdcastMessaging"))
+    	{
+    	testStep = new CTestBroadcastMessaging;
+    	}
+	// Test USSD Messaging Functions
+    else if(aStepName == _L("TestUssdMessaging"))
+    	{
+    	testStep = new CTestUssdMessaging;
+    	}
+	// Test SMS Messaging Functions
+    else if(aStepName == _L("TestSmsMessaging"))
+    	{
+    	testStep = new CTestSmsMessaging;
+    	}
+	// Test SMS Storage Functions
+    else if(aStepName == _L("TestSmsStore"))
+    	{
+    	testStep = new CTestSmsStore;
+    	}
+	// Test Nam Storage Functions
+    else if(aStepName == _L("TestNamStore"))
+    	{
+    	testStep = new CTestNamStore;
+    	}
+	// Test ON Storage Functions
+    else if(aStepName == _L("TestOnStore"))
+    	{
+    	testStep = new CTestOnStore;
+    	}
+	// Test Emergency Number Functions
+    else if(aStepName == _L("TestEnStore"))
+    	{
+    	testStep = new CTestEnStore;
+    	}
+	// Test Phonebook Functions
+    else if(aStepName == _L("TestPhonebookStore"))
+    	{
+    	testStep = new CTestPhonebookStore;
+    	}
+	//Test PhoneBook TLV Utility Library Functionality
+    else if(aStepName == _L("TestPhonebookStoreU"))
+    	{
+    	testStep = new CTestPhonebookStoreUtils;
+    	}
+	//Test Mobile Phone Conference Call Functionality
+    else if(aStepName == _L("TestConferenceCall"))
+    	{
+    	testStep = new CTestConferenceCall;
+    	}
+	//Test API List class functionality
+    else if(aStepName == _L("TestMMLists"))
+    	{
+    	testStep = new CTestMMLists;
+    	}
+    //Test EAP functionality
+    else if(aStepName == _L("TestMMSmartCardBasedEap"))
+    	{
+    	testStep = new CTestSmartCardEap;
+    	}
+    //Test EAP functionality with bad client
+    else if(aStepName == _L("TestMMSmartCardBasedEapBadClient"))
+    	{
+    	testStep = new CTestInitEapWithoutClosing;
+    	}
+    //Test Smart Card Authenticate
+    else if(aStepName == _L("TestMMSmartCardAuthenticate"))
+    	{
+    	testStep = new CTestSmartCardAuthenticate;
+    	}
+
+	// Out of Memory tests
+
+	//Test Out Of Memory Mobile Phone Functionality
+    else if(aStepName == _L("TestMemPhone"))
+    	{
+    	testStep = new CTestMemPhone;
+    	}
+	//Test Out Of Memory Broadcast Messaging Functions
+    else if(aStepName == _L("TestMemBrdcastMess"))
+    	{
+    	testStep = new CTestMemBroadcastMessaging;
+    	}
+	//Test Out Of Memory SMS Messaging Functions
+    else if(aStepName == _L("TestMemSmsMessaging"))
+    	{
+    	testStep = new CTestMemSmsMessaging;
+    	}
+	//Test Out Of Memory SMS Storage Functions
+    else if(aStepName == _L("TestMemSmsStore"))
+    	{
+    	testStep = new CTestMemSmsStore;
+    	}
+	//Test Out Of Memory Nam Storage Functions
+    else if(aStepName == _L("TestMemNamStore"))
+    	{
+    	testStep = new CTestMemNamStore;
+    	}
+	//Test Out Of Memory ON Storage Functions
+    else if(aStepName == _L("TestMemOnStore"))
+    	{
+    	testStep = new CTestMemOnStore;
+    	}
+	//Test Out Of Memory Emergency Number Functions
+    else if(aStepName == _L("TestMemEnStore"))
+    	{
+    	testStep = new CTestMemEnStore;
+    	}
+	//Test Out Of Memory API List class functionality
+    else if(aStepName == _L("TestMemMMLists"))
+    	{
+    	testStep = new CTestMemMMLists;
+    	}
+	// Test Out Of Authorization Data Retrieval
+    else if(aStepName == _L("TestAuthorizationData"))
+    	{
+    	testStep = new CEtelMMTestAuthorizationData;
+    	}
+	// Test Out Of Authenticate
+    else if(aStepName == _L("TestAuthenticate"))
+    	{
+    	testStep = new CEtelMMTestAuthenticate;
+    	}
+ 
+	//Unload the components used by the different tests
+    else if(aStepName == _L("TestMMUnLoadDrv"))
+    	{
+    	testStep = new CTestMMUnLoadDrv;
+    	}
+
+    //Test for LocationServices
+
+    else if(aStepName == _L("NotifyMtlr"))
+    	{
+    	testStep = new CTestNotifyMtlr;
+    	}
+
+    else if(aStepName == _L("SendMtlrResponse"))
+    	{
+    	testStep = new CTestSendMtlrResponse;
+    	}
+
+    else if(aStepName == _L("NotifyMeasurementControl"))
+    	{
+    	testStep = new CTestNotifyMeasurementControl;
+    	}
+
+    else if(aStepName == _L("SendMeasurementReport"))
+    	{
+    	testStep = new CTestSendMeasurementReport;
+    	}
+
+    else if(aStepName == _L("SendMolr"))
+    	{
+    	testStep = new CTestSendMolr;
+    	}    	
+
+    else if(aStepName == _L("CancelLbsRequests"))
+    	{
+    	testStep = new CTestCancelLbsRequests;
+    	}  
+
+    else if(aStepName == _L("TestMMSetEmgClientLcsReqPreallocHeap"))
+    	{
+    	testStep = new CTestMMSetEmgClientLcsReqPreallocHeap;
+    	}
+
+    else if(aStepName == _L("TestMMSetEmgClientLcsReqAndSetPrClient"))
+    	{
+    	testStep = new CTestMMSetEmgClientLcsReqAndSetPrClient;
+    	}
+
+    else if(aStepName == _L("TestMMSetEmgClientVoiceReqAndSetPrClient"))
+    	{
+    	testStep = new CTestMMSetEmgClientVoiceReqAndSetPrClient;
+    	}
+
+    else if(aStepName == _L("TestMMSetEmgClientHeapSuffForLBS"))
+    	{
+    	testStep = new CTestMMSetEmgClientHeapSuffForLBS;
+    	}
+
+    else if(aStepName == _L("TestMMSetEmgClientVoiceReqPreallocHeap"))
+    	{
+    	testStep = new CTestMMSetEmgClientVoiceReqPreallocHeap;
+    	}  	
+
+    else if(aStepName == _L("TestMMSetPrClientPreallocHeap"))
+    	{
+    	testStep = new CTestMMSetPrClientPreallocHeap;
+    	}   
+
+    else if(aStepName == _L("TestMMSetPrClientAndSetEmgClient"))
+    	{
+    	testStep = new CTestMMSetPrClientAndSetEmgClient;
+    	} 
+
+    else if(aStepName == _L("TestMMSetPrClientV2AndSetEmgClientLcsReq"))
+    	{
+    	testStep = new CTestMMSetPrClientV2AndSetEmgClientLcsReq;
+    	}   
+
+    else if(aStepName == _L("TestMMSetPrClientV2AndSetEmgClientVoiceReq"))
+    	{
+    	testStep = new CTestMMSetPrClientV2AndSetEmgClientVoiceReq;
+    	} 
+
+    else if(aStepName == _L("TestMMSetPrClientV2AndSetEmgClientVoiceOrLbsReq"))
+    	{
+    	testStep = new CTestMMSetPrClientV2AndSetEmgClientVoiceOrLbsReq;
+    	}
+    // Caps and SID checking for RMobileCall::DialCallControl
+    else if (aStepName == _L("TestDialCallControlCorrectSIDCorrectCap"))
+    	{
+    	testStep = new CTestDialCallControlCorrectSIDCorrectCap();
+    	}
+    else if (aStepName == _L("TestDialCallControlIncorrectSIDCorrectCap"))
+    	{
+    	testStep = new CTestDialCallControlIncorrectSIDCorrectCap();
+    	}
+
+    else if (aStepName == _L("TestDialCallControlCorrectSIDIncorrectCap"))
+    	{
+    	testStep = new CTestDialCallControlCorrectSIDIncorrectCap();
+    	}
+    else if (aStepName == _L("TestDialCallControlIncorrectSIDIncorrectCap"))
+    	{
+    	testStep = new CTestDialCallControlIncorrectSIDIncorrectCap();
+    	}
+    else if (aStepName == _L("TestRecorder"))
+		{
+		testStep = new CTestRecorder();
+		}
+    else if (aStepName == _L("TestNotifyUePositioningReset"))
+    	{
+    	testStep = new CTestNotifyUePositioningReset();
+    	}
+ 	return testStep;
+	}