diff -r 000000000000 -r 3553901f7fa8 telephonyutils/etel3rdpartyapi/Test/te_etelIsv/TE_EtelIsvbase.h --- /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 +#include +#include +#include +#include "e32test.h" +#include "c32comm.h" +#include +#include +#include +#include + +/** +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_