supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h
changeset 0 667063e416a2
child 20 2b4ea9893b66
--- /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 <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