diff -r 000000000000 -r dfb7c4ff071f datacommsserver/networkcontroller/src/CSelectionRequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/networkcontroller/src/CSelectionRequest.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,90 @@ +/** +* 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 CSelectionRequest.h + @internalComponent +*/ + +#if !defined (__CSELECTIONREQUEST_H__) +#define __CSELECTIONREQUEST_H__ + +#include "CNetConRequestBase.h" +#include +#include + +NONSHARABLE_CLASS(CSelectionRequest) : public CNetConRequestBase +/** +The class controls the selection of connection settings such as Modem, Location and IAP. + +@internalComponent +*/ + { +public: + static CSelectionRequest* NewL(MNetConEnv* aController, MNetworkControllerObserver* aObserver, TConnStartType aStartType, const TConnPref& aPrefs, TInt aConnectionAttempt, TInt aLastConnectionError); + virtual ~CSelectionRequest(); + + /** start processing this request */ + virtual void StartRequest(); + + /** force premature completion of a request with a given error */ + virtual void RequestComplete(TInt aError); + + /** bearer availability */ + virtual void SetAvailableBearers(TUint32 aBearerSet); + + /** override part of the MDialogProcessorObserver interface */ + virtual void MDPOSelectComplete(TInt aError, const TConnectionSettings& aSettings); + + /** override part of the MDialogProcessorObserver interface */ + virtual void MDPOWarnComplete(TInt aError, TBool aResponse); + + // accessors + const TDesC& AgentName() const; + const TPckgBuf& AgentConnectionInfo() const; + const TConnStartType& ConnectionStartType() const; + TUint32 ConnectionAttempt() const; + const TConnPref& ConnPrefs() const; + +private: + CSelectionRequest(MNetConEnv* aController, MNetworkControllerObserver* aObserver, TConnStartType aDirection, const TConnPref& aPrefs, TInt aConnectionAttempt, TInt aLastConnectionError); + void ConstructL(); + + void StartSelectL(); + CStoreableOverrideSettings* MapPrefsToOverridesL(TCommDbConnPref& aPrefs, const TConnectionSettings& aSettings); + void SelectIAPCompleteL(const TConnectionSettings& aSettings); + void CheckBearerAvailabilityL(); + TBool ServiceAvailableInAlternateMode(TUint32& aBearerSet, const TUint32 aAvailableBearerSet); + void SelectIapL(const TBool aSelectedServiceAvailable, const TUint32 aAvailableBearerSet); + void SelectAgentL(); + void SetAgentNameL(const TDesC& aName); + TInt ExtractCommDbConnPref(const TConnPref& aBasePref, TCommDbConnPref& aCommDbPref); + +private: + TConnStartType iConnStartType; + TConnPref iConnPrefs; + TInt iConnectionAttempt; + TInt iLastConnectionError; + HBufC* iAgentName; + TPckgBuf iAgentConnInfo; + TBool iDoBearerAvailability; + }; + +#endif // __CSELECTIONREQUEST_H__ +