diff -r 000000000000 -r 667063e416a2 supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h Tue Feb 02 01:06:48 2010 +0200 @@ -0,0 +1,210 @@ +/* +* Copyright (c) 2002-2004 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: Active object wrapper for launching Settings UI +* +*/ + + + +#ifndef C_COMASUPLSETTINGSLAUNCHER_H +#define C_COMASUPLSETTINGSLAUNCHER_H + +// INCLUDES +#include +#include // for RGenConAgentDialogServer + +const TUid KNotifier1Uid = { 0x10009C00 }; +const TUid KNotifier2Uid = { 0x10009C01 }; +const TUid KNotifier3Uid = { 0x10009C02 }; +// FORWARD DECLARATIONS +class MOMASuplUISettingsObserver; +class CLocSettingsUiClient; +class COMASuplTrace; +/** +* Active object wrapper for launching Supl Settings UI. +* User of this class needs to implement relevant MOMASuplUISettingsObserver interface +* methods to receive notifications. +*/ +class COMASuplSettingsLauncher : public CActive + { + public: + + enum TSuplDialogType + { + ESUPLYesNoDialog = 0, + ESUPLIAPDialog, + ESUPLUsageDialog, + ESUPLTimeoutDialog + }; + /** + * This is a two-phase constructor method that is used to + * create a new instance for launching settings UI + * + * @param aCallback Reference to a callback instance. + * @return A pointer to a new instance of the COMASuplSettingsLauncher class. + */ + static COMASuplSettingsLauncher* NewL(MOMASuplUISettingsObserver& aCallback); + + /** + * This is a two-phase constructor method that is used to create a new + * instance for launching settings UI + * Leaves the constructed instance to cleanup stack. + * + * @param aCallback Reference to a callback instance. + * @return A pointer to a new instance of the COMASuplSettingsLauncher class. + */ + static COMASuplSettingsLauncher* NewLC(MOMASuplUISettingsObserver& aCallback); + /** + * When this method is called, the COMASuplSettingsLauncher launches the + * settings UI + * + * @throws error code depending on whether launch was successful or failed + */ + TInt LaunchSettings(); + + /** + * When this method is called, the COMASuplSettingsLauncher cancels the + * launch if it has not been already launched + */ + void CancelLaunch(); + + /** + * When this method is called, the COMASuplSettingsLauncher launches the + * settings UI + * + * @throws error code depending on whether launch was successful or failed + */ + TInt LaunchSuplUsageSettingsUI(TBool aRoaming); + /* Launches the Dialog saying one or more location requests were cancelled + */ + + TInt LaunchSessionTimeOutDialog(); + + /** + * Destructor. + */ + virtual ~COMASuplSettingsLauncher(); + + TInt GetIAPName(TDes& aIAPName,TUint32& aIAPId); + + protected: + + /** + * Implements CActive + * @param none + * @return none + */ + void RunL(); + + /** + * Implements CActive + * @param aError the error returned + * @return error + */ + TInt RunError(TInt aError); + + /** + * Implements CActive + * @param none + * @return none + */ + void DoCancel(); + + private: + + /** + * Default Constructor + * @param aCallback Reference to a callback instance. + * @return None + */ + COMASuplSettingsLauncher(MOMASuplUISettingsObserver& aCallback); + + void ConstructL(); + private: + + TInt LaunchIAPDialog(); + + void ConvertIAPIdtoNameL( const TUint aIAPId,TDes& aIAPName ); + private: + // not owned by this class + MOMASuplUISettingsObserver& iCallback; + // Settings Launcher + CLocSettingsUiClient* iSettingsLauncher; + + //Trace Utility + COMASuplTrace* iTrace; + + TSuplDialogType iDialogType; + + RNotifier iNotifier; + TBuf8<256> buffer1; + TBuf8<256> buffer2; + TBool iRoaming; + + /** + * IAP Selector Handle + */ + RGenConAgentDialogServer iIapSelector; + + /** + * Selected IAP ID + */ + TUint32 iSelectedIap; + + + }; + + +/** +* This class provides a callback interface for handling the +* completion of settings. The Client derives a +* class from this interface and implements the SettingsUICompleted-methods +* that interest it. +*/ +class MOMASuplUISettingsObserver + { + + public: + + /** + * This callback method is used to notify the client about + * completion of settingsUi Launch + * @param aError error encountered while launching change + * @return None + */ + virtual void SettingsUICompletedL(TInt aError) = 0; + + /** + * This callback method is used to notify the client about + * completion of settingsUi Launch for SUPL state + * @param aError error encountered while launching change + * @return None + */ + + virtual void SettingsUsageUICompletedL(TInt aError) = 0; + + /** + * This callback method is used to notify the client about + * completion of Timeout UI + * @param aError error encountered while launching change + * @return None + */ + + virtual void SettingsTimeOutUICompletedL(TInt aError) = 0; + + }; + +#endif // C_COMASUPLSETTINGSLAUNCHER_H + +// End of File