diff -r 02ba3f1733c6 -r 2b4ea9893b66 supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp --- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp Thu Aug 19 10:20:18 2010 +0300 +++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp Tue Aug 31 15:37:04 2010 +0300 @@ -172,7 +172,7 @@ if( aIMSI.Length() ) { - iIMSI.Create( aIMSI ); + User::LeaveIfError(iIMSI.Create( aIMSI )); } if(iPosHandler) @@ -205,6 +205,12 @@ iNetworkPrivacy = CPosNetworkPrivacy::NewL(); + #ifdef PRINT_MESSAGE + TInt retval = iLogger.Connect(); + if(retval == KErrNone) + iLogger.CreateLog(_L("NFT"),_L("NFT.txt"),EFileLoggingModeAppend); + #endif + iTrace->Trace(_L("End of COMASuplSession::ConstructL"), KTraceFileName, __LINE__); } @@ -253,7 +259,7 @@ SessionEnd(); CompleteSession(KErrCancel); } - iProtocolManager.CancelUiLaunch(); + delete this; } @@ -316,12 +322,11 @@ delete iDialogTimer; delete iNetworkPrivacy; - - if(iStaleLocationId) - { - delete iStaleLocationId; - iStaleLocationId = NULL; - } + + #ifdef PRINT_MESSAGE + iLogger.CloseLog(); + iLogger.Close(); + #endif if(iTrace) iTrace->Trace(_L("End of ~COMASuplSession::COMASuplSession"), KTraceFileName, __LINE__); @@ -432,6 +437,11 @@ TBool aFallBack, TInt aAllowedCapabilities, TInt aSessionIdSeed,TInt aRequestID,TBool aIsStaleCellId,COMASuplLocationId* aLocationId,TBool aPrompt,TBool aWlanOnly) { + + iSessionStartTime1.HomeTime(); + + + iRunRequestStatus = & aStatus; *iRunRequestStatus = KRequestPending; @@ -500,7 +510,7 @@ if(aAllowedCapabilities == 0) { - iAllowedCapabilities = KGpsSETBased | KAutonomousGps| KAFLT | KECID | KEOTD | KOTDOA | KCID; + iAllowedCapabilities = KGpsSETBased | KAutonomousGps| KAFLT | KECID | KEOTD | KOTDOA | KCID; } else { @@ -545,7 +555,7 @@ // Clear Position.... delete iPosition; iPosition = NULL; - + iTrace->Trace(_L("End of COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__); } @@ -564,7 +574,6 @@ TSuplTerminalQop& aQop, TInt aRequestID) { - iIhaveLaunchedUsagedialog = EFalse; iClientQop = aQop; @@ -720,11 +729,10 @@ startSuplState->SetStaleCellIdToUse(iStaleLocationId->CloneL()); } iSuplSessionState = ESUPL_GENERATE; - iSuplMsgType = ESUPL_START; + iSuplMsgType = ESUPL_START; + SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); TInt err = iSuplState->GenerateMessageL(); - - - SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); + } @@ -862,9 +870,39 @@ { if(iRunRequestStatus) { - + TTimeIntervalSeconds timeTaken; TTime currentTime; currentTime.HomeTime(); + currentTime.SecondsFrom(iSessionStartTime1,timeTaken); + + #ifdef PRINT_MESSAGE + TBuf<30> bufTime1; + _LIT( KFormatDate, "%d%+02d%+02d:%+02d%+02d%+02d.%+06d"); + + TDateTime datetime = iSessionStartTime1.DateTime(); + bufTime1.Format( KFormatDate, datetime.Year(), + datetime.Month(), datetime.Day(), + datetime.Hour(), datetime.Minute(), + datetime.Second(), datetime.MicroSecond()); + + iLogger.Write(_L("Session started at time : ")); + iLogger.Write(bufTime1); + + TBuf<30> bufTime; + + TDateTime datetime1 = currentTime.DateTime(); + bufTime.Format( KFormatDate, datetime1.Year(), + datetime1.Month(), datetime1.Day(), + datetime1.Hour(), datetime1.Minute(), + datetime1.Second(), datetime1.MicroSecond()); + + iLogger.Write(_L("Session ended at time : ")); + iLogger.Write(bufTime); + iLogger.Write(_L("Time taken : ")); + //bufTime.Copy(timeTaken); + iLogger.Write(bufTime); + #endif + iSessionCompletionCode = aCompletionCode; TBuf<64> errorCode; @@ -2036,128 +2074,126 @@ // void COMASuplSession::HandleOMASuplMessageL(COMASuplAsnMessageBase* aDecodedAsnMessage,TRequestStatus& aStatus,TInt aSessionIdSeed,TInt aErrorCode) { - delete iSuplState; - iSuplState = NULL; + delete iSuplState; + iSuplState = NULL; - iSETSessionUniqueId = aSessionIdSeed; - iRunRequestStatus = & aStatus; - *iRunRequestStatus = KRequestPending; + iSETSessionUniqueId = aSessionIdSeed; + iRunRequestStatus = & aStatus; + *iRunRequestStatus = KRequestPending; - TInt networkMode = 1; - networkMode = GetNetworkModeL(); + TInt networkMode = 1; + networkMode = GetNetworkModeL(); - TBuf<64> msg; - if ( networkMode == ECoreAppUIsNetworkConnectionNotAllowed ) - { - msg.Copy(_L("The device is in OFFLINE mode.")); - iTrace->Trace(msg,KTraceFileName, __LINE__); - iSessionObserver.TerminateSession(this, KErrGeneral); - return; - } - else - { - msg.Copy(_L("The device is in ON LINE mode.")); - iTrace->Trace(msg,KTraceFileName, __LINE__); - } - - CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage(); - - if (usage == CSuplSettings::ESuplUsageDisabled) - { - msg.Copy(_L("SUPL Usage is disabled")); - iTrace->Trace(msg,KTraceFileName, __LINE__); - iSessionObserver.TerminateSession(this, KErrGeneral); - return; - } + TBuf<64> msg; + if ( networkMode == ECoreAppUIsNetworkConnectionNotAllowed ) + { + msg.Copy(_L("The device is in OFFLINE mode.")); + iTrace->Trace(msg,KTraceFileName, __LINE__); + iSessionObserver.TerminateSession(this, KErrGeneral); + return; + } + else + { + msg.Copy(_L("The device is in ON LINE mode.")); + iTrace->Trace(msg,KTraceFileName, __LINE__); + } + + /*CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage(); + + if (usage == CSuplSettings::ESuplUsageDisabled) + { + msg.Copy(_L("SUPL Usage is disabled")); + iTrace->Trace(msg,KTraceFileName, __LINE__); + iSessionObserver.TerminateSession(this, KErrGeneral); + return; + }*/ - COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType(); + COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType(); - if(messageType == COMASuplAsnMessageBase::ESUPL_INIT && aErrorCode == KErrNone) - { - HandleOMASuplMessageL(aDecodedAsnMessage); - } - else //Other messages than SUPL_INIT.... Send End - { - CreateCloneMessageL(aDecodedAsnMessage); - UpdateSuplSessionIDL(); - - if (iRequestType == ESUPL_NETWORK && messageType == COMASuplAsnMessageBase::ESUPL_INIT) + if(messageType == COMASuplAsnMessageBase::ESUPL_INIT && aErrorCode == KErrNone) { - ServerAddressCheckForSuplInitL(); + HandleOMASuplMessageL(aDecodedAsnMessage); } - - iSuplSessionState = ESUPL_INITIALIZED; - iSuplMsgType = ESUPL_END; - - if((aErrorCode == KErrCompletion && messageType == COMASuplAsnMessageBase::ESUPL_INIT) || - (aErrorCode == KErrOMASuplOutOfRangeParameter && messageType == COMASuplAsnMessageBase::ESUPL_INIT) || - (aErrorCode == KErrOMASuplMessageLengthMismatch && messageType == COMASuplAsnMessageBase::ESUPL_INIT) || - (aErrorCode == KErrOMASuplShortFrame && messageType == COMASuplAsnMessageBase::ESUPL_INIT)) - { - iErrorStatusCode = COMASuplEnd::EUnexpectedDataValue; - if(aErrorCode == KErrOMASuplMessageLengthMismatch) - { - iErrorStatusCode = COMASuplEnd::EProtocolError; - } - if(aErrorCode == KErrOMASuplShortFrame) - { - iErrorStatusCode = COMASuplEnd::EDataMissing; - } - TInt len = iHSLPAddress.Length(); - HBufC8 *hslpAdress = NULL; - if(len > 0) - { - hslpAdress = HBufC8::NewL(iHSLPAddress.Length()); - hslpAdress->Des().Copy(iHSLPAddress); - } - else if(len ==0) - { - CServerParams* serverParams = CServerParams::NewL(); - CleanupStack::PushL(serverParams); - - if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound ) - { - iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__); - hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length()); - hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi()); - } - else - { - iTrace->Trace(_L("Sending End with ver for Default HSLP"), KTraceFileName, __LINE__); - TInt64 slpId; - TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable; - HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen); - HBufC* iapName = HBufC::NewL(KMaxIAPLen); - CleanupStack::PushL(serverAddr); - CleanupStack::PushL(iapName); - serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable); - hslpAdress = HBufC8::NewL(serverAddr->Length()); - hslpAdress->Des().Copy(*serverAddr); + else //Other messages than SUPL_INIT.... Send End + { + CreateCloneMessageL(aDecodedAsnMessage); + UpdateSuplSessionIDL(); + if (iRequestType == ESUPL_NETWORK && messageType == COMASuplAsnMessageBase::ESUPL_INIT) + { + ServerAddressCheckForSuplInitL(); + } + iSuplSessionState = ESUPL_INITIALIZED; + iSuplMsgType = ESUPL_END; + + if((aErrorCode == KErrCompletion && messageType == COMASuplAsnMessageBase::ESUPL_INIT) || + (aErrorCode == KErrOMASuplOutOfRangeParameter && messageType == COMASuplAsnMessageBase::ESUPL_INIT) || + (aErrorCode == KErrOMASuplMessageLengthMismatch && messageType == COMASuplAsnMessageBase::ESUPL_INIT) || + (aErrorCode == KErrOMASuplShortFrame && messageType == COMASuplAsnMessageBase::ESUPL_INIT)) + { + iErrorStatusCode = COMASuplEnd::EUnexpectedDataValue; + if(aErrorCode == KErrOMASuplMessageLengthMismatch) + { + iErrorStatusCode = COMASuplEnd::EProtocolError; + } + if(aErrorCode == KErrOMASuplShortFrame) + { + iErrorStatusCode = COMASuplEnd::EDataMissing; + } + TInt len = iHSLPAddress.Length(); + HBufC8 *hslpAdress = NULL; + if(len > 0) + { + hslpAdress = HBufC8::NewL(iHSLPAddress.Length()); + hslpAdress->Des().Copy(iHSLPAddress); + } - CleanupStack::PopAndDestroy(iapName); - CleanupStack::PopAndDestroy(serverAddr); - - } - CleanupStack::PopAndDestroy(serverParams); - } - delete iSuplState; - iSuplState = NULL; - CleanupStack::PushL(hslpAdress); - iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress); - CleanupStack::PopAndDestroy(hslpAdress); - } - else - { - iErrorStatusCode = COMASuplEnd::EUnexpectedMessage; - iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl); - } + else if(len ==0) + { + CServerParams* serverParams = CServerParams::NewL(); + CleanupStack::PushL(serverParams); + + if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound ) + { + iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__); + hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length()); + hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi()); + } + else + { + iTrace->Trace(_L("Sending End with ver for Default HSLP"), KTraceFileName, __LINE__); + TInt64 slpId; + TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable; + HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen); + HBufC* iapName = HBufC::NewL(KMaxIAPLen); + CleanupStack::PushL(serverAddr); + CleanupStack::PushL(iapName); + serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable); + hslpAdress = HBufC8::NewL(serverAddr->Length()); + hslpAdress->Des().Copy(*serverAddr); + + CleanupStack::PopAndDestroy(iapName); + CleanupStack::PopAndDestroy(serverAddr); + } + CleanupStack::PopAndDestroy(serverParams); + } + delete iSuplState; + iSuplState = NULL; + CleanupStack::PushL(hslpAdress); + iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress); + CleanupStack::PopAndDestroy(hslpAdress); + } + else + { + iErrorStatusCode = COMASuplEnd::EUnexpectedMessage; + iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl); + } - SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); - iSuplState->SetMsgStateObserver(this); - //SMP Changes - iSuplState->GenerateMessageL(); //Has to be here because initialisation has to be done for NI case in decode failed scenario. - iSuplSessionState = ESUPL_GENERATE; - } + SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); + iSuplState->SetMsgStateObserver(this); + //SMP Changes + iSuplState->GenerateMessageL(); //Has to be here because initialisation has to be done for NI case in decode failed scenario. + iSuplSessionState = ESUPL_GENERATE; + } } // ----------------------------------------------------------------------------- @@ -2168,11 +2204,10 @@ // void COMASuplSession::HandleOMASuplMessageL(COMASuplAsnMessageBase* aDecodedAsnMessage) { - CreateCloneMessageL(aDecodedAsnMessage); + CreateCloneMessageL(aDecodedAsnMessage); if(CheckProtocolVersionL(aDecodedAsnMessage)) //Checks version with supported version { COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsnMessage->MessageType(); - if(messageType != COMASuplAsnMessageBase::ESUPL_POS) { iCompleteSelfRequestor->CompleteSelf(); //This will result in call of RequestCompleted() @@ -3120,6 +3155,8 @@ return; } } + //Comment to ignore coverity missing break error + //coverity[MISSING_BREAK :FALSE] case COMASuplState::ESUPL_POS_INIT: { cancelSendRequestor = EFalse; @@ -3372,48 +3409,45 @@ else if(len ==0) { - CServerParams* serverParams = CServerParams::NewL(); - CleanupStack::PushL(serverParams); - - if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound ) - { - iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__); - hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length()); - CleanupStack::PushL(hslpAdress); - hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi()); - CleanupStack::Pop(hslpAdress); - } - else - { - iTrace->Trace(_L("Default HSLP"), KTraceFileName, __LINE__); - TInt64 slpId; - TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable; - HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen); - HBufC* iapName = HBufC::NewL(KMaxIAPLen); - CleanupStack::PushL(serverAddr); - CleanupStack::PushL(iapName); - serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable); - hslpAdress = HBufC8::NewL(serverAddr->Length()); - hslpAdress->Des().Copy(*serverAddr); - - CleanupStack::PopAndDestroy(iapName); - CleanupStack::PopAndDestroy(serverAddr); - - } - CleanupStack::PopAndDestroy(serverParams); - - } - delete iSuplState; - iSuplState = NULL; - CleanupStack::PushL(hslpAdress); - if(setStatusCode) - { - iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress); - } - else - { - iSuplState = COMASuplEndState::NewL(iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress ); - } + CServerParams* serverParams = CServerParams::NewL(); + CleanupStack::PushL(serverParams); + + if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound ) + { + iTrace->Trace(_L("HSLP generated frm IMSI"), KTraceFileName, __LINE__); + hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length()); + hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi()); + } + else + { + iTrace->Trace(_L("Default HSLP"), KTraceFileName, __LINE__); + TInt64 slpId; + TBool aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable; + HBufC* serverAddr = HBufC::NewL(KMaxHSLPAddrLen); + HBufC* iapName = HBufC::NewL(KMaxIAPLen); + CleanupStack::PushL(serverAddr); + CleanupStack::PushL(iapName); + serverParams->Get(slpId,serverAddr->Des(),iapName->Des(),aServerEnabled, aSimChangeRemove, aUsageInHomeNw, aEditable); + hslpAdress = HBufC8::NewL(serverAddr->Length()); + hslpAdress->Des().Copy(*serverAddr); + + CleanupStack::PopAndDestroy(iapName); + CleanupStack::PopAndDestroy(serverAddr); + } + CleanupStack::PopAndDestroy(serverParams); + } + + delete iSuplState; + iSuplState = NULL; + CleanupStack::PushL(hslpAdress); + if(setStatusCode) + { + iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress); + } + else + { + iSuplState = COMASuplEndState::NewL(iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress ); + } CleanupStack::PopAndDestroy(hslpAdress); @@ -3427,7 +3461,7 @@ //SMP Changes iSuplState->GenerateMessageL(); - iSuplSessionState = ESUPL_GENERATE;//Has to be here because initialisation has to be done for NI case in reject scenario. + iSuplSessionState = ESUPL_GENERATE; // HAs to be here because initialisation has to be complete.. } @@ -3867,56 +3901,61 @@ // ----------------------------------------------------------------------------- TBool COMASuplSession::CheckProtocolVersionL(COMASuplAsnMessageBase* aDecodedAsn) { - TOMASuplVersion version; - COMASuplSessionID* SessionID = NULL; - aDecodedAsn->MessageBase(version,SessionID); - - TInt recMajor,recMinor,recServInd; - version.SuplVersion(recMajor,recMinor,recServInd); - - if(recMajor == KSuplMajorVersion ) - { - return ETrue; - } - else - { - COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsn->MessageType(); - if(messageType == COMASuplAsnMessageBase::ESUPL_END) - { - iTrace->Trace(_L("Received message is SUPL_END...with wrong Version.Terminating session"), KTraceFileName, __LINE__); - iSessionObserver.TerminateSession(this, KErrCompletion); - } - else - { - iTrace->Trace(_L("Received message with wrong version."), KTraceFileName, __LINE__); - - delete iSuplState; - iSuplMsgType = ESUPL_END; - iErrorStatusCode = COMASuplEnd::EVersionNotSupported; - SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); - - if(iRequestType == ESUPL_NETWORK ) - { + TOMASuplVersion version; + COMASuplSessionID* SessionID = NULL; + aDecodedAsn->MessageBase(version,SessionID); + + TInt recMajor,recMinor,recServInd; + version.SuplVersion(recMajor,recMinor,recServInd); + + if(recMajor == KSuplMajorVersion ) + { + return ETrue; + } + else + { + COMASuplAsnMessageBase::TSuplMessageType messageType = aDecodedAsn->MessageType(); + if(messageType == COMASuplAsnMessageBase::ESUPL_END) + { + iTrace->Trace(_L("Received message is SUPL_END...with wrong Version.Terminating session"), KTraceFileName, __LINE__); + iSessionObserver.TerminateSession(this, KErrCompletion); + } + else + { + iTrace->Trace(_L("Received message with wrong version."), KTraceFileName, __LINE__); + + if (iSuplState) + { + delete iSuplState; + iSuplState = NULL; + } + iSuplMsgType = ESUPL_END; + iErrorStatusCode = COMASuplEnd::EVersionNotSupported; + SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating); + + if(iRequestType == ESUPL_NETWORK ) + { if (messageType == COMASuplAsnMessageBase::ESUPL_INIT) { - iSuplSessionState = ESUPL_INITIALIZED; - TInt len = iHSLPAddress.Length(); - HBufC8 *hslpAdress = NULL; - if(len > 0) - { - hslpAdress = HBufC8::NewL(iHSLPAddress.Length()); - hslpAdress->Des().Copy(iHSLPAddress); - } - else if(len ==0) - { + + iSuplSessionState = ESUPL_INITIALIZED; + TInt len = iHSLPAddress.Length(); + HBufC8 *hslpAdress = NULL; + if(len > 0) + { + hslpAdress = HBufC8::NewL(iHSLPAddress.Length()); + hslpAdress->Des().Copy(iHSLPAddress); + } + else if(len ==0) + { CServerParams* serverParams = CServerParams::NewL(); CleanupStack::PushL(serverParams); if (iSuplStorageSettings->GetDefaultServer(serverParams) == KErrNotFound ) { - iTrace->Trace(_L("Length of HSLP Address is = 0, passing the HSLP generated frm IMSI"), KTraceFileName, __LINE__); - hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length()); - hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi()); + iTrace->Trace(_L("Length of HSLP Address is = 0, passing the HSLP generated frm IMSI"), KTraceFileName, __LINE__); + hslpAdress = HBufC8::NewL(iSuplSettings->SLPAddressfromImsi().Length()); + hslpAdress->Des().Copy(iSuplSettings->SLPAddressfromImsi()); } else { @@ -3933,28 +3972,30 @@ CleanupStack::PopAndDestroy(iapName); CleanupStack::PopAndDestroy(serverAddr); - } + } CleanupStack::PopAndDestroy(serverParams); } - if(iSuplState) - { - delete iSuplState; - iSuplState = NULL; - } - CleanupStack::PushL(hslpAdress); - ServerAddressCheckForSuplInitL(); - iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress); - CleanupStack::PopAndDestroy(hslpAdress); - - // Set the SessionId. - iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SLP Session ID"), KTraceFileName, __LINE__); - UpdateSLPSessionIDL(SessionID); - - iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SET Session ID"), KTraceFileName, __LINE__); - UpdateSETSessionIDL(SessionID); - iSuplState->SetMsgStateObserver(this); - iSuplState->GenerateMessageL(); - iSuplSessionState = ESUPL_GENERATE; + + if(iSuplState) + { + delete iSuplState; + iSuplState = NULL; + } + + CleanupStack::PushL(hslpAdress); + ServerAddressCheckForSuplInitL(); + iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl,iEncodedSuplInit,hslpAdress); + CleanupStack::PopAndDestroy(hslpAdress); + + // Set the SessionId. + iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SLP Session ID"), KTraceFileName, __LINE__); + UpdateSLPSessionIDL(SessionID); + + iTrace->Trace(_L("COMASuplSession::CheckProtocolVersionL Update SET Session ID"), KTraceFileName, __LINE__); + UpdateSETSessionIDL(SessionID); + iSuplState->SetMsgStateObserver(this); + iSuplState->GenerateMessageL(); + iSuplSessionState = ESUPL_GENERATE; } else { @@ -3966,17 +4007,20 @@ iSuplSessionState = ESUPL_GENERATE; iSuplState->GenerateMessageL(); } - } - else - { - iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl); - iSuplSessionState = ESUPL_ENCODE; - iSuplState->SetMsgStateObserver(this); - iSuplState->GenerateMessageL(); - } - } - return EFalse; - } + + } + else + { + iSuplState = COMASuplEndState::NewL(iErrorStatusCode,iOMASuplAsnHandlerBaseImpl); + iSuplSessionState = ESUPL_ENCODE; + iSuplState->SetMsgStateObserver(this); + iSuplState->GenerateMessageL(); + } + } + + return EFalse; + } + } // ----------------------------------------------------------------------------- @@ -4135,7 +4179,7 @@ // COMASuplSession::SettingsUsageUICompletedL // // ----------------------------------------------------------------------------- -void COMASuplSession::SettingsUsageUICompletedL(TInt aError) +/*void COMASuplSession::SettingsUsageUICompletedL(TInt aError) { iUIFlag = EFalse; TBuf<64> msg; @@ -4144,7 +4188,6 @@ iTrace->Trace(msg,KTraceFileName, __LINE__); iPrevUsageResult = aError; - iIhaveLaunchedUsagedialog = EFalse; if (aError == KErrNone) @@ -4181,7 +4224,7 @@ iSessionObserver.TerminateSession(this, KErrGeneral); return; } - } + }*/ // ----------------------------------------------------------------------------- // COMASuplSession::CheckForSuplUsageL @@ -4190,7 +4233,7 @@ void COMASuplSession::CheckForSuplUsageL() { - if (iSuplUsage >= 1) + /*if (iSuplUsage >= 1) { CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage(); if (usage == CSuplSettings::ESuplUsageDisabled) @@ -4198,15 +4241,24 @@ iSessionObserver.TerminateSession(this, KErrGeneral); } else if (usage == CSuplSettings::ESuplUsageAutomatic) - { + { */ if (iNwInitError) { iNwInitError = EFalse; HandleSuplInitErrorL(iNwInitCompletionCode); } else - InitializeL(iRequestID); - } + { + if (iRoaming) + HandleRoamingCheckCompleteL(KErrNone, EFalse); + else + { + iEtelRoamingCheck = ETrue; + iProtocolManager.CheckForRoaming(); + } + //InitializeL(iRequestID); + } + /*} else if (usage == CSuplSettings::ESuplUsageHomeAutomatic || usage == CSuplSettings::ESuplUsageAlwaysAsk) { @@ -4220,7 +4272,7 @@ } } else - InitializeL(iRequestID); + InitializeL(iRequestID); */ } @@ -4303,92 +4355,10 @@ { iUsageHomeNW = aHomeNw; iConnRequestor->UpdateSLPListForHomeUsage(iUsageHomeNW); - CSuplSettings::TSuplSettingsUsage usage = iSuplSettings->SUPLUsage(); - - if (usage == CSuplSettings::ESuplUsageAlwaysAsk || iStaleLocIdPrompt) - { - TInt err; - if (!iSuplSettings->IsUIActive() ) - { - if (!aHomeNw) - { - iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is roaming"), KTraceFileName, __LINE__); - iIhaveLaunchedUsagedialog = ETrue; - err = iProtocolManager.LaunchSuplUsageSettingsUI(this, ETrue); - } - else - { - iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is not roaming"), KTraceFileName, __LINE__); - iIhaveLaunchedUsagedialog = ETrue; - err = iProtocolManager.LaunchSuplUsageSettingsUI(this, EFalse); - } - } - else - err = KErrInUse; - - if(KErrNone != err && KErrInUse == err) - { - iTrace->Trace(_L("Dialog in use, setting flag"), KTraceFileName, __LINE__); - SetSuplUsageFlag(); - } - if( KErrNone == err && iRequestType == ESUPL_NETWORK ) - { - iTrace->Trace(_L("Network Session , starting timer"), KTraceFileName, __LINE__); - COMASuplInit* suplInit = static_cast (iDecodedAsnMessage); - TOMASuplQop qop; - TInt retVal = suplInit->Qop(qop); - TInt delay; - qop.Delay(delay); - //if delay is > 7, it is not valid - if (delay > 7) - delay = 0; - if(retVal == KErrNone && delay > 0) - { - TReal delayReal; - Math::Pow(delayReal, 2, (TReal)delay); - delay = (TInt) delayReal; - TBuf<128> msg(_L("Delay present in message, value is = ")); - msg.AppendNum(delay); - iTrace->Trace(msg, KTraceFileName, __LINE__); - isTimeoutDialogTimerStarted = ETrue; - iDialogTimer->StartTimer(delay); - } - else - { - if (iSuplInitTimeOut > 0) - { - TBuf<256> msg(_L("Delay value in CR is")); - msg.AppendNum(iSuplInitTimeOut); - iTrace->Trace(msg, KTraceFileName, __LINE__); - iDialogTimer->StartTimer(iSuplInitTimeOut * KSecond); - isTimeoutDialogTimerStarted = ETrue; - } - else - iTrace->Trace(_L("Timeout is <= 0"), KTraceFileName, __LINE__); - } - iDlgStartTime.HomeTime(); - } - else if (KErrNone != err) - { - iTrace->Trace(_L("Invoking HandleSuplErrorL"), KTraceFileName, __LINE__); - HandleSuplErrorL(err); - } - - } - else if (usage == CSuplSettings::ESuplUsageHomeAutomatic) - { - if (!aHomeNw) - { - TInt err; - //if (!iSuplSettings->IsUIActive() ) - { - iTrace->Trace(_L("Invoking LaunchSuplUsageSettingsUI, user is roaming"), KTraceFileName, __LINE__); - err = iProtocolManager.LaunchSuplUsageSettingsUI(this, ETrue); if(iSuplMsgType == ESUPL_INIT) { iTrace->Trace(_L("Dialog timer started"), KTraceFileName, __LINE__); - COMASuplInit* suplInit = static_cast (iDecodedAsnMessage); TOMASuplQop qop; TInt retVal = suplInit->Qop(qop); @@ -4419,34 +4389,22 @@ iTrace->Trace(_L("Timeout is <= 0"), KTraceFileName, __LINE__); } } - } - - if(!iSuplSettings->IsUIActive() && KErrNone != err) - { - SetSuplUsageFlag(); - } - else - { - iTrace->Trace(_L("Invoking HandleSuplErrorL"), KTraceFileName, __LINE__); - HandleSuplErrorL(err); - } - } - else - { + if (iNwInitError) { iNwInitError = EFalse; HandleSuplInitErrorL(iNwInitCompletionCode); } else - InitializeL(iRequestID); - } - } + { + iTrace->Trace(_L("COMASuplSession::InitializeL called after roaming check"), KTraceFileName, __LINE__); + InitializeL(iRequestID); + } } - else - { - iSessionObserver.TerminateSession(this, KErrGeneral); - } + else + { + iSessionObserver.TerminateSession(this, KErrGeneral); + } } TInt COMASuplSession::SuplIpcSessionID() { @@ -4511,7 +4469,7 @@ return iUsageDialog; } -void COMASuplSession::StartUsageDialogLaunchL() +/*void COMASuplSession::StartUsageDialogLaunchL() { iTrace->Trace(_L("COMASuplSession::StartUsageDialogLaunchL"), KTraceFileName, __LINE__); ReSetSuplUsageFlag(); @@ -4677,7 +4635,7 @@ InitializeL(iRequestID); } } - } + }*/ TBool COMASuplSession::IsEtelNotifySet() { @@ -4690,12 +4648,6 @@ iTrace->Trace(_L("COMASuplSession::IsEtelRoamingSet"), KTraceFileName, __LINE__); return iEtelRoamingCheck; } - -TBool COMASuplSession::HasMeLaunchedUsageDialog() -{ - return iIhaveLaunchedUsagedialog; -} - // ----------------------------------------------------------------------------- // COMASuplSession::DialogTimerExpiredL @@ -4706,10 +4658,10 @@ { iTrace->Trace(_L("Timer Expired for SUPL Dialog"), KTraceFileName, __LINE__); - if (!iIapDialogShown) - iProtocolManager.LaunchSuplDialogTimeoutUI(this); - else - iIapDlgTimerExpired = ETrue; + //if (!iIapDialogShown) + // iProtocolManager.LaunchSuplDialogTimeoutUI(this); + // else + // iIapDlgTimerExpired = ETrue; return; } @@ -4718,14 +4670,14 @@ // COMASuplSession::SettingsTimeOutUICompletedL // // ----------------------------------------------------------------------------- -void COMASuplSession::SettingsTimeOutUICompletedL(TInt aError) +void COMASuplSession::SettingsTimeOutUICompletedL(TInt /*aError*/) { - TBuf<64> msg; - msg.Copy(_L("SUPL Timeout UI completed with ... ")); - msg.AppendNum(aError); - iTrace->Trace(msg,KTraceFileName, __LINE__); - iSessionObserver.TerminateSession(this, KErrGeneral); + // TBuf<64> msg; + // msg.Copy(_L("SUPL Timeout UI completed with ... ")); + // msg.AppendNum(aError); + // iTrace->Trace(msg,KTraceFileName, __LINE__); + // iSessionObserver.TerminateSession(this, KErrGeneral); return; }