44 #include "epos_omasuplconfigurationkeys.h" |
44 #include "epos_omasuplconfigurationkeys.h" |
45 #include "epos_comasupltrace.h" |
45 #include "epos_comasupltrace.h" |
46 #include "epos_comasupltimeouttimer.h" |
46 #include "epos_comasupltimeouttimer.h" |
47 #include "epos_omasuplconstants.h" |
47 #include "epos_omasuplconstants.h" |
48 #include "epos_comasuplcommonconfig.h" |
48 #include "epos_comasuplcommonconfig.h" |
|
49 #include "epos_suplgeocellinfo.h" |
|
50 |
|
51 #include "epos_comasupllocationid.h" |
49 |
52 |
50 _LIT(KTraceFileName,"SUPL_OMA_PH::EPos_COMASUPLProtocolManager1.cpp"); |
53 _LIT(KTraceFileName,"SUPL_OMA_PH::EPos_COMASUPLProtocolManager1.cpp"); |
51 |
54 |
52 const TInt KMaxIMSILen = 20; |
55 const TInt KMaxIMSILen = 20; |
53 const TInt KMaxDelay = 128; |
56 const TInt KMaxDelay = 128; |
2071 iSETMode = aCommmonConfig->iSETMode; |
2074 iSETMode = aCommmonConfig->iSETMode; |
2072 iSuplUsage = aCommmonConfig->iSuplUsage; |
2075 iSuplUsage = aCommmonConfig->iSuplUsage; |
2073 iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut; |
2076 iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut; |
2074 iPersistFailTimer = aCommmonConfig->iPersistFailTimer; |
2077 iPersistFailTimer = aCommmonConfig->iPersistFailTimer; |
2075 } |
2078 } |
2076 void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL( |
2079 void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ ) |
2077 CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ ) |
2080 { |
|
2081 |
|
2082 } |
|
2083 |
|
2084 // ----------------------------------------------------------------------------- |
|
2085 // COMASUPLProtocolManager1::MakeLocationConversionRequestL |
|
2086 // |
|
2087 // To make conversion request to retrieve position for a given cell id |
|
2088 // ----------------------------------------------------------------------------- |
|
2089 // |
|
2090 void COMASUPLProtocolManager1::MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn, |
|
2091 TGeoCellInfo& aCellInfo, |
|
2092 TRequestStatus& aStatus ) |
2078 { |
2093 { |
2079 |
2094 iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL"), KTraceFileName, __LINE__); |
|
2095 TBuf<64> tempBuf; |
|
2096 |
|
2097 if ( iSuplSessions.Find(aSuplSessn) == KErrNotFound ) |
|
2098 { |
|
2099 TRequestStatus *status = &aStatus; |
|
2100 User::RequestComplete(status,KErrNotFound ); |
|
2101 return; |
|
2102 } |
|
2103 |
|
2104 CheckForSessionCount(); |
|
2105 iRunningSessionCount++; |
|
2106 |
|
2107 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); |
|
2108 CleanupStack::PushL(locationId); |
|
2109 COMASuplLocationId::TOMASuplStatus status = COMASuplLocationId::EStale; |
|
2110 switch(aCellInfo.iGeoCellType) |
|
2111 { |
|
2112 case EGeoGsmCell: |
|
2113 { |
|
2114 iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL - Setting GSM Cell Info"), KTraceFileName, __LINE__); |
|
2115 COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL(); |
|
2116 cellInfo->SetSuplGSMCellInfo(aCellInfo.iMNC,aCellInfo.iMCC,aCellInfo.iCid,aCellInfo.iLac); |
|
2117 locationId->SetSuplLocationId(cellInfo,status); |
|
2118 } |
|
2119 break; |
|
2120 case EGeoWcdmaCell: |
|
2121 { |
|
2122 iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL - Setting WCDMA Cell Info"), KTraceFileName, __LINE__); |
|
2123 COMASuplCellInfo* cellInfo = COMASuplCellInfo::NewL(); |
|
2124 cellInfo->SetSuplCellInfo(aCellInfo.iMNC,aCellInfo.iMCC,aCellInfo.iCid); |
|
2125 locationId->SetSuplLocationId(cellInfo,status); |
|
2126 } |
|
2127 break; |
|
2128 } |
|
2129 CleanupStack::Pop(locationId); |
|
2130 tempBuf.Copy(_L("MCC = ")); |
|
2131 tempBuf.AppendNum(aCellInfo.iMCC); |
|
2132 iTrace->Trace(tempBuf, KTraceFileName, __LINE__); |
|
2133 tempBuf.Copy(_L("MNC = ")); |
|
2134 tempBuf.AppendNum(aCellInfo.iMNC); |
|
2135 iTrace->Trace(tempBuf, KTraceFileName, __LINE__); |
|
2136 tempBuf.Copy(_L("LAC = ")); |
|
2137 tempBuf.AppendNum(aCellInfo.iLac); |
|
2138 iTrace->Trace(tempBuf, KTraceFileName, __LINE__); |
|
2139 tempBuf.Copy(_L("CId = ")); |
|
2140 tempBuf.AppendNum(aCellInfo.iCid); |
|
2141 iTrace->Trace(tempBuf, KTraceFileName, __LINE__); |
|
2142 tempBuf.Copy(_L("Prompt = ")); |
|
2143 tempBuf.AppendNum(aCellInfo.iConnectionPrompt); |
|
2144 iTrace->Trace(tempBuf, KTraceFileName, __LINE__); |
|
2145 |
|
2146 TInt allowedCapabilities = KECID|KCID; |
|
2147 TInt requestID = 1000; |
|
2148 COMASuplSession* OMASession = static_cast<COMASuplSession*>(aSuplSessn); |
|
2149 OMASession->SetConfigurationParameters(iUT1_StartTimer,iUT2_PosInitTimer, iUT3_PosTimer,iPrivacyTimer,iSETMode, |
|
2150 iSuplUsage, iPersistFailTimer,iSuplInitTimeOut); |
|
2151 OMASession->RunSuplSessionL(aStatus,ETrue, KNullDesC,EFalse, allowedCapabilities,iRunningSessionCount,requestID,ETrue,locationId,aCellInfo.iConnectionPrompt,aCellInfo.iWlanOnly); |
|
2152 |
|
2153 } |
|
2154 |
|
2155 // ----------------------------------------------------------------------------- |
|
2156 // COMASUPLProtocolManager1::CancelLocationConversionRequest |
|
2157 // |
|
2158 // Cancel an ongoing conversion request |
|
2159 // ----------------------------------------------------------------------------- |
|
2160 // |
|
2161 void COMASUPLProtocolManager1::CancelLocationConversionRequest(CSuplSessionBase* aSuplSession) |
|
2162 { |
|
2163 // Log |
|
2164 iTrace->Trace(_L("COMASUPLProtocolManager1::CancelLocationConversionRequest"), KTraceFileName, __LINE__); |
|
2165 |
|
2166 // Check if the Session is valid |
|
2167 TInt index = iSuplSessions.Find(aSuplSession); |
|
2168 |
|
2169 if(KErrNotFound == index) |
|
2170 { |
|
2171 iTrace->Trace(_L("Cannot find Supl session."), KTraceFileName, __LINE__); |
|
2172 return; |
|
2173 } |
|
2174 aSuplSession->CancelRunSession(); |
|
2175 return ; |
2080 } |
2176 } |
2081 // end of file |
2177 // end of file |