diff -r 000000000000 -r dfb7c4ff071f datacommsserver/networkcontroller/ts_netcon/TestBases.h --- /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 +#include "CNetworkController.h" +#include "NetConTestBases.h" +#include +#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__ +