supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsettingslauncher.cpp
branchRCL_3
changeset 55 ea98413ce11f
parent 0 667063e416a2
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsettingslauncher.cpp	Wed Sep 15 12:40:28 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsettingslauncher.cpp	Wed Oct 13 15:01:35 2010 +0300
@@ -92,7 +92,6 @@
     delete iSettingsLauncher;	
     iNotifier.Close();
     delete iTrace;
-    iIapSelector.Close();
     }
 
 
@@ -101,10 +100,7 @@
     iTrace = COMASuplTrace::NewL();	
     iTrace->Trace(_L("COMASuplSettingsLauncher::ConstructL"), KTraceFileName, __LINE__);             
     iSettingsLauncher = CLocSettingsUiClient::NewL();
-	User::LeaveIfError(iNotifier.Connect());
-	    // Establish a connection to the RGenConAgentDialogServer
-    User::LeaveIfError( iIapSelector.Connect());
-    
+    User::LeaveIfError(iNotifier.Connect());
     }
 
 // -----------------------------------------------------------------------------
@@ -122,14 +118,21 @@
         {
         return KErrInUse;
         }
-   
-	TRAPD(error,iSettingsLauncher->LaunchSettingsUiL( TUid::Uid( KLocSUPLSettingsUID ),
-													  ELocSUPLIAPSelection,
-													  iStatus ));
-
-	iDialogType = ESUPLYesNoDialog;
-	SetActive();
-	
+    TRAPD(error,iSettingsLauncher->LaunchSettingsUiL( TUid::Uid( KLocSUPLSettingsUID ),
+                    ELocSUPLIAPSelection,
+                    iStatus ));
+    if (error != KErrNone)
+        {
+        iCallback.SettingsUICompletedL(error);
+        }
+    else
+        {
+        iDialogType = ESUPLYesNoDialog;
+        if (!IsActive())
+            {
+            SetActive();
+            }
+        }
     return error;
     }
 
@@ -292,26 +295,36 @@
         
 	iDialogType = ESUPLIAPDialog;   
 
-    TConnectionPrefs    prefs; // filtering conditions for the access points list
-    prefs.iRank         = 1;
-    prefs.iDirection    = ECommDbConnectionDirectionOutgoing;
-    prefs.iBearerSet    = KUidCSDBearerType | KUidPacketDataBearerType;
+    
    
     // Launch the IAP Selector 
     iStatus = KRequestPending;
-    iIapSelector.IapConnection( iSelectedIap, prefs, iStatus );
-    SetActive();
-		return KErrNone;
-	}
-	
-	
-TInt COMASuplSettingsLauncher::GetIAPName(TDes& aIAPName,TUint32& aIAPId)	
-	{
-	    TRAPD( error, ConvertIAPIdtoNameL( iSelectedIap,aIAPName ));
-	    aIAPId = iSelectedIap;
-		return error;
-	}
-	
+    
+    
+    TRAPD(error, iSettingsLauncher->LaunchSettingsUiL( TUid::Uid( KLocSUPLSettingsUID ),
+                    ELocSuplIAPDialog,
+                    iStatus );)
+    if(error != KErrNone)
+        {
+        iCallback.SettingsUICompletedL(error);
+        }
+    else
+        {
+        if (!IsActive())
+            {
+            SetActive();
+            }
+        }
+    return error;
+    }
+
+TInt COMASuplSettingsLauncher::GetIAPName(TDes& aIAPName, TUint32& aIAPId)
+    {
+    TRAPD( error, ConvertIAPIdtoNameL( iSelectedIap,aIAPName ));
+    aIAPId = iSelectedIap;
+    return error;
+    }
+
 // ---------------------------------------------------------------------------
 // TUint CLocSUPLSettingsUiEngine::ConvertIAPIdtoNameL()
 // Convert IAP ID to IAP Name. If a valid name exists for the IAP Id