bearermanagement/mpm/inc/mpmiapselection.h
branchRCL_3
changeset 58 83ca720e2b9a
parent 57 05bc53fe583b
--- a/bearermanagement/mpm/inc/mpmiapselection.h	Tue Aug 31 15:35:44 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmiapselection.h	Wed Sep 01 12:23:51 2010 +0100
@@ -23,6 +23,8 @@
 #include "mpmserversession.h"
 #include "mpmcommsdataccess.h"
 
+class CMPMDialog;
+class CMPMWlanQueryDialog;
 class CMPMConfirmDlgStarting;
 class TMpmConnPref;
 
@@ -64,8 +66,7 @@
      * Two-phased constructor.
      */
     static CMPMIapSelection* NewL( CMPMCommsDatAccess*  aCommsDatAccess,
-                                   CMPMServerSession*   aSession,
-                                   CConnectionUiUtilities* aConnUiUtils );
+                                   CMPMServerSession*   aSession );
     
     /**
      * Destructor.
@@ -88,15 +89,26 @@
      */
     void ExplicitConnectionL();
 
+    /**
+     * Updates connection dialog contents if 
+     * the dilog is shown
+     *
+     * @since S60 v3.2
+     */
+    void UpdateConnectionDialogL();
+
 public:
     /**
-     * Returns true if given iap is a wlan iap.
+     * Starts Wlan query if Iap is wlan iap.
      *
      * @param aIapId Id of Iap
-     * @return ETrue if iap aIap is wlan
-     * @since symbian^4
+     * @param aIsRoaming True if wlan query is for roaming
+     * @return ETrue if wlan query was started
+     * @since S60 v3.2
      */
-    TBool IsIapWlanL( TUint32 aIapId );
+    TBool StartWlanQueryIfNeededL(
+        TUint32 aIapId,
+        TBool aIsRoaming = EFalse );
 
     /**
      * Part of selecting best IAP at connection start. Called when WLAN scan
@@ -119,6 +131,18 @@
     void ChooseIapComplete( TInt aError, const TMpmConnPref* aPolicyPref );
 
     /**
+     * Callback function used after Wlan network has been selected. 
+     * Uses HandleUserIapSelectionL to complete IAP selection.
+     *
+     * @since 3.2
+     * @param aError Error code from selection
+     * @param aIapId Element id of IAP record if different than reported before. 
+     * May be 0, when error occurred in selection or when no new Iap id is set.
+     *
+     */
+    void UserWlanSelectionDoneL( TInt aError, TUint32 aIapId );
+
+    /**
      * Stops displaying the starting dialog.
      *
      * @since 3.2
@@ -244,7 +268,7 @@
      * @since 3.2
      */
     void ImplicitConnectionWlanNoteL();
-
+    
     /**
      * Gets current cellular data usage setting
      * @since 5.2
@@ -257,8 +281,7 @@
      * C++ default constructor.
      */
     CMPMIapSelection( CMPMCommsDatAccess*   aCommsDatAccess,
-                      CMPMServerSession*    aSession,
-                      CConnectionUiUtilities* aConnUiUtils );
+                      CMPMServerSession*    aSession );
 
     /**
      * ConstructL
@@ -279,9 +302,6 @@
     // Used for commsdat related functionalities
     CMPMCommsDatAccess* iCommsDatAccess;
 
-    // Handle to connection UI utilities
-    CConnectionUiUtilities* iConnUiUtils;
-
     // Contains state info whether PrefIapnotifs can be sent 
     // and saved IAP info structure.
     TStoredIapInfo iStoredIapInfo;
@@ -295,6 +315,12 @@
     // Pointer to Confirmation dialog.
     CMPMConfirmDlgStarting* iConfirmDlgStarting;
 
+    // Pointer to the dialog active object.
+    CMPMDialog* iDialog;
+
+    // Pointer to Wlan query dialog.
+    CMPMWlanQueryDialog* iWlanDialog;
+
     // Stores the boolean value whether next best iaps 
     // exists in explicit connection start.
     TBool iNextBestExists;