supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettingslauncher.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/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 <e32std.h>
+#include <agentdialog.h> // 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