telephonyserverplugins/common_tsy/test/component/inc/cctsycallbarringfu.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/test/component/inc/cctsycallbarringfu.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,147 @@
+// 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:
+// The TEFUnit header file which tests the CallBarring
+// functional unit of the Common TSY.
+// 
+//
+
+#ifndef CCTSYCALLBARRINGFU_H
+#define CCTSYCALLBARRINGFU_H
+
+#include <test/tefunit.h>
+
+#include <etelmm.h>
+#include <etelmmcs.h>
+#include <mmretrieve.h>
+
+#include "cctsycomponenttestbase.h"
+
+class CCTsyCallBarringFU : public CCtsyComponentTestBase
+	{
+public:
+	// Create a suite of all the tests
+	static CTestSuite* CreateSuiteL(const TDesC& aName);
+
+public:
+	// Individual test steps
+
+	void TestStart0001L();
+	void TestStart0002L();
+	void TestStart0003L();
+	void TestStart0004L();
+	void TestStart0005L();
+	void TestSetSSPassword0001L();
+	void TestSetSSPassword0002L();
+	void TestSetSSPassword0003L();
+	void TestSetSSPassword0004L();
+	void TestSetSSPassword0005L();
+	void TestGetCompMethodName0001L();
+	void TestSetCallBarringStatus0001L();
+	void TestSetCallBarringStatus0002L();
+	void TestSetCallBarringStatus0003L();
+	void TestSetCallBarringStatus0004L();
+	void TestSetCallBarringStatus0005L();
+	void TestSetCallBarringPassword0001L();
+	void TestNotifyCallBarringStatusChange0001L();
+	void TestNotifyCallBarringStatusChange0002L();
+	void TestNotifyCallBarringStatusChange0004L();
+
+
+private:
+	
+	void OpenPhoneCBListLC();
+	
+private:
+	CRetrieveMobilePhoneCBList* iCBList;
+
+	}; // class CCTsyCallBarringFU
+
+typedef void (CCTsyCallBarringFU::*TestStepFunc)();
+
+class MFuncHolderBase
+	{
+public:
+	virtual void Call() = 0;
+	};
+
+template <typename T, void (T::*TFunctionPtr)(TRequestStatus& aStatus)>
+/*class MFuncHolder0 : public MFuncHolderBase
+	{
+private:
+	T& iT;
+
+public:
+	MFuncHolder0(T& aT) : iT(aT) {}
+
+public:
+	void Call()
+		{
+		(iT.*TFunctionPtr)();
+		}
+	};
+*/
+class CTestStepRunner : public CActive
+	{
+public:
+	static CTestStepRunner* NewLC(T& aT);
+	void RunTestAsyncL();
+	
+private:
+//	static void DoRunTestAsyncL(CCtsyComponentTestBase* aTestSuite, TestStepFunc aTestStep);
+
+//	CTestStepRunner(CCtsyComponentTestBase* aTestSuite, TestStepFunc aTestStep, TBool aStopSchedulerWhenFinish);
+	CTestStepRunner(T& aT);
+	virtual ~CTestStepRunner();
+	
+	void ConstructL();
+	
+	void RunL();
+	void DoCancel();
+	
+	inline TRequestStatus* Status() {return &iStatus;}
+	
+	void Call(TRequestStatus& aStatus)
+		{
+		(iT.*TFunctionPtr)(aStatus);
+		}
+		
+	TInt StatusCompleteThreadFunc(TAny* );
+private:
+	T& iT;
+//	TestStepFunc iTestStep;
+	TBool iStopSchedulerWhenFinish;
+	TInt iStage;
+	CActiveScheduler* iScheduler;
+//	CCtsyComponentTestBase* iTestSuite;
+	};
+
+class CAsyncRequestStatusHolder : public CActive
+	{
+public:
+	static CAsyncRequestStatusHolder* NewLC();
+	inline TRequestStatus* Status(){ return &iStatus; }
+private:
+	CAsyncRequestStatusHolder();
+	~CAsyncRequestStatusHolder();
+	void ConstructL();
+	
+	virtual void DoCancel();
+	virtual void RunL();
+private:
+	TBool iSchedulerAlreadyStopped;
+	
+	};
+
+#endif // CCTSYCALLBARRINGFU_H
+