datacommsserver/networkcontroller/ts_netcon/TestBases.h
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/networkcontroller/ts_netcon/TestBases.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,278 @@
+// Copyright (c) 2002-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:
+//
+
+#ifndef __TESTBASES_H__
+#define __TESTBASES_H__
+
+#include <e32base.h>
+#include "CNetworkController.h"
+#include "NetConTestBases.h"
+#include <comms-infras/mdbaccess.h>
+#include "MNetConDialogProcAccess.h"
+
+//
+//	Base class for tests using the stubbed CNetworkController
+//
+class CControllerTestBase : public CNetConTestBase, public MCommsDbAccess, public MNetConEnv
+	{
+public:
+	virtual ~CControllerTestBase();
+
+	// MCommsDbAccess
+	virtual TInt GetConnectionAttempts();
+	virtual void GetCurrentSettingsL(TConnectionSettings& aSettings, TCommDbConnectionDirection aDirection, TUint32 aRank);
+	virtual void SetCurrentSettingsL(const TConnectionSettings& aSettings);
+	virtual void SetOverridesL(CCommDbOverrideSettings* aOverrides);
+	virtual void GetPreferedIapL(TUint32& aIapId, TCommDbConnectionDirection aDirection, TUint32 aRank);
+	virtual void SetPreferedIapL(TUint32& aIapId, TCommDbConnectionDirection aDirection, TUint32 aRank);
+	virtual TBool DoesIapExistL(TUint32 aIapId);
+	virtual void GetFirstValidIapL(TUint32& aIapId);
+	virtual TBool IsTelNumLengthZeroForRasConnectionL(TConnectionSettings& aSettings);
+	virtual void GetServiceSettingsL(TConnectionSettings& aSettings);
+	virtual RMobilePhone::TMobilePhoneNetworkMode NetworkMode() const;
+	virtual void SetNetworkMode(RMobilePhone::TMobilePhoneNetworkMode aMode);
+	virtual void GetDesL(const TDesC& aTable, const TDesC& aField, TDes16& aValue);
+	virtual void GetIntL(const TDesC& aTable, const TDesC& aField, TUint32& aValue);
+	virtual void GetTsyNameL(TDes& aName);
+	virtual void GetBearerAvailabilityTsyNameL(TDes& aTsyName);
+	virtual void RequestNotificationOfServiceChangeL(MServiceChangeObserver* aObserver);
+	virtual void CancelRequestNotificationOfServiceChange(MServiceChangeObserver* aObserver);
+
+
+	virtual TInt WriteInt(const TDesC& aField, TUint32 aValue);
+	virtual TInt WriteBool(const TDesC& aField, TBool aValuge);
+	virtual TInt WriteDes(const TDesC& aField, const TDesC8& aValue);
+	virtual TInt WriteDes(const TDesC& aField, const TDesC16& aValue);
+
+	virtual void Close();
+	virtual TBool IsShowingHiddenRecords();
+	virtual void SetCommPortL( const RCall::TCommPort& );
+	virtual void GetServiceTypeL( TDes& );
+	virtual void GetAuthParamsL( TBool&, TDes&, TDes& );
+	virtual void GetAgentExtL(const TDesC& aServiceType, TDes& aAgentExt);
+	virtual TInt ReadInt(const TDesC& aField, TUint32& aValue);
+	virtual TInt ReadBool(const TDesC& aField, TBool& aValue);
+	virtual TInt ReadDes(const TDesC& aField, TDes8& aValue);
+	virtual TInt ReadDes(const TDesC& aField, TDes16& aValue);
+	virtual HBufC* ReadLongDesLC(const TDesC& aField);
+	virtual void GetDesL(const TDesC& aTable, const TDesC& aField, TDes8& aValue);
+	virtual void GetBoolL(const TDesC& aTable, const TDesC& aField, TBool& aValue);
+	virtual HBufC* GetLongDesLC(const TDesC& aTable, const TDesC& aField);
+	virtual TInt GetLengthOfLongDesL(const TDesC& aTable, const TDesC& aField);
+	virtual void GetGlobalL(const TDesC& aName,TUint32& aVal);
+
+	virtual CCommsDbAccess::CCommsDbAccessModemTable* ModemTable();
+	virtual TUint32 LocationId() const;
+	virtual TCommDbConnectionDirection GetConnectionDirection() const;
+
+	
+
+	// MNetConEnv
+	virtual void RequestComplete(const CSelectionRequest* aRequest, TInt aError);
+	virtual void RequestComplete(const CReconnectRequest* aRequest, TInt aError);
+	virtual const TConnPref& ImplicitConnectionPrefs() const;
+	virtual const HBufC* ImplicitConnectionAgentName() const;
+	virtual TInt FindExistingAgentForSelection(CNifAgentBase*& aAgent, CCommsDbAccess*) const;
+	virtual void CheckBearerAvailability(TBool aIsReconnect);
+	virtual TInt RequestSecondPhaseAvailability();
+	virtual void AddAgentToNetworkL(CNifAgentBase* aAgent, TUint32 aNetworkId);
+	virtual void CancelBearerAvailabilityCheck();
+	virtual CCommsDbAccess* NewDatabaseL();
+	virtual CNetConDlgProcessor* NewDialogProcessorL();
+
+
+protected:
+	CControllerTestBase();
+
+	// Used internally in implementation of MCommsDbAccess
+	virtual void GetMinSigStrengthL(TUint32& aMinAcceptedSignalStrength);
+
+	/*
+	  Used to signal the call of an unimplemented function.
+	  Primarily a debugging conveniance.
+	*/
+	void Unimplemented() const;
+
+
+	/** Data capability checking */
+	virtual TInt DoCheckReadCapability( const TDesC& aField, const RMessagePtr2* aMessage );
+	virtual TInt DoCheckWriteCapability( const TDesC& aField, const RMessagePtr2* aMessage );
+
+
+
+protected:
+	TConnPref iImplicitConnPref;
+	};
+
+
+//
+//	Base class for the CSelectionRequest and CReconnectRequest tests
+//
+class CNetConRequestTestBase : public CControllerTestBase, public MNetConDialogProcAccess, public MNetworkControllerObserver
+	{
+public:
+
+	enum TDialogBoxAction
+			{
+			ESelectModemLocation,
+			ESelectConnection,
+			EWarnNewConnection
+			};
+
+	virtual ~CNetConRequestTestBase();
+
+	virtual CNetConDlgProcessor* NewDialogProcessorL();
+
+	// MNetConDialogProcAccess
+	virtual void SelectConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs);
+	virtual void SelectConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs, TInt aLastError);
+	virtual void SelectModemAndLocation(MDialogProcessorObserver& aObserver);
+	virtual void WarnNewConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs, const TDesC* aNewIapName, const TIspConnectionNames* aNewConnectionNames, TInt aLastError);
+	virtual void Reconnect(MDialogProcessorObserver& aObserver);
+	virtual void CancelEverything();
+
+	// MNetworkControllerObserver
+	virtual void SelectComplete(const TDesC& aName);
+	virtual void SelectComplete(TInt aError);
+	virtual void ReconnectComplete(TInt aError);
+
+	// override of function from CNetConTestBase
+	TInt RequestSecondPhaseAvailability();
+
+protected:
+	CNetConRequestTestBase();
+	void ConstructL();
+
+	static TInt BearerCb(TAny* aThisPtr);
+	void BearerCbComplete();
+	static TInt DialogCb(TAny* aThisPtr);
+	virtual void DialogCbComplete() = 0;
+
+	void StartTestL();
+	void GetDefaultTestSettings(TConnectionSettings& aSettings);
+
+protected:
+	CNifAgentBase* iAgent;
+	CNetConRequestBase* iRequest;
+	CAsyncCallBack* iBearerCb;
+	CAsyncCallBack* iDialogCb;
+	MDialogProcessorObserver* iDialogBoxObserver;
+	TDialogBoxAction iDialogBoxAction;
+	TInt iExpectedError;
+	TUint32 iAvailableBearers;
+	TBool iSecondPhaseAvailability;
+	TCommDbDialogPref iDialogBoxPref;
+	TInt iDialogBoxError;
+	};
+
+
+//
+//	Base class for the CReconnectRequest tests
+//
+class CNetConReconnectRequestTestBase : public CNetConRequestTestBase
+	{
+public:
+
+	virtual ~CNetConReconnectRequestTestBase();
+
+	// override of functions from CNetConTestBase
+	virtual void RequestComplete(const CReconnectRequest* aRequest, TInt aError);
+	virtual void CheckBearerAvailability(TBool aIsReconnect);
+	virtual void SetOverridesL(CCommDbOverrideSettings* /*aOverrides*/) {;};
+
+	// override of functions from CNetConRequestTestBase
+	virtual void Reconnect(MDialogProcessorObserver& aObserver);
+
+protected:
+	CNetConReconnectRequestTestBase();
+	void ConstructL();
+
+	virtual void DialogCbComplete();
+	};
+
+
+//
+//	Base class for the CSelectionRequest tests
+//
+class CNetConSelectionRequestTestBase : public CNetConRequestTestBase
+	{
+public:
+
+	virtual ~CNetConSelectionRequestTestBase();
+
+	// override of functions from CNetConTestBase
+	virtual void RequestComplete(const CSelectionRequest* aRequest, TInt aError);
+	virtual TInt GetConnectionAttempts();
+	virtual void GetCurrentSettingsL(TConnectionSettings& aSettings, TCommDbConnectionDirection aDirection, TUint32 aRank);
+	virtual void SetCurrentSettingsL(const TConnectionSettings& aSettings);
+	virtual void SetOverridesL(CCommDbOverrideSettings* aOverrides);
+	virtual void GetPreferedIapL(TUint32& aIapId, TCommDbConnectionDirection aDirection, TUint32 aRank);
+	virtual void SetPreferedIapL(TUint32& aIapId, TCommDbConnectionDirection aDirection, TUint32 aRank);
+	virtual TBool DoesIapExistL(TUint32 aIapId);
+	virtual TBool IsTelNumLengthZeroForRasConnectionL(TConnectionSettings& aSettings);
+	virtual void GetServiceSettingsL(TConnectionSettings& aSettings);
+	virtual TInt FindExistingAgentForSelection(CNifAgentBase*& aAgent, CCommsDbAccess*) const;
+	virtual void GetDesL(const TDesC& aTable, const TDesC& aField, TDes16& aValue);
+	virtual void GetIntL(const TDesC& aTable, const TDesC& aField, TUint32& aValue);
+	virtual void CheckBearerAvailability(TBool aIsReconnect);
+	void AddAgentToNetworkL(CNifAgentBase* aAgent, TUint32 aNetworkId);
+
+	// override of functions from CNetConRequestTestBase
+	virtual void SelectConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs);
+	virtual void SelectConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs, TInt aLastError);
+	virtual void SelectModemAndLocation(MDialogProcessorObserver& aObserver);
+	virtual void WarnNewConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs, const TDesC* aNewIapName, const TIspConnectionNames* aNewConnectionNames, TInt aLastError);
+
+protected:
+	CNetConSelectionRequestTestBase();
+	void ConstructL();
+	void DialogCbComplete();
+
+protected:
+	TConnStartType iConnectType;
+	TInt iConnectionAttempt;
+	TInt iLastConnectionError;
+	TConnectionSettings iSettings;
+	TUint32 iNetworkId;
+	};
+
+
+//
+//	Base class for the CTelBearer tests
+//
+
+class CTelBearer;
+class CCommsDbAccess;
+class CNetConBearerTestBase : public CControllerTestBase, public MBearerObserver
+	{
+public:
+	virtual ~CNetConBearerTestBase();
+
+	// MBearerObserver
+	virtual void BearerStateChange(CBearerBase* aBearer);
+	virtual CCommsDbAccess * DbAccess();
+protected:
+	CNetConBearerTestBase();
+	void ConstructL();
+
+protected:
+	CTelBearer *iTelBearer;
+private:
+	CCommsDbAccess *iDatabase;
+	};
+
+
+#endif // __TESTBASES_H__
+