telephonyutils/etel3rdpartyapi/Test/te_etelIsv/TE_EtelIsvNotifiers.h
author ivan.fildichev@opencode.com
Thu, 18 Nov 2010 15:42:16 +0200
branchopencode
changeset 88 5e27cc612ac7
parent 24 6638e7f4bd8f
permissions -rw-r--r--
Latest bug-fixes with added tests.

// 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_ETELISVNOTIFIERS_H_
#define __TE_ETELISVNOTIFIERS_H_

#include <etel3rdparty.h>
#include "TE_EtelIsvCallFunc.h"


/**
 * This class implements a state machine that executes a series of asynchronous
 * requests.
 */
class CTestNotifyChange : public CEtelIsvTestStep
	{
public:
	CTestNotifyChange() ;
	~CTestNotifyChange(){} ;
	virtual enum TVerdict doTestStepL();
private:
	TPckgBuf<CTelephony::TFlightModeV1> iNotifierStatusBuff;
	TPckgBuf<CTelephony::TFlightModeV1> iFmNotifierStatusBuff;
	TPckgBuf<CTelephony::TIndicatorV1> iIndNotifierStatusBuff;
	TPckgBuf<CTelephony::TBatteryInfoV1> iBatNotifierStatusBuff;
	TPckgBuf<CTelephony::TSignalStrengthV1> iSigNotifierStatusBuff;
	TPckgBuf<CTelephony::TIccLockInfoV1> iLocNotifierStatusBuff;
	TPckgBuf<CTelephony::TCallStatusV1> iLinNotifierStatusBuff;
	TPckgBuf<CTelephony::TCallStatusV1> iFaxDataLinExpNotifierStatusBuff;
	TPckgBuf<CTelephony::TCallStatusV1> iCalNotifierStatusBuff;
	TPckgBuf<CTelephony::TRemotePartyInfoV1> iRemNotifierStatusBuff;
	TPckgBuf<CTelephony::TNetworkRegistrationV1> iRegNotifierStatusBuff;
	TPckgBuf<CTelephony::TNetworkInfoV1> iNetNotifierStatusBuff;
	TPckgBuf<CTelephony::TNetworkInfoV2> iNetNotifierStatusBuffV2;
	};
	
class CTestNotifyChangeCancel : public CEtelIsvTestStep
	{
public:
	CTestNotifyChangeCancel() ;
	~CTestNotifyChangeCancel(){} ;
	virtual enum TVerdict doTestStepL();
	};
	
class CTestCallAndNotify : public CEtelIsvTestStep
	{
public:
	CTestCallAndNotify() ;
	~CTestCallAndNotify(){} ;
	virtual enum TVerdict doTestStepL();
	};
	
class CTestRegisterNotifierAct : public CEtelIsvActBase, public MActionParent
	{
public:	// functions
	static CTestRegisterNotifierAct* NewLC(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony, TInt& iNumberNotifierTestsActive, CTelephony::TNotificationEvent aEvent);
	void ConstructL();
	~CTestRegisterNotifierAct();
	void StartNotifier(TDes8& aNotifierData, TRequestStatus aExpStat, TBool aCheckConcurrency = EFalse);
	void DoCancel();
	void RunL();
	void MakeCallL();
	
	void SetNetworkInfoVersion(TInt aVersion);

protected:
	CTestRegisterNotifierAct(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony, TInt& aNumberNotifierTestsActive, CTelephony::TNotificationEvent aEvent);
	void SendNotifyRequest(TBool aCheckConcurrency = EFalse);
	void ProcessFlightModeChangeNotification();
	void ProcessIndicatorNotification();
	void ProcessBatteryInfoNotification();
	void ProcessSignalStrengthNotification();
	void ProcessLockInfoNotification();
	void ProcessLineStatusNotification();
	void ProcessCallStatusNotification();
	void ProcessRemotePartyInfoNotification();
	void ProcessNetworkRegistrationStatusNotification();
	void ProcessCurrentNetworkInfoNotification();
	void InvokeNotifyConditionL();
	void HangupCallL();
	void ActionParent(const TRequestStatus aCallStatus, const TActionEvent aEvent);	//from MActionParent
public:
	RArray<TPtr8> iExpNotificationCompleteList;
private:	// data
	TDes8* iNotifierData;
	CTelephony::TNotificationEvent iEvent;
	TInt& iNumberNotifierTestsActive;
	TInt iNotificationCount;
	TInt iNumberNotificationsBeforeFinish;
	CTestDialNewCallAct* iDialNewCallAct;
	CTestHangupAct* iHangupAct;
	CTelephony::TCallParamsV1 iCallParams;
	TTestCallParams iTestCallParams;
	CTelephony::TCallParamsV1Pckg iCallParamsPckg;
	TBool iCallsActive;
	/**
	Version of TNetworkInfo being tested.
	*/
	TInt iNetworkInfoVersion;
	};
	
class CTestCancelRegisterNotifierAct : public CEtelIsvActBase
	{
public:	// functions
	static CTestCancelRegisterNotifierAct* NewLC(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony, CTelephony::TNotificationEvent aEvent);
	void ConstructL();
	~CTestCancelRegisterNotifierAct();
	void StartNotifier(TDes8& aNotifierPckg, TRequestStatus aExpStat);
	void DoCancel();
	void RunL();
protected:
	CTestCancelRegisterNotifierAct(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony, CTelephony::TNotificationEvent aEvent);
public:
	RArray<TPtr8> iExpNotificationCompleteList;
private:
	TDes8* iNotifierPckg;
	CTelephony::TNotificationEvent iEvent;
	CTelephony::TCallParamsV1 iCallParams;
	TTestCallParams iTestCallParams;
	CTelephony::TCallParamsV1Pckg iCallParamsPckg;
	};
	
class CTestNotifyCallClosureAct : public CEtelIsvActBase, public MActionParent
	{
public:	// functions
	static CTestNotifyCallClosureAct* NewLC(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony, CTelephony::TNotificationEvent aEvent);
	void ConstructL();
	~CTestNotifyCallClosureAct();
	void StartNotifier(TDes8& aNotifierPckg, TRequestStatus aExpStat);
	void DoCancel();
	void RunL();
	void MakeCallL();
protected:
	CTestNotifyCallClosureAct(CEtelIsvTestStep* aTestStep, CTelephony* aTelephony, CTelephony::TNotificationEvent aEvent);
	void SendNotifyRequest();
	void InvokeNotifyCondition();
	void HangupCallL();
	void ActionParent(const TRequestStatus aCallStatus, const TActionEvent aEvent);	//from MActionParent
public:
	RArray<TPtr8> iExpNotificationCompleteList;
private:	// data
	TDes8* iNotifierPckg;
	CTelephony::TNotificationEvent iEvent;
	TInt iNotificationCount;
	TInt iNumberNotificationsBeforeFinish;
	CTestDialNewCallAct* iDialNewCallAct;
	CTestHangupAct* iHangupAct;
	CTelephony::TCallParamsV1 iCallParams;
	TTestCallParams iTestCallParams;
	CTelephony::TCallParamsV1Pckg iCallParamsPckg;
	TBool iCallsActive;
	};
	
#endif // __TE_ETELISVNOTIFIERS_H_