--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp Tue Aug 31 15:37:04 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp Wed Sep 01 12:24:21 2010 +0100
@@ -105,10 +105,11 @@
// Destructor.
EXPORT_C COMASUPLProtocolManager1::~COMASUPLProtocolManager1()
{
- /*if(iSettingsLauncher)
+ if(iSettingsLauncher)
{
iSettingsLauncher->CancelLaunch();
- }*/
+ }
+
if(iSuplSettings)
{
iSuplSettings->SetUIActive( EFalse );
@@ -117,11 +118,11 @@
DeleteAllSessions();
iSuplSessions.Reset();
iSuplSessions.Close();
-
+
//Only attempt to unload the phone if the TSY has actually been initialised
if(iTsyName.Length() > 0)
{
- iTelServer.UnloadPhoneModule(iTsyName);
+ iTelServer.UnloadPhoneModule(iTsyName);
}
@@ -137,7 +138,7 @@
delete iSuplEcomEventWatcher;
- //delete iSettingsLauncher;
+ delete iSettingsLauncher;
delete iNotifier;
iMobilePhone.Close();
iTelServer.Close();
@@ -175,7 +176,7 @@
iSuplStorageSettings = CSuplSettingsInternal::NewL();
iSuplStorageSettings->SetObserverL(*this);
- //iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
+ iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this );
iIMSI.CreateL( KMaxIMSILen );
iIsPreviouslyDecodingFailed = EFalse;
@@ -252,7 +253,7 @@
//Connect to ETel
User::LeaveIfError(ConnectToETelL());
- //ReadSuplUsage();
+ ReadSuplUsage();
if(iSuplEcomEventWatcher)
{
@@ -530,6 +531,11 @@
iTrace->Trace(_L("COMASUPLProtocolManager1::DestroySession Destroy Session"), KTraceFileName, __LINE__);
COMASuplSession* OMASession = static_cast<COMASuplSession*>(aSuplSession);
+ if (OMASession->HasMeLaunchedUsageDialog())
+ {
+ iTrace->Trace(_L("Setting NULL."), KTraceFileName, __LINE__);
+ iSessnUIObserver = NULL;
+ }
if (OMASession->GetSessionUIFlag())
{
OMASession->DestroySession();
@@ -1040,6 +1046,14 @@
iTrace->Trace(_L("Cannot found Supl session."), KTraceFileName, __LINE__);
return;
}
+
+ COMASuplSession* OMASession = static_cast<COMASuplSession*>(aSuplSession);
+ if (OMASession->HasMeLaunchedUsageDialog())
+ {
+ iTrace->Trace(_L("Setting NULL."), KTraceFileName, __LINE__);
+ iSessnUIObserver = NULL;
+ }
+
aSuplSession->CancelRunSession();
return ;
}
@@ -1189,7 +1203,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)
{
@@ -1616,6 +1630,68 @@
}
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager1::LaunchSettingsUI
+//
+//
+// -----------------------------------------------------------------------------
+//
+TInt COMASUPLProtocolManager1::LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp)
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchSettingsUI"), KTraceFileName, __LINE__);
+
+ if(iUIRequestArray.Count() <= 0 )
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::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;
+ }
+
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager1::SettingsUICompletedL
+//
+//
+// -----------------------------------------------------------------------------
+//
+void COMASUPLProtocolManager1::SettingsUICompletedL(TInt aError)
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsUICompletedL"), KTraceFileName, __LINE__);
+ iSuplSettings->SetUIActive(EFalse);
+
+ if (iDeInitDone)
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::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("COMASUPLProtocolManager1::SettingsUICompletedL,Forwarding ConnRerquestor "), KTraceFileName, __LINE__);
+ MOMASuplUICompletionObserver* observer = iUIRequestArray[i];
+ observer->SettingsUICompletedL(aError);
+ }
+
+ }
+
+ iCurrentlyUsedHslp.Copy(_L(""));
+ iUIRequestArray.Reset();
+ }
+
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager1::DeInitialize
@@ -1675,7 +1751,7 @@
//
// -----------------------------------------------------------------------------
//
-/*TInt COMASUPLProtocolManager1::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)
+TInt COMASUPLProtocolManager1::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming)
{
iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchSuplUsageSettingsUI"), KTraceFileName, __LINE__);
if (iSuplSettings->IsUIActive() && !iTimeOutDialogPresent)
@@ -1690,7 +1766,7 @@
iSessnUIObserver = aObserver;
iSuplSettings->SetUIActive(ETrue);
return iSettingsLauncher->LaunchSuplUsageSettingsUI(aRoaming);
- }*/
+ }
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager1::SettingsUsageUICompletedL
@@ -1698,7 +1774,7 @@
//
// -----------------------------------------------------------------------------
//
-/*void COMASUPLProtocolManager1::SettingsUsageUICompletedL(TInt aError)
+void COMASUPLProtocolManager1::SettingsUsageUICompletedL(TInt aError)
{
iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsUsageUICompletedL"), KTraceFileName, __LINE__);
iSuplSettings->SetUIActive(EFalse);
@@ -1716,7 +1792,7 @@
}
CheckOutstandingUsageUIRequestsL();
- }*/
+ }
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager1::ReadSuplUsage
@@ -1724,7 +1800,7 @@
//
// -----------------------------------------------------------------------------
//
-/*void COMASUPLProtocolManager1::ReadSuplUsage()
+void COMASUPLProtocolManager1::ReadSuplUsage()
{
iTrace->Trace(_L("COMASUPLProtocolManager1::ReadSuplUsage start"), KTraceFileName, __LINE__);
CSuplSettings::TSuplSettingsUsage suplUsage;
@@ -1734,7 +1810,7 @@
iSuplSettings->SetSUPLUsage(suplUsage);
}
iTrace->Trace(_L("COMASUPLProtocolManager1::ReadSuplUsage end"), KTraceFileName, __LINE__);
- }*/
+ }
void COMASUPLProtocolManager1::UpdateAllSubSessnsInSameSession(TInt aIpcSessionId)
{
@@ -1775,7 +1851,7 @@
if (OMAsuplSession->GetSuplUsageFlag())
{
- //OMAsuplSession->StartUsageDialogLaunchL();
+ OMAsuplSession->StartUsageDialogLaunchL();
break;
}
}
@@ -1865,7 +1941,7 @@
//
// -----------------------------------------------------------------------------
//
-/*TInt COMASUPLProtocolManager1::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
+TInt COMASUPLProtocolManager1::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver )
{
iTrace->Trace(_L("COMASUPLProtocolManager1::LaunchTimeOutUI"), KTraceFileName, __LINE__);
@@ -1879,7 +1955,7 @@
iSuplSettings->SetUIActive(ETrue);
iTimeOutDialogPresent = ETrue;
return iSettingsLauncher->LaunchSessionTimeOutDialog();
- }*/
+ }
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager1::SettingsTimeOutUICompletedL
@@ -1887,7 +1963,7 @@
//
// -----------------------------------------------------------------------------
//
-/*void COMASUPLProtocolManager1::SettingsTimeOutUICompletedL(TInt aError)
+void COMASUPLProtocolManager1::SettingsTimeOutUICompletedL(TInt aError)
{
iTrace->Trace(_L("COMASUPLProtocolManager1::SettingsTimeOutUICompletedL"), KTraceFileName, __LINE__);
iSuplSettings->SetUIActive(EFalse);
@@ -1904,17 +1980,16 @@
if (iSessnUIObserver)
iSessnUIObserver->SettingsTimeOutUICompletedL(aError);
}
- }*/
+ }
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager1::GetLastUsedAccessPoint
//
// -----------------------------------------------------------------------------
//
-TInt COMASUPLProtocolManager1::GetLastUsedAccessPoint(TDes& /*aLastlyUsedAccessPoint*/,TUint32& /*iIAPId*/)
+TInt COMASUPLProtocolManager1::GetLastUsedAccessPoint(TDes& aLastlyUsedAccessPoint,TUint32& iIAPId)
{
- //return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
- return KErrNone;
+ return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId);
}
// -----------------------------------------------------------------------------
@@ -2013,17 +2088,8 @@
iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut;
iPersistFailTimer = aCommmonConfig->iPersistFailTimer;
}
-
-// -----------------------------------------------------------------------------
-// COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL
-// pure virtual method from MSuplSettingsObserver; dummy implementation for compilation
-// -----------------------------------------------------------------------------
-//
-void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ )
-{
-
-}
-
+
+
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager1::MakeLocationConversionRequestL
//
@@ -2048,7 +2114,6 @@
iRunningSessionCount++;
COMASuplLocationId* locationId = COMASuplLocationId::NewL();
- CleanupStack::PushL(locationId);
COMASuplLocationId::TOMASuplStatus status = COMASuplLocationId::EStale;
switch(aCellInfo.iGeoCellType)
{
@@ -2069,7 +2134,7 @@
}
break;
}
- CleanupStack::Pop(locationId);
+
tempBuf.Copy(_L("MCC = "));
tempBuf.AppendNum(aCellInfo.iMCC);
iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
@@ -2117,4 +2182,18 @@
aSuplSession->CancelRunSession();
return ;
}
+
+
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager1::CancelUiLaunch
+//
+//
+// -----------------------------------------------------------------------------
+//
+void COMASUPLProtocolManager1::CancelUiLaunch()
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::CancelUiLaunch"), KTraceFileName, __LINE__);
+ iSettingsLauncher->CancelLaunch();
+ }
+
// end of file