supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplprotocolmanager2.cpp
branchRCL_3
changeset 45 6b6920c56e2f
parent 44 2b4ea9893b66
child 49 10852b179f64
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplprotocolmanager2.cpp	Tue Aug 31 15:37:04 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplprotocolmanager2.cpp	Wed Sep 01 12:24:21 2010 +0100
@@ -104,11 +104,11 @@
 // Destructor.
 EXPORT_C COMASUPLProtocolManager2::~COMASUPLProtocolManager2()
 	{
-	/*if(iSettingsLauncher)		
+	if(iSettingsLauncher)		
 		{
-			iSettingsLauncher->CancelLaunch();
-		}*/
-	
+		iSettingsLauncher->CancelLaunch();
+		}
+		
 	if(iSuplSettings)
 		{
 		iSuplSettings->SetUIActive( EFalse );
@@ -136,7 +136,7 @@
 	}
 	
 	delete iSuplStorageSettings;
-    //delete iSettingsLauncher;
+    delete iSettingsLauncher;
     delete iNotifier;
 	iMobilePhone.Close(); 
 	iTelServer.Close();
@@ -169,7 +169,7 @@
 	iSuplStorageSettings->SetObserverL(*this);
 	iSuplStorageSettings->SetSessionObserverL(*this);
 	
-   	//iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
+   	iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
    	
     TRAPD(err,iOMASuplAsnHandlerBaseImpl = COMASuplAsnHandlerBase::NewL(2);) 
     TBuf<64> buf(_L("ASN Plugin 2.0 loaded with error : "));                
@@ -257,7 +257,7 @@
 	//Connect to ETel
 	User::LeaveIfError(ConnectToETelL());
   
-    //ReadSuplUsage();    
+    ReadSuplUsage();    
 	 
 	if(iSuplEcomEventWatcher)
 		{
@@ -1251,7 +1251,7 @@
     if( aEvent == MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange)
         {
         iTrace->Trace(_L("Setting Changed.SUPL Usage changed.. Reeading once again..."), KTraceFileName, __LINE__);
-        //ReadSuplUsage();
+        ReadSuplUsage();
 		}
 	else if( aEvent == MSuplSettingsObserver::ESuplSettingsEventCommParameterChange)
 		{
@@ -1261,26 +1261,6 @@
 	}
 
 // -----------------------------------------------------------------------------
-// COMASUPLProtocolManager2::HandleSuplTriggerStatusChangeL
-// notifier for settings changes.
-// -----------------------------------------------------------------------------
-void COMASUPLProtocolManager2::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus)
-	{
-  	iTrace->Trace(_L("Setting Changed.SUPL Trigger Status Changed..."), KTraceFileName, __LINE__);
-		if( aSuplTriggerStatus == CSuplSettings::ESuplTriggerOff)
-		{
-						iTrace->Trace(_L("Setting Changed.SUPL Trigger Status to OFF..."), KTraceFileName, __LINE__);
-						TInt TotalSession = iSuplSessions.Count();
-						for(TInt cnt = 0; cnt < TotalSession; ++cnt)
-							{
-									iTrace->Trace(_L("Cancelling Trigger Session..."), KTraceFileName, __LINE__);
-									COMASuplSession* OMAsuplSession = static_cast<COMASuplSession*>(iSuplSessions[cnt]);
-	 								OMAsuplSession->CancelTriggerSession();		
-							}
-		}
-	}
-
-// -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::LogPacket
 // Logs
 // -----------------------------------------------------------------------------
@@ -1762,6 +1742,72 @@
 	}
 	
 	
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager2::LaunchSettingsUI
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+TInt COMASUPLProtocolManager2::LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp)
+    {        
+	iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSettingsUI"), KTraceFileName, __LINE__);
+    
+    if (iSuplSettings->IsUIActive())
+        return KErrInUse;                
+    iSessnUIObserver = aObserver;            
+    iSuplSettings->SetUIActive(ETrue);
+   
+    if(iUIRequestArray.Count() <= 0 )
+    	{
+		iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSettingsUI"), KTraceFileName, __LINE__);
+		iUIRequestArray.Append(aObserver);
+		iSuplSettings->SetUIActive(ETrue);
+		iCurrentlyUsedHslp.Copy(aForHslp);
+		return iSettingsLauncher->LaunchSettings();	
+    	}
+    else if(iCurrentlyUsedHslp.Compare(aForHslp) == KErrNone)
+    	{
+		iUIRequestArray.Append(aObserver);
+    	}
+    else
+    	{
+		return KErrInUse;                
+    	}
+    		
+	return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager2::SettingsUICompletedL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void COMASUPLProtocolManager2::SettingsUICompletedL(TInt aError)
+	{
+	iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL"), KTraceFileName, __LINE__);
+    iSuplSettings->SetUIActive(EFalse);
+
+    if (iDeInitDone)
+        {
+	    iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL, de-init done.  Completing request"), KTraceFileName, __LINE__);
+        iDeInitDone = EFalse;
+        User::RequestComplete(iDeInitRequestStatus,KErrNone);
+        }                
+    else
+        {
+    	for(TInt i = 0; i < iUIRequestArray.Count(); i++)
+    		{
+    			iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL,Forwarding ConnRerquestor "), KTraceFileName, __LINE__);
+    			MOMASuplUICompletionObserver* observer = iUIRequestArray[i];
+    			observer->SettingsUICompletedL(aError);
+    		}
+        }
+        
+        iCurrentlyUsedHslp.Copy(_L(""));	
+        iUIRequestArray.Reset();
+    }
+
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::DeInitialize
@@ -1825,7 +1871,7 @@
 // -----------------------------------------------------------------------------
 //
 
-/*TInt COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)	
+TInt COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)	
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI"), KTraceFileName, __LINE__);
     if (iSuplSettings->IsUIActive() && !iTimeOutDialogPresent)
@@ -1840,7 +1886,7 @@
     iSessnUIObserver = aObserver;            
     iSuplSettings->SetUIActive(ETrue);
     return iSettingsLauncher->LaunchSuplUsageSettingsUI(aRoaming);
-	}*/
+	}
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::SettingsUsageUICompletedL
@@ -1848,7 +1894,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-/*void COMASUPLProtocolManager2::SettingsUsageUICompletedL(TInt aError)
+void COMASUPLProtocolManager2::SettingsUsageUICompletedL(TInt aError)
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUsageUICompletedL"), KTraceFileName, __LINE__);
     iSuplSettings->SetUIActive(EFalse);
@@ -1866,7 +1912,7 @@
         }
 
     CheckOutstandingUsageUIRequestsL();
-	}*/
+	}
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::ReadSuplUsage
@@ -1874,7 +1920,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-/*void COMASUPLProtocolManager1::ReadSuplUsage()
+void COMASUPLProtocolManager2::ReadSuplUsage()
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::ReadSuplUsage start"), KTraceFileName, __LINE__);	
 	CSuplSettings::TSuplSettingsUsage suplUsage;
@@ -1884,7 +1930,7 @@
 			iSuplSettings->SetSUPLUsage(suplUsage);
 		}
 	iTrace->Trace(_L("COMASUPLProtocolManager2::ReadSuplUsage end"), KTraceFileName, __LINE__);	
-	}*/
+	}
 
 void COMASUPLProtocolManager2::UpdateAllSubSessnsInSameSession(TInt aIpcSessionId)
     {
@@ -1925,7 +1971,7 @@
 
             if (OMAsuplSession->GetSuplUsageFlag())
                 {                        
-                //OMAsuplSession->StartUsageDialogLaunchL();
+                OMAsuplSession->StartUsageDialogLaunchL();
                 break;
                 }
 		}
@@ -2015,7 +2061,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-/*TInt COMASUPLProtocolManager2::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
+TInt COMASUPLProtocolManager2::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
     {
     iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchTimeOutUI"), KTraceFileName, __LINE__);
     
@@ -2029,7 +2075,7 @@
     iSuplSettings->SetUIActive(ETrue);
     iTimeOutDialogPresent = ETrue;
     return iSettingsLauncher->LaunchSessionTimeOutDialog();		
-    }*/
+    }
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::SettingsTimeOutUICompletedL
@@ -2037,7 +2083,7 @@
 // 
 // -----------------------------------------------------------------------------
 //
-/*void COMASUPLProtocolManager2::SettingsTimeOutUICompletedL(TInt aError)
+void COMASUPLProtocolManager2::SettingsTimeOutUICompletedL(TInt aError)
 	{
 	iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsTimeOutUICompletedL"), KTraceFileName, __LINE__);
     iSuplSettings->SetUIActive(EFalse);
@@ -2054,7 +2100,7 @@
         if (iSessnUIObserver)                
         	iSessnUIObserver->SettingsTimeOutUICompletedL(aError);
         }
-	}*/
+	}
 
 // -----------------------------------------------------------------------------
 // COMASUPLProtocolManager2::GetLastUsedAccessPoint
@@ -2062,10 +2108,9 @@
 // 
 // -----------------------------------------------------------------------------
 //
-TInt COMASUPLProtocolManager2::GetLastUsedAccessPoint(TDes& /*aLastlyUsedAccessPoint*/,TUint32& /*iIAPId*/)
+TInt COMASUPLProtocolManager2::GetLastUsedAccessPoint(TDes& aLastlyUsedAccessPoint,TUint32& iIAPId)
 	{
-	//return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
-	return KErrNone;
+	return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
 	}
 
 // -----------------------------------------------------------------------------