telephonyutils/etel3rdpartyapi/Test/te_etelIsv/TE_EtelIsvbase.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyutils/etel3rdpartyapi/Test/te_etelIsv/TE_EtelIsvbase.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,130 @@
+// Copyright (c) 2003-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
+*/
+
+
+#ifndef _TE_ETELISVBASE_H_
+#define _TE_ETELISVBASE_H_
+
+#include <e32base.h>
+#include <es_sock.h>
+#include <f32file.h>
+#include <sacls.h>
+#include "e32test.h"
+#include "c32comm.h"
+#include <simtsy.h>
+#include <etel3rdparty.h>
+#include <testconfigfileparser.h>
+#include <test/testexecuteserverbase.h>
+
+/**
+This class provides a dummy request so that 
+the main thread in the Stress Test does not hang
+waiting for the requests by the internal AOs in 
+CTelephonyFunctions to be dealt with.
+*/
+class CMyAsyncOneShot : public CAsyncOneShot
+	{
+public:
+	static CMyAsyncOneShot* NewL();
+	~CMyAsyncOneShot();
+
+	void StartOneShot();
+	
+protected:
+	void DoCancel();
+	void RunL();
+
+private:
+	CMyAsyncOneShot();
+	void ConstructL();
+	/**
+	Timer to provide a dummy asynchronous call for this class.
+	Not used to actually do anything else.
+	*/
+	RTimer iTimer;
+	};
+
+class CEtelIsvTestStep : public CTestStep
+{
+public:
+	~CEtelIsvTestStep();
+	CEtelIsvTestStep();
+ 	virtual TVerdict doTestStepPreambleL( void );
+	virtual TVerdict doTestStepPostambleL( void );
+	void PrintIndicatorValues(TInt aIndicator, TInt aIndicatorCaps);
+	void PrintBatteryInfo(CTelephony::TBatteryInfoV1& aBatteryInfo);
+	void PrintLockInfo(CTelephony::TIccLock aLock, TInt aLockStatus, TInt aLockSetting);
+	void PrintNetworkRegStatus(TInt aNetworkRegStatus);
+	void PrintNetworkInfo(TInt aNetworkMode, TInt aNetworkAccess, TInt aNetworkStatus, TInt aNetworkBandInfo);
+	void SetTestNumber(TInt aTestNumber);
+	void SignalSimTsyToReduceTimersL();
+
+	CTelephony* iTelephony;
+	RProperty iTestNumberProperty;
+	CActiveScheduler* iScheduler;
+	CMyAsyncOneShot* iMyAsyncOneShot;
+	
+	// Some of the tests support "Buffer Mode". Default setting is EFalse.
+	// In "Buffer Mode" the buffer package (TPckgBuff) is passed in to API method
+	// as a descriptor reference, otherwise the raw packge (TPckg) is used.
+	// This is to verify if ETel3rdParty suppports buffer packages (DEF091177). 
+	TBool iBufferMode;
+
+private:
+};
+
+class CTestCanceller : public CAsyncOneShot
+	{
+public:
+	CTestCanceller(CActive*);
+	~CTestCanceller();
+private:
+	void RunL();
+private:
+	CActive* iRetrieve;// not owned by this
+	};
+
+class CEtelIsvActBase : public CActive
+	{
+public:
+	CEtelIsvActBase(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony);
+	inline CTestCanceller* RetrieveCanceller() {return iCanceller;};
+	virtual	void CallMe(TInt& aCallCount);	
+protected:
+	CTestCanceller* iCanceller;
+	CTelephony* iTelephony;
+	CEtelIsvTestStep* iTestStep;
+	TRequestStatus iExpStat;
+	};
+ 
+class MActionParent
+	{
+public:
+
+enum TActionEvent
+	{
+	EDialNewCall,
+	EHangup,
+	EAnswerIncomingCall
+	};
+	
+	virtual void ActionParent(const TRequestStatus aCallStatus, const TActionEvent aEvent) = 0;
+	};
+
+#endif // _TE_ETELISVBASE_H_