6169 CTlv browserId; // optional |
6169 CTlv browserId; // optional |
6170 returnValue = berTlv.TlvByTagValue( &browserId, |
6170 returnValue = berTlv.TlvByTagValue( &browserId, |
6171 KTlvBrowserIdentityTag ); |
6171 KTlvBrowserIdentityTag ); |
6172 if ( KErrNotFound != returnValue ) |
6172 if ( KErrNotFound != returnValue ) |
6173 { |
6173 { |
6174 // Browser id 0x00-0x04 allowed, other values are RFU |
6174 // Check if real data present in TLV |
6175 switch ( browserId.GetShortInfo( ETLV_BrowserIdentity ) ) |
6175 if ( browserId.GetLength() ) |
6176 { |
6176 { |
6177 case KDefaultBrowser: |
6177 // Browser id 0x00-0x04 allowed, other values are RFU |
|
6178 switch ( browserId.GetShortInfo( ETLV_BrowserIdentity ) ) |
6178 { |
6179 { |
6179 launchBrowserV2.iBrowserId = RSat::EDefaultBrowser; |
6180 case KDefaultBrowser: |
6180 break; |
6181 { |
|
6182 launchBrowserV2.iBrowserId = RSat::EDefaultBrowser; |
|
6183 break; |
|
6184 } |
|
6185 case KWMLBrowser: |
|
6186 { |
|
6187 launchBrowserV2.iBrowserId = RSat::EWMLBrowser; |
|
6188 break; |
|
6189 } |
|
6190 case KHTMLBrowser: |
|
6191 { |
|
6192 launchBrowserV2.iBrowserId = RSat::EHTMLBrowser; |
|
6193 break; |
|
6194 } |
|
6195 case KXHTMLBrowser: |
|
6196 { |
|
6197 launchBrowserV2.iBrowserId = RSat::EXHTMLBrowser; |
|
6198 break; |
|
6199 } |
|
6200 case KCHTMLBrowser: |
|
6201 { |
|
6202 launchBrowserV2.iBrowserId = RSat::ECHTMLBrowser; |
|
6203 break; |
|
6204 } |
|
6205 default: |
|
6206 { |
|
6207 // Object present but does not identify a known |
|
6208 // browser ID |
|
6209 launchBrowserV2.iBrowserId = |
|
6210 RSat::EBrowserIdNotSpecified; |
|
6211 break; |
|
6212 } |
6181 } |
6213 } |
6182 #if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 ) |
6214 } |
6183 case KWMLBrowser: |
6215 else |
6184 { |
6216 { |
6185 launchBrowserV2.iBrowserId = RSat::EWMLBrowser; |
6217 // TLV present without real browser ID |
6186 break; |
6218 launchBrowserV2.iBrowserId = |
6187 } |
6219 RSat::EBrowserIdNotSpecified; |
6188 case KHTMLBrowser: |
|
6189 { |
|
6190 launchBrowserV2.iBrowserId = RSat::EHTMLBrowser; |
|
6191 break; |
|
6192 } |
|
6193 case KXHTMLBrowser: |
|
6194 { |
|
6195 launchBrowserV2.iBrowserId = RSat::EXHTMLBrowser; |
|
6196 break; |
|
6197 } |
|
6198 case KCHTMLBrowser: |
|
6199 { |
|
6200 launchBrowserV2.iBrowserId = RSat::ECHTMLBrowser; |
|
6201 break; |
|
6202 } |
|
6203 #endif |
|
6204 default: |
|
6205 { |
|
6206 // Object present but does not identify a known |
|
6207 // browser ID |
|
6208 launchBrowserV2.iBrowserId = |
|
6209 RSat::EBrowserIdNotSpecified; |
|
6210 break; |
|
6211 } |
|
6212 } |
6220 } |
6213 } |
6221 } |
6214 else |
6222 else |
6215 { |
6223 { |
6216 launchBrowserV2.iBrowserId = RSat::EBrowserIdNotPresent; |
6224 launchBrowserV2.iBrowserId = RSat::EBrowserIdNotPresent; |
6229 RSat::KMeUnableToProcessCmd, KNoCause ); |
6237 RSat::KMeUnableToProcessCmd, KNoCause ); |
6230 ret = KErrCorrupt; |
6238 ret = KErrCorrupt; |
6231 } |
6239 } |
6232 else |
6240 else |
6233 { |
6241 { |
6234 launchBrowserV2.iUrl.Copy( url.GetData( ETLV_Url ) ); |
6242 // Check if URL is really given |
|
6243 // If not, SAT server will use default URL address |
|
6244 if ( url.GetLength() ) |
|
6245 { |
|
6246 launchBrowserV2.iUrl.Copy( url.GetData( ETLV_Url ) ); |
|
6247 } |
6235 } |
6248 } |
6236 } |
6249 } |
6237 else |
6250 else |
6238 { |
6251 { |
6239 iSatMessHandler->LaunchBrowserTerminalResp( |
6252 iSatMessHandler->LaunchBrowserTerminalResp( |
6871 CTsySatMessaging* aSatMessaging //Pointer to satmessaging class |
6884 CTsySatMessaging* aSatMessaging //Pointer to satmessaging class |
6872 ) |
6885 ) |
6873 : |
6886 : |
6874 CSatNotificationsBase( aSatMessHandler, aSatMessaging ), |
6887 CSatNotificationsBase( aSatMessHandler, aSatMessaging ), |
6875 iLocalInfoV3Pckg( NULL ), |
6888 iLocalInfoV3Pckg( NULL ), |
6876 iLocalInfoIsOngoing( EFalse ) |
6889 iLocalInfoIsOngoing( EFalse ), |
|
6890 iLocalInfoAccTechOngoing( EFalse ) |
6877 { |
6891 { |
6878 OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_CSATNOTIFYLOCALINFO, "CSatNotifyLocalInfo::CSatNotifyLocalInfo" ); |
6892 OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_CSATNOTIFYLOCALINFO, "CSatNotifyLocalInfo::CSatNotifyLocalInfo" ); |
6879 TFLOGSTRING("CSatNotifyLocalInfo::CSatNotifyLocalInfo"); |
6893 TFLOGSTRING("CSatNotifyLocalInfo::CSatNotifyLocalInfo"); |
6880 // Initialize response structure |
6894 // Initialize response structure |
6881 iLocalInfoRspV3 = RSat::TLocalInfoRspV3(); |
6895 iLocalInfoRspV3 = RSat::TLocalInfoRspV3(); |
7161 case RSat::KProvideLocalInfoAccTech: |
7175 case RSat::KProvideLocalInfoAccTech: |
7162 { |
7176 { |
7163 TFLOGSTRING("CSatNotifyLocalInfo:: request: Access Technology"); |
7177 TFLOGSTRING("CSatNotifyLocalInfo:: request: Access Technology"); |
7164 OstTrace0( TRACE_NORMAL, DUP13_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: Access Technology" ); |
7178 OstTrace0( TRACE_NORMAL, DUP13_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: Access Technology" ); |
7165 iLocalInfoIsOngoing = ETrue; |
7179 iLocalInfoIsOngoing = ETrue; |
7166 //request NET_RAT_REQ |
7180 iLocalInfoAccTechOngoing = ETrue; |
7167 iSatMessHandler->NetRatReq( iSatMessaging->GetTransactionId() ); |
7181 |
|
7182 // Use same transaction id what comes with proactive |
|
7183 // command and compare that when response is received |
|
7184 iSatMessHandler->NetCellInfoGetReq( iTransId ); |
|
7185 |
7168 break; |
7186 break; |
7169 } |
7187 } |
7170 // Currently not supported: |
7188 // Currently not supported: |
7171 case RSat::KProvideLocalInfoESN: |
7189 case RSat::KProvideLocalInfoESN: |
7172 { |
7190 { |
7255 iLocalInfoRspV3.iAdditionalInfo ); // Additional info |
7273 iLocalInfoRspV3.iAdditionalInfo ); // Additional info |
7256 return ret; |
7274 return ret; |
7257 } |
7275 } |
7258 |
7276 |
7259 // ----------------------------------------------------------------------------- |
7277 // ----------------------------------------------------------------------------- |
7260 // CSatNotifyLocalInfo::Status |
7278 // CSatNotifyLocalInfo::LocalInfoStatus |
7261 // Method to check and set local info status. This is used when |
7279 // Method to check and set local info status. This is used when |
7262 // SIM request NMR or Local Info. |
7280 // SIM request NMR or Local Info. |
7263 // (other items were commented in a header). |
7281 // (other items were commented in a header). |
7264 // ----------------------------------------------------------------------------- |
7282 // ----------------------------------------------------------------------------- |
7265 // |
7283 // |
7266 TBool CSatNotifyLocalInfo::Status |
7284 TBool CSatNotifyLocalInfo::LocalInfoStatus |
7267 ( |
7285 ( |
7268 TBool aClearStatus |
7286 TBool aClearStatus |
7269 ) |
7287 ) |
7270 { |
7288 { |
7271 OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_STATUS, "CSatNotifyLocalInfo::Status" ); |
7289 OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_LOCALINFOSTATUS, "CSatNotifyLocalInfo::LocalInfoStatus" ); |
7272 TFLOGSTRING("CSatNotifyLocalInfo::Status"); |
7290 TFLOGSTRING("CSatNotifyLocalInfo::LocalInfoStatus"); |
|
7291 |
7273 if ( aClearStatus ) |
7292 if ( aClearStatus ) |
7274 { |
7293 { |
7275 iLocalInfoIsOngoing = EFalse; |
7294 iLocalInfoIsOngoing = EFalse; |
7276 } |
7295 } |
|
7296 |
7277 return iLocalInfoIsOngoing; |
7297 return iLocalInfoIsOngoing; |
7278 } |
7298 } |
7279 |
7299 |
|
7300 // ----------------------------------------------------------------------------- |
|
7301 // CSatNotifyLocalInfo::LocalInfoAccTechStatus |
|
7302 // Method to check and set local info access technology status. |
|
7303 // This is used when SIM request Local Info access technology. |
|
7304 // (other items were commented in a header). |
|
7305 // ----------------------------------------------------------------------------- |
|
7306 // |
|
7307 TBool CSatNotifyLocalInfo::LocalInfoAccTechStatus |
|
7308 ( |
|
7309 TBool aClearStatus |
|
7310 ) |
|
7311 { |
|
7312 OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_LOCALINFOACCTECHSTATUS, "CSatNotifyLocalInfo::LocalInfoAccTechStatus" ); |
|
7313 TFLOGSTRING("CSatNotifyLocalInfo::LocalInfoAccTechStatus"); |
|
7314 |
|
7315 if ( aClearStatus ) |
|
7316 { |
|
7317 iLocalInfoAccTechOngoing = EFalse; |
|
7318 } |
|
7319 |
|
7320 return iLocalInfoAccTechOngoing; |
|
7321 } |
7280 |
7322 |
7281 // ----------------------------------------------------------------------------- |
7323 // ----------------------------------------------------------------------------- |
7282 // CSatNotifyTimerMgmt::CSatNotifyTimerMgmt |
7324 // CSatNotifyTimerMgmt::CSatNotifyTimerMgmt |
7283 // C++ default constructor can NOT contain any code, that |
7325 // C++ default constructor can NOT contain any code, that |
7284 // might leave. |
7326 // might leave. |