locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengine.h
branchRCL_3
changeset 55 ea98413ce11f
parent 49 10852b179f64
--- a/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengine.h	Wed Sep 15 12:40:28 2010 +0300
+++ b/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsettingsuiengine.h	Wed Oct 13 15:01:35 2010 +0300
@@ -39,6 +39,7 @@
 class CLocSUPLServerEditor;
 class MSuplServerEditorObserver;
 class MLocSUPLSettingsSessionObserver;
+class CCmApplicationSettingsUi;
 
 // Class Declaration
 /**
@@ -50,7 +51,8 @@
  * It further observers the SUPL Settings UI for any changes to the Settings
  * values.
  */
-class CLocSUPLSettingsUiEngine :  public MLocSUPLSettingsAdapterObserver
+class CLocSUPLSettingsUiEngine : public CActive, 
+                                 public MLocSUPLSettingsAdapterObserver
     {
     public:
         /**
@@ -83,7 +85,18 @@
          */
         virtual ~CLocSUPLSettingsUiEngine();
        
+        /** 
+         * Launches the confirmation query to select IAP
+		 *
+		 */
+		void SelectConnectionL();
         
+		/**
+		 * Launches the Access Point Configurator dialog
+		 *
+		 */
+		void LaunchApConfiguratorL( TInt64 aSlpId, 
+				MSuplServerEditorObserver* aEditorObserver );
 		
         /** 
          * Opens the exisitng server with its attributes
@@ -97,12 +110,29 @@
 		 */
 		TInt SlpCount();
 
+		/**
+		 * Launches the SUPL Usage configurator
+		 */
+		void LaunchSuplUsageConfiguratorL();
 		
         /**
 		 * Closes the running Settings UI prematurely.
 		 */
 		void Close();
 		
+        /**
+         * Obtains the SUPL Settings usage.
+         *
+         * @return TPtr16     SUPL settings usage.
+         */  
+        TPtr16 GetSuplUsageL();
+        
+        /**
+         * Obtains the SUPL usage
+         *
+         * @return The SUPL Usage value
+         */
+        TInt   GetSuplUsage();			
 		 
         /**
 		 * Creates a new server entry in Supl Settings.
@@ -288,15 +318,31 @@
         void SetTempAPValue( TUint32 aAccessPoint);
         
         /**
+         * Launches the IAP Dialog
+         */
+        void LaunchIAPDialogL( );
+        
+        /**
          * Generates IMSI address
          */
         void GenerateHslpAddressFromImsi(TDes& aIMSIAddress );
+        
 	public:     		
 		/**
 		 * Inherited from MLocSUPLSettingsAdapterObserver
 		 */
 		void HandleSuplSettingsChangeL( TLocSUPLSettingsEvent aEvent );
 				 
+    protected:
+        /**
+         * Inherited from CActive
+         */
+        void RunL();
+        
+        /**
+         * Inherited from CActive
+         */
+        void DoCancel();
              
     private:
         /**
@@ -319,12 +365,25 @@
         TUint ConvertIAPNameToIdL( const TDesC&      aIAPName );
        
         /**
+         * Updates Access point for ALL SLPs which do not have AP defined.
+         *
+         * @param aAccessPoint Access point
+         */
+        void UpdateMissingIAPL(const TDesC& aAccessPoint );
+       
+        /**
          * Displays an Error note
          *
          * @param aError Error ID
          */
         void DisplayErrorL( TInt aError );
         
+        /**
+         * Displays an Info note
+         *
+         * @param None
+         */
+        TInt ShowNoteL();                               
         
         /**
          * Returns value of last highlighted AP
@@ -343,6 +402,12 @@
          */
         CLocSUPLSettingsAdapter*       	iSUPLSettingsAdapter;
         
+        /**
+         * Flag to denote whether any dialog is currently active
+         * Used in the Cancel method. If there are any requests 
+         * outstanding then they have to be cancelled
+         */
+        TBool                   		iDialogActive;
                         
         /**
          * Temporary Buffer for returning values to the Accessor 
@@ -363,6 +428,10 @@
          */
         HBufC*                  		iSettingsBuffer;
         
+        /**
+         * Pointer to the Settings Buffer
+         */
+        TPtr                    		iSettingsBufferPtr;
         
         /**
          * Standard Text resolver for converting Error codes to 
@@ -381,12 +450,28 @@
          */
         TInt                        	iLaunchParams;
         
+        /**
+         * Akn Global confirmation query
+         * Owns
+         */
+        CAknGlobalConfirmationQuery*    iConfirmQuery;
+        
+        /**
+         * Access point query
+         * Owns
+         */
+        CCmApplicationSettingsUi*    iConnectionMgmtQuery;
 
         /**
          * Flag to denote whether access point selection requested or not
          */
         TBool                   		iRequestIapSelect;
 
+        /**
+         * SUPL Servers SLP ID to get and set the server attributes.
+         * Owns.
+         */
+        TInt64							iCurrentSlpId;
                         
         /**
          * Supl Server Editor 
@@ -394,13 +479,18 @@
          */
         CLocSUPLServerEditor*			iEditorDlg;
 
+        /**
+         * Editor Observer
+         * Owns
+         */
+        MSuplServerEditorObserver*		iEditorObserver;
         
         /*
          * Current highlighted AP
          * Set to -1 if no changes made in edit dialog box, Set to Uid of access 
          * point if changes made 
          */
-        TUint32 iTempAP;
+        TInt iTempAP;
         
     };