diff -r 000000000000 -r dfb7c4ff071f datacommsserver/networkcontroller/src/CNetConRequestBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/networkcontroller/src/CNetConRequestBase.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,116 @@ +/** +* 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 CNetConRequestBase.h + @internalComponent +*/ + +#if !defined (__CNETCONREQUESTBASE_H__) +#define __CNETCONREQUESTBASE_H__ + +#include +#include +#include + +class MNetConDialogProcAccess; +class MCommsDbAccess; +class MNetConEnv; +class MNetworkControllerObserver; +class MServiceChangeObserver; +class CStoreableOverrideSettings; +class CCommsDbAccess; + +class CNetConDlgProcessor; +NONSHARABLE_CLASS(CNetConRequestBase) : public CBase, public MDialogProcessorObserver +/** +This class provides the functionality common to both selection and reconnection requests. + +@internalComponent +*/ + { + friend class CNetworkController; +public: + virtual ~CNetConRequestBase(); + + /** + Start processing this request + */ + virtual void StartRequest() = 0; + + /** + force premature completion of a request with a given error + + @param aError,error code for premature completion of request + */ + virtual void RequestComplete(TInt aError) = 0; + /** + Cancel processing this request + */ + virtual void CancelRequest(); + + /** + Bearer availability + + @param aBearerSet, set of bearer available. + */ + virtual void SetAvailableBearers(TUint32 aBearerSet) = 0; + + /** + Return a copy of the pointer to the CCommsDbAccess object allowing reading of CommDb + @return CCommsDbAccess + */ + CCommsDbAccess* DbAccess(); + + CStoreableOverrideSettings* Overrides() const; + MNetworkControllerObserver* Observer() const; + +protected: + CNetConRequestBase(MNetConEnv* aController, MNetworkControllerObserver* aObserver, CStoreableOverrideSettings* aOverrides); + void ConstructL(); + + TBool SelectedServiceAvailable(TUint32 aAvailableBearerSet) const; + + // implementation of Dialog Accessors + void SelectConnection(const TConnectionPrefs& aPrefs); + void SelectConnection(const TConnectionPrefs& aPrefs, TInt aLastError); + void SelectModemAndLocation(); + void WarnNewConnection(const TConnectionPrefs& aPrefs, const TDesC* aNewIapName, const TIspConnectionNames* aNewConnectionNames, TInt aLastError); + void Reconnect(); + +private: + TInt ConstructDialogProcessor(); + +protected: + + CCommsDbAccess* iDatabase; ///< Network controller database access + + MNetConEnv* const iController; ///< For upcalls from the requests + MNetworkControllerObserver* const iObserver; ///< from a Network Controller towards NIFMAN + CStoreableOverrideSettings* iOverrides; ///< CommDB overrides + TConnectionSettings iSettings; ///< Connection settings of network controller towards nifman. + TSglQueLink iLink; ///< link to next element in the queue + MServiceChangeObserver* ipServiceChangeObserver; ///< Requests service change notification + +private: + CNetConDlgProcessor *iDialogPrc; ///< Dialog processor access + }; + +#endif // __CNETCONREQUESTBASE_H__ +