changeset 9 | 8486d82aef45 |
parent 8 | 6295dc2169f3 |
8:6295dc2169f3 | 9:8486d82aef45 |
---|---|
41 #include <call_modemisi.h> // Call Modem server |
41 #include <call_modemisi.h> // Call Modem server |
42 #include <smsisi.h> // sms server |
42 #include <smsisi.h> // sms server |
43 #include <uiccisi.h> // UICC server |
43 #include <uiccisi.h> // UICC server |
44 #include <gpdsisi.h> // GPDS server |
44 #include <gpdsisi.h> // GPDS server |
45 |
45 |
46 #include <atk_sharedisi.h> |
|
47 #include <call_sharedisi.h> |
46 #include <call_sharedisi.h> |
48 #include <info_sharedisi.h> |
47 #include <info_sharedisi.h> |
49 #include "OstTraceDefinitions.h" |
48 #include "OstTraceDefinitions.h" |
50 #ifdef OST_TRACE_COMPILER_IN_USE |
49 #ifdef OST_TRACE_COMPILER_IN_USE |
51 #include "satmesshandlerTraces.h" |
50 #include "satmesshandlerTraces.h" |
61 const TInt KNoTransactionOngoing = -1; |
60 const TInt KNoTransactionOngoing = -1; |
62 // Time zone not available |
61 // Time zone not available |
63 const TUint8 KTimeZoneNotAvailable = 0xFF; |
62 const TUint8 KTimeZoneNotAvailable = 0xFF; |
64 // Access Technology unknown |
63 // Access Technology unknown |
65 const TUint8 KAccTechUnknown = 0xFF; |
64 const TUint8 KAccTechUnknown = 0xFF; |
66 // This is a common length constant (2 bytes) |
|
67 const TUint8 KLengthTwoBytes = 0x02; |
|
68 // Maximum polling interval of legacy phones |
65 // Maximum polling interval of legacy phones |
69 const TUint8 KMaxLegacyPollInterval = 0x19; // 25 decimal |
66 const TUint8 KMaxLegacyPollInterval = 0x19; // 25 decimal |
70 // Size of one clut entry in bytes |
67 // Size of one clut entry in bytes |
71 const TUint16 KClutEntrySize = 3; |
68 const TUint16 KClutEntrySize = 3; |
72 |
69 |
116 ) |
113 ) |
117 : |
114 : |
118 iTsySatMessaging( aTsySatMessaging ), |
115 iTsySatMessaging( aTsySatMessaging ), |
119 iPnSend( aPnSend ) |
116 iPnSend( aPnSend ) |
120 { |
117 { |
121 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CSATMESSHANDLER, "CSatMessHandler::CSatMessHandler" ); |
118 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CSATMESSHANDLER_TD, "CSatMessHandler::CSatMessHandler" ); |
122 // >= 0 if there is ongoing transaction |
119 // >= 0 if there is ongoing transaction |
123 iTerminalRespTraId = KNoTransactionOngoing; |
120 iTerminalRespTraId = KNoTransactionOngoing; |
124 iGetIconSimReadFieldTraId = KNoTransactionOngoing; |
121 iGetIconSimReadFieldTraId = KNoTransactionOngoing; |
125 iDataDownloadSimReadFieldTraId = KNoTransactionOngoing; |
122 iDataDownloadSimReadFieldTraId = KNoTransactionOngoing; |
123 iCbRoutingReqTraId = KNoTransactionOngoing; |
|
126 |
124 |
127 iCardId = KZero; |
125 iCardId = KZero; |
128 iImeiAvailable = EFalse; |
126 iImeiAvailable = EFalse; |
129 iImeiSvAvailable = EFalse; |
127 iImeiSvAvailable = EFalse; |
130 // By default, there's no need to request routing from SMS server |
128 // By default, there's no need to request routing from SMS server |
184 // Destructor. |
182 // Destructor. |
185 // ----------------------------------------------------------------------------- |
183 // ----------------------------------------------------------------------------- |
186 // |
184 // |
187 CSatMessHandler::~CSatMessHandler() |
185 CSatMessHandler::~CSatMessHandler() |
188 { |
186 { |
189 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_CSATMESSHANDLER, "CSatMessHandler::~CSatMessHandler" ); |
187 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_CSATMESSHANDLER_TD, "CSatMessHandler::~CSatMessHandler" ); |
190 } |
188 } |
191 |
189 |
192 // ----------------------------------------------------------------------------- |
190 // ----------------------------------------------------------------------------- |
193 // CSatMessHandler::NewL |
191 // CSatMessHandler::NewL |
194 // Two-phased constructor. |
192 // Two-phased constructor. |
198 ( |
196 ( |
199 CTsySatMessaging* aTsySatMessaging, |
197 CTsySatMessaging* aTsySatMessaging, |
200 CMmPhoNetSender* aPnSend |
198 CMmPhoNetSender* aPnSend |
201 ) |
199 ) |
202 { |
200 { |
203 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NEWL, "CSatMessHandler::NewL" ); |
201 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NEWL_TD, "CSatMessHandler::NewL" ); |
204 TFLOGSTRING("TSY:CSatMessHandler::NewL"); |
202 TFLOGSTRING("TSY:CSatMessHandler::NewL"); |
205 |
203 |
206 CSatMessHandler* self = new( ELeave ) CSatMessHandler( aTsySatMessaging, |
204 CSatMessHandler* self = new( ELeave ) CSatMessHandler( aTsySatMessaging, |
207 aPnSend ); |
205 aPnSend ); |
208 CleanupStack::PushL( self ); |
206 CleanupStack::PushL( self ); |
217 // ----------------------------------------------------------------------------- |
215 // ----------------------------------------------------------------------------- |
218 // |
216 // |
219 void CSatMessHandler::ConstructL() |
217 void CSatMessHandler::ConstructL() |
220 { |
218 { |
221 TFLOGSTRING("TSY:CSatMessHandler::ConstructL"); |
219 TFLOGSTRING("TSY:CSatMessHandler::ConstructL"); |
222 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CONSTRUCTL, "CSatMessHandler::ConstructL" ); |
220 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CONSTRUCTL_TD, "CSatMessHandler::ConstructL" ); |
223 |
221 |
224 // This flag is set to 'true' when indication ESatUsatClientReadyIndication |
222 // This flag is set to 'true' when indication ESatUsatClientReadyIndication |
225 // is received from SAT server. CAT can be enabled when the state of this |
223 // is received from SAT server. CAT can be enabled when the state of this |
226 // flag is 'true' and also UICC server is ready. |
224 // flag is 'true' and also UICC server is ready. |
227 iSatReady = EFalse; |
225 iSatReady = EFalse; |
253 void CSatMessHandler::ProactiveProcedureMessageReceivedL |
251 void CSatMessHandler::ProactiveProcedureMessageReceivedL |
254 ( |
252 ( |
255 const TIsiReceiveC& aIsiMessage |
253 const TIsiReceiveC& aIsiMessage |
256 ) |
254 ) |
257 { |
255 { |
258 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_PROACTIVEPROCEDUREMESSAGERECEIVEDL, "CSatMessHandler::ProactiveProcedureMessageReceivedL" ); |
256 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_PROACTIVEPROCEDUREMESSAGERECEIVEDL_TD, "CSatMessHandler::ProactiveProcedureMessageReceivedL" ); |
259 TFLOGSTRING("TSY:CSatMessHandler::ProactiveProcedureMessageReceivedL"); |
257 TFLOGSTRING("TSY:CSatMessHandler::ProactiveProcedureMessageReceivedL"); |
260 |
258 |
261 // handle event download and related messages |
259 // handle event download and related messages |
262 iTsySatMessaging->EventDownloadReceived( aIsiMessage ); |
260 iTsySatMessaging->EventDownloadReceived( aIsiMessage ); |
263 |
261 |
279 void CSatMessHandler::NetServerMessageReceived |
277 void CSatMessHandler::NetServerMessageReceived |
280 ( |
278 ( |
281 const TIsiReceiveC& aIsiMessage // ISI message |
279 const TIsiReceiveC& aIsiMessage // ISI message |
282 ) |
280 ) |
283 { |
281 { |
284 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETSERVERMESSAGERECEIVED, "CSatMessHandler::NetServerMessageReceived" ); |
282 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETSERVERMESSAGERECEIVED_TD, "CSatMessHandler::NetServerMessageReceived" ); |
285 TFLOGSTRING("TSY:CSatMessHandler::NetServerMessageReceived"); |
283 TFLOGSTRING("TSY:CSatMessHandler::NetServerMessageReceived"); |
286 |
284 |
287 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
285 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
288 |
286 |
289 switch ( messageId ) |
287 switch ( messageId ) |
296 // during the first request. |
294 // during the first request. |
297 if ( !iSmsCbRoutingComplete ) |
295 if ( !iSmsCbRoutingComplete ) |
298 { |
296 { |
299 TFLOGSTRING("TSY:CSatMessHandler::NetServerMessageReceived \ |
297 TFLOGSTRING("TSY:CSatMessHandler::NetServerMessageReceived \ |
300 Sending delayed SMS CB routing request."); |
298 Sending delayed SMS CB routing request."); |
301 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETSERVERMESSAGERECEIVED, "CSatMessHandler::NetServerMessageReceived Sending delayed SMS CB routing request." ); |
299 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETSERVERMESSAGERECEIVED_TD, "CSatMessHandler::NetServerMessageReceived Sending delayed SMS CB routing request." ); |
302 SmsCbRoutingReq( |
300 SmsCbRoutingReq( |
303 iTsySatMessaging->GetTransactionId(), SMS_ROUTING_SET ); |
301 iTsySatMessaging->GetTransactionId(), SMS_ROUTING_SET ); |
304 } |
302 } |
305 break; |
303 break; |
306 } |
304 } |
331 } |
329 } |
332 } |
330 } |
333 } |
331 } |
334 |
332 |
335 // ----------------------------------------------------------------------------- |
333 // ----------------------------------------------------------------------------- |
336 // CSatMessHandler::PhoneInfoMessageReceived |
334 // CSatMessHandler::PhoneInfoMessageReceivedL |
337 // Called from SatMessHandler::ReceivedL, handles Phone Info related messages |
335 // Called from SatMessHandler::ReceivedL, handles Phone Info related messages |
338 // ----------------------------------------------------------------------------- |
336 // ----------------------------------------------------------------------------- |
339 // |
337 // |
340 void CSatMessHandler::PhoneInfoMessageReceived |
338 /*void CSatMessHandler::PhoneInfoMessageReceivedL |
341 ( |
339 ( |
342 const TIsiReceiveC& aIsiMessage // ISI message |
340 const TIsiReceiveC& aIsiMessage // ISI message |
343 ) |
341 ) |
344 { |
342 { |
345 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_PHONEINFOMESSAGERECEIVED, "CSatMessHandler::PhoneInfoMessageReceived" ); |
343 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_PHONEINFOMESSAGERECEIVEDL_TD, "CSatMessHandler::PhoneInfoMessageReceivedL" ); |
346 TFLOGSTRING("TSY:CSatMessHandler::PhoneInfoMessageReceived"); |
344 TFLOGSTRING("TSY:CSatMessHandler::PhoneInfoMessageReceivedL"); |
347 |
345 |
348 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
346 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
349 |
347 |
350 switch ( messageId ) |
348 switch ( messageId ) |
351 { |
349 { |
354 InfoSerialNumberReadResp( aIsiMessage ); |
352 InfoSerialNumberReadResp( aIsiMessage ); |
355 break; |
353 break; |
356 } |
354 } |
357 case INFO_PP_READ_RESP: |
355 case INFO_PP_READ_RESP: |
358 { |
356 { |
359 InfoPpReadResp( aIsiMessage ); |
357 InfoPpReadRespL( aIsiMessage ); |
360 break; |
358 break; |
361 } |
359 } |
362 default: |
360 default: |
363 { |
361 { |
364 // do nothing |
362 // do nothing |
365 break; |
363 break; |
366 } |
364 } |
367 } |
365 } |
368 } |
366 }*/ |
369 |
367 |
370 |
368 |
371 // ----------------------------------------------------------------------------- |
369 // ----------------------------------------------------------------------------- |
372 // CSatMessHandler::UiccServerMessageReceived |
370 // CSatMessHandler::UiccServerMessageReceived |
373 // Called from SatMessHandler::ReceivedL, handles UICC Server messages |
371 // Called from SatMessHandler::ReceivedL, handles UICC Server messages |
374 // ----------------------------------------------------------------------------- |
372 // ----------------------------------------------------------------------------- |
375 // |
373 // |
376 TBool CSatMessHandler::UiccServerMessageReceived( |
374 TBool CSatMessHandler::UiccServerMessageReceivedL( |
377 const TIsiReceiveC& aIsiMessage ) |
375 const TIsiReceiveC& aIsiMessage ) |
378 { |
376 { |
379 TUint8 messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
377 TUint8 messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
380 OstTraceExt1( TRACE_NORMAL, DUP3_CSATMESSHANDLER_UICCSERVERMESSAGERECEIVED, "CSatMessHandler::UiccServerMessageReceived;messageId=%hhu", messageId ); |
378 OstTraceExt1( TRACE_NORMAL, DUP3_CSATMESSHANDLER_UICCSERVERMESSAGERECEIVEDL_TD, "CSatMessHandler::UiccServerMessageReceived;messageId=%hhu", messageId ); |
381 TFLOGSTRING2("TSY:CSatMessHandler::UiccServerMessageReceived, message ID: %d", messageId ); |
379 TFLOGSTRING2("TSY:CSatMessHandler::UiccServerMessageReceivedL, message ID: %d", messageId ); |
382 |
380 |
383 TBool handled( EFalse ); |
381 TBool handled( EFalse ); |
384 |
382 |
385 switch ( messageId ) |
383 switch ( messageId ) |
386 { |
384 { |
387 case UICC_CAT_IND: |
385 case UICC_CAT_IND: |
388 { |
386 { |
389 UiccCatInd( aIsiMessage ); |
387 UiccCatIndL( aIsiMessage ); |
390 break; |
388 break; |
391 } |
389 } |
392 case UICC_CAT_RESP: |
390 case UICC_CAT_RESP: |
393 { |
391 { |
394 TUint8 serviceType( |
392 TUint8 serviceType( |
397 TUint8 status( |
395 TUint8 status( |
398 aIsiMessage.Get8bit( |
396 aIsiMessage.Get8bit( |
399 ISI_HEADER_SIZE + UICC_CAT_RESP_OFFSET_STATUS ) ); |
397 ISI_HEADER_SIZE + UICC_CAT_RESP_OFFSET_STATUS ) ); |
400 |
398 |
401 TFLOGSTRING3("TSY:CSatMessHandler:: KUiccCatResp: service type %d, status %d", serviceType, status); |
399 TFLOGSTRING3("TSY:CSatMessHandler:: KUiccCatResp: service type %d, status %d", serviceType, status); |
402 OstTraceExt2( TRACE_NORMAL, DUP2_CSATMESSHANDLER_UICCSERVERMESSAGERECEIVED, "CSatMessHandler::KUiccCatResp;serviceType=%hhu;status=%hhu", serviceType, status ); |
400 OstTraceExt2( TRACE_NORMAL, DUP2_CSATMESSHANDLER_UICCSERVERMESSAGERECEIVEDL_TD, "CSatMessHandler::KUiccCatResp;serviceType=%hhu;status=%hhu", serviceType, status ); |
403 |
401 |
404 // If terminal profile was sent succesfully and SAT is ready, |
402 // If terminal profile was sent succesfully and SAT is ready, |
405 // start fetching proactive commands |
403 // start fetching proactive commands |
406 if ( UICC_CAT_TERMINAL_PROFILE == serviceType && |
404 if ( UICC_CAT_TERMINAL_PROFILE == serviceType && |
407 UICC_STATUS_OK == status ) |
405 UICC_STATUS_OK == status ) |
430 } |
428 } |
431 } |
429 } |
432 // Response for refresh command |
430 // Response for refresh command |
433 else if ( UICC_CAT_REFRESH == serviceType ) |
431 else if ( UICC_CAT_REFRESH == serviceType ) |
434 { |
432 { |
435 RefreshResult( status ); |
433 RefreshResultL( status ); |
436 } |
434 } |
437 // Response for polling set command |
435 // Response for polling set command |
438 else if ( UICC_CAT_POLLING_SET == serviceType ) |
436 else if ( UICC_CAT_POLLING_SET == serviceType ) |
439 { |
437 { |
440 SetPollingResult( |
438 SetPollingResult( |
476 // Access to UICC files is possible when application is active |
474 // Access to UICC files is possible when application is active |
477 TUint8 serviceType( aIsiMessage.Get8bit( |
475 TUint8 serviceType( aIsiMessage.Get8bit( |
478 ISI_HEADER_SIZE + UICC_APPLICATION_IND_OFFSET_SERVICETYPE ) ); |
476 ISI_HEADER_SIZE + UICC_APPLICATION_IND_OFFSET_SERVICETYPE ) ); |
479 if ( UICC_APPL_ACTIVATED == serviceType ) |
477 if ( UICC_APPL_ACTIVATED == serviceType ) |
480 { |
478 { |
481 // USIM and SIM: Read SMS-PP DD and Call Control from byte 4. |
479 TInt ret( KErrNone ); |
482 // Only USIM: MO-SMS control from byte 4 |
|
483 UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
|
484 |
|
485 if ( UICC_CARD_TYPE_UICC == iCardType ) |
480 if ( UICC_CARD_TYPE_UICC == iCardType ) |
486 { |
481 { |
482 // USIM: Read SMS-PP DD, Call Control and MO-SMS control from byte 4. |
|
483 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
|
484 User::LeaveIfError( ret ); |
|
487 // USIM: Read call control GPRS from byte 7 |
485 // USIM: Read call control GPRS from byte 7 |
488 UiccReadServiceTableReq( KUiccTrIdServiceTableByte7, 6 ); |
486 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte7, 6 ); |
487 User::LeaveIfError( ret ); |
|
489 } |
488 } |
490 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
489 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
491 { |
490 { |
492 // SIM: Read MO-SMS control from byte 5 |
491 // SIM: Read MO-SMS control from byte 10 |
493 UiccReadServiceTableReq( KUiccTrIdServiceTableByte5, 4 ); |
492 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte10, 9 ); |
493 User::LeaveIfError( ret ); |
|
494 // SIM: Read SMS-PP DD and Call Control from byte 7 |
|
495 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte7, 6 ); |
|
496 User::LeaveIfError( ret ); |
|
497 // SIM: Read Call control in USSD from byte 11. This is supported only in SIM |
|
498 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte11, 10 ); |
|
499 User::LeaveIfError( ret ); |
|
494 } |
500 } |
495 } |
501 } |
496 break; |
502 break; |
497 } |
503 } |
498 case UICC_APPL_CMD_RESP: |
504 case UICC_APPL_CMD_RESP: |
511 void CSatMessHandler::SmsServerMessageReceived |
517 void CSatMessHandler::SmsServerMessageReceived |
512 ( |
518 ( |
513 const TIsiReceiveC& aIsiMessage // ISI message from SMS server |
519 const TIsiReceiveC& aIsiMessage // ISI message from SMS server |
514 ) |
520 ) |
515 { |
521 { |
516 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSSERVERMESSAGERECEIVED, "CSatMessHandler::SmsServerMessageReceived" ); |
522 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSSERVERMESSAGERECEIVED_TD, "CSatMessHandler::SmsServerMessageReceived" ); |
517 TFLOGSTRING("TSY:CSatMessHandler::SmsServerMessageReceived"); |
523 TFLOGSTRING("TSY:CSatMessHandler::SmsServerMessageReceived"); |
518 |
524 |
519 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
525 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
520 |
526 |
521 switch ( messageId ) |
527 switch ( messageId ) |
532 } |
538 } |
533 case SMS_RESOURCE_CONF_RESP: |
539 case SMS_RESOURCE_CONF_RESP: |
534 { |
540 { |
535 // Take a log because result is always ok |
541 // Take a log because result is always ok |
536 TFLOGSTRING("TSY:CSatMoSmsCtrl::SmsResourceConfRespReceived: Response for Resource confoguration Req, Receive response from SMS server"); |
542 TFLOGSTRING("TSY:CSatMoSmsCtrl::SmsResourceConfRespReceived: Response for Resource confoguration Req, Receive response from SMS server"); |
537 OstTrace0( TRACE_NORMAL, DUP1_CSATMOSMSCTRL_SMSRESOURCECONFRESPRECEIVED, "CSatMoSmsCtrl::SmsResourceRespReceived: Response for Resource Configuration Req, Receive response from SMS server" ); |
543 OstTrace0( TRACE_NORMAL, DUP1_CSATMOSMSCTRL_SMSRESOURCECONFRESPRECEIVED_TD, "CSatMoSmsCtrl::SmsResourceRespReceived: Response for Resource Configuration Req, Receive response from SMS server" ); |
538 break; |
544 break; |
539 } |
545 } |
540 default: |
546 default: |
541 // do nothing |
547 // do nothing |
542 break; |
548 break; |
552 void CSatMessHandler::SsServerMessageReceived |
558 void CSatMessHandler::SsServerMessageReceived |
553 ( |
559 ( |
554 const TIsiReceiveC& aIsiMessage // ISI message |
560 const TIsiReceiveC& aIsiMessage // ISI message |
555 ) |
561 ) |
556 { |
562 { |
557 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSSERVERMESSAGERECEIVED, "CSatMessHandler::SsServerMessageReceived" ); |
563 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSSERVERMESSAGERECEIVED_TD, "CSatMessHandler::SsServerMessageReceived" ); |
558 TFLOGSTRING("TSY:CSatMessHandler::SsServerMessageReceived"); |
564 TFLOGSTRING("TSY:CSatMessHandler::SsServerMessageReceived"); |
559 |
565 |
560 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
566 TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
561 |
567 |
562 switch ( messageId ) |
568 switch ( messageId ) |
581 void CSatMessHandler::GsmStackServerMessageReceived |
587 void CSatMessHandler::GsmStackServerMessageReceived |
582 ( |
588 ( |
583 const TIsiReceiveC& aIsiMessage // ISI message |
589 const TIsiReceiveC& aIsiMessage // ISI message |
584 ) |
590 ) |
585 { |
591 { |
586 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSMSTACKSERVERMESSAGERECEIVED, "CSatMessHandler::GsmStackServerMessageReceived" ); |
592 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSMSTACKSERVERMESSAGERECEIVED_TD, "CSatMessHandler::GsmStackServerMessageReceived" ); |
587 TFLOGSTRING("TSY:CSatMessHandler::GsmStackServerMessageReceived"); |
593 TFLOGSTRING("TSY:CSatMessHandler::GsmStackServerMessageReceived"); |
588 |
594 |
589 switch ( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ) |
595 switch ( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ) |
590 { |
596 { |
591 case GSS_CS_SERVICE_RESP: |
597 case GSS_CS_SERVICE_RESP: |
619 TDes8& aCommandDetails, // PCmd number |
625 TDes8& aCommandDetails, // PCmd number |
620 TUint8 aGeneralResult, // General Result |
626 TUint8 aGeneralResult, // General Result |
621 TUint8 aAdditionalInfo // Additional info |
627 TUint8 aAdditionalInfo // Additional info |
622 ) |
628 ) |
623 { |
629 { |
624 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_DISPLAYTEXTTERMINALRESP, "CSatMessHandler::DisplayTextTerminalResp" ); |
630 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_DISPLAYTEXTTERMINALRESP_TD, "CSatMessHandler::DisplayTextTerminalResp" ); |
625 TFLOGSTRING("TSY:CSatMessHandler::DisplayTextTerminalResp"); |
631 TFLOGSTRING("TSY:CSatMessHandler::DisplayTextTerminalResp"); |
626 |
632 |
627 TTlv tlvSpecificData; |
633 TTlv tlvSpecificData; |
628 // Create General Result TLV here |
634 // Create General Result TLV here |
629 tlvSpecificData.AddTag( KTlvResultTag ); |
635 tlvSpecificData.AddTag( KTlvResultTag ); |
653 const TUint8 aTransId, // Transaction id |
659 const TUint8 aTransId, // Transaction id |
654 const TDes8& aCommandDetails, // PCmd number |
660 const TDes8& aCommandDetails, // PCmd number |
655 const RSat::TGetInkeyRspV2& aRsp // Response packet from Etel |
661 const RSat::TGetInkeyRspV2& aRsp // Response packet from Etel |
656 ) |
662 ) |
657 { |
663 { |
658 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETINKEYTERMINALRESP, "CSatMessHandler::GetInkeyTerminalResp" ); |
664 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETINKEYTERMINALRESP_TD, "CSatMessHandler::GetInkeyTerminalResp" ); |
659 TFLOGSTRING("TSY:CSatMessHandler::GetInkeyTerminalRespL"); |
665 TFLOGSTRING("TSY:CSatMessHandler::GetInkeyTerminalRespL"); |
660 |
666 |
661 TTlv tlvSpecificData; |
667 TTlv tlvSpecificData; |
662 |
668 |
663 //General result |
669 //General result |
776 TUint8 aAdditionalInfo, // Additional info |
782 TUint8 aAdditionalInfo, // Additional info |
777 TDesC16& aTextString, // Response string |
783 TDesC16& aTextString, // Response string |
778 TUint8 aDataCodingScheme // Coding scheme |
784 TUint8 aDataCodingScheme // Coding scheme |
779 ) |
785 ) |
780 { |
786 { |
781 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETINPUTTERMINALRESP, "CSatMessHandler::GetInputTerminalResp" ); |
787 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETINPUTTERMINALRESP_TD, "CSatMessHandler::GetInputTerminalResp" ); |
782 TFLOGSTRING("TSY:CSatMessHandler::GetInputTerminalResp"); |
788 TFLOGSTRING("TSY:CSatMessHandler::GetInputTerminalResp"); |
783 |
789 |
784 TTlv tlvSpecificData; |
790 TTlv tlvSpecificData; |
785 TBuf8<KGetInputStringMaxSize> string; |
791 TBuf8<KGetInputStringMaxSize> string; |
786 |
792 |
857 TDes8& aCommandDetails, // Command details |
863 TDes8& aCommandDetails, // Command details |
858 TUint8 aGeneralResult, // General result |
864 TUint8 aGeneralResult, // General result |
859 TUint8 aAdditionalInfo // Additional info |
865 TUint8 aAdditionalInfo // Additional info |
860 ) |
866 ) |
861 { |
867 { |
862 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_PLAYTONETERMINALRESP, "CSatMessHandler::PlayToneTerminalResp" ); |
868 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_PLAYTONETERMINALRESP_TD, "CSatMessHandler::PlayToneTerminalResp" ); |
863 TFLOGSTRING("TSY:CSatMessHandler::PlayToneTerminalResp"); |
869 TFLOGSTRING("TSY:CSatMessHandler::PlayToneTerminalResp"); |
864 |
870 |
865 TTlv tlvSpecificData; |
871 TTlv tlvSpecificData; |
866 |
872 |
867 tlvSpecificData.AddTag( KTlvResultTag ); |
873 tlvSpecificData.AddTag( KTlvResultTag ); |
891 TDes8& aCommandDetails, // aPCmdNumber |
897 TDes8& aCommandDetails, // aPCmdNumber |
892 TUint8 aGeneralResult, // General result |
898 TUint8 aGeneralResult, // General result |
893 TUint8 aAdditionalInfo // Additional info |
899 TUint8 aAdditionalInfo // Additional info |
894 ) |
900 ) |
895 { |
901 { |
896 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPMENUTERMINALRESP, "CSatMessHandler::SetUpMenuTerminalResp" ); |
902 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPMENUTERMINALRESP_TD, "CSatMessHandler::SetUpMenuTerminalResp" ); |
897 TFLOGSTRING("TSY:CSatMessHandler::SetUpMenuTerminalResp"); |
903 TFLOGSTRING("TSY:CSatMessHandler::SetUpMenuTerminalResp"); |
898 |
904 |
899 // Create and append response data |
905 // Create and append response data |
900 TTlv tlvSpecificData; |
906 TTlv tlvSpecificData; |
901 |
907 |
928 TDes8& aCommandDetails, // Comamnd number |
934 TDes8& aCommandDetails, // Comamnd number |
929 TUint8 aGeneralResult, // General result |
935 TUint8 aGeneralResult, // General result |
930 TUint8 aAdditionalInfo // Additional info |
936 TUint8 aAdditionalInfo // Additional info |
931 ) |
937 ) |
932 { |
938 { |
933 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SELECTITEMTERMINALRESP, "CSatMessHandler::SelectItemTerminalResp" ); |
939 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SELECTITEMTERMINALRESP_TD, "CSatMessHandler::SelectItemTerminalResp" ); |
934 TFLOGSTRING("TSY:CSatMessHandler::SelectItemTerminalResp"); |
940 TFLOGSTRING("TSY:CSatMessHandler::SelectItemTerminalResp"); |
935 |
941 |
936 TTlv tlvSpecificData; |
942 TTlv tlvSpecificData; |
937 // Create general result TLV here |
943 // Create general result TLV here |
938 tlvSpecificData.AddTag( KTlvResultTag ); |
944 tlvSpecificData.AddTag( KTlvResultTag ); |
989 TUint8 aGeneralResult, // General result |
995 TUint8 aGeneralResult, // General result |
990 TUint8 aAdditionalInfo, // Additional info |
996 TUint8 aAdditionalInfo, // Additional info |
991 TUint8 aNumOfUnits // Time interval |
997 TUint8 aNumOfUnits // Time interval |
992 ) |
998 ) |
993 { |
999 { |
994 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_POLLINTERVALTERMINALRESP, "CSatMessHandler::PollIntervalTerminalResp" ); |
1000 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_POLLINTERVALTERMINALRESP_TD, "CSatMessHandler::PollIntervalTerminalResp" ); |
995 TFLOGSTRING("TSY:CSatMessHandler::PollIntervalTerminalResp"); |
1001 TFLOGSTRING("TSY:CSatMessHandler::PollIntervalTerminalResp"); |
996 |
1002 |
997 TTlv tlvSpecificData; |
1003 TTlv tlvSpecificData; |
998 |
1004 |
999 tlvSpecificData.AddTag( KTlvResultTag ); |
1005 tlvSpecificData.AddTag( KTlvResultTag ); |
1044 TDes8& aCommandDetails, // Command details |
1050 TDes8& aCommandDetails, // Command details |
1045 TUint8 aGeneralResult, // General result |
1051 TUint8 aGeneralResult, // General result |
1046 TUint8 aAdditionalInfo // Additional info |
1052 TUint8 aAdditionalInfo // Additional info |
1047 ) |
1053 ) |
1048 { |
1054 { |
1049 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSMTERMINALRESP, "CSatMessHandler::SendSmTerminalResp" ); |
1055 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSMTERMINALRESP_TD, "CSatMessHandler::SendSmTerminalResp" ); |
1050 TFLOGSTRING("TSY:CSatMessHandler::SendSmTerminalResp"); |
1056 TFLOGSTRING("TSY:CSatMessHandler::SendSmTerminalResp"); |
1051 |
1057 |
1052 // Create and append response data |
1058 // Create and append response data |
1053 TTlv tlvSpecificData; |
1059 TTlv tlvSpecificData; |
1054 |
1060 |
1085 TDes8& aCommandDetails, // Command details tlv |
1091 TDes8& aCommandDetails, // Command details tlv |
1086 TUint8 aGeneralResult, // General result |
1092 TUint8 aGeneralResult, // General result |
1087 TDesC8& aAdditionalInfo // Additional info |
1093 TDesC8& aAdditionalInfo // Additional info |
1088 ) |
1094 ) |
1089 { |
1095 { |
1090 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSSTERMINALRESP, "CSatMessHandler::SendSsTerminalResp" ); |
1096 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSSTERMINALRESP_TD, "CSatMessHandler::SendSsTerminalResp" ); |
1091 TFLOGSTRING("TSY:CSatMessHandler::SendSsTerminalResp"); |
1097 TFLOGSTRING("TSY:CSatMessHandler::SendSsTerminalResp"); |
1092 |
1098 |
1093 // Create and append response data |
1099 // Create and append response data |
1094 TTlv tlvSpecificData; |
1100 TTlv tlvSpecificData; |
1095 tlvSpecificData.AddTag( KTlvResultTag ); |
1101 tlvSpecificData.AddTag( KTlvResultTag ); |
1120 TDes8& aCommandDetails, |
1126 TDes8& aCommandDetails, |
1121 TUint8 aGeneralResult, // General result |
1127 TUint8 aGeneralResult, // General result |
1122 TUint8 aAdditionalInfo // Additional info |
1128 TUint8 aAdditionalInfo // Additional info |
1123 ) |
1129 ) |
1124 { |
1130 { |
1125 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDDTMFTERMINALRESP, "CSatMessHandler::SendDtmfTerminalResp" ); |
1131 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDDTMFTERMINALRESP_TD, "CSatMessHandler::SendDtmfTerminalResp" ); |
1126 TFLOGSTRING("CSatMessHandler::SendDtmfTerminalResp"); |
1132 TFLOGSTRING("CSatMessHandler::SendDtmfTerminalResp"); |
1127 |
1133 |
1128 TTlv tlvSpecificData; |
1134 TTlv tlvSpecificData; |
1129 // Append general result tag |
1135 // Append general result tag |
1130 tlvSpecificData.AddTag( KTlvResultTag ); |
1136 tlvSpecificData.AddTag( KTlvResultTag ); |
1157 TUint8 aAdditionalInfo, |
1163 TUint8 aAdditionalInfo, |
1158 TDes& aUssdData, |
1164 TDes& aUssdData, |
1159 TUint8 aUssdCbsDataCodingScheme |
1165 TUint8 aUssdCbsDataCodingScheme |
1160 ) |
1166 ) |
1161 { |
1167 { |
1162 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDUSSDTERMINALRESP, "CSatMessHandler::SendUssdTerminalResp" ); |
1168 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDUSSDTERMINALRESP_TD, "CSatMessHandler::SendUssdTerminalResp" ); |
1163 TFLOGSTRING("TSY:CSatMessHandler::SendUssdTerminalResp"); |
1169 TFLOGSTRING("TSY:CSatMessHandler::SendUssdTerminalResp"); |
1164 |
1170 |
1165 TTlv tlvSpecificData; |
1171 TTlv tlvSpecificData; |
1166 TBuf8<RSat::KStringMaxSize> string; |
1172 TBuf8<RSat::KStringMaxSize> string; |
1167 |
1173 |
1168 tlvSpecificData.AddTag( KTlvResultTag ); |
1174 tlvSpecificData.AddTag( KTlvResultTag ); |
1169 tlvSpecificData.AddByte( aGeneralResult ); |
1175 tlvSpecificData.AddByte( aGeneralResult ); |
1170 |
1176 |
1171 // For the general results '20', '21', '37', '38' |
1177 // For the general results '20', '21', '37', '38', '39' |
1172 // it is mandatory for the ME to provide a specific |
1178 // it is mandatory for the ME to provide a specific |
1173 // cause value as additional |
1179 // cause value as additional |
1174 if ( ( RSat::KMeUnableToProcessCmd == aGeneralResult ) |
1180 if ( ( RSat::KMeUnableToProcessCmd == aGeneralResult ) |
1175 || ( RSat::KNetworkUnableToProcessCmd == aGeneralResult ) |
1181 || ( RSat::KNetworkUnableToProcessCmd == aGeneralResult ) |
1176 || ( RSat::KUssdReturnError == aGeneralResult) |
1182 || ( RSat::KUssdReturnError == aGeneralResult) |
1177 || ( RSat::KMultipleCardCmdsError == aGeneralResult) ) |
1183 || ( RSat::KMultipleCardCmdsError == aGeneralResult) |
1184 || ( RSat::KInteractionWithCCPermanentError == aGeneralResult ) ) |
|
1178 { |
1185 { |
1179 tlvSpecificData.AddByte( aAdditionalInfo ); |
1186 tlvSpecificData.AddByte( aAdditionalInfo ); |
1180 } |
1187 } |
1181 // For general result '32' additional info or text string is not used |
1188 // For general result '32' additional info or text string is not used |
1182 else if ( RSat::KCmdDataNotUnderstood != aGeneralResult ) |
1189 else if ( RSat::KCmdDataNotUnderstood != aGeneralResult ) |
1217 // Reserved |
1224 // Reserved |
1218 // The general result should in fact prevent reaching this |
1225 // The general result should in fact prevent reaching this |
1219 // branch of the switch. |
1226 // branch of the switch. |
1220 TFLOGSTRING("TSY:CSatMessHandler::SendUssdTerminalResp, \ |
1227 TFLOGSTRING("TSY:CSatMessHandler::SendUssdTerminalResp, \ |
1221 The DCS sent by the network has a reserved value."); |
1228 The DCS sent by the network has a reserved value."); |
1222 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SENDUSSDTERMINALRESP, "CSatMessHandler::SendUssdTerminalResp, The DCS sent by the network has a reserved value." ); |
1229 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SENDUSSDTERMINALRESP_TD, "CSatMessHandler::SendUssdTerminalResp, The DCS sent by the network has a reserved value." ); |
1223 break; |
1230 break; |
1224 } |
1231 } |
1225 } |
1232 } |
1226 // Text |
1233 // Text |
1227 tlvSpecificData.AddData( string ); |
1234 tlvSpecificData.AddData( string ); |
1245 TDes8& aCommandDetails, // Command Details tlv |
1252 TDes8& aCommandDetails, // Command Details tlv |
1246 TUint8 aGeneralResult, // General result |
1253 TUint8 aGeneralResult, // General result |
1247 TUint8 aAdditionalInfo // Additional info |
1254 TUint8 aAdditionalInfo // Additional info |
1248 ) |
1255 ) |
1249 { |
1256 { |
1250 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPCALLTERMINALRESP, "CSatMessHandler::SetUpCallTerminalResp" ); |
1257 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPCALLTERMINALRESP_TD, "CSatMessHandler::SetUpCallTerminalResp" ); |
1251 TFLOGSTRING("TSY:CSatMessHandler::SetUpCallTerminalResp"); |
1258 TFLOGSTRING("TSY:CSatMessHandler::SetUpCallTerminalResp"); |
1252 |
1259 |
1253 // Create and append response data |
1260 // Create and append response data |
1254 TTlv tlvSpecificData; |
1261 TTlv tlvSpecificData; |
1255 tlvSpecificData.AddTag( KTlvResultTag ); |
1262 tlvSpecificData.AddTag( KTlvResultTag ); |
1282 TDes8& aCommandDetails, // Command number |
1289 TDes8& aCommandDetails, // Command number |
1283 TUint8 aGeneralResult, // General result |
1290 TUint8 aGeneralResult, // General result |
1284 TUint8 aAdditionalInfo // Additional info |
1291 TUint8 aAdditionalInfo // Additional info |
1285 ) |
1292 ) |
1286 { |
1293 { |
1287 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_REFRESHTERMINALRESP, "CSatMessHandler::RefreshTerminalResp" ); |
1294 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_REFRESHTERMINALRESP_TD, "CSatMessHandler::RefreshTerminalResp" ); |
1288 TFLOGSTRING("TSY:CSatMessHandler::RefreshTerminalResp"); |
1295 TFLOGSTRING("TSY:CSatMessHandler::RefreshTerminalResp"); |
1289 |
1296 |
1290 // Create and append response data |
1297 // Create and append response data |
1291 TTlv tlvSpecificData; |
1298 TTlv tlvSpecificData; |
1292 // append result tag |
1299 // append result tag |
1316 TUint8 aTransId, // Transaction id |
1323 TUint8 aTransId, // Transaction id |
1317 TUint8 aItemIdentifier, // Item identifier |
1324 TUint8 aItemIdentifier, // Item identifier |
1318 TUint8 aHelp // Help requested status |
1325 TUint8 aHelp // Help requested status |
1319 ) |
1326 ) |
1320 { |
1327 { |
1321 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_MENUSELECTIONIND, "CSatMessHandler::MenuSelectionInd" ); |
1328 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_MENUSELECTIONIND_TD, "CSatMessHandler::MenuSelectionInd" ); |
1322 TFLOGSTRING("TSY:CSatMessHandler::MenuSelectionInd"); |
1329 TFLOGSTRING("TSY:CSatMessHandler::MenuSelectionInd"); |
1323 |
1330 |
1324 TTlv tlvSpecificData; |
1331 TTlv tlvSpecificData; |
1325 |
1332 |
1326 tlvSpecificData.Begin( KBerTlvMenuSelectionTag ); |
1333 tlvSpecificData.Begin( KBerTlvMenuSelectionTag ); |
1351 TDes8& aCommandDetails, // command number |
1358 TDes8& aCommandDetails, // command number |
1352 TUint8 aGeneralResult, // Result |
1359 TUint8 aGeneralResult, // Result |
1353 TUint8 aAdditionalInfo // additional info |
1360 TUint8 aAdditionalInfo // additional info |
1354 ) |
1361 ) |
1355 { |
1362 { |
1356 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LAUNCHBROWSERTERMINALRESP, "CSatMessHandler::LaunchBrowserTerminalResp" ); |
1363 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LAUNCHBROWSERTERMINALRESP_TD, "CSatMessHandler::LaunchBrowserTerminalResp" ); |
1357 TFLOGSTRING("TSY:CSatMessHandler::LaunchBrowserTerminalResp"); |
1364 TFLOGSTRING("TSY:CSatMessHandler::LaunchBrowserTerminalResp"); |
1358 |
1365 |
1359 TTlv tlvSpecificData; |
1366 TTlv tlvSpecificData; |
1360 |
1367 |
1361 tlvSpecificData.AddTag( KTlvResultTag ); |
1368 tlvSpecificData.AddTag( KTlvResultTag ); |
1387 TBool CSatMessHandler::CommandPerformedSuccessfully |
1394 TBool CSatMessHandler::CommandPerformedSuccessfully |
1388 ( |
1395 ( |
1389 TUint8 aGeneralResult |
1396 TUint8 aGeneralResult |
1390 ) |
1397 ) |
1391 { |
1398 { |
1392 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_COMMANDPERFORMEDSUCCESSFULLY, "CSatMessHandler::CommandPerformedSuccessfully" ); |
1399 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_COMMANDPERFORMEDSUCCESSFULLY_TD, "CSatMessHandler::CommandPerformedSuccessfully" ); |
1393 TFLOGSTRING("TSY:CSatMessHandler::CommandPerformedSuccessfully"); |
1400 TFLOGSTRING("TSY:CSatMessHandler::CommandPerformedSuccessfully"); |
1394 |
1401 |
1395 TBool ret( EFalse ); |
1402 TBool ret( EFalse ); |
1396 switch ( aGeneralResult ) |
1403 switch ( aGeneralResult ) |
1397 { |
1404 { |
1430 TDes8& aCommandDetails, // command number |
1437 TDes8& aCommandDetails, // command number |
1431 TUint8 aGeneralResult, // Result |
1438 TUint8 aGeneralResult, // Result |
1432 TUint8 aAdditionalInfo // Additional info |
1439 TUint8 aAdditionalInfo // Additional info |
1433 ) |
1440 ) |
1434 { |
1441 { |
1435 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPIDLEMODETEXTTERMINALRESP, "CSatMessHandler::SetUpIdleModeTextTerminalResp" ); |
1442 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPIDLEMODETEXTTERMINALRESP_TD, "CSatMessHandler::SetUpIdleModeTextTerminalResp" ); |
1436 TFLOGSTRING("TSY:CSatMessHandler::SetUpIdleModeTextTerminalResp"); |
1443 TFLOGSTRING("TSY:CSatMessHandler::SetUpIdleModeTextTerminalResp"); |
1437 |
1444 |
1438 TTlv tlvSpecificData; |
1445 TTlv tlvSpecificData; |
1439 |
1446 |
1440 //create General Result TLV here |
1447 //create General Result TLV here |
1481 TUint8 aTransId, |
1488 TUint8 aTransId, |
1482 const TDesC8& aBerTlv, // BER-TLV specific data |
1489 const TDesC8& aBerTlv, // BER-TLV specific data |
1483 TBool aStore // Is envelope stored for resending |
1490 TBool aStore // Is envelope stored for resending |
1484 ) |
1491 ) |
1485 { |
1492 { |
1486 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQENVELOPE, "CSatMessHandler::UiccCatReqEnvelope" ); |
1493 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQENVELOPE_TD, "CSatMessHandler::UiccCatReqEnvelope" ); |
1487 TFLOGSTRING("TSY:CSatMessHandler::UiccCatReqEnvelope"); |
1494 TFLOGSTRING("TSY:CSatMessHandler::UiccCatReqEnvelope"); |
1488 |
1495 |
1489 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
1496 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
1490 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
1497 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
1491 isiMsg.Set8bit( |
1498 isiMsg.Set8bit( |
1539 TInt CSatMessHandler::StoreNetServiceStatus |
1546 TInt CSatMessHandler::StoreNetServiceStatus |
1540 ( |
1547 ( |
1541 const TIsiReceiveC& aIsiMessage |
1548 const TIsiReceiveC& aIsiMessage |
1542 ) |
1549 ) |
1543 { |
1550 { |
1544 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_STORENETSERVICESTATUS, "CSatMessHandler::StoreNetServiceStatus" ); |
1551 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_STORENETSERVICESTATUS_TD, "CSatMessHandler::StoreNetServiceStatus" ); |
1545 TFLOGSTRING("TSY: CSatMessHandler::StoreNetServiceStatus"); |
1552 TFLOGSTRING("TSY: CSatMessHandler::StoreNetServiceStatus"); |
1546 |
1553 |
1547 // SubBlock offset |
1554 // SubBlock offset |
1548 TUint sbOffset( 0 ); |
1555 TUint sbOffset( 0 ); |
1549 |
1556 |
1591 // Get registration status value |
1598 // Get registration status value |
1592 iLocInfo.iRegStatus = aIsiMessage.Get8bit( |
1599 iLocInfo.iRegStatus = aIsiMessage.Get8bit( |
1593 sbOffset + NET_GSM_CELL_INFO_OFFSET_SERVICESTATUS ); |
1600 sbOffset + NET_GSM_CELL_INFO_OFFSET_SERVICESTATUS ); |
1594 |
1601 |
1595 TFLOGSTRING2("TSY: CSatMessHandler::StoreNetServiceStatus: NET_REGISTRATION_STATUS = %d", iLocInfo.iRegStatus ); |
1602 TFLOGSTRING2("TSY: CSatMessHandler::StoreNetServiceStatus: NET_REGISTRATION_STATUS = %d", iLocInfo.iRegStatus ); |
1596 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_STORENETSERVICESTATUS, "CSatMessHandler::StoreNetServiceStatus NET_REGISTRATION_STATUS = %d", iLocInfo.iRegStatus ); |
1603 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_STORENETSERVICESTATUS_TD, "CSatMessHandler::StoreNetServiceStatus NET_REGISTRATION_STATUS = %d", iLocInfo.iRegStatus ); |
1597 |
1604 |
1598 if ( NET_SERVICE == iLocInfo.iRegStatus || |
1605 if ( NET_SERVICE == iLocInfo.iRegStatus || |
1599 NET_LIMITED_SERVICE == iLocInfo.iRegStatus ) |
1606 NET_LIMITED_SERVICE == iLocInfo.iRegStatus ) |
1600 { |
1607 { |
1601 // Get country code |
1608 // Get country code |
1634 } |
1641 } |
1635 } |
1642 } |
1636 else |
1643 else |
1637 { |
1644 { |
1638 TFLOGSTRING("TSY: CSatMessHandler::StoreNetServiceStatus - NET_GSM_CELL_INFO or NET_WCDMA_CELL_INFO not found!"); |
1645 TFLOGSTRING("TSY: CSatMessHandler::StoreNetServiceStatus - NET_GSM_CELL_INFO or NET_WCDMA_CELL_INFO not found!"); |
1639 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_STORENETSERVICESTATUS, "CSatMessHandler::StoreNetServiceStatus NET_GSM_CELL_INFO or NET_WCDMA_CELL_INFO not found!" ); |
1646 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_STORENETSERVICESTATUS_TD, "CSatMessHandler::StoreNetServiceStatus NET_GSM_CELL_INFO or NET_WCDMA_CELL_INFO not found!" ); |
1640 |
1647 |
1641 retValue = KErrNotFound; |
1648 retValue = KErrNotFound; |
1642 } |
1649 } |
1643 } |
1650 } |
1644 else |
1651 else |
1645 { |
1652 { |
1646 TFLOGSTRING2("TSY: CSatMessHandler::StoreNetServiceStatus - Unexpected message id: %d", messageId ); |
1653 TFLOGSTRING2("TSY: CSatMessHandler::StoreNetServiceStatus - Unexpected message id: %d", messageId ); |
1647 OstTrace1( TRACE_NORMAL, DUP3_CSATMESSHANDLER_STORENETSERVICESTATUS, "CSatMessHandler::StoreNetServiceStatus Unexpected message id: %d", messageId ); |
1654 OstTrace1( TRACE_NORMAL, DUP3_CSATMESSHANDLER_STORENETSERVICESTATUS_TD, "CSatMessHandler::StoreNetServiceStatus Unexpected message id: %d", messageId ); |
1648 |
1655 |
1649 retValue = KErrNotFound; |
1656 retValue = KErrNotFound; |
1650 } |
1657 } |
1651 |
1658 |
1652 return retValue; |
1659 return retValue; |
1664 TDes8& aCommandDetails, // Command details |
1671 TDes8& aCommandDetails, // Command details |
1665 TUint8 aGeneralResult, // General result |
1672 TUint8 aGeneralResult, // General result |
1666 TUint8 aAdditionalInfo // Additional info |
1673 TUint8 aAdditionalInfo // Additional info |
1667 ) |
1674 ) |
1668 { |
1675 { |
1669 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPEVENTLISTTERMINALRESP, "CSatMessHandler::SetUpEventListTerminalResp" ); |
1676 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETUPEVENTLISTTERMINALRESP_TD, "CSatMessHandler::SetUpEventListTerminalResp" ); |
1670 TFLOGSTRING("TSY:CSatMessHandler::SetUpEventListTerminalResp"); |
1677 TFLOGSTRING("TSY:CSatMessHandler::SetUpEventListTerminalResp"); |
1671 // create responce data |
1678 // create responce data |
1672 TTlv tlvSpecificData; |
1679 TTlv tlvSpecificData; |
1673 |
1680 |
1674 //create General Result TLV here |
1681 //create General Result TLV here |
1706 TDes8& aCommandDetails, // Transaction id |
1713 TDes8& aCommandDetails, // Transaction id |
1707 TUint8 aGeneralResult, // General result |
1714 TUint8 aGeneralResult, // General result |
1708 TUint8 aAdditionalInfo // Additional info |
1715 TUint8 aAdditionalInfo // Additional info |
1709 ) |
1716 ) |
1710 { |
1717 { |
1711 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_POLLINGOFFTERMINALRESP, "CSatMessHandler::PollingOffTerminalResp" ); |
1718 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_POLLINGOFFTERMINALRESP_TD, "CSatMessHandler::PollingOffTerminalResp" ); |
1712 TFLOGSTRING("TSY:CSatMessHandler::PollingOffTerminalResp"); |
1719 TFLOGSTRING("TSY:CSatMessHandler::PollingOffTerminalResp"); |
1713 |
1720 |
1714 TTlv tlvSpecificData; |
1721 TTlv tlvSpecificData; |
1715 |
1722 |
1716 tlvSpecificData.AddTag( KTlvResultTag ); |
1723 tlvSpecificData.AddTag( KTlvResultTag ); |
1755 TDes8& aCommandDetails, // Command details tlv |
1762 TDes8& aCommandDetails, // Command details tlv |
1756 TUint8 aGeneralResult, // General result |
1763 TUint8 aGeneralResult, // General result |
1757 TDes& aAdditionalInfo // Additional info |
1764 TDes& aAdditionalInfo // Additional info |
1758 ) |
1765 ) |
1759 { |
1766 { |
1760 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LOCALINFOTERMINALRESP, "CSatMessHandler::LocalInfoTerminalResp" ); |
1767 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LOCALINFOTERMINALRESP_TD, "CSatMessHandler::LocalInfoTerminalResp" ); |
1761 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp"); |
1768 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp"); |
1762 // Create and append response data |
1769 // Create and append response data |
1763 TTlv tlvData; |
1770 TTlv tlvData; |
1764 // Create General Result TLV |
1771 // Create General Result TLV |
1765 tlvData.AddTag( KTlvResultTag ); |
1772 tlvData.AddTag( KTlvResultTag ); |
1911 } |
1918 } |
1912 case RSat::KProvideLocalInfoTimingAdv: |
1919 case RSat::KProvideLocalInfoTimingAdv: |
1913 { |
1920 { |
1914 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp,\ |
1921 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp,\ |
1915 TimingAdvance"); |
1922 TimingAdvance"); |
1916 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_LOCALINFOTERMINALRESP, "CSatMessHandler::LocalInfoTerminalResp, TimingAdvance" ); |
1923 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_LOCALINFOTERMINALRESP_TD, "CSatMessHandler::LocalInfoTerminalResp, TimingAdvance" ); |
1917 |
1924 |
1918 // Timing advance result |
1925 // Timing advance result |
1919 tlvData.AddTag( KTlvTimingAdvanceTag ); |
1926 tlvData.AddTag( KTlvTimingAdvanceTag ); |
1920 tlvData.AddByte( iTaStatus ); |
1927 tlvData.AddByte( iTaStatus ); |
1921 tlvData.AddByte( iTimingAdvance ); |
1928 tlvData.AddByte( iTimingAdvance ); |
1923 } |
1930 } |
1924 case RSat::KProvideLocalInfoLanguage: |
1931 case RSat::KProvideLocalInfoLanguage: |
1925 { |
1932 { |
1926 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp,\ |
1933 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp,\ |
1927 LocalInfoLanguage"); |
1934 LocalInfoLanguage"); |
1928 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_LOCALINFOTERMINALRESP, "CSatMessHandler::LocalInfoTerminalResp, LocalInfoLanguage" ); |
1935 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_LOCALINFOTERMINALRESP_TD, "CSatMessHandler::LocalInfoTerminalResp, LocalInfoLanguage" ); |
1929 |
1936 |
1930 if ( aAdditionalInfo.Length() ) |
1937 if ( aAdditionalInfo.Length() ) |
1931 { |
1938 { |
1932 // create Language TLV |
1939 // create Language TLV |
1933 tlvData.AddTag( KTlvLanguageTag ); |
1940 tlvData.AddTag( KTlvLanguageTag ); |
1939 } |
1946 } |
1940 case RSat::KProvideLocalInfoAccTech: |
1947 case RSat::KProvideLocalInfoAccTech: |
1941 { |
1948 { |
1942 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp,\ |
1949 TFLOGSTRING("TSY: CSatMessHandler::LocalInfoTerminalResp,\ |
1943 Access Technology"); |
1950 Access Technology"); |
1944 OstTrace0( TRACE_NORMAL, DUP3_CSATMESSHANDLER_LOCALINFOTERMINALRESP, "CSatMessHandler::LocalInfoTerminalResp, Access Technology" ); |
1951 OstTrace0( TRACE_NORMAL, DUP3_CSATMESSHANDLER_LOCALINFOTERMINALRESP_TD, "CSatMessHandler::LocalInfoTerminalResp, Access Technology" ); |
1945 |
1952 |
1946 // Access technology result |
1953 // Access technology result |
1947 tlvData.AddTag( KTlvAccessTechnologyTag ); |
1954 tlvData.AddTag( KTlvAccessTechnologyTag ); |
1948 tlvData.AddByte( iCurrentAccTech ); |
1955 tlvData.AddByte( iCurrentAccTech ); |
1949 |
1956 |
1964 // CSatMessHandler::InfoSerialNumberReadReq |
1971 // CSatMessHandler::InfoSerialNumberReadReq |
1965 // Constructs INFO_SERIAL_NUMBER_READ_REQ ISI message. |
1972 // Constructs INFO_SERIAL_NUMBER_READ_REQ ISI message. |
1966 // Called from CTsySatMessaging::ConstructL method. |
1973 // Called from CTsySatMessaging::ConstructL method. |
1967 // ----------------------------------------------------------------------------- |
1974 // ----------------------------------------------------------------------------- |
1968 // |
1975 // |
1969 TInt CSatMessHandler::InfoSerialNumberReadReq |
1976 /*TInt CSatMessHandler::InfoSerialNumberReadReq |
1970 ( |
1977 ( |
1971 TUint8 aTransId, // Transactio id |
1978 TUint8 aTransId, // Transactio id |
1972 TUint8 aTarget |
1979 TUint8 aTarget |
1973 ) |
1980 ) |
1974 { |
1981 { |
1975 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOSERIALNUMBERREADREQ, "CSatMessHandler::InfoSerialNumberReadReq" ); |
1982 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOSERIALNUMBERREADREQ_TD, "CSatMessHandler::InfoSerialNumberReadReq" ); |
1976 TFLOGSTRING("TSY:CSatMessHandler::InfoSerialNumberReadReq"); |
1983 TFLOGSTRING("TSY:CSatMessHandler::InfoSerialNumberReadReq"); |
1977 |
1984 |
1978 //set infoSerialNumberReadReq to point to the send buffer |
1985 //set infoSerialNumberReadReq to point to the send buffer |
1979 TIsiSend infoSerialNumberReadReq( iPnSend->SendBufferDes() ); |
1986 TIsiSend infoSerialNumberReadReq( iPnSend->SendBufferDes() ); |
1980 infoSerialNumberReadReq.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_INFO ); |
1987 infoSerialNumberReadReq.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_INFO ); |
1986 + INFO_SERIAL_NUMBER_READ_REQ_OFFSET_TARGET, aTarget ); |
1993 + INFO_SERIAL_NUMBER_READ_REQ_OFFSET_TARGET, aTarget ); |
1987 |
1994 |
1988 //send message via Phonet |
1995 //send message via Phonet |
1989 return iPnSend->Send( infoSerialNumberReadReq.Complete() ); |
1996 return iPnSend->Send( infoSerialNumberReadReq.Complete() ); |
1990 |
1997 |
1991 } |
1998 }*/ |
1992 |
1999 |
1993 // ----------------------------------------------------------------------------- |
2000 // ----------------------------------------------------------------------------- |
1994 // CSatMessHandler::InfoSerialNumberReadResp |
2001 // CSatMessHandler::InfoSerialNumberReadResp |
1995 // Breaks a INFO_SERIAL_NUMBER_READ_RESP ISI-message. |
2002 // Breaks a INFO_SERIAL_NUMBER_READ_RESP ISI-message. |
1996 // ----------------------------------------------------------------------------- |
2003 // ----------------------------------------------------------------------------- |
1997 // |
2004 // |
1998 void CSatMessHandler::InfoSerialNumberReadResp |
2005 /*void CSatMessHandler::InfoSerialNumberReadResp |
1999 ( |
2006 ( |
2000 const TIsiReceiveC& aIsiMessage // received ISI-message |
2007 const TIsiReceiveC& aIsiMessage // received ISI-message |
2001 ) |
2008 ) |
2002 { |
2009 { |
2003 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOSERIALNUMBERREADRESP, "CSatMessHandler::InfoSerialNumberReadResp" ); |
2010 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOSERIALNUMBERREADRESP_TD, "CSatMessHandler::InfoSerialNumberReadResp" ); |
2004 TFLOGSTRING("TSY:CSatMessHandler::InfoSerialNumberReadResp"); |
2011 TFLOGSTRING("TSY:CSatMessHandler::InfoSerialNumberReadResp"); |
2005 |
2012 |
2006 TUint sbStartOffset( 0 ); |
2013 TUint sbStartOffset( 0 ); |
2007 |
2014 |
2008 //check if INFO_SB_SN_IMEI_PLAIN sub block is present |
2015 //check if INFO_SB_SN_IMEI_PLAIN sub block is present |
2017 aIsiMessage.Get8bit( sbStartOffset + |
2024 aIsiMessage.Get8bit( sbStartOffset + |
2018 INFO_SB_SN_IMEI_PLAIN_OFFSET_STRLEN ) - 1 ) ); |
2025 INFO_SB_SN_IMEI_PLAIN_OFFSET_STRLEN ) - 1 ) ); |
2019 //Set the flag to inform that needed data has been received |
2026 //Set the flag to inform that needed data has been received |
2020 iImeiAvailable = ETrue; |
2027 iImeiAvailable = ETrue; |
2021 TFLOGSTRING("TSY: SAT, Imei received."); |
2028 TFLOGSTRING("TSY: SAT, Imei received."); |
2022 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_INFOSERIALNUMBERREADRESP, "SAT, Imei received." ); |
2029 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_INFOSERIALNUMBERREADRESP_TD, "SAT, Imei received." ); |
2023 } |
2030 } |
2024 //check if INFO_SB_SN_IMEI_SV_TO_NET sub block is present |
2031 //check if INFO_SB_SN_IMEI_SV_TO_NET sub block is present |
2025 else if ( KErrNone == aIsiMessage.FindSubBlockOffsetById( |
2032 else if ( KErrNone == aIsiMessage.FindSubBlockOffsetById( |
2026 ISI_HEADER_SIZE + SIZE_INFO_SERIAL_NUMBER_READ_RESP, |
2033 ISI_HEADER_SIZE + SIZE_INFO_SERIAL_NUMBER_READ_RESP, |
2027 INFO_SB_SN_IMEI_SV_TO_NET, EIsiSubBlockTypeId8Len8, |
2034 INFO_SB_SN_IMEI_SV_TO_NET, EIsiSubBlockTypeId8Len8, |
2032 sbStartOffset + INFO_SB_SN_IMEI_SV_TO_NET_OFFSET_IMEISVU8, |
2039 sbStartOffset + INFO_SB_SN_IMEI_SV_TO_NET_OFFSET_IMEISVU8, |
2033 aIsiMessage.Get8bit( sbStartOffset + |
2040 aIsiMessage.Get8bit( sbStartOffset + |
2034 INFO_SB_SN_IMEI_SV_TO_NET_OFFSET_STRLEN ) ) ); |
2041 INFO_SB_SN_IMEI_SV_TO_NET_OFFSET_STRLEN ) ) ); |
2035 iImeiSvAvailable = ETrue; |
2042 iImeiSvAvailable = ETrue; |
2036 TFLOGSTRING("TSY: CSatMessHandler::InfoSerialNumberReadResp IMEISV received"); |
2043 TFLOGSTRING("TSY: CSatMessHandler::InfoSerialNumberReadResp IMEISV received"); |
2037 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_INFOSERIALNUMBERREADRESP, "CSatMessHandler::InfoSerialNumberReadResp IMEISV received" ); |
2044 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_INFOSERIALNUMBERREADRESP_TD, "CSatMessHandler::InfoSerialNumberReadResp IMEISV received" ); |
2038 } |
2045 } |
2039 } |
2046 }*/ |
2040 |
2047 |
2041 // ----------------------------------------------------------------------------- |
2048 // ----------------------------------------------------------------------------- |
2042 // CSatMessHandler::NetNeighbourCellsReq |
2049 // CSatMessHandler::NetNeighbourCellsReq |
2043 // Constructs NET_NEIGHBOUR_CELLS_REQ ISI message. |
2050 // Constructs NET_NEIGHBOUR_CELLS_REQ ISI message. |
2044 // ----------------------------------------------------------------------------- |
2051 // ----------------------------------------------------------------------------- |
2047 ( |
2054 ( |
2048 TUint8 aTransId, // Transaction Id |
2055 TUint8 aTransId, // Transaction Id |
2049 TUint8 aCellInfoType // Cell info type |
2056 TUint8 aCellInfoType // Cell info type |
2050 ) |
2057 ) |
2051 { |
2058 { |
2052 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETNEIGHBOURCELLSREQ, "CSatMessHandler::NetNeighbourCellsReq" ); |
2059 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETNEIGHBOURCELLSREQ_TD, "CSatMessHandler::NetNeighbourCellsReq" ); |
2053 TFLOGSTRING("TSY:CSatMessHandler::NetNeighbourCellsReq"); |
2060 TFLOGSTRING("TSY:CSatMessHandler::NetNeighbourCellsReq"); |
2054 |
2061 |
2055 TBuf8<1> data; |
2062 TBuf8<1> data; |
2056 data.Append( aCellInfoType ); |
2063 data.Append( aCellInfoType ); |
2057 |
2064 |
2071 void CSatMessHandler::NetNeighbourCellResp |
2078 void CSatMessHandler::NetNeighbourCellResp |
2072 ( |
2079 ( |
2073 const TIsiReceiveC& aIsiMessage |
2080 const TIsiReceiveC& aIsiMessage |
2074 ) |
2081 ) |
2075 { |
2082 { |
2076 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETNEIGHBOURCELLRESP, "CSatMessHandler::NetNeighbourCellResp" ); |
2083 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETNEIGHBOURCELLRESP_TD, "CSatMessHandler::NetNeighbourCellResp" ); |
2077 TFLOGSTRING("TSY:CSatMessHandler::NetNeighbourCellResp"); |
2084 TFLOGSTRING("TSY:CSatMessHandler::NetNeighbourCellResp"); |
2078 |
2085 |
2079 TUint8 result( RSat::KSuccess ); |
2086 TUint8 result( RSat::KSuccess ); |
2080 |
2087 |
2081 if ( iTsySatMessaging->GetNotifyLocalInfo()->LocalInfoStatus() ) |
2088 if ( iTsySatMessaging->GetNotifyLocalInfo()->LocalInfoStatus() ) |
2206 TUint8 aTransId, |
2213 TUint8 aTransId, |
2207 const TDesC8& aMsg |
2214 const TDesC8& aMsg |
2208 ) |
2215 ) |
2209 { |
2216 { |
2210 TFLOGSTRING("TSY:CSatMessHandler::CallModemResourceReq"); |
2217 TFLOGSTRING("TSY:CSatMessHandler::CallModemResourceReq"); |
2211 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CALLMODEMRESOURCEREQ, "TSY:CSatMessHandler::CallModemResourceReq" ); |
2218 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CALLMODEMRESOURCEREQ_TD, "TSY:CSatMessHandler::CallModemResourceReq" ); |
2212 |
2219 |
2213 return iPnSend->Send( PN_MODEM_CALL, aTransId, CALL_MODEM_RESOURCE_REQ, aMsg ); |
2220 return iPnSend->Send( PN_MODEM_CALL, aTransId, CALL_MODEM_RESOURCE_REQ, aMsg ); |
2214 } |
2221 } |
2215 |
2222 |
2216 // ----------------------------------------------------------------------------- |
2223 // ----------------------------------------------------------------------------- |
2221 TInt CSatMessHandler::CallModemResourceConfReq( |
2228 TInt CSatMessHandler::CallModemResourceConfReq( |
2222 TUint16 aResourceId, |
2229 TUint16 aResourceId, |
2223 TUint16 aResourceIdMask ) |
2230 TUint16 aResourceIdMask ) |
2224 { |
2231 { |
2225 TFLOGSTRING("TSY:CSatMessHandler::CallModemResourceConfReq"); |
2232 TFLOGSTRING("TSY:CSatMessHandler::CallModemResourceConfReq"); |
2226 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CALLMODEMRESOURCECONFREQ, "TSY:CSatMessHandler::CallModemResourceConfReq" ); |
2233 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CALLMODEMRESOURCECONFREQ_TD, "TSY:CSatMessHandler::CallModemResourceConfReq" ); |
2227 |
2234 |
2228 TBuf8< SIZE_CALL_MODEM_RESOURCE_CONF_REQ + |
2235 TBuf8< SIZE_CALL_MODEM_RESOURCE_CONF_REQ + |
2229 SIZE_CALL_MODEM_SB_RESOURCE_CONF> msg; |
2236 SIZE_CALL_MODEM_SB_RESOURCE_CONF> msg; |
2230 |
2237 |
2231 // CALL_MODEM_RES_CONF_OPERATION |
2238 // CALL_MODEM_RES_CONF_OPERATION |
2256 // ----------------------------------------------------------------------------- |
2263 // ----------------------------------------------------------------------------- |
2257 // |
2264 // |
2258 TInt CSatMessHandler::SsResourceConfReq() |
2265 TInt CSatMessHandler::SsResourceConfReq() |
2259 { |
2266 { |
2260 TFLOGSTRING("TSY:CSatMessHandler::SsResourceConfReq"); |
2267 TFLOGSTRING("TSY:CSatMessHandler::SsResourceConfReq"); |
2261 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSRESOURCECONFREQ, "TSY:CSatMessHandler::SsResourceConfReq" ); |
2268 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSRESOURCECONFREQ_TD, "TSY:CSatMessHandler::SsResourceConfReq" ); |
2262 |
2269 |
2263 TBuf8< SIZE_SS_RESOURCE_CONF_REQ + |
2270 TBuf8< SIZE_SS_RESOURCE_CONF_REQ + |
2264 SIZE_SS_SB_RESOURCE_CONF > msg; |
2271 SIZE_SS_SB_RESOURCE_CONF > msg; |
2265 |
2272 |
2266 // SS_RESOURCE_CONF_OPERATION |
2273 // SS_RESOURCE_CONF_OPERATION |
2294 TUint8 aTransId, |
2301 TUint8 aTransId, |
2295 const TDesC8& aMsg |
2302 const TDesC8& aMsg |
2296 ) |
2303 ) |
2297 { |
2304 { |
2298 TFLOGSTRING("TSY:CSatMessHandler::SsResourceControlReq"); |
2305 TFLOGSTRING("TSY:CSatMessHandler::SsResourceControlReq"); |
2299 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSRESOURCECONTROLREQ, "TSY:CSatMessHandler::SsResourceControlReq" ); |
2306 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSRESOURCECONTROLREQ_TD, "TSY:CSatMessHandler::SsResourceControlReq" ); |
2300 |
2307 |
2301 return iPnSend->Send( |
2308 return iPnSend->Send( |
2302 PN_SS, |
2309 PN_SS, |
2303 aTransId, |
2310 aTransId, |
2304 SS_RESOURCE_CONTROL_REQ, |
2311 SS_RESOURCE_CONTROL_REQ, |
2311 // ----------------------------------------------------------------------------- |
2318 // ----------------------------------------------------------------------------- |
2312 // |
2319 // |
2313 TInt CSatMessHandler::GpdsResourceConfReq() |
2320 TInt CSatMessHandler::GpdsResourceConfReq() |
2314 { |
2321 { |
2315 TFLOGSTRING("TSY:CSatMessHandler::GpdsResourceConfReq"); |
2322 TFLOGSTRING("TSY:CSatMessHandler::GpdsResourceConfReq"); |
2316 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GPDSRESOURCECONFREQ, "TSY:CSatMessHandler::GpdsResourceConfReq" ); |
2323 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GPDSRESOURCECONFREQ_TD, "TSY:CSatMessHandler::GpdsResourceConfReq" ); |
2317 |
2324 |
2318 TBuf8< SIZE_GPDS_RESOURCE_CONF_REQ + |
2325 TBuf8< SIZE_GPDS_RESOURCE_CONF_REQ + |
2319 SIZE_GPDS_RESOURCE_CONF > msg; |
2326 SIZE_GPDS_RESOURCE_CONF > msg; |
2320 |
2327 |
2321 // SS_RESOURCE_CONF_OPERATION |
2328 // SS_RESOURCE_CONF_OPERATION |
2349 TUint8 aTransId, |
2356 TUint8 aTransId, |
2350 const TDesC8& aMsg |
2357 const TDesC8& aMsg |
2351 ) |
2358 ) |
2352 { |
2359 { |
2353 TFLOGSTRING("TSY:CSatMessHandler::GpdsResourceControlReq"); |
2360 TFLOGSTRING("TSY:CSatMessHandler::GpdsResourceControlReq"); |
2354 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GPDSRESOURCECONTROLREQ, "CSatMessHandler::GpdsResourceControlReq" ); |
2361 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GPDSRESOURCECONTROLREQ_TD, "CSatMessHandler::GpdsResourceControlReq" ); |
2355 |
2362 |
2356 return iPnSend->Send( |
2363 return iPnSend->Send( |
2357 PN_GPDS, |
2364 PN_GPDS, |
2358 aTransId, |
2365 aTransId, |
2359 GPDS_RESOURCE_CONTROL_REQ, |
2366 GPDS_RESOURCE_CONTROL_REQ, |
2365 // Set Polling Interval, sending a request to sim server |
2372 // Set Polling Interval, sending a request to sim server |
2366 // ----------------------------------------------------------------------------- |
2373 // ----------------------------------------------------------------------------- |
2367 // |
2374 // |
2368 void CSatMessHandler::SetPollingInterval( TUint8 aTraId, TUint8 aValue ) |
2375 void CSatMessHandler::SetPollingInterval( TUint8 aTraId, TUint8 aValue ) |
2369 { |
2376 { |
2370 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETPOLLINGINTERVAL, "CSatMessHandler::SetPollingInterval" ); |
2377 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETPOLLINGINTERVAL_TD, "CSatMessHandler::SetPollingInterval" ); |
2371 TFLOGSTRING("TSY:CSatMessHandler::SetPollingInterval"); |
2378 TFLOGSTRING("TSY:CSatMessHandler::SetPollingInterval"); |
2372 |
2379 |
2373 iPollingInterval = aValue; |
2380 iPollingInterval = aValue; |
2374 |
2381 |
2375 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
2382 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
2424 TUint8 aTimerValue[3], // Timer Value |
2431 TUint8 aTimerValue[3], // Timer Value |
2425 TUint8 aTimerId, // Timer Identifier |
2432 TUint8 aTimerId, // Timer Identifier |
2426 TUint8 aAdditionalInfo // Additional info |
2433 TUint8 aAdditionalInfo // Additional info |
2427 ) |
2434 ) |
2428 { |
2435 { |
2429 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_TIMERMGMTTERMINALRESP, "CSatMessHandler::TimerMgmtTerminalResp" ); |
2436 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_TIMERMGMTTERMINALRESP_TD, "CSatMessHandler::TimerMgmtTerminalResp" ); |
2430 TFLOGSTRING("TSY:CSatMessHandler::TimerMgmtTerminalResp"); |
2437 TFLOGSTRING("TSY:CSatMessHandler::TimerMgmtTerminalResp"); |
2431 |
2438 |
2432 // Create and append response data |
2439 // Create and append response data |
2433 TTlv tlvSpecificData; |
2440 TTlv tlvSpecificData; |
2434 |
2441 |
2470 tlvSpecificData.AddByte( aAdditionalInfo ); |
2477 tlvSpecificData.AddByte( aAdditionalInfo ); |
2471 } |
2478 } |
2472 else |
2479 else |
2473 { |
2480 { |
2474 TFLOGSTRING("TSY: CSatMessHandler::TimerMgmtTerminalResp, Unknown result."); |
2481 TFLOGSTRING("TSY: CSatMessHandler::TimerMgmtTerminalResp, Unknown result."); |
2475 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_TIMERMGMTTERMINALRESP, "CSatMessHandler::TimerMgmtTerminalResp, Unknown result." ); |
2482 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_TIMERMGMTTERMINALRESP_TD, "CSatMessHandler::TimerMgmtTerminalResp, Unknown result." ); |
2476 } |
2483 } |
2477 |
2484 |
2478 return UiccCatReqTerminalResponse( |
2485 return UiccCatReqTerminalResponse( |
2479 aCommandDetails, |
2486 aCommandDetails, |
2480 tlvSpecificData.GetDataWithoutTopLevelTag(), |
2487 tlvSpecificData.GetDataWithoutTopLevelTag(), |
2492 TUint8 aTransId, // Transaction id |
2499 TUint8 aTransId, // Transaction id |
2493 TUint8 aTimerId, // Timer Identifier |
2500 TUint8 aTimerId, // Timer Identifier |
2494 TUint8 aTimerValue[3] // Timer Value |
2501 TUint8 aTimerValue[3] // Timer Value |
2495 ) |
2502 ) |
2496 { |
2503 { |
2497 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_TIMEREXPIRATIONIND, "CSatMessHandler::TimerExpirationInd" ); |
2504 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_TIMEREXPIRATIONIND_TD, "CSatMessHandler::TimerExpirationInd" ); |
2498 TFLOGSTRING("TSY:CSatMessHandler::TimerExpirationInd"); |
2505 TFLOGSTRING("TSY:CSatMessHandler::TimerExpirationInd"); |
2499 |
2506 |
2500 TTlv data; |
2507 TTlv data; |
2501 |
2508 |
2502 data.Begin( KBerTlvTimerExpirationTag ); |
2509 data.Begin( KBerTlvTimerExpirationTag ); |
2523 |
2530 |
2524 return UiccCatReqEnvelope( aTransId, data.End() ); |
2531 return UiccCatReqEnvelope( aTransId, data.End() ); |
2525 } |
2532 } |
2526 |
2533 |
2527 // ----------------------------------------------------------------------------- |
2534 // ----------------------------------------------------------------------------- |
2528 // CSatMessHandler::RefreshResult |
2535 // CSatMessHandler::RefreshResultL |
2529 // Method to analyze refresh result from SIM Server. |
2536 // Method to analyze refresh result from SIM Server. |
2530 // Called by CSatMessHandler::SimAtkResp. |
2537 // Called by CSatMessHandler::SimAtkResp. |
2531 // ----------------------------------------------------------------------------- |
2538 // ----------------------------------------------------------------------------- |
2532 // |
2539 // |
2533 void CSatMessHandler::RefreshResult( TUint8 aStatus ) // UICC server status |
2540 void CSatMessHandler::RefreshResultL( TUint8 aStatus ) // UICC server status |
2534 { |
2541 { |
2535 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_REFRESHRESULT, "CSatMessHandler::RefreshResult" ); |
2542 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_REFRESHRESULTL_TD, "CSatMessHandler::RefreshResultL" ); |
2536 TFLOGSTRING("TSY:CSatMessHandler::RefreshResult"); |
2543 TFLOGSTRING("TSY:CSatMessHandler::RefreshResultL"); |
2537 |
2544 |
2538 TUint8 result( RSat::KSuccess ); |
2545 TUint8 result( RSat::KSuccess ); |
2539 TUint8 additionalInfo( 0 ); |
2546 TUint8 additionalInfo( 0 ); |
2540 TInt ret( KErrNone ); |
2547 TInt ret( KErrNone ); |
2541 |
2548 |
2544 switch ( aStatus ) |
2551 switch ( aStatus ) |
2545 { |
2552 { |
2546 case UICC_STATUS_OK: |
2553 case UICC_STATUS_OK: |
2547 { |
2554 { |
2548 // Refresh is done! |
2555 // Refresh is done! |
2549 TFLOGSTRING("TSY: CSatMessHandler::RefreshResult, ISA has performed refresh successfully "); |
2556 TFLOGSTRING("TSY: CSatMessHandler::RefreshResultL, ISA has performed refresh successfully "); |
2550 TFLOGSTRING("TSY: CSatMessHandler::RefreshResult, Inform S60 to re-read SIM data"); |
2557 TFLOGSTRING("TSY: CSatMessHandler::RefreshResultL, Inform S60 to re-read SIM data"); |
2551 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_REFRESHRESULT, "CSatMessHandler::RefreshResult, ISA has performed refresh successfully " ); |
2558 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_REFRESHRESULTL_TD, "CSatMessHandler::RefreshResultL, ISA has performed refresh successfully " ); |
2552 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_REFRESHRESULT, "CSatMessHandler::RefreshResult, Inform S60 to re-read SIM data" ); |
2559 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_REFRESHRESULTL_TD, "CSatMessHandler::RefreshResultL, Inform S60 to re-read SIM data" ); |
2553 |
2560 |
2554 // Read service table |
2561 // Read service table |
2555 if ( CSatNotifyRefresh::KCacheEFSST & |
2562 if ( CSatNotifyRefresh::KCacheEFSST & |
2556 iTsySatMessaging->GetNotifyRefresh()->CachedFiles() ) |
2563 iTsySatMessaging->GetNotifyRefresh()->CachedFiles() ) |
2557 { |
2564 { |
2565 TInt ret( KErrNone ); |
|
2558 // Re-read EF-UST |
2566 // Re-read EF-UST |
2559 // Call control in USSD is supported only in SIM, byte 6 |
|
2560 if ( UICC_CARD_TYPE_ICC == iCardType ) |
2567 if ( UICC_CARD_TYPE_ICC == iCardType ) |
2561 { |
2568 { |
2562 UiccReadServiceTableReq( KUiccTrIdServiceTableByte6, 5 ); |
2569 // Call control in USSD is supported only in SIM, from byte 10 |
2570 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte11, 10 ); |
|
2571 User::LeaveIfError( ret ); |
|
2572 // SMS-PP DD and Call Control from byte 7 |
|
2573 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte7, 6 ); |
|
2574 User::LeaveIfError( ret ); |
|
2563 } |
2575 } |
2564 |
2576 else if( UICC_CARD_TYPE_UICC == iCardType ) |
2565 // Call control, byte 4 from service table |
2577 { |
2566 UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
2578 // Call control, MO-SMS Control and SMS PP Datadownload, from byte 4 |
2579 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
|
2580 User::LeaveIfError( ret ); |
|
2581 } |
|
2582 |
|
2567 #ifdef INFO_PP_ATK_MO_SM_CONTROL |
2583 #ifdef INFO_PP_ATK_MO_SM_CONTROL |
2568 // Check MO SMS control is supported by product profile |
2584 // Check MO SMS control is supported by product profile |
2569 // USIM: byte 4, SIM: byte 5 |
2585 // USIM: byte 4, SIM: byte 10 |
2570 TUint8 serviceTableTrIdMoSms( KUiccTrIdServiceTableByte4 ); |
2586 TUint8 serviceTableTrIdMoSms( KUiccTrIdServiceTableByte4 ); |
2571 TUint8 serviceTableOffsetMoSms( 3 ); |
2587 TUint8 serviceTableOffsetMoSms( 3 ); |
2572 if ( UICC_CARD_TYPE_ICC == iCardType ) |
2588 if ( UICC_CARD_TYPE_ICC == iCardType ) |
2573 { |
2589 { |
2574 // Transaction ID and byte offset for SIM |
2590 // Transaction ID and byte offset for SIM |
2575 serviceTableTrIdMoSms = KUiccTrIdServiceTableByte5; |
2591 serviceTableTrIdMoSms = KUiccTrIdServiceTableByte10; |
2576 serviceTableOffsetMoSms = 4; |
2592 serviceTableOffsetMoSms = 9; |
2577 } |
2593 } |
2578 if ( iMoSmsSupportedInPp ) |
2594 if ( iMoSmsSupportedInPp ) |
2579 { |
2595 { |
2580 // ...and by SIM service table |
2596 // ...and by SIM service table |
2581 UiccReadServiceTableReq( |
2597 ret = UiccReadServiceTableReq( |
2582 serviceTableTrIdMoSms, |
2598 serviceTableTrIdMoSms, |
2583 serviceTableOffsetMoSms ); |
2599 serviceTableOffsetMoSms ); |
2600 User::LeaveIfError( ret ); |
|
2584 } |
2601 } |
2585 #else |
2602 #else |
2586 // If flag not defined, check feature availability only |
2603 // If flag not defined, check feature availability only |
2587 // from USIM |
2604 // from USIM |
2588 UiccReadServiceTableReq( |
2605 ret = UiccReadServiceTableReq( |
2589 serviceTableTrIdMoSms, |
2606 serviceTableTrIdMoSms, |
2590 serviceTableOffsetMoSms ); |
2607 serviceTableOffsetMoSms ); |
2608 User::LeaveIfError( ret ); |
|
2591 #endif // INFO_PP_ATK_MO_SM_CONTROL |
2609 #endif // INFO_PP_ATK_MO_SM_CONTROL |
2592 } |
2610 } |
2593 break; |
2611 break; |
2594 } |
2612 } |
2595 default: |
2613 default: |
2596 { |
2614 { |
2597 TFLOGSTRING2("TSY: CSatMessHandler::RefreshResult, refresh failed, UICC STATUS: 0x%x", aStatus ); |
2615 TFLOGSTRING2("TSY: CSatMessHandler::RefreshResultL, refresh failed, UICC STATUS: 0x%x", aStatus ); |
2598 OstTraceExt1( TRACE_NORMAL, DUP4_CSATMESSHANDLER_REFRESHRESULT, "CSatMessHandler::RefreshResult, refresh failed, UICC STATUS: 0x%hhx", aStatus ); |
2616 OstTraceExt1( TRACE_NORMAL, DUP4_CSATMESSHANDLER_REFRESHRESULTL_TD, "CSatMessHandler::RefreshResultL, refresh failed, UICC STATUS: 0x%hhx", aStatus ); |
2599 result = RSat::KMeUnableToProcessCmd; |
2617 result = RSat::KMeUnableToProcessCmd; |
2600 additionalInfo = RSat::KNoSpecificMeProblem; |
2618 additionalInfo = RSat::KNoSpecificMeProblem; |
2601 ret = KErrGeneral; |
2619 ret = KErrGeneral; |
2602 break; |
2620 break; |
2603 } |
2621 } |
2632 ( |
2650 ( |
2633 TUint8 aTransId, |
2651 TUint8 aTransId, |
2634 TDesC8& aData |
2652 TDesC8& aData |
2635 ) |
2653 ) |
2636 { |
2654 { |
2637 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSMSREPORTREQ, "CSatMessHandler::SendSmsReportReq" ); |
2655 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSMSREPORTREQ_TD, "CSatMessHandler::SendSmsReportReq" ); |
2638 TFLOGSTRING("CSatMessHandler::SendSmsReportReq"); |
2656 TFLOGSTRING("CSatMessHandler::SendSmsReportReq"); |
2639 |
2657 |
2640 iPnSend->Send( PN_SMS, aTransId, SMS_RECEIVED_MSG_REPORT_REQ, aData ); |
2658 iPnSend->Send( PN_SMS, aTransId, SMS_RECEIVED_MSG_REPORT_REQ, aData ); |
2641 } |
2659 } |
2642 |
2660 |
2650 TUint8 aTransId, |
2668 TUint8 aTransId, |
2651 TUint8 aMsgId, |
2669 TUint8 aMsgId, |
2652 TDesC8& aData |
2670 TDesC8& aData |
2653 ) |
2671 ) |
2654 { |
2672 { |
2655 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSRESOURCECONFREQ, "CSatMessHandler::SmsResourceConfReq" ); |
2673 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSRESOURCECONFREQ_TD, "CSatMessHandler::SmsResourceConfReq" ); |
2656 TFLOGSTRING("CSatMessHandler::SmsResourceConfReq"); |
2674 TFLOGSTRING("CSatMessHandler::SmsResourceConfReq"); |
2657 |
2675 |
2658 iPnSend->Send( PN_SMS, aTransId, aMsgId, aData ); |
2676 iPnSend->Send( PN_SMS, aTransId, aMsgId, aData ); |
2659 } |
2677 } |
2660 |
2678 |
2670 TUint8 aStatus, |
2688 TUint8 aStatus, |
2671 TUint8 aTransId, |
2689 TUint8 aTransId, |
2672 TUint8 aInterval |
2690 TUint8 aInterval |
2673 ) |
2691 ) |
2674 { |
2692 { |
2675 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETPOLLINGRESULT, "CSatMessHandler::SetPollingResult" ); |
2693 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETPOLLINGRESULT_TD, "CSatMessHandler::SetPollingResult" ); |
2676 TFLOGSTRING("TSY:CSatMessHandler::SetPollingResult "); |
2694 TFLOGSTRING("TSY:CSatMessHandler::SetPollingResult "); |
2677 |
2695 |
2678 if ( UICC_STATUS_OK == aStatus ) |
2696 if ( UICC_STATUS_OK == aStatus ) |
2679 { |
2697 { |
2680 // The response can be from a PollInterval or a PollingOff command |
2698 // The response can be from a PollInterval or a PollingOff command |
2681 if ( iPollingOff ) |
2699 if ( iPollingOff ) |
2682 { |
2700 { |
2683 TFLOGSTRING("TSY:CSatMessHandler::SetPollingResult, iPollingOff = ETrue"); |
2701 TFLOGSTRING("TSY:CSatMessHandler::SetPollingResult, iPollingOff = ETrue"); |
2684 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SETPOLLINGRESULT, "CSatMessHandler::SetPollingResult, iPollingOff = ETrue" ); |
2702 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SETPOLLINGRESULT_TD, "CSatMessHandler::SetPollingResult, iPollingOff = ETrue" ); |
2685 PollingOffTerminalResp( |
2703 PollingOffTerminalResp( |
2686 aTransId, |
2704 aTransId, |
2687 iTsySatMessaging->GetNotifyPollingOff()->GetCmdDetails(), |
2705 iTsySatMessaging->GetNotifyPollingOff()->GetCmdDetails(), |
2688 RSat::KSuccess, |
2706 RSat::KSuccess, |
2689 RSat::KNoAdditionalInfo ); |
2707 RSat::KNoAdditionalInfo ); |
2690 } |
2708 } |
2691 else |
2709 else |
2692 { |
2710 { |
2693 TFLOGSTRING("TSY:CSatMessHandler::SetPollingResult, iPollingOff = EFalse"); |
2711 TFLOGSTRING("TSY:CSatMessHandler::SetPollingResult, iPollingOff = EFalse"); |
2694 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_SETPOLLINGRESULT, "CSatMessHandler::SetPollingResult, iPollingOff = EFalse" ); |
2712 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_SETPOLLINGRESULT_TD, "CSatMessHandler::SetPollingResult, iPollingOff = EFalse" ); |
2695 PollIntervalTerminalResp( |
2713 PollIntervalTerminalResp( |
2696 aTransId, |
2714 aTransId, |
2697 iTsySatMessaging->GetNotifyPollInterval()->GetCmdDetails(), |
2715 iTsySatMessaging->GetNotifyPollInterval()->GetCmdDetails(), |
2698 RSat::KSuccess, |
2716 RSat::KSuccess, |
2699 RSat::KNoAdditionalInfo, |
2717 RSat::KNoAdditionalInfo, |
2748 TInt CSatMessHandler::CheckProactiveCommand |
2766 TInt CSatMessHandler::CheckProactiveCommand |
2749 ( |
2767 ( |
2750 const TIsiReceiveC& aIsiMessage // received isi message |
2768 const TIsiReceiveC& aIsiMessage // received isi message |
2751 ) |
2769 ) |
2752 { |
2770 { |
2753 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CHECKPROACTIVECOMMAND, "CSatMessHandler::CheckProactiveCommand" ); |
2771 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CHECKPROACTIVECOMMAND_TD, "CSatMessHandler::CheckProactiveCommand" ); |
2754 TFLOGSTRING("TSY:CSatMessHandler::CheckProactiveCommand"); |
2772 TFLOGSTRING("TSY:CSatMessHandler::CheckProactiveCommand"); |
2755 |
2773 |
2756 TTlv data; |
2774 TTlv data; |
2757 // Get ber tlv |
2775 // Get ber tlv |
2758 CBerTlv berTlv; |
2776 CBerTlv berTlv; |
2814 ret = KErrCorrupt; |
2832 ret = KErrCorrupt; |
2815 } |
2833 } |
2816 else |
2834 else |
2817 { |
2835 { |
2818 TFLOGSTRING("TSY: CSatMessHandler::CheckProactiveCommand. Proactive command Ok."); |
2836 TFLOGSTRING("TSY: CSatMessHandler::CheckProactiveCommand. Proactive command Ok."); |
2819 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_CHECKPROACTIVECOMMAND, "CSatMessHandler::CheckProactiveCommand Proactive command Ok." ); |
2837 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_CHECKPROACTIVECOMMAND_TD, "CSatMessHandler::CheckProactiveCommand Proactive command Ok." ); |
2820 } |
2838 } |
2821 |
2839 |
2822 if ( KErrCorrupt == ret ) |
2840 if ( KErrCorrupt == ret ) |
2823 { |
2841 { |
2824 if ( !berTlv.TlvByTagValue( &commandDetails, |
2842 if ( !berTlv.TlvByTagValue( &commandDetails, |
2872 TUint8 aTransId, // Transaction id |
2890 TUint8 aTransId, // Transaction id |
2873 TDes8& aCommandDetails, // Command details |
2891 TDes8& aCommandDetails, // Command details |
2874 TUint8 aGeneralResult // General result |
2892 TUint8 aGeneralResult // General result |
2875 ) |
2893 ) |
2876 { |
2894 { |
2877 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_MORETIMETERMINALRESP, "CSatMessHandler::MoreTimeTerminalResp" ); |
2895 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_MORETIMETERMINALRESP_TD, "CSatMessHandler::MoreTimeTerminalResp" ); |
2878 TFLOGSTRING("TSY:CSatMessHandler::MoreTimeTerminalResp"); |
2896 TFLOGSTRING("TSY:CSatMessHandler::MoreTimeTerminalResp"); |
2879 |
2897 |
2880 // Create and append response data |
2898 // Create and append response data |
2881 TTlv tlvSpecificData; |
2899 TTlv tlvSpecificData; |
2882 |
2900 |
2901 ( |
2919 ( |
2902 TUint8 aTransId, // Transaction Id |
2920 TUint8 aTransId, // Transaction Id |
2903 TUint8 aRoutingCommand // Routing command |
2921 TUint8 aRoutingCommand // Routing command |
2904 ) |
2922 ) |
2905 { |
2923 { |
2906 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSCBROUTINGREQ, "CSatMessHandler::SmsCbRoutingReq" ); |
2924 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSCBROUTINGREQ_TD, "CSatMessHandler::SmsCbRoutingReq" ); |
2907 TFLOGSTRING("TSY:CSatMessHandler::SmsRoutingReq"); |
2925 TFLOGSTRING("TSY:CSatMessHandler::SmsRoutingReq"); |
2908 |
2926 |
2909 TInt ret( KErrNone ); |
2927 TInt ret( KErrNone ); |
2910 |
2928 iCbRoutingReqTraId = TInt( aTransId ); |
2911 // Routing is ongoing |
2929 |
2912 iSmsCbRoutingComplete = EFalse; |
2930 // Routing is ongoing |
2913 |
2931 iSmsCbRoutingComplete = EFalse; |
2914 // TBuf8<SIZE_SMS_CB_ROUTING_REQ> because we are sending [U]SIM EF CBMID Message |
2932 |
2915 // Subscription; |
2933 // TBuf8<SIZE_SMS_CB_ROUTING_REQ> because we are sending [U]SIM EF CBMID Message |
2916 TBuf8<SIZE_SMS_CB_ROUTING_REQ> data; |
2934 // Subscription; |
2917 |
2935 TBuf8<SIZE_SMS_CB_ROUTING_REQ> data; |
2918 // Append Routing command |
2936 |
2919 data.Append( aRoutingCommand ); |
2937 // Append Routing command |
2920 // Append Subscription number |
2938 data.Append( aRoutingCommand ); |
2921 data.Append( SMS_NEW_SUBSCRIPTION ); |
2939 // Append Subscription number |
2922 // append Subscription type |
2940 data.Append( SMS_NEW_SUBSCRIPTION ); |
2923 data.Append( SMS_TYPE_SIM ); |
2941 // append Subscription type |
2924 // Append Filler bytes |
2942 data.Append( SMS_TYPE_SIM ); |
2925 data.AppendFill( KPadding, 2 ); |
2943 // Append Filler bytes |
2926 // Append no of Subblocks |
2944 data.AppendFill( KPadding, 2 ); |
2927 data.Append( 0 ); |
2945 // Append no of Subblocks |
2928 |
2946 data.Append( 0 ); |
2929 // Send Subscription request |
2947 |
2930 ret = iPnSend->Send( PN_SMS, aTransId, SMS_CB_ROUTING_REQ, |
2948 // Send Subscription request |
2931 data ); |
2949 ret = iPnSend->Send( PN_SMS, aTransId, SMS_CB_ROUTING_REQ, |
2950 data ); |
|
2932 |
2951 |
2933 return ret; |
2952 return ret; |
2934 } |
2953 } |
2935 |
2954 |
2936 // ----------------------------------------------------------------------------- |
2955 // ----------------------------------------------------------------------------- |
2941 void CSatMessHandler::SmsCbRoutingResp |
2960 void CSatMessHandler::SmsCbRoutingResp |
2942 ( |
2961 ( |
2943 const TIsiReceiveC& aIsiMessage |
2962 const TIsiReceiveC& aIsiMessage |
2944 ) |
2963 ) |
2945 { |
2964 { |
2946 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSCBROUTINGRESP, "CSatMessHandler::SmsCbRoutingResp" ); |
2965 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SMSCBROUTINGRESP_TD, "CSatMessHandler::SmsCbRoutingResp" ); |
2947 TFLOGSTRING("TSY:CSatMessHandler::SmsCbRoutingResp"); |
2966 TFLOGSTRING("TSY:CSatMessHandler::SmsCbRoutingResp"); |
2948 |
2967 |
2949 TUint8 cause( aIsiMessage.Get8bit( |
2968 if ( iCbRoutingReqTraId == aIsiMessage.Get8bit( |
2950 ISI_HEADER_SIZE + SMS_CB_ROUTING_RESP_OFFSET_SMSCAUSE ) ); |
2969 ISI_HEADER_OFFSET_TRANSID ) ) |
2951 |
2970 { |
2952 switch ( cause ) |
2971 TUint8 cause( aIsiMessage.Get8bit( |
2953 { |
2972 ISI_HEADER_SIZE + SMS_CB_ROUTING_RESP_OFFSET_SMSCAUSE ) ); |
2954 case SMS_ERR_CS_INACTIVE: |
2973 iCbRoutingReqTraId = KNoTransactionOngoing; |
2955 case SMS_ERR_SUBJECT_COUNT_OVERFLOW: |
2974 |
2956 case SMS_ERR_DCS_COUNT_OVERFLOW: |
2975 switch ( cause ) |
2957 { |
2976 { |
2958 TFLOGSTRING2("TSY:CSatMessHandler::SmsCbRoutingResp \ |
2977 case SMS_ERR_CS_INACTIVE: |
2959 Routing req failed on temporary problem: %d", cause ); |
2978 case SMS_ERR_SUBJECT_COUNT_OVERFLOW: |
2960 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SMSCBROUTINGRESP, "CSatMessHandler::SmsCbRoutingResp Routing req failed on temporary problem: %hhu", cause ); |
2979 case SMS_ERR_DCS_COUNT_OVERFLOW: |
2961 iSmsCbRoutingComplete = EFalse; |
2980 { |
2962 break; |
2981 TFLOGSTRING2("TSY:CSatMessHandler::SmsCbRoutingResp \ |
2963 } |
2982 Routing req failed on temporary problem: %d", cause ); |
2964 case SMS_OK: |
2983 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SMSCBROUTINGRESP_TD, "CSatMessHandler::SmsCbRoutingResp Routing req failed on temporary problem: %hhu", cause ); |
2965 case SMS_ERR_INVALID_SUBSCRIPTION_NR: |
2984 iSmsCbRoutingComplete = EFalse; |
2966 case SMS_ERR_INVALID_PARAMETER: |
2985 break; |
2967 case SMS_ERR_ALL_SUBSCRIPTIONS_ALLOCATED: |
2986 } |
2968 default: |
2987 case SMS_OK: |
2969 { |
2988 case SMS_ERR_INVALID_SUBSCRIPTION_NR: |
2970 // Routing req was either completed successfully, or permanent |
2989 case SMS_ERR_INVALID_PARAMETER: |
2971 // problem occured. In both cases, no need to retry. |
2990 case SMS_ERR_ALL_SUBSCRIPTIONS_ALLOCATED: |
2972 iSmsCbRoutingComplete = ETrue; |
2991 default: |
2973 break; |
2992 { |
2993 // Routing req was either completed successfully, or permanent |
|
2994 // problem occured. In both cases, no need to retry. |
|
2995 iSmsCbRoutingComplete = ETrue; |
|
2996 break; |
|
2997 } |
|
2974 } |
2998 } |
2975 } |
2999 } |
2976 } |
3000 } |
2977 |
3001 |
2978 |
3002 |
2987 ( |
3011 ( |
2988 const TIsiReceiveC& aIsiMessage |
3012 const TIsiReceiveC& aIsiMessage |
2989 ) |
3013 ) |
2990 { |
3014 { |
2991 TFLOGSTRING("TSY:CSatMoSmsCtrl::SmsResourceConfIndReceived: Response for Resource confoguration Indication, Receive Indication from SMS server"); |
3015 TFLOGSTRING("TSY:CSatMoSmsCtrl::SmsResourceConfIndReceived: Response for Resource confoguration Indication, Receive Indication from SMS server"); |
2992 OstTrace0( TRACE_NORMAL, DUP1_CSATMOSMSCTRL_SMSRESOURCECONFINDRECEIVED, "CSatMoSmsCtrl::SmsResourceRespReceived: Response for Resource Configuration Ind, Receive indication from SMS server" ); |
3016 OstTrace0( TRACE_NORMAL, DUP1_CSATMOSMSCTRL_SMSRESOURCECONFINDRECEIVED_TD, "CSatMoSmsCtrl::SmsResourceRespReceived: Response for Resource Configuration Ind, Receive indication from SMS server" ); |
2993 |
3017 |
2994 // To check The receive indication is for startup or reconfiguration |
3018 // To check The receive indication is for startup or reconfiguration |
2995 if ( SMS_RES_CONF_STARTUP == aIsiMessage.Get8bit( ISI_HEADER_SIZE |
3019 if ( SMS_RES_CONF_STARTUP == aIsiMessage.Get8bit( ISI_HEADER_SIZE |
2996 + SMS_RESOURCE_CONF_IND_OFFSET_CONFSTATUS ) ) |
3020 + SMS_RESOURCE_CONF_IND_OFFSET_CONFSTATUS ) ) |
2997 { |
3021 { |
3013 // USIM: Read MO-SMS control from byte 4 |
3037 // USIM: Read MO-SMS control from byte 4 |
3014 UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
3038 UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
3015 } |
3039 } |
3016 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
3040 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
3017 { |
3041 { |
3018 // SIM: Read MO-SMS control from byte 5 |
3042 // SIM: Read MO-SMS control from byte 10 |
3019 UiccReadServiceTableReq( KUiccTrIdServiceTableByte5, 4 ); |
3043 UiccReadServiceTableReq( KUiccTrIdServiceTableByte10, 9 ); |
3020 } |
3044 } |
3021 } |
3045 } |
3022 } |
3046 } |
3023 } |
3047 } |
3024 } |
3048 } |
3031 TInt CSatMessHandler::NetCellInfoGetReq |
3055 TInt CSatMessHandler::NetCellInfoGetReq |
3032 ( |
3056 ( |
3033 TUint8 aTransId |
3057 TUint8 aTransId |
3034 ) |
3058 ) |
3035 { |
3059 { |
3036 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETCELLINFOGETREQ, "CSatMessHandler::NetCellInfoGetReq" ); |
3060 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETCELLINFOGETREQ_TD, "CSatMessHandler::NetCellInfoGetReq" ); |
3037 TFLOGSTRING("TSY:CSatMessHandler::NetCellInfoGetReq"); |
3061 TFLOGSTRING("TSY:CSatMessHandler::NetCellInfoGetReq"); |
3038 |
3062 |
3039 TBuf8<1> noData; |
3063 TBuf8<1> noData; |
3040 return iPnSend->Send( |
3064 return iPnSend->Send( |
3041 PN_MODEM_NETWORK, |
3065 PN_MODEM_NETWORK, |
3053 void CSatMessHandler::NetCellInfoGetResp |
3077 void CSatMessHandler::NetCellInfoGetResp |
3054 ( |
3078 ( |
3055 const TIsiReceiveC& aIsiMessage |
3079 const TIsiReceiveC& aIsiMessage |
3056 ) |
3080 ) |
3057 { |
3081 { |
3058 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETCELLINFOGETRESP, "CSatMessHandler::NetCellInfoGetResp" ); |
3082 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETCELLINFOGETRESP_TD, "CSatMessHandler::NetCellInfoGetResp" ); |
3059 TFLOGSTRING("TSY: CSatMessHandler::NetCellInfoGetResp"); |
3083 TFLOGSTRING("TSY: CSatMessHandler::NetCellInfoGetResp"); |
3060 |
3084 |
3061 TUint8 successCode( aIsiMessage.Get8bit( |
3085 TUint8 successCode( aIsiMessage.Get8bit( |
3062 ISI_HEADER_SIZE + NET_CELL_INFO_GET_RESP_OFFSET_SUCCESSCODE ) ); |
3086 ISI_HEADER_SIZE + NET_CELL_INFO_GET_RESP_OFFSET_SUCCESSCODE ) ); |
3063 |
3087 |
3116 } |
3140 } |
3117 default: |
3141 default: |
3118 { |
3142 { |
3119 // Default result value already set |
3143 // Default result value already set |
3120 TFLOGSTRING2("TSY: CSatMessHandler::NetCellInfoGetResp - Unexpected iRegStatus: %d", iLocInfo.iRegStatus ); |
3144 TFLOGSTRING2("TSY: CSatMessHandler::NetCellInfoGetResp - Unexpected iRegStatus: %d", iLocInfo.iRegStatus ); |
3121 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETCELLINFOGETRESP, "CSatMessHandler::NetCellInfoGetResp Unexpected iRegStatus: %d", iLocInfo.iRegStatus ); |
3145 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETCELLINFOGETRESP_TD, "CSatMessHandler::NetCellInfoGetResp Unexpected iRegStatus: %d", iLocInfo.iRegStatus ); |
3122 |
3146 |
3123 additionalInfo.Append( RSat::KNoSpecificMeProblem ); |
3147 additionalInfo.Append( RSat::KNoSpecificMeProblem ); |
3124 break; |
3148 break; |
3125 } |
3149 } |
3126 } |
3150 } |
3155 ( |
3179 ( |
3156 TUint8 aTransId, // Transaction Id |
3180 TUint8 aTransId, // Transaction Id |
3157 TUint8 aOperation // Gss operation |
3181 TUint8 aOperation // Gss operation |
3158 ) |
3182 ) |
3159 { |
3183 { |
3160 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSSCSSERVICEREQ, "CSatMessHandler::GssCsServiceReq" ); |
3184 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSSCSSERVICEREQ_TD, "CSatMessHandler::GssCsServiceReq" ); |
3161 TFLOGSTRING("TSY: CSatMessHandler::GssCsServiceReq "); |
3185 TFLOGSTRING("TSY: CSatMessHandler::GssCsServiceReq "); |
3162 |
3186 |
3163 TBuf8<2> data; |
3187 TBuf8<2> data; |
3164 data.Append( aOperation ); |
3188 data.Append( aOperation ); |
3165 data.Append( 0x00 ); // number of subblocks |
3189 data.Append( 0x00 ); // number of subblocks |
3174 void CSatMessHandler::GssCsServiceResp |
3198 void CSatMessHandler::GssCsServiceResp |
3175 ( |
3199 ( |
3176 const TIsiReceiveC& aIsiMessage // Received isi messge |
3200 const TIsiReceiveC& aIsiMessage // Received isi messge |
3177 ) |
3201 ) |
3178 { |
3202 { |
3179 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSSCSSERVICERESP, "CSatMessHandler::GssCsServiceResp" ); |
3203 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSSCSSERVICERESP_TD, "CSatMessHandler::GssCsServiceResp" ); |
3180 TFLOGSTRING("CSatMessHandler::GssCsServiceResp "); |
3204 TFLOGSTRING("CSatMessHandler::GssCsServiceResp "); |
3181 |
3205 |
3182 if ( iTsySatMessaging->GetNotifyLocalInfo()->LocalInfoStatus() ) |
3206 if ( iTsySatMessaging->GetNotifyLocalInfo()->LocalInfoStatus() ) |
3183 { |
3207 { |
3184 TUint8 generalResult ( RSat::KSuccess ); |
3208 TUint8 generalResult ( RSat::KSuccess ); |
3217 // Store Timing Advance Status |
3241 // Store Timing Advance Status |
3218 iTaStatus = aIsiMessage.Get8bit( |
3242 iTaStatus = aIsiMessage.Get8bit( |
3219 sbOffset + GSS_ATK_TIMING_ADVANCE_OFFSET_TASTATUS ); |
3243 sbOffset + GSS_ATK_TIMING_ADVANCE_OFFSET_TASTATUS ); |
3220 |
3244 |
3221 TFLOGSTRING2("TSY: CSatMessHandler::GssCsServiceResp iTaStatus=%d", iTaStatus); |
3245 TFLOGSTRING2("TSY: CSatMessHandler::GssCsServiceResp iTaStatus=%d", iTaStatus); |
3222 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_GSSCSSERVICERESP, "CSatMessHandler::GssCsServiceResp iTaStatus: %hhu", iTaStatus ); |
3246 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_GSSCSSERVICERESP_TD, "CSatMessHandler::GssCsServiceResp iTaStatus: %hhu", iTaStatus ); |
3223 |
3247 |
3224 // Store timing advance |
3248 // Store timing advance |
3225 iTimingAdvance = aIsiMessage.Get8bit( |
3249 iTimingAdvance = aIsiMessage.Get8bit( |
3226 sbOffset + GSS_ATK_TIMING_ADVANCE_OFFSET_TIMINGADVANCE ); |
3250 sbOffset + GSS_ATK_TIMING_ADVANCE_OFFSET_TIMINGADVANCE ); |
3227 |
3251 |
3228 TFLOGSTRING2("TSY: CSatMessHandler::GssCsServiceResp \ |
3252 TFLOGSTRING2("TSY: CSatMessHandler::GssCsServiceResp \ |
3229 iTimingAdvance=%d", iTimingAdvance); |
3253 iTimingAdvance=%d", iTimingAdvance); |
3230 OstTraceExt1( TRACE_NORMAL, DUP2_CSATMESSHANDLER_GSSCSSERVICERESP, "CSatMessHandler::GssCsServiceResp iTimingAdvance: %hhu", iTimingAdvance ); |
3254 OstTraceExt1( TRACE_NORMAL, DUP2_CSATMESSHANDLER_GSSCSSERVICERESP_TD, "CSatMessHandler::GssCsServiceResp iTimingAdvance: %hhu", iTimingAdvance ); |
3231 |
3255 |
3232 if ( GSS_TIMING_ADVANCE_NOT_AVAILABLE == iTimingAdvance ) |
3256 if ( GSS_TIMING_ADVANCE_NOT_AVAILABLE == iTimingAdvance ) |
3233 { |
3257 { |
3234 generalResult = RSat::KMeUnableToProcessCmd; |
3258 generalResult = RSat::KMeUnableToProcessCmd; |
3235 } |
3259 } |
3275 void CSatMessHandler::GssCsServiceFailResp |
3299 void CSatMessHandler::GssCsServiceFailResp |
3276 ( |
3300 ( |
3277 const TIsiReceiveC& aIsiMessage // Received isi messge |
3301 const TIsiReceiveC& aIsiMessage // Received isi messge |
3278 ) |
3302 ) |
3279 { |
3303 { |
3280 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSSCSSERVICEFAILRESP, "CSatMessHandler::GssCsServiceFailResp" ); |
3304 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GSSCSSERVICEFAILRESP_TD, "CSatMessHandler::GssCsServiceFailResp" ); |
3281 TFLOGSTRING("CSatMessHandler::GssCsServiceFailResp "); |
3305 TFLOGSTRING("CSatMessHandler::GssCsServiceFailResp "); |
3282 |
3306 |
3283 if ( iTsySatMessaging->GetNotifyLocalInfo()->LocalInfoStatus() ) |
3307 if ( iTsySatMessaging->GetNotifyLocalInfo()->LocalInfoStatus() ) |
3284 { |
3308 { |
3285 if ( GSS_ATK_TIMING_ADVANCE_GET == aIsiMessage.Get8bit( |
3309 if ( GSS_ATK_TIMING_ADVANCE_GET == aIsiMessage.Get8bit( |
3321 TDes8& aCommandDetails, // Comamnd number |
3345 TDes8& aCommandDetails, // Comamnd number |
3322 TUint8 aGeneralResult, // General result |
3346 TUint8 aGeneralResult, // General result |
3323 TUint8 aAdditionalInfo // additional info |
3347 TUint8 aAdditionalInfo // additional info |
3324 ) |
3348 ) |
3325 { |
3349 { |
3326 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LANGUAGENOTIFICATIONTERMINALRESP, "CSatMessHandler::LanguageNotificationTerminalResp" ); |
3350 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LANGUAGENOTIFICATIONTERMINALRESP_TD, "CSatMessHandler::LanguageNotificationTerminalResp" ); |
3327 TFLOGSTRING("TSY:CSatMessHandler::LanguageNotificationTerminalResp"); |
3351 TFLOGSTRING("TSY:CSatMessHandler::LanguageNotificationTerminalResp"); |
3328 |
3352 |
3329 TTlv tlvSpecificData; |
3353 TTlv tlvSpecificData; |
3330 // Create general result TLV here |
3354 // Create general result TLV here |
3331 tlvSpecificData.AddTag( KTlvResultTag ); |
3355 tlvSpecificData.AddTag( KTlvResultTag ); |
3353 void CSatMessHandler::NetTimeInd |
3377 void CSatMessHandler::NetTimeInd |
3354 ( |
3378 ( |
3355 const TIsiReceiveC& aIsiMessage |
3379 const TIsiReceiveC& aIsiMessage |
3356 ) |
3380 ) |
3357 { |
3381 { |
3358 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETTIMEIND, "CSatMessHandler::NetTimeInd" ); |
3382 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETTIMEIND_TD, "CSatMessHandler::NetTimeInd" ); |
3359 TFLOGSTRING("TSY: CSatMessHandler::NetTimeInd"); |
3383 TFLOGSTRING("TSY: CSatMessHandler::NetTimeInd"); |
3360 |
3384 |
3361 // NET_TIME_INFO is mandatory sub block |
3385 // NET_TIME_INFO is mandatory sub block |
3362 |
3386 |
3363 // SubBlock offset |
3387 // SubBlock offset |
3375 // Get timezone |
3399 // Get timezone |
3376 // If the time zone is invalid or time zone is unknown, all bits are |
3400 // If the time zone is invalid or time zone is unknown, all bits are |
3377 // set to 1 (including B6). |
3401 // set to 1 (including B6). |
3378 iTimeZone = aIsiMessage.Get8bit( sbOffset + NET_TIME_INFO_OFFSET_TIMEZONE ); |
3402 iTimeZone = aIsiMessage.Get8bit( sbOffset + NET_TIME_INFO_OFFSET_TIMEZONE ); |
3379 TFLOGSTRING2("TSY: CSatMessHandler::NetTimeInd, Time zone: 0x%x", iTimeZone ); |
3403 TFLOGSTRING2("TSY: CSatMessHandler::NetTimeInd, Time zone: 0x%x", iTimeZone ); |
3380 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETTIMEIND, "CSatMessHandler::NetTimeInd Time zone: %hhu", iTimeZone ); |
3404 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETTIMEIND_TD, "CSatMessHandler::NetTimeInd Time zone: %hhu", iTimeZone ); |
3381 } |
3405 } |
3382 } |
3406 } |
3383 |
3407 |
3384 // ----------------------------------------------------------------------------- |
3408 // ----------------------------------------------------------------------------- |
3385 // CSatMessHandler::OpenChannelTerminalResp |
3409 // CSatMessHandler::OpenChannelTerminalResp |
3396 TUint8 aBearerType, // Bearer type |
3420 TUint8 aBearerType, // Bearer type |
3397 TDesC8& aBearer, // Bearer |
3421 TDesC8& aBearer, // Bearer |
3398 TUint16 aBufferSize // Buffer size |
3422 TUint16 aBufferSize // Buffer size |
3399 ) |
3423 ) |
3400 { |
3424 { |
3401 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_OPENCHANNELTERMINALRESP, "CSatMessHandler::OpenChannelTerminalResp" ); |
3425 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_OPENCHANNELTERMINALRESP_TD, "CSatMessHandler::OpenChannelTerminalResp" ); |
3402 TFLOGSTRING("CSatMessHandler::OpenChannelTerminalResp"); |
3426 TFLOGSTRING("CSatMessHandler::OpenChannelTerminalResp"); |
3403 |
3427 |
3404 // Create and append response data |
3428 // Create and append response data |
3405 TTlv tlvSpecificData; |
3429 TTlv tlvSpecificData; |
3406 |
3430 |
3436 } |
3460 } |
3437 } |
3461 } |
3438 else |
3462 else |
3439 { |
3463 { |
3440 TFLOGSTRING("TSY: CSatMessHandler::OpenChannelTerminalResp, General result did not match."); |
3464 TFLOGSTRING("TSY: CSatMessHandler::OpenChannelTerminalResp, General result did not match."); |
3441 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_OPENCHANNELTERMINALRESP, "CSatMessHandler::OpenChannelTerminalResp, General result did not match." ); |
3465 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_OPENCHANNELTERMINALRESP_TD, "CSatMessHandler::OpenChannelTerminalResp, General result did not match." ); |
3442 } |
3466 } |
3443 |
3467 |
3444 // For any result: |
3468 // For any result: |
3445 // Append Bearer Description data |
3469 // Append Bearer Description data |
3446 |
3470 |
3479 TDes8 &aCommandDetails, |
3503 TDes8 &aCommandDetails, |
3480 TUint8 aGeneralResult, |
3504 TUint8 aGeneralResult, |
3481 const TDes8& aAdditionalInfo |
3505 const TDes8& aAdditionalInfo |
3482 ) |
3506 ) |
3483 { |
3507 { |
3484 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETCHANNELSTATUSTERMINALRESP, "CSatMessHandler::GetChannelStatusTerminalResp" ); |
3508 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETCHANNELSTATUSTERMINALRESP_TD, "CSatMessHandler::GetChannelStatusTerminalResp" ); |
3485 TFLOGSTRING("CSatMessHandler::GetChannelStatusTerminalResp"); |
3509 TFLOGSTRING("CSatMessHandler::GetChannelStatusTerminalResp"); |
3486 TTlv tlvSpecificData; |
3510 TTlv tlvSpecificData; |
3487 // Append general result tag |
3511 // Append general result tag |
3488 tlvSpecificData.AddTag( KTlvResultTag ); |
3512 tlvSpecificData.AddTag( KTlvResultTag ); |
3489 // Append general result |
3513 // Append general result |
3511 |
3535 |
3512 } |
3536 } |
3513 else |
3537 else |
3514 { |
3538 { |
3515 TFLOGSTRING("CSatMessHandler::GetChannelStatusTerminalResp - mandatory channel status missing"); |
3539 TFLOGSTRING("CSatMessHandler::GetChannelStatusTerminalResp - mandatory channel status missing"); |
3516 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_GETCHANNELSTATUSTERMINALRESP, "CSatMessHandler::GetChannelStatusTerminalResp - mandatory channel status missing" ); |
3540 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_GETCHANNELSTATUSTERMINALRESP_TD, "CSatMessHandler::GetChannelStatusTerminalResp - mandatory channel status missing" ); |
3517 } |
3541 } |
3518 |
3542 |
3519 return UiccCatReqTerminalResponse( |
3543 return UiccCatReqTerminalResponse( |
3520 aCommandDetails, |
3544 aCommandDetails, |
3521 tlvSpecificData.GetDataWithoutTopLevelTag(), |
3545 tlvSpecificData.GetDataWithoutTopLevelTag(), |
3534 TDes8 &aCommandDetails, |
3558 TDes8 &aCommandDetails, |
3535 TUint8 aGeneralResult, |
3559 TUint8 aGeneralResult, |
3536 const TDes8& aAdditionalInfo |
3560 const TDes8& aAdditionalInfo |
3537 ) |
3561 ) |
3538 { |
3562 { |
3539 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CLOSECHANNELTERMINALRESP, "CSatMessHandler::CloseChannelTerminalResp" ); |
3563 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CLOSECHANNELTERMINALRESP_TD, "CSatMessHandler::CloseChannelTerminalResp" ); |
3540 TFLOGSTRING("CSatMessHandler::CloseChannelTerminalResp"); |
3564 TFLOGSTRING("CSatMessHandler::CloseChannelTerminalResp"); |
3541 TTlv tlvSpecificData; |
3565 TTlv tlvSpecificData; |
3542 // Append general result tag |
3566 // Append general result tag |
3543 tlvSpecificData.AddTag( KTlvResultTag ); |
3567 tlvSpecificData.AddTag( KTlvResultTag ); |
3544 // Append general result |
3568 // Append general result |
3576 TUint8 aGeneralResult, |
3600 TUint8 aGeneralResult, |
3577 const TDes8& aAdditionalInfo, |
3601 const TDes8& aAdditionalInfo, |
3578 TUint8 aChannelDataLength |
3602 TUint8 aChannelDataLength |
3579 ) |
3603 ) |
3580 { |
3604 { |
3581 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDDATATERMINALRESP, "CSatMessHandler::SendDataTerminalResp" ); |
3605 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDDATATERMINALRESP_TD, "CSatMessHandler::SendDataTerminalResp" ); |
3582 TFLOGSTRING("CSatMessHandler::SendDataTerminalResp"); |
3606 TFLOGSTRING("CSatMessHandler::SendDataTerminalResp"); |
3583 TTlv tlvSpecificData; |
3607 TTlv tlvSpecificData; |
3584 // Append general result tag |
3608 // Append general result tag |
3585 tlvSpecificData.AddTag( KTlvResultTag ); |
3609 tlvSpecificData.AddTag( KTlvResultTag ); |
3586 // Append general result |
3610 // Append general result |
3603 tlvSpecificData.AddByte( aChannelDataLength ); |
3627 tlvSpecificData.AddByte( aChannelDataLength ); |
3604 } |
3628 } |
3605 else |
3629 else |
3606 { |
3630 { |
3607 TFLOGSTRING("TSY: CSatMessHandler::SendDataTerminalResp, General result did not match."); |
3631 TFLOGSTRING("TSY: CSatMessHandler::SendDataTerminalResp, General result did not match."); |
3608 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SENDDATATERMINALRESP, "CSatMessHandler::SendDataTerminalResp, General result did not match." ); |
3632 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_SENDDATATERMINALRESP_TD, "CSatMessHandler::SendDataTerminalResp, General result did not match." ); |
3609 } |
3633 } |
3610 |
3634 |
3611 return UiccCatReqTerminalResponse( |
3635 return UiccCatReqTerminalResponse( |
3612 aCommandDetails, |
3636 aCommandDetails, |
3613 tlvSpecificData.GetDataWithoutTopLevelTag(), |
3637 tlvSpecificData.GetDataWithoutTopLevelTag(), |
3627 TUint8 aGeneralResult, |
3651 TUint8 aGeneralResult, |
3628 const TDes8& aAdditionalInfo, |
3652 const TDes8& aAdditionalInfo, |
3629 TUint8 aChannelDataLength |
3653 TUint8 aChannelDataLength |
3630 ) |
3654 ) |
3631 { |
3655 { |
3632 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_RECEIVEDATATERMINALRESP, "CSatMessHandler::ReceiveDataTerminalResp" ); |
3656 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_RECEIVEDATATERMINALRESP_TD, "CSatMessHandler::ReceiveDataTerminalResp" ); |
3633 TFLOGSTRING("CSatMessHandler::ReceiveDataTerminalResp"); |
3657 TFLOGSTRING("CSatMessHandler::ReceiveDataTerminalResp"); |
3634 TTlv tlvSpecificData; |
3658 TTlv tlvSpecificData; |
3635 // Append general result tag |
3659 // Append general result tag |
3636 tlvSpecificData.AddTag( KTlvResultTag ); |
3660 tlvSpecificData.AddTag( KTlvResultTag ); |
3637 // Append general result |
3661 // Append general result |
3658 tlvSpecificData.AddByte( aChannelDataLength ); |
3682 tlvSpecificData.AddByte( aChannelDataLength ); |
3659 } |
3683 } |
3660 else |
3684 else |
3661 { |
3685 { |
3662 TFLOGSTRING("TSY: CSatMessHandler::ReceiveDataTerminalResp, General result did not match."); |
3686 TFLOGSTRING("TSY: CSatMessHandler::ReceiveDataTerminalResp, General result did not match."); |
3663 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_RECEIVEDATATERMINALRESP, "CSatMessHandler::ReceiveDataTerminalResp, General result did not match." ); |
3687 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_RECEIVEDATATERMINALRESP_TD, "CSatMessHandler::ReceiveDataTerminalResp, General result did not match." ); |
3664 } |
3688 } |
3665 |
3689 |
3666 return UiccCatReqTerminalResponse( |
3690 return UiccCatReqTerminalResponse( |
3667 aCommandDetails, |
3691 aCommandDetails, |
3668 tlvSpecificData.GetDataWithoutTopLevelTag(), |
3692 tlvSpecificData.GetDataWithoutTopLevelTag(), |
3681 TUint8 aTransId, |
3705 TUint8 aTransId, |
3682 TDesC8& aData, |
3706 TDesC8& aData, |
3683 TUint8 aReceiverObject |
3707 TUint8 aReceiverObject |
3684 ) |
3708 ) |
3685 { |
3709 { |
3686 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSMSRESOURCERESP, "CSatMessHandler::SendSmsResourceResp" ); |
3710 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDSMSRESOURCERESP_TD, "CSatMessHandler::SendSmsResourceResp" ); |
3687 TFLOGSTRING("TSY:CSatMessHandler::SendSmsResourceResp"); |
3711 TFLOGSTRING("TSY:CSatMessHandler::SendSmsResourceResp"); |
3688 |
3712 |
3689 TIsiSend isimsg( iPnSend->SendBufferDes() ); |
3713 TIsiSend isimsg( iPnSend->SendBufferDes() ); |
3690 isimsg.Set8bit( ISI_HEADER_OFFSET_RECEIVEROBJECT, aReceiverObject ); |
3714 isimsg.Set8bit( ISI_HEADER_OFFSET_RECEIVEROBJECT, aReceiverObject ); |
3691 isimsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_SMS ); |
3715 isimsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_SMS ); |
3712 void CSatMessHandler::SsStatusInd |
3736 void CSatMessHandler::SsStatusInd |
3713 ( |
3737 ( |
3714 const TIsiReceiveC& aIsiMessage |
3738 const TIsiReceiveC& aIsiMessage |
3715 ) |
3739 ) |
3716 { |
3740 { |
3717 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSSTATUSIND, "CSatMessHandler::SsStatusInd" ); |
3741 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SSSTATUSIND_TD, "CSatMessHandler::SsStatusInd" ); |
3718 TFLOGSTRING("TSY: CSatMessHandler::SsStatusInd"); |
3742 TFLOGSTRING("TSY: CSatMessHandler::SsStatusInd"); |
3719 |
3743 |
3720 TUint8 ssStatus = aIsiMessage.Get8bit( ISI_HEADER_SIZE |
3744 TUint8 ssStatus = aIsiMessage.Get8bit( ISI_HEADER_SIZE |
3721 + SS_STATUS_IND_OFFSET_SSSTATUSINDICATION ); |
3745 + SS_STATUS_IND_OFFSET_SSSTATUSINDICATION ); |
3722 |
3746 |
3744 TBool CSatMessHandler::AdditionalInfoNeeded |
3768 TBool CSatMessHandler::AdditionalInfoNeeded |
3745 ( |
3769 ( |
3746 const TUint8 aGeneralResult |
3770 const TUint8 aGeneralResult |
3747 ) |
3771 ) |
3748 { |
3772 { |
3749 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_ADDITIONALINFONEEDED, "CSatMessHandler::AdditionalInfoNeeded" ); |
3773 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_ADDITIONALINFONEEDED_TD, "CSatMessHandler::AdditionalInfoNeeded" ); |
3750 // NOTE: This method shall not be used with SendSS proactive command as its |
3774 // NOTE: This method shall not be used with SendSS proactive command as its |
3751 // additional info handling differs from other commands. |
3775 // additional info handling differs from other commands. |
3752 |
3776 |
3753 TBool ret( EFalse ); |
3777 TBool ret( EFalse ); |
3754 |
3778 |
3787 void CSatMessHandler::ReceiveMessageL |
3811 void CSatMessHandler::ReceiveMessageL |
3788 ( |
3812 ( |
3789 const TIsiReceiveC& aIsiMessage |
3813 const TIsiReceiveC& aIsiMessage |
3790 ) |
3814 ) |
3791 { |
3815 { |
3792 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_RECEIVEMESSAGEL, "CSatMessHandler::ReceiveMessageL" ); |
3816 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_RECEIVEMESSAGEL_TD, "CSatMessHandler::ReceiveMessageL" ); |
3793 TFLOGSTRING("TSY: CSatMessHandler::ReceiveMessageL"); |
3817 TFLOGSTRING("TSY: CSatMessHandler::ReceiveMessageL"); |
3794 |
3818 |
3795 // Get ISI message resource and id |
3819 // Get ISI message resource and id |
3796 TInt resource ( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) ); |
3820 TInt resource ( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) ); |
3797 |
3821 |
3806 case PN_SS: |
3830 case PN_SS: |
3807 { |
3831 { |
3808 SsServerMessageReceived( aIsiMessage ); |
3832 SsServerMessageReceived( aIsiMessage ); |
3809 break; |
3833 break; |
3810 } |
3834 } |
3811 case PN_PHONE_INFO: |
3835 /*case PN_PHONE_INFO: |
3812 { |
3836 { |
3813 PhoneInfoMessageReceived( aIsiMessage ); |
3837 PhoneInfoMessageReceivedL( aIsiMessage ); |
3814 break; |
3838 break; |
3815 } |
3839 }*/ |
3816 case PN_MODEM_NETWORK: |
3840 case PN_MODEM_NETWORK: |
3817 { |
3841 { |
3818 NetServerMessageReceived( aIsiMessage ); |
3842 NetServerMessageReceived( aIsiMessage ); |
3819 break; |
3843 break; |
3820 } |
3844 } |
3828 SmsServerMessageReceived( aIsiMessage ); |
3852 SmsServerMessageReceived( aIsiMessage ); |
3829 break; |
3853 break; |
3830 } |
3854 } |
3831 case PN_UICC: |
3855 case PN_UICC: |
3832 { |
3856 { |
3833 handled = UiccServerMessageReceived( aIsiMessage ); |
3857 handled = UiccServerMessageReceivedL( aIsiMessage ); |
3834 break; |
3858 break; |
3835 } |
3859 } |
3836 default: |
3860 default: |
3837 { |
3861 { |
3838 // Do nothing |
3862 // Do nothing |
3856 ( |
3880 ( |
3857 const TIsiReceiveC& /*aIsiMessage*/, |
3881 const TIsiReceiveC& /*aIsiMessage*/, |
3858 TInt /*aErrorCode*/ |
3882 TInt /*aErrorCode*/ |
3859 ) |
3883 ) |
3860 { |
3884 { |
3861 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_HANDLEERROR, "CSatMessHandler::HandleError" ); |
3885 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_HANDLEERROR_TD, "CSatMessHandler::HandleError" ); |
3862 // No implementation |
3886 // No implementation |
3863 } |
3887 } |
3864 |
3888 |
3865 |
3889 |
3866 // ----------------------------------------------------------------------------- |
3890 // ----------------------------------------------------------------------------- |
3871 void CSatMessHandler::NetRatInd |
3895 void CSatMessHandler::NetRatInd |
3872 ( |
3896 ( |
3873 const TIsiReceiveC& aIsiMessage // ISI message |
3897 const TIsiReceiveC& aIsiMessage // ISI message |
3874 ) |
3898 ) |
3875 { |
3899 { |
3876 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETRATIND, "CSatMessHandler::NetRatInd" ); |
3900 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_NETRATIND_TD, "CSatMessHandler::NetRatInd" ); |
3877 TFLOGSTRING("TSY:CSatMessHandler::NetRatInd"); |
3901 TFLOGSTRING("TSY:CSatMessHandler::NetRatInd"); |
3878 |
3902 |
3879 // Check the presence of subblocks |
3903 // Check the presence of subblocks |
3880 if ( 0 != aIsiMessage.Get8bit( |
3904 if ( 0 != aIsiMessage.Get8bit( |
3881 ISI_HEADER_SIZE + NET_RAT_IND_OFFSET_SUBBLOCKCOUNT ) ) |
3905 ISI_HEADER_SIZE + NET_RAT_IND_OFFSET_SUBBLOCKCOUNT ) ) |
3919 break; |
3943 break; |
3920 } |
3944 } |
3921 } |
3945 } |
3922 } |
3946 } |
3923 TFLOGSTRING2("TSY:CSatMessHandler::NetRatInd - Current Acc Tech: %d",iCurrentAccTech); |
3947 TFLOGSTRING2("TSY:CSatMessHandler::NetRatInd - Current Acc Tech: %d",iCurrentAccTech); |
3924 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETRATIND, "CSatMessHandler::NetRatInd - Current Acc Tech: %hhu", iCurrentAccTech ); |
3948 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_NETRATIND_TD, "CSatMessHandler::NetRatInd - Current Acc Tech: %hhu", iCurrentAccTech ); |
3925 } |
3949 } |
3926 |
3950 |
3927 } |
3951 } |
3928 |
3952 |
3929 // ----------------------------------------------------------------------------- |
3953 // ----------------------------------------------------------------------------- |
3931 // Getter for location information structure |
3955 // Getter for location information structure |
3932 // ----------------------------------------------------------------------------- |
3956 // ----------------------------------------------------------------------------- |
3933 // |
3957 // |
3934 const CSatMessHandler::TLocationInfo& CSatMessHandler::LocationInfo() |
3958 const CSatMessHandler::TLocationInfo& CSatMessHandler::LocationInfo() |
3935 { |
3959 { |
3936 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LOCATIONINFO, "CSatMessHandler::LocationInfo" ); |
3960 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_LOCATIONINFO_TD, "CSatMessHandler::LocationInfo" ); |
3937 // Extended Cell Id is provided only if both USIM and |
3961 // Extended Cell Id is provided only if both USIM and |
3938 // 3G network are present. |
3962 // 3G network are present. |
3939 if ( KNetworkModeUtran != iCurrentAccTech |
3963 if ( KNetworkModeUtran != iCurrentAccTech |
3940 || UICC_CARD_TYPE_UICC != iCardType ) |
3964 || UICC_CARD_TYPE_UICC != iCardType ) |
3941 { |
3965 { |
3950 |
3974 |
3951 return iLocInfo; |
3975 return iLocInfo; |
3952 } |
3976 } |
3953 |
3977 |
3954 // ----------------------------------------------------------------------------- |
3978 // ----------------------------------------------------------------------------- |
3955 // CSatMessHandler::SendPnAtkMessage |
|
3956 // Sends a PN_ATK message with the given data, sets also possible filler bytes |
|
3957 // ----------------------------------------------------------------------------- |
|
3958 // |
|
3959 TInt CSatMessHandler::SendPnAtkMessage |
|
3960 ( |
|
3961 const TUint8 aReceiverObject, |
|
3962 const TUint8 aTransactionId, |
|
3963 const TInt aMessageId, |
|
3964 const TDesC8& aData |
|
3965 ) |
|
3966 { |
|
3967 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SENDPNATKMESSAGE, "CSatMessHandler::SendPnAtkMessage" ); |
|
3968 TFLOGSTRING("TSY:CSatMessHandler::SendPnAtkMessage"); |
|
3969 |
|
3970 TBuf8<KLengthTwoBytes> data; |
|
3971 data.Append( aTransactionId ); |
|
3972 data.Append( aMessageId ); |
|
3973 |
|
3974 // Create send buffer (sets the msg length to NULL) |
|
3975 TIsiSend isimsg( iPnSend->SendBufferDes() ); |
|
3976 |
|
3977 // Set the receiver object and resource ID |
|
3978 isimsg.Set8bit( ISI_HEADER_OFFSET_RECEIVEROBJECT, aReceiverObject ); |
|
3979 isimsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_ATK ); |
|
3980 // Set Transaction ID and Msg ID at the end of the message buffer |
|
3981 isimsg.CopyData( ISI_HEADER_SIZE, data ); |
|
3982 // Copy the message data at the end of the message buffer |
|
3983 isimsg.CopyData( ( ISI_HEADER_SIZE + KLengthTwoBytes ), aData ); |
|
3984 |
|
3985 // Add padding(s) |
|
3986 while ( iPnSend->SendBufferDes().Length() % 4 ) |
|
3987 { |
|
3988 iPnSend->SendBufferDes().Append( 0x00 ); |
|
3989 } |
|
3990 |
|
3991 // Send message |
|
3992 return iPnSend->Send( isimsg.Complete() ); |
|
3993 } |
|
3994 |
|
3995 // ----------------------------------------------------------------------------- |
|
3996 // CSatMessHandler::UiccApplCmdResp |
3979 // CSatMessHandler::UiccApplCmdResp |
3997 // (other items were commented in a header). |
3980 // (other items were commented in a header). |
3998 // ----------------------------------------------------------------------------- |
3981 // ----------------------------------------------------------------------------- |
3999 // |
3982 // |
4000 void CSatMessHandler::UiccApplCmdResp( const TIsiReceiveC& aIsiMessage ) |
3983 void CSatMessHandler::UiccApplCmdResp( const TIsiReceiveC& aIsiMessage ) |
4001 { |
3984 { |
4002 TFLOGSTRING("TSY: CSatMessHandler::UiccApplCmdResp"); |
3985 TFLOGSTRING("TSY: CSatMessHandler::UiccApplCmdResp"); |
4003 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCAPPLCMDRESP, "CSatMessHandler::UiccApplCmdResp" ); |
3986 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCAPPLCMDRESP_TD, "CSatMessHandler::UiccApplCmdResp" ); |
4004 |
3987 |
4005 TInt error( KErrNone ); |
3988 TInt error( KErrNone ); |
4006 // Get transaction ID, status and service type |
3989 // Get transaction ID, status and service type |
4007 TUint8 trId( aIsiMessage.Get8bit( |
3990 TUint8 trId( aIsiMessage.Get8bit( |
4008 ISI_HEADER_SIZE + UICC_APPL_CMD_RESP_OFFSET_TRANSID ) ); |
3991 ISI_HEADER_SIZE + UICC_APPL_CMD_RESP_OFFSET_TRANSID ) ); |
4033 fileDataLength ) ); |
4016 fileDataLength ) ); |
4034 } |
4017 } |
4035 else // Subblock is mandatory |
4018 else // Subblock is mandatory |
4036 { |
4019 { |
4037 TFLOGSTRING("TSY: CSatMessHandler::UiccApplCmdResp - Mandatory subblock UICC_SB_FILE_DATA not found"); |
4020 TFLOGSTRING("TSY: CSatMessHandler::UiccApplCmdResp - Mandatory subblock UICC_SB_FILE_DATA not found"); |
4038 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCAPPLCMDRESP, "CSatMessHandler::UiccApplCmdResp - Mandatory subblock UICC_SB_FILE_DATA not found" ); |
4021 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCAPPLCMDRESP_TD, "CSatMessHandler::UiccApplCmdResp - Mandatory subblock UICC_SB_FILE_DATA not found" ); |
4039 error = KErrNotFound; |
4022 error = KErrNotFound; |
4040 } |
4023 } |
4041 |
4024 |
4042 switch( trId ) |
4025 switch( trId ) |
4043 { |
4026 { |
4044 // Call control, SMS PP DD, USIM MO-SMS control |
4027 // Call control, SMS PP DD, USIM MO-SMS control |
4045 case KUiccTrIdServiceTableByte4: |
4028 case KUiccTrIdServiceTableByte4: |
4046 { |
4029 { |
4047 if ( KErrNone == error ) |
4030 if ( KErrNone == error ) |
4048 { |
4031 { |
4049 TUint8 usedBitMaskSmsPpDd( KSmsPpDdBitMaskUsim ); |
4032 // MO SMS control status, only in case of USIM |
4050 if ( UICC_CARD_TYPE_ICC == iCardType ) |
4033 SimMoSmsControlAvail( |
4034 fileData[0] & KMoSmsControlBitMaskUsim ); |
|
4035 |
|
4036 iTsySatMessaging->GetDataDownload()->SmsPpDlSupported( |
|
4037 fileData[0] & KSmsPpDdBitMaskUsim ); |
|
4038 } |
|
4039 break; |
|
4040 } |
|
4041 // MO SMS control ( this transaction ID is used for SIM only ) |
|
4042 case KUiccTrIdServiceTableByte10: |
|
4043 { |
|
4044 if ( KErrNone == error ) |
|
4045 { |
|
4046 // MO SMS control status, only in case of USIM |
|
4047 SimMoSmsControlAvail( |
|
4048 KMoSmsControlBitMaskSim == ( fileData[0] & KMoSmsControlBitMaskSim ) ); |
|
4049 } |
|
4050 break; |
|
4051 } |
|
4052 // USSD in Call Control ( this transaction ID is used for SIM only ) |
|
4053 case KUiccTrIdServiceTableByte11: |
|
4054 { |
|
4055 iTsySatMessaging->SetStatusOfUssdSupport( |
|
4056 KMoUssdCallControlBitMaskSim == ( fileData[0] & KMoUssdCallControlBitMaskSim ) ); |
|
4057 break; |
|
4058 } |
|
4059 // SMS PP Datadownload ( this transaction ID is used for SIM only ) |
|
4060 case KUiccTrIdServiceTableByte7: |
|
4061 { |
|
4062 if ( UICC_CARD_TYPE_UICC == iCardType ) |
|
4063 { |
|
4064 TBool ppDdSupported( EFalse ); |
|
4065 if( KSmsPpDdBitMaskSim == ( fileData[0] & KSmsPpDdBitMaskSim ) ) |
|
4051 { |
4066 { |
4052 usedBitMaskSmsPpDd = KSmsPpDdBitMaskSim; |
4067 ppDdSupported = ETrue; |
4053 } |
4068 } |
4054 else |
4069 iTsySatMessaging->GetDataDownload()->SmsPpDlSupported( ppDdSupported ); |
4055 { |
4070 } |
4056 // MO SMS control status, only in case of USIM |
|
4057 SimMoSmsControlAvail( |
|
4058 fileData[0] & KMoSmsControlBitMaskUsim ); |
|
4059 } |
|
4060 // Get status of SMS PP DD and report to DataDownload |
|
4061 iTsySatMessaging->GetDataDownload()->SmsPpDlSupported( |
|
4062 ( fileData[0] & usedBitMaskSmsPpDd ) ? ETrue : EFalse ); |
|
4063 } |
|
4064 break; |
|
4065 } |
|
4066 // MO SMS control ( this transaction ID is used for SIM only ) |
|
4067 case KUiccTrIdServiceTableByte5: |
|
4068 { |
|
4069 if ( KErrNone == error ) |
|
4070 { |
|
4071 SimMoSmsControlAvail( fileData[0] & KMoSmsControlBitMaskSim ); |
|
4072 } |
|
4073 break; |
|
4074 } |
|
4075 // USSD in Call Control ( this transaction ID is used for SIM only ) |
|
4076 case KUiccTrIdServiceTableByte6: |
|
4077 { |
|
4078 iTsySatMessaging->SetStatusOfUssdSupport( |
|
4079 fileData[0] & KMoUssdCallControlBitMaskSim ); |
|
4080 break; |
4071 break; |
4081 } |
4072 } |
4082 // SAT icon |
4073 // SAT icon |
4083 case KUiccTrIdReadSatIcon: |
4074 case KUiccTrIdReadSatIcon: |
4084 { |
4075 { |
4166 } // End of switch( trId ) |
4157 } // End of switch( trId ) |
4167 } |
4158 } |
4168 |
4159 |
4169 |
4160 |
4170 // ----------------------------------------------------------------------------- |
4161 // ----------------------------------------------------------------------------- |
4171 // CSatMessHandler::UiccCatInd |
4162 // CSatMessHandler::UiccCatIndL |
4172 // Breaks UICC_CAT_IND ISI-message. |
4163 // Breaks UICC_CAT_IND ISI-message. |
4173 // ----------------------------------------------------------------------------- |
4164 // ----------------------------------------------------------------------------- |
4174 // |
4165 // |
4175 void CSatMessHandler::UiccCatInd |
4166 void CSatMessHandler::UiccCatIndL |
4176 ( |
4167 ( |
4177 const TIsiReceiveC& aIsiMessage // Received ISI message |
4168 const TIsiReceiveC& aIsiMessage // Received ISI message |
4178 ) |
4169 ) |
4179 { |
4170 { |
4180 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATIND, "CSatMessHandler::UiccCatInd" ); |
4171 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATINDL_TD, "CSatMessHandler::UiccCatIndL" ); |
4181 TFLOGSTRING("TSY: CSatMessHandler::UiccCatInd"); |
4172 TFLOGSTRING("TSY: CSatMessHandler::UiccCatIndL"); |
4182 |
4173 |
4183 // UICC status |
4174 // UICC status |
4184 TUint8 serviceType( aIsiMessage.Get8bit( |
4175 TUint8 serviceType( aIsiMessage.Get8bit( |
4185 ISI_HEADER_SIZE + UICC_CAT_IND_OFFSET_SERVICETYPE ) ); |
4176 ISI_HEADER_SIZE + UICC_CAT_IND_OFFSET_SERVICETYPE ) ); |
4186 |
4177 |
4219 { |
4210 { |
4220 iTsySatMessaging->PCmdReceivedL( aIsiMessage ); |
4211 iTsySatMessaging->PCmdReceivedL( aIsiMessage ); |
4221 } |
4212 } |
4222 else |
4213 else |
4223 { |
4214 { |
4224 TFLOGSTRING("TSY: Received SAT message was not valid!"); |
4215 TFLOGSTRING("TSY: CSatMessHandler::UiccCatIndL: Received SAT message was not valid!"); |
4225 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATIND, "CSatMessHandler::UiccCatInd. Received SAT message was not valid!" ); |
4216 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATINDL_TD, "CSatMessHandler::UiccCatIndL. Received SAT message was not valid!" ); |
4226 } |
4217 } |
4227 } |
4218 } |
4228 } |
4219 } |
4229 |
4220 |
4230 // ----------------------------------------------------------------------------- |
4221 // ----------------------------------------------------------------------------- |
4231 // CSatMessHandler::InfoPpReadReq |
4222 // CSatMessHandler::InfoPpReadReq |
4232 // Construct a INFO_PP_READ_REQ ISI message |
4223 // Construct a INFO_PP_READ_REQ ISI message |
4233 // ----------------------------------------------------------------------------- |
4224 // ----------------------------------------------------------------------------- |
4234 // |
4225 // |
4235 TInt CSatMessHandler::InfoPpReadReq |
4226 /*TInt CSatMessHandler::InfoPpReadReq |
4236 ( |
4227 ( |
4237 const TUint8 aReqType // request type |
4228 const TUint8 aReqType // request type |
4238 ) |
4229 ) |
4239 { |
4230 { |
4240 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOPPREADREQ, "CSatMessHandler::InfoPpReadReq" ); |
4231 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOPPREADREQ_TD, "CSatMessHandler::InfoPpReadReq" ); |
4241 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadReq" ); |
4232 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadReq" ); |
4242 |
4233 |
4243 // Construct INFO_PP_READ_REQ message (INFO_BATCH_TYPE + |
4234 // Construct INFO_PP_READ_REQ message (INFO_BATCH_TYPE + |
4244 // sub block count + INFO_SB_PP sub block) |
4235 // sub block count + INFO_SB_PP sub block) |
4245 TBuf8<2 + SIZE_INFO_SB_PP> infoPpReadReq; |
4236 TBuf8<2 + SIZE_INFO_SB_PP> infoPpReadReq; |
4285 return iPnSend->Send( |
4276 return iPnSend->Send( |
4286 PN_INFO, |
4277 PN_INFO, |
4287 tempTraId, |
4278 tempTraId, |
4288 INFO_PP_READ_REQ, |
4279 INFO_PP_READ_REQ, |
4289 infoPpReadReq ); |
4280 infoPpReadReq ); |
4290 } |
4281 }*/ |
4291 |
4282 |
4292 // ----------------------------------------------------------------------------- |
4283 // ----------------------------------------------------------------------------- |
4293 // CSatMessHandler::InfoPpReadResp |
4284 // CSatMessHandler::InfoPpReadRespL |
4294 // Breaks a INFO_PP_READ_RESP ISI-message. |
4285 // Breaks a INFO_PP_READ_RESP ISI-message. |
4295 // ----------------------------------------------------------------------------- |
4286 // ----------------------------------------------------------------------------- |
4296 // |
4287 // |
4297 void CSatMessHandler::InfoPpReadResp |
4288 /*void CSatMessHandler::InfoPpReadRespL |
4298 ( |
4289 ( |
4299 const TIsiReceiveC& aIsiMessage |
4290 const TIsiReceiveC& aIsiMessage |
4300 ) |
4291 ) |
4301 { |
4292 { |
4302 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp" ); |
4293 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL" ); |
4303 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp" ); |
4294 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL" ); |
4304 |
4295 |
4305 TUint8 traId( aIsiMessage.Get8bit( ISI_HEADER_SIZE + |
4296 TUint8 traId( aIsiMessage.Get8bit( ISI_HEADER_SIZE + |
4306 INFO_PP_READ_RESP_OFFSET_TRANSID ) ); |
4297 INFO_PP_READ_RESP_OFFSET_TRANSID ) ); |
4307 |
4298 |
4308 TUint8 status( aIsiMessage.Get8bit( ISI_HEADER_SIZE + |
4299 TUint8 status( aIsiMessage.Get8bit( ISI_HEADER_SIZE + |
4309 INFO_PP_READ_RESP_OFFSET_STATUS ) ); |
4300 INFO_PP_READ_RESP_OFFSET_STATUS ) ); |
4310 |
4301 |
4311 TFLOGSTRING2("TSY: CSatMessHandler::InfoPpReadResp - Status: %d", |
4302 TFLOGSTRING2("TSY: CSatMessHandler::InfoPpReadRespL - Status: %d", |
4312 status ); |
4303 status ); |
4313 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp - Status: %hhu", status ); |
4304 OstTraceExt1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL - Status: %hhu", status ); |
4314 |
4305 |
4315 |
4306 |
4316 switch ( status ) |
4307 switch ( status ) |
4317 { |
4308 { |
4318 case INFO_OK: |
4309 case INFO_OK: |
4344 if ( INFO_PP_ATK_MO_SM_CONTROL == pPFeatures [0] ) |
4335 if ( INFO_PP_ATK_MO_SM_CONTROL == pPFeatures [0] ) |
4345 { |
4336 { |
4346 //Get the value of the MO SMS control feature |
4337 //Get the value of the MO SMS control feature |
4347 if ( INFO_PP_FALSE != pPFeatures [1] ) |
4338 if ( INFO_PP_FALSE != pPFeatures [1] ) |
4348 { |
4339 { |
4349 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, MO SMS control supported by ME product profile" ); |
4340 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, MO SMS control supported by ME product profile" ); |
4350 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, MO SMS control supported by ME product profile" ); |
4341 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, MO SMS control supported by ME product profile" ); |
4351 iMoSmsSupportedInPp = ETrue; |
4342 iMoSmsSupportedInPp = ETrue; |
4343 TInt ret( KErrNone ); |
|
4352 // Continue MO SMS control check by checking |
4344 // Continue MO SMS control check by checking |
4353 // feature availability from USIM |
4345 // feature availability from USIM |
4354 if ( UICC_CARD_TYPE_UICC == iCardType ) |
4346 if ( UICC_CARD_TYPE_UICC == iCardType ) |
4355 { |
4347 { |
4356 // USIM: Read MO-SMS control from byte 4 |
4348 // USIM: Read MO-SMS control from byte 4 |
4357 UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 5 ); |
4349 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
4350 User::LeaveIfError( ret ); |
|
4358 } |
4351 } |
4359 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
4352 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
4360 { |
4353 { |
4361 // SIM: Read MO-SMS control from byte 5 |
4354 // SIM: Read MO-SMS control from byte 10 |
4362 UiccReadServiceTableReq( KUiccTrIdServiceTableByte5, 6 ); |
4355 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte10, 9 ); |
4356 User::LeaveIfError( ret ); |
|
4363 } |
4357 } |
4364 } |
4358 } |
4365 else |
4359 else |
4366 { |
4360 { |
4367 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, MO SMS control not supported by ME product profile" ); |
4361 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, MO SMS control not supported by ME product profile" ); |
4368 OstTrace0( TRACE_NORMAL, DUP3_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, MO SMS control not supported by ME product profile" ); |
4362 OstTrace0( TRACE_NORMAL, DUP3_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, MO SMS control not supported by ME product profile" ); |
4369 iMoSmsSupportedInPp = EFalse; |
4363 iMoSmsSupportedInPp = EFalse; |
4370 // Feature was not activated in product profile |
4364 // Feature was not activated in product profile |
4371 // Set MoSmsCtrl object´s member |
4365 // Set MoSmsCtrl object´s member |
4372 // iIsMoSmsCtrlActivated to EFalse |
4366 // iIsMoSmsCtrlActivated to EFalse |
4373 iTsySatMessaging->GetMoSmsCtrl()->Deactivate(); |
4367 iTsySatMessaging->GetMoSmsCtrl()->Deactivate(); |
4379 if ( INFO_PP_ENHANCED_NETWORK_SELECTION == pPFeatures [0] ) |
4373 if ( INFO_PP_ENHANCED_NETWORK_SELECTION == pPFeatures [0] ) |
4380 { |
4374 { |
4381 //Get the value of the ENS feature |
4375 //Get the value of the ENS feature |
4382 if ( INFO_PP_FALSE != pPFeatures [1] ) |
4376 if ( INFO_PP_FALSE != pPFeatures [1] ) |
4383 { |
4377 { |
4384 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, INFO_PP_ENHANCED_NETWORK_SELECTION supported by ME product profile" ); |
4378 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, INFO_PP_ENHANCED_NETWORK_SELECTION supported by ME product profile" ); |
4385 OstTrace0( TRACE_NORMAL, DUP8_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, INFO_PP_ENHANCED_NETWORK_SELECTION supported by ME product profile" ); |
4379 OstTrace0( TRACE_NORMAL, DUP8_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, INFO_PP_ENHANCED_NETWORK_SELECTION supported by ME product profile" ); |
4386 iEnsSupportedInPp = ETrue; |
4380 iEnsSupportedInPp = ETrue; |
4387 } |
4381 } |
4388 else |
4382 else |
4389 { |
4383 { |
4390 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, INFO_PP_ENHANCED_NETWORK_SELECTION not supported by ME product profile" ); |
4384 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, INFO_PP_ENHANCED_NETWORK_SELECTION not supported by ME product profile" ); |
4391 OstTrace0( TRACE_NORMAL, DUP9_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, INFO_PP_ENHANCED_NETWORK_SELECTION not supported by ME product profile" ); |
4385 OstTrace0( TRACE_NORMAL, DUP9_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, INFO_PP_ENHANCED_NETWORK_SELECTION not supported by ME product profile" ); |
4392 iEnsSupportedInPp = EFalse; |
4386 iEnsSupportedInPp = EFalse; |
4393 } |
4387 } |
4394 } |
4388 } |
4395 #endif // INFO_PP_ENHANCED_NETWORK_SELECTION |
4389 #endif // INFO_PP_ENHANCED_NETWORK_SELECTION |
4396 |
4390 |
4398 if ( INFO_PP_SIM_OLD_POLL_INTERVAL == pPFeatures [0] ) |
4392 if ( INFO_PP_SIM_OLD_POLL_INTERVAL == pPFeatures [0] ) |
4399 { |
4393 { |
4400 //Get the value of the SIM_POLL_INTERVAL control feature |
4394 //Get the value of the SIM_POLL_INTERVAL control feature |
4401 if ( INFO_PP_FALSE != pPFeatures [1] ) |
4395 if ( INFO_PP_FALSE != pPFeatures [1] ) |
4402 { |
4396 { |
4403 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, INFO_PP_SIM_OLD_POLL_INTERVAL supported by ME product profile" ); |
4397 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, INFO_PP_SIM_OLD_POLL_INTERVAL supported by ME product profile" ); |
4404 OstTrace0( TRACE_NORMAL, DUP4_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, INFO_PP_SIM_OLD_POLL_INTERVAL supported by ME product profile" ); |
4398 OstTrace0( TRACE_NORMAL, DUP4_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, INFO_PP_SIM_OLD_POLL_INTERVAL supported by ME product profile" ); |
4405 iOldPollIntervalSupportedInPp = ETrue; |
4399 iOldPollIntervalSupportedInPp = ETrue; |
4406 } |
4400 } |
4407 else |
4401 else |
4408 { |
4402 { |
4409 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, INFO_PP_SIM_OLD_POLL_INTERVAL not supported by ME product profile" ); |
4403 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, INFO_PP_SIM_OLD_POLL_INTERVAL not supported by ME product profile" ); |
4410 OstTrace0( TRACE_NORMAL, DUP5_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, INFO_PP_SIM_OLD_POLL_INTERVAL not supported by ME product profile" ); |
4404 OstTrace0( TRACE_NORMAL, DUP5_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, INFO_PP_SIM_OLD_POLL_INTERVAL not supported by ME product profile" ); |
4411 iOldPollIntervalSupportedInPp = EFalse; |
4405 iOldPollIntervalSupportedInPp = EFalse; |
4412 } |
4406 } |
4413 } |
4407 } |
4414 #endif // INFO_PP_SIM_OLD_POLL_INTERVAL |
4408 #endif // INFO_PP_SIM_OLD_POLL_INTERVAL |
4415 //no else |
4409 //no else |
4417 } |
4411 } |
4418 break; |
4412 break; |
4419 } |
4413 } |
4420 case INFO_NO_NUMBER: |
4414 case INFO_NO_NUMBER: |
4421 { |
4415 { |
4422 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, Requested feature not defined in product profile" ); |
4416 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, Requested feature not defined in product profile" ); |
4423 OstTrace0( TRACE_NORMAL, DUP6_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, Requested feature not defined in product profile" ); |
4417 OstTrace0( TRACE_NORMAL, DUP6_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, Requested feature not defined in product profile" ); |
4424 #ifdef INFO_PP_ATK_MO_SM_CONTROL |
4418 #ifdef INFO_PP_ATK_MO_SM_CONTROL |
4425 // Request was for INFO_PP_ATK_MO_SM_CONTROL |
4419 // Request was for INFO_PP_ATK_MO_SM_CONTROL |
4426 if ( traId == iInfoPpMoSmsTraId ) |
4420 if ( traId == iInfoPpMoSmsTraId ) |
4427 { |
4421 { |
4428 // If the MO SMS feature is not defined in product profile, |
4422 // If the MO SMS feature is not defined in product profile, |
4429 // internal Boolean used as feature supported ( for refresh ) |
4423 // internal Boolean used as feature supported ( for refresh ) |
4430 iMoSmsSupportedInPp = ETrue; |
4424 iMoSmsSupportedInPp = ETrue; |
4425 TInt ret( KErrNone ); |
|
4431 // Continue as usual by checking feature avalability from USIM |
4426 // Continue as usual by checking feature avalability from USIM |
4432 if ( UICC_CARD_TYPE_UICC == iCardType ) |
4427 if ( UICC_CARD_TYPE_UICC == iCardType ) |
4433 { |
4428 { |
4434 // USIM: Read MO-SMS control from byte 4 |
4429 // USIM: Read MO-SMS control from byte 4 |
4435 UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 5 ); |
4430 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte4, 3 ); |
4431 User::LeaveIfError( ret ); |
|
4436 } |
4432 } |
4437 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
4433 else if ( UICC_CARD_TYPE_ICC == iCardType ) |
4438 { |
4434 { |
4439 // SIM: Read MO-SMS control from byte 5 |
4435 // SIM: Read MO-SMS control from byte 10 |
4440 UiccReadServiceTableReq( KUiccTrIdServiceTableByte5, 6 ); |
4436 ret = UiccReadServiceTableReq( KUiccTrIdServiceTableByte10, 9 ); |
4437 User::LeaveIfError( ret ); |
|
4441 } |
4438 } |
4442 } |
4439 } |
4443 #endif // INFO_PP_ATK_MO_SM_CONTROL |
4440 #endif // INFO_PP_ATK_MO_SM_CONTROL |
4444 |
4441 |
4445 break; |
4442 break; |
4446 } |
4443 } |
4447 case INFO_FAIL: |
4444 case INFO_FAIL: |
4448 default: |
4445 default: |
4449 { |
4446 { |
4450 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadResp, - default Requested feature not supported by ME product profile" ); |
4447 TFLOGSTRING("TSY: CSatMessHandler::InfoPpReadRespL, - default Requested feature not supported by ME product profile" ); |
4451 OstTrace0( TRACE_NORMAL, DUP7_CSATMESSHANDLER_INFOPPREADRESP, "CSatMessHandler::InfoPpReadResp, - default Requested feature not supported by ME product profile" ); |
4448 OstTrace0( TRACE_NORMAL, DUP7_CSATMESSHANDLER_INFOPPREADRESPL_TD, "CSatMessHandler::InfoPpReadRespL, - default Requested feature not supported by ME product profile" ); |
4452 #ifdef INFO_PP_ATK_MO_SM_CONTROL |
4449 #ifdef INFO_PP_ATK_MO_SM_CONTROL |
4453 // Request was for INFO_PP_ATK_MO_SM_CONTROL |
4450 // Request was for INFO_PP_ATK_MO_SM_CONTROL |
4454 if ( traId == iInfoPpMoSmsTraId ) |
4451 if ( traId == iInfoPpMoSmsTraId ) |
4455 { |
4452 { |
4456 iMoSmsSupportedInPp = EFalse; |
4453 iMoSmsSupportedInPp = EFalse; |
4464 // Zero iInfoPpMoSmsTraId if used. Not used by default. |
4461 // Zero iInfoPpMoSmsTraId if used. Not used by default. |
4465 if ( traId == iInfoPpMoSmsTraId ) |
4462 if ( traId == iInfoPpMoSmsTraId ) |
4466 { |
4463 { |
4467 iInfoPpMoSmsTraId = 0; |
4464 iInfoPpMoSmsTraId = 0; |
4468 } |
4465 } |
4469 } |
4466 }*/ |
4470 |
4467 |
4471 |
4468 |
4472 // ----------------------------------------------------------------------------- |
4469 // ----------------------------------------------------------------------------- |
4473 // CSatMessHandler::CheckTlvObjects |
4470 // CSatMessHandler::CheckTlvObjects |
4474 // Validates every simple tlv object from proactive command |
4471 // Validates every simple tlv object from proactive command |
4475 // ----------------------------------------------------------------------------- |
4472 // ----------------------------------------------------------------------------- |
4476 // |
4473 // |
4477 TInt CSatMessHandler::CheckTlvObjects( CBerTlv& berTlv ) |
4474 TInt CSatMessHandler::CheckTlvObjects( CBerTlv& berTlv ) |
4478 { |
4475 { |
4479 TFLOGSTRING("TSY: CSatMessHandler::CheckTlvObjects" ); |
4476 TFLOGSTRING("TSY: CSatMessHandler::CheckTlvObjects" ); |
4480 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CHECKTLVOBJECTS, "CSatMessHandler::CheckTlvObjects" ); |
4477 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_CHECKTLVOBJECTS_TD, "CSatMessHandler::CheckTlvObjects" ); |
4481 |
4478 |
4482 TInt ret( KErrNone ); |
4479 TInt ret( KErrNone ); |
4483 TPtrC8 dataPtr = berTlv.Data(); |
4480 TPtrC8 dataPtr = berTlv.Data(); |
4484 TUint16 berTlvLength( berTlv.GetLength() ); |
4481 TUint16 berTlvLength( berTlv.GetLength() ); |
4485 TInt totalLength = 0; |
4482 TInt totalLength = 0; |
4518 // length of the simple TLV value must be 128-255, otherwise |
4515 // length of the simple TLV value must be 128-255, otherwise |
4519 // it is treaded as error |
4516 // it is treaded as error |
4520 if( 0x80 > dataPtr[index] || 0xFF < dataPtr[index] ) |
4517 if( 0x80 > dataPtr[index] || 0xFF < dataPtr[index] ) |
4521 { |
4518 { |
4522 TFLOGSTRING2("TSY: CSatMessHandler::CheckTlvObjects: corrupted simple tlv obj, len: %d even it should be 128-255", dataPtr[index] ); |
4519 TFLOGSTRING2("TSY: CSatMessHandler::CheckTlvObjects: corrupted simple tlv obj, len: %d even it should be 128-255", dataPtr[index] ); |
4523 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_CHECKTLVOBJECTS, "CSatMessHandler::CheckTlvObjects; corrupted simple tlv obj, len: %d even it should be 128-255", dataPtr[index] ); |
4520 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_CHECKTLVOBJECTS_TD, "CSatMessHandler::CheckTlvObjects; corrupted simple tlv obj, len: %d even it should be 128-255", dataPtr[index] ); |
4524 ret = KErrCorrupt; |
4521 ret = KErrCorrupt; |
4525 break; |
4522 break; |
4526 } |
4523 } |
4527 } |
4524 } |
4528 |
4525 |
4532 // length of the simple TLV value must be 0-127, otherwise |
4529 // length of the simple TLV value must be 0-127, otherwise |
4533 // it is treaded as error |
4530 // it is treaded as error |
4534 if( 0x80 <= dataPtr[index] ) |
4531 if( 0x80 <= dataPtr[index] ) |
4535 { |
4532 { |
4536 TFLOGSTRING2("TSY: CSatMessHandler::CheckTlvObjects: corrupted simple tlv obj, len: %d even it should be 0-127", dataPtr[index] ); |
4533 TFLOGSTRING2("TSY: CSatMessHandler::CheckTlvObjects: corrupted simple tlv obj, len: %d even it should be 0-127", dataPtr[index] ); |
4537 OstTrace1( TRACE_NORMAL, DUP2_CSATMESSHANDLER_CHECKTLVOBJECTS, "CSatMessHandler::CheckTlvObjects; corrupted simple tlv obj, len: %d even it should be 0-127", dataPtr[index] ); |
4534 OstTrace1( TRACE_NORMAL, DUP2_CSATMESSHANDLER_CHECKTLVOBJECTS_TD, "CSatMessHandler::CheckTlvObjects; corrupted simple tlv obj, len: %d even it should be 0-127", dataPtr[index] ); |
4538 ret = KErrCorrupt; |
4535 ret = KErrCorrupt; |
4539 break; |
4536 break; |
4540 } |
4537 } |
4541 } |
4538 } |
4542 |
4539 |
4553 // let's check does length from proactive command match to |
4550 // let's check does length from proactive command match to |
4554 // calculated length |
4551 // calculated length |
4555 if( berTlvLength != totalLength ) |
4552 if( berTlvLength != totalLength ) |
4556 { |
4553 { |
4557 TFLOGSTRING3("TSY: CSatMessHandler::CheckTlvObjects: proactive command len (%d) and calculated len (%d) doesn't match", berTlvLength, totalLength ); |
4554 TFLOGSTRING3("TSY: CSatMessHandler::CheckTlvObjects: proactive command len (%d) and calculated len (%d) doesn't match", berTlvLength, totalLength ); |
4558 OstTraceExt2( TRACE_NORMAL, DUP3_CSATMESSHANDLER_CHECKTLVOBJECTS, "CSatMessHandler::CheckTlvObjects; proactive command len (%d) and calculated len (%d) doesn't match", berTlvLength, totalLength ); |
4555 OstTraceExt2( TRACE_NORMAL, DUP3_CSATMESSHANDLER_CHECKTLVOBJECTS_TD, "CSatMessHandler::CheckTlvObjects; proactive command len (%d) and calculated len (%d) doesn't match", berTlvLength, totalLength ); |
4559 ret = KErrCorrupt; |
4556 ret = KErrCorrupt; |
4560 } |
4557 } |
4561 |
4558 |
4562 return ret; |
4559 return ret; |
4563 } |
4560 } |
4569 // ----------------------------------------------------------------------------- |
4566 // ----------------------------------------------------------------------------- |
4570 // |
4567 // |
4571 void CSatMessHandler::SimMoSmsControlAvail( TUint8 aStatus ) |
4568 void CSatMessHandler::SimMoSmsControlAvail( TUint8 aStatus ) |
4572 { |
4569 { |
4573 TFLOGSTRING("TSY: CSatMessHandler::SimMoSmsControlAvail" ); |
4570 TFLOGSTRING("TSY: CSatMessHandler::SimMoSmsControlAvail" ); |
4574 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SIMMOSMSCONTROLAVAIL, "CSatMessHandler::SimMoSmsControlAvail" ); |
4571 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SIMMOSMSCONTROLAVAIL_TD, "CSatMessHandler::SimMoSmsControlAvail" ); |
4575 |
4572 |
4576 if( SIM_SERV_OK == aStatus ) |
4573 // Activate the MO-SMS Control in SMS server. This is done by |
4574 // sending a request SMS_RESOURCE_CONF_REQ to SMS server |
|
4575 TBuf8<SIZE_SMS_RESOURCE_CONF_REQ + SIZE_SMS_SB_RESOURCE_CONF> data; |
|
4576 // Append Configuration operation |
|
4577 data.Append( SMS_RES_CONF_SET ); |
|
4578 // Number of Subblocks |
|
4579 data.Append( 1 ); |
|
4580 // Add Subblock |
|
4581 TIsiSubBlock ResourceConfReqSb( |
|
4582 data, |
|
4583 SMS_SB_RESOURCE_CONF, |
|
4584 EIsiSubBlockTypeId16Len16 ); |
|
4585 |
|
4586 if( aStatus ) |
|
4577 { |
4587 { |
4578 // Set MoSmsCtrl object´s member iIsMoSmsCtrlActivated to ETrue |
4588 // Set MoSmsCtrl object´s member iIsMoSmsCtrlActivated to ETrue |
4579 iTsySatMessaging->GetMoSmsCtrl()->Activate(); |
4589 iTsySatMessaging->GetMoSmsCtrl()->Activate(); |
4580 // Activate the MO-SMS Control in SMS server. This is done by |
|
4581 // sending a request SMS_RESOURCE_CONF_REQ to SMS server |
|
4582 TBuf8<SIZE_SMS_RESOURCE_CONF_REQ + SIZE_SMS_SB_RESOURCE_CONF> data; |
|
4583 // Append Configuration operation |
|
4584 data.Append( SMS_RES_CONF_SET ); |
|
4585 // Number of Subblocks |
|
4586 data.Append( 1 ); |
|
4587 // Add Subblock |
|
4588 //SMS_RESOURCE_IDS to zero SMS_RES_ID_MASK_MO_SM_INIT |
|
4589 TIsiSubBlock ResourceConfReqSb( |
|
4590 data, |
|
4591 SMS_SB_RESOURCE_CONF, |
|
4592 EIsiSubBlockTypeId16Len16 ); |
|
4593 |
|
4594 TSatUtility::AppendWord( SMS_RES_ID_MO_SM_INIT, data ); |
4590 TSatUtility::AppendWord( SMS_RES_ID_MO_SM_INIT, data ); |
4595 TSatUtility::AppendWord( SMS_RES_ID_MASK_MO_SM_INIT, data); |
4591 } |
4596 |
|
4597 ResourceConfReqSb.CompleteSubBlock(); |
|
4598 SmsResoureConfReq( |
|
4599 iTsySatMessaging->GetTransactionId(), |
|
4600 SMS_RESOURCE_CONF_REQ, |
|
4601 data ); |
|
4602 } |
|
4603 // should not send SMS_RESOURCE_CONF_REQ if there is no MO SMS control enabled in SIM card |
|
4604 else |
4592 else |
4605 { |
4593 { |
4606 // Set MoSmsCtrl object´s member IsMoSmsCtrlDeActivated to EFalse |
4594 // Set MoSmsCtrl object´s member IsMoSmsCtrlDeActivated to EFalse |
4607 iTsySatMessaging->GetMoSmsCtrl()->Deactivate(); |
4595 iTsySatMessaging->GetMoSmsCtrl()->Deactivate(); |
4608 } |
4596 TSatUtility::AppendWord( 0x0000, data); |
4597 } |
|
4598 // SMS_RES_ID_MASK_MO_SM_INIT is the only "official" value for mask |
|
4599 TSatUtility::AppendWord( SMS_RES_ID_MASK_MO_SM_INIT, data); |
|
4600 |
|
4601 ResourceConfReqSb.CompleteSubBlock(); |
|
4602 SmsResoureConfReq( |
|
4603 iTsySatMessaging->GetTransactionId(), |
|
4604 SMS_RESOURCE_CONF_REQ, |
|
4605 data ); |
|
4609 } |
4606 } |
4610 |
4607 |
4611 // ----------------------------------------------------------------------------- |
4608 // ----------------------------------------------------------------------------- |
4612 // CSatMessHandler::UiccTerminalProfileReq |
4609 // CSatMessHandler::UiccTerminalProfileReq |
4613 // Send terminal profile |
4610 // Send terminal profile |
4614 // ----------------------------------------------------------------------------- |
4611 // ----------------------------------------------------------------------------- |
4615 // |
4612 // |
4616 void CSatMessHandler::UiccTerminalProfileReq() |
4613 void CSatMessHandler::UiccTerminalProfileReq() |
4617 { |
4614 { |
4618 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCTERMINALPROFILEREQ, "CSatMessHandler::UiccTerminalProfileReq" ); |
4615 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCTERMINALPROFILEREQ_TD, "CSatMessHandler::UiccTerminalProfileReq" ); |
4619 TFLOGSTRING("TSY: CSatMessHandler::UiccTerminalProfileReq"); |
4616 TFLOGSTRING("TSY: CSatMessHandler::UiccTerminalProfileReq"); |
4620 |
4617 |
4621 // Pointer to terminal profile buffer |
4618 // Pointer to terminal profile buffer |
4622 const TUint8* terminalProfilePtr( NULL ); |
4619 const TUint8* terminalProfilePtr( NULL ); |
4623 // Size of terminal profile |
4620 // Size of terminal profile |
4683 TInt CSatMessHandler::UiccReadServiceTableReq( |
4680 TInt CSatMessHandler::UiccReadServiceTableReq( |
4684 TUint8 aTrId, |
4681 TUint8 aTrId, |
4685 TUint16 aFileOffset ) |
4682 TUint16 aFileOffset ) |
4686 { |
4683 { |
4687 TFLOGSTRING2("TSY: CSatMessHandler::UiccReadServiceTableReq, transaction ID: %d", aTrId ); |
4684 TFLOGSTRING2("TSY: CSatMessHandler::UiccReadServiceTableReq, transaction ID: %d", aTrId ); |
4688 OstTraceExt1( TRACE_NORMAL, CSATMESSHANDLER_UICCREADSERVICETABLE, "CSatMessHandler::UiccReadServiceTableReq;aTrId=%hhu", aTrId ); |
4685 OstTraceExt1( TRACE_NORMAL, CSATMESSHANDLER_UICCREADSERVICETABLE_TD, "CSatMessHandler::UiccReadServiceTableReq;aTrId=%hhu", aTrId ); |
4689 |
4686 |
4690 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
4687 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
4691 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
4688 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
4692 isiMsg.Set8bit( |
4689 isiMsg.Set8bit( |
4693 ISI_HEADER_SIZE + UICC_APPL_CMD_REQ_OFFSET_TRANSID, |
4690 ISI_HEADER_SIZE + UICC_APPL_CMD_REQ_OFFSET_TRANSID, |
4982 // ----------------------------------------------------------------------------- |
4979 // ----------------------------------------------------------------------------- |
4983 // |
4980 // |
4984 TInt CSatMessHandler::UiccCatReq( TUint8 aCommand ) |
4981 TInt CSatMessHandler::UiccCatReq( TUint8 aCommand ) |
4985 { |
4982 { |
4986 TFLOGSTRING("TSY: CSatMessHandler::UiccCatReq"); |
4983 TFLOGSTRING("TSY: CSatMessHandler::UiccCatReq"); |
4987 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQ, "CSatMessHandler::UiccCatReq" ); |
4984 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQ_TD, "CSatMessHandler::UiccCatReq" ); |
4988 |
4985 |
4989 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
4986 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
4990 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
4987 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
4991 isiMsg.Set8bit( |
4988 isiMsg.Set8bit( |
4992 ISI_HEADER_SIZE + UICC_CAT_REQ_OFFSET_TRANSID, |
4989 ISI_HEADER_SIZE + UICC_CAT_REQ_OFFSET_TRANSID, |
5017 const TUint8 aServiceType, // Type of refresh |
5014 const TUint8 aServiceType, // Type of refresh |
5018 TDes8& aFileList, // List of files |
5015 TDes8& aFileList, // List of files |
5019 const TDesC8& aAid ) // Application ID (USIM) |
5016 const TDesC8& aAid ) // Application ID (USIM) |
5020 { |
5017 { |
5021 TFLOGSTRING("TSY: CSatMessHandler::UiccCatReqRefresh"); |
5018 TFLOGSTRING("TSY: CSatMessHandler::UiccCatReqRefresh"); |
5022 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQREFRESH, "CSatMessHandler::UiccCatReqRefresh" ); |
5019 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQREFRESH_TD, "CSatMessHandler::UiccCatReqRefresh" ); |
5023 |
5020 |
5024 TUint8 numOfSubblocks( 1 ); // One mandatory subblock UICC_SB_REFRESH |
5021 TUint8 numOfSubblocks( 1 ); // One mandatory subblock UICC_SB_REFRESH |
5025 TUint8 uiccSbOffset( |
5022 TUint8 uiccSbOffset( |
5026 ISI_HEADER_SIZE + SIZE_UICC_CAT_REQ + SIZE_UICC_SB_REFRESH ); |
5023 ISI_HEADER_SIZE + SIZE_UICC_CAT_REQ + SIZE_UICC_SB_REFRESH ); |
5027 |
5024 |
5083 TInt position( aFileList.LocateReverse( KRefreshMasterFileHeader ) ); |
5080 TInt position( aFileList.LocateReverse( KRefreshMasterFileHeader ) ); |
5084 if ( KErrNotFound == position ) |
5081 if ( KErrNotFound == position ) |
5085 { |
5082 { |
5086 // File path is corrupted |
5083 // File path is corrupted |
5087 TFLOGSTRING("TSY: CSatMessHandler::SimAtkReq, File path is corrupted"); |
5084 TFLOGSTRING("TSY: CSatMessHandler::SimAtkReq, File path is corrupted"); |
5088 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATREQREFRESH, "CSatMessHandler::UiccCatReqRefresh,File path is corrupted" ); |
5085 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATREQREFRESH_TD, "CSatMessHandler::UiccCatReqRefresh,File path is corrupted" ); |
5089 break; |
5086 break; |
5090 } |
5087 } |
5091 |
5088 |
5092 // Length of file path |
5089 // Length of whole file path (file path + file id) |
5093 TUint8 length( (TUint8) ( aFileList.Length() - position ) ); |
5090 TUint8 length( (TUint8) ( aFileList.Length() - position ) ); |
5091 // length of file path (without file id) |
|
5092 TUint8 pathLength( (TUint8) ( length - KUiccFileIdLength ) ); |
|
5094 // File path |
5093 // File path |
5095 TBuf8<KUiccFilePathLength> filePath( |
5094 TBuf8<KUiccFilePathLength> filePath( |
5096 aFileList.Mid( position, length ) ); |
5095 aFileList.Mid( position, length ) ); |
5097 // File ID is two last bytes |
5096 // File ID is two last bytes |
5098 TBuf8<KUiccFileIdLength> fileId( |
5097 TBuf8<KUiccFileIdLength> fileId( |
5109 // File ID SFI is not known |
5108 // File ID SFI is not known |
5110 uiccSbApplPathBuf.Append( UICC_SFI_NOT_PRESENT ); |
5109 uiccSbApplPathBuf.Append( UICC_SFI_NOT_PRESENT ); |
5111 // Filler |
5110 // Filler |
5112 uiccSbApplPathBuf.Append( KUiccPadding ); |
5111 uiccSbApplPathBuf.Append( KUiccPadding ); |
5113 // File path length in bytes |
5112 // File path length in bytes |
5114 uiccSbApplPathBuf.Append( length ); |
5113 uiccSbApplPathBuf.Append( pathLength ); |
5115 // Filler |
5114 // Filler |
5116 uiccSbApplPathBuf.Append( KUiccPadding ); |
5115 uiccSbApplPathBuf.Append( KUiccPadding ); |
5117 // File path |
5116 // File path |
5118 uiccSbApplPathBuf.Append( filePath ); |
5117 uiccSbApplPathBuf.Append( filePath.Mid( 0, pathLength ) ); |
5119 // Append subblock to ISI message |
5118 // Append subblock to ISI message |
5120 isiMsg.CopyData( uiccSbOffset, uiccSbApplPath.CompleteSubBlock() ); |
5119 isiMsg.CopyData( uiccSbOffset, uiccSbApplPath.CompleteSubBlock() ); |
5121 // Update subblock offset |
5120 // Update subblock offset |
5122 uiccSbOffset += uiccSbApplPathBuf.Length(); |
5121 uiccSbOffset += uiccSbApplPathBuf.Length(); |
5123 |
5122 |
5147 const TDes8& aCommandDetails, // Command details tlv |
5146 const TDes8& aCommandDetails, // Command details tlv |
5148 const TDesC8& aBerTlvSpecificData, // BER-TLV specific data |
5147 const TDesC8& aBerTlvSpecificData, // BER-TLV specific data |
5149 const TUint8 aTransId ) |
5148 const TUint8 aTransId ) |
5150 { |
5149 { |
5151 TFLOGSTRING("TSY: CSatMessHandler::UiccCatReqTerminalResponse"); |
5150 TFLOGSTRING("TSY: CSatMessHandler::UiccCatReqTerminalResponse"); |
5152 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQTERMINALRESPONSE, "CSatMessHandler::UiccCatReqTerminalResponse" ); |
5151 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATREQTERMINALRESPONSE_TD, "CSatMessHandler::UiccCatReqTerminalResponse" ); |
5153 |
5152 |
5154 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
5153 TIsiSend isiMsg( iPnSend->SendBufferDes() ); |
5155 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
5154 isiMsg.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_UICC ); |
5156 isiMsg.Set8bit( |
5155 isiMsg.Set8bit( |
5157 ISI_HEADER_SIZE + UICC_CAT_REQ_OFFSET_TRANSID, |
5156 ISI_HEADER_SIZE + UICC_CAT_REQ_OFFSET_TRANSID, |
5210 } |
5209 } |
5211 |
5210 |
5212 // Save terminal resp transaction id |
5211 // Save terminal resp transaction id |
5213 iTerminalRespTraId = aTransId; |
5212 iTerminalRespTraId = aTransId; |
5214 TFLOGSTRING2("TSY: CSatMessHandler::UiccCatReqTerminalResponse iTerminalRespTraId=%d", iTerminalRespTraId); |
5213 TFLOGSTRING2("TSY: CSatMessHandler::UiccCatReqTerminalResponse iTerminalRespTraId=%d", iTerminalRespTraId); |
5215 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATREQTERMINALRESPONSE, "CSatMessHandler::UiccCatReqTerminalResponse;iTerminalRespTraId=%d", iTerminalRespTraId ); |
5214 OstTrace1( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATREQTERMINALRESPONSE_TD, "CSatMessHandler::UiccCatReqTerminalResponse;iTerminalRespTraId=%d", iTerminalRespTraId ); |
5216 |
5215 |
5217 // Append subblock to ISI message |
5216 // Append subblock to ISI message |
5218 isiMsg.CopyData( |
5217 isiMsg.CopyData( |
5219 ISI_HEADER_SIZE + SIZE_UICC_CAT_REQ, |
5218 ISI_HEADER_SIZE + SIZE_UICC_CAT_REQ, |
5220 uiccSbTerminalResponse.CompleteSubBlock() ); |
5219 uiccSbTerminalResponse.CompleteSubBlock() ); |
5227 // Handles UICC response for envelope |
5226 // Handles UICC response for envelope |
5228 // ----------------------------------------------------------------------------- |
5227 // ----------------------------------------------------------------------------- |
5229 // |
5228 // |
5230 TBool CSatMessHandler::UiccCatRespEnvelope( const TIsiReceiveC& aIsiMessage ) |
5229 TBool CSatMessHandler::UiccCatRespEnvelope( const TIsiReceiveC& aIsiMessage ) |
5231 { |
5230 { |
5232 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATENVELOPERESP, "CSatMessHandler::UiccCatRespEnvelope" ); |
5231 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATENVELOPERESP_TD, "CSatMessHandler::UiccCatRespEnvelope" ); |
5233 TFLOGSTRING("TSY:CSatMessHandler::UiccCatRespEnvelope"); |
5232 TFLOGSTRING("TSY:CSatMessHandler::UiccCatRespEnvelope"); |
5234 |
5233 |
5235 TBool handled( EFalse ); |
5234 TBool handled( EFalse ); |
5236 TUint8 trId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) ); |
5235 TUint8 trId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) ); |
5237 |
5236 |
5255 if ( KAtkSwDataNtfSw1NormalEnding == sw1 |
5254 if ( KAtkSwDataNtfSw1NormalEnding == sw1 |
5256 && KAtkSwDataNtfSw2NormalEnding == sw2 ) |
5255 && KAtkSwDataNtfSw2NormalEnding == sw2 ) |
5257 { |
5256 { |
5258 // SIM responded OK. Remove stored envelope. |
5257 // SIM responded OK. Remove stored envelope. |
5259 iTsySatMessaging->GetSatTimer()->RemoveEnvelope( trId ); |
5258 iTsySatMessaging->GetSatTimer()->RemoveEnvelope( trId ); |
5259 |
|
5260 if ( iTerminalRespTraId == trId ) |
|
5261 { |
|
5262 iTsySatMessaging->SessionEnd( aIsiMessage ); |
|
5263 iTerminalRespTraId = KNoTransactionOngoing; |
|
5264 } |
|
5260 } |
5265 } |
5261 else |
5266 else |
5262 { |
5267 { |
5263 // Problems in envelope sending, resend envelope if appropriate. |
5268 // Problems in envelope sending, resend envelope if appropriate. |
5264 if ( KErrNone == iTsySatMessaging->GetSatTimer()-> |
5269 if ( KErrNone == iTsySatMessaging->GetSatTimer()-> |
5265 ActivateEnvelopeResend( trId, sw1 ) ) |
5270 ActivateEnvelopeResend( trId, sw1 ) ) |
5266 { |
5271 { |
5267 TFLOGSTRING( "TSY:CSatMessHandler::UiccCatRespEnvelope, resending of envelope" ); |
5272 TFLOGSTRING( "TSY:CSatMessHandler::UiccCatRespEnvelope, resending of envelope" ); |
5268 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_UICCCATENVELOPERESP, "CSatMessHandler::UiccCatRespEnvelope,resending of envelope" ); |
5273 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_UICCCATENVELOPERESP_TD, "CSatMessHandler::UiccCatRespEnvelope,resending of envelope" ); |
5269 // Envelope will be resent, mark as handled |
5274 // Envelope will be resent, mark as handled |
5270 handled = ETrue; |
5275 handled = ETrue; |
5271 } |
5276 } |
5272 } |
5277 } |
5273 } |
5278 } |
5274 else // Subblock is mandatory |
5279 else // Subblock is mandatory |
5275 { |
5280 { |
5276 TFLOGSTRING("TSY: CSatMessHandler::UiccCatRespEnvelope - Mandatory subblock UICC_SB_APDU not found"); |
5281 TFLOGSTRING("TSY: CSatMessHandler::UiccCatRespEnvelope - Mandatory subblock UICC_SB_APDU not found"); |
5277 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATENVELOPERESP, "CSatMessHandler::UiccCatRespEnvelope- Mandatory subblock UICC_SB_APDU not found" ); |
5282 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATENVELOPERESP_TD, "CSatMessHandler::UiccCatRespEnvelope- Mandatory subblock UICC_SB_APDU not found" ); |
5278 } |
5283 } |
5279 |
5284 |
5280 return handled; |
5285 return handled; |
5281 } |
5286 } |
5282 |
5287 |
5287 // ----------------------------------------------------------------------------- |
5292 // ----------------------------------------------------------------------------- |
5288 // |
5293 // |
5289 TBool CSatMessHandler::UiccCatRespTerminalResponse( |
5294 TBool CSatMessHandler::UiccCatRespTerminalResponse( |
5290 const TIsiReceiveC& aIsiMessage ) |
5295 const TIsiReceiveC& aIsiMessage ) |
5291 { |
5296 { |
5292 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_UICCCATRESPTERMINALRESPONSE, "CSatMessHandler::UiccCatRespTerminalResponse" ); |
5297 OstTrace0( TRACE_NORMAL, DUP2_CSATMESSHANDLER_UICCCATRESPTERMINALRESPONSE_TD, "CSatMessHandler::UiccCatRespTerminalResponse" ); |
5293 TFLOGSTRING("TSY:CSatMessHandler::UiccCatRespTerminalResponse"); |
5298 TFLOGSTRING("TSY:CSatMessHandler::UiccCatRespTerminalResponse"); |
5294 |
5299 |
5295 TBool handled( EFalse ); |
5300 TBool handled( EFalse ); |
5296 TUint8 trId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) ); |
5301 TUint8 trId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) ); |
5297 |
5302 |
5314 |
5319 |
5315 if ( KAtkSwDataNtfSw1NormalEnding == sw1 |
5320 if ( KAtkSwDataNtfSw1NormalEnding == sw1 |
5316 && KAtkSwDataNtfSw2NormalEnding == sw2 ) |
5321 && KAtkSwDataNtfSw2NormalEnding == sw2 ) |
5317 { |
5322 { |
5318 TFLOGSTRING("CSatMessHandler::UiccCatRespTerminalResponse, - SIM SESSION END, 90 00 -"); |
5323 TFLOGSTRING("CSatMessHandler::UiccCatRespTerminalResponse, - SIM SESSION END, 90 00 -"); |
5319 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATRESPTERMINALRESPONSE, "CSatMessHandler::UiccCatRespTerminalResponse" ); |
5324 OstTrace0( TRACE_NORMAL, DUP1_CSATMESSHANDLER_UICCCATRESPTERMINALRESPONSE_TD, "CSatMessHandler::UiccCatRespTerminalResponse" ); |
5320 |
5325 |
5321 iTsySatMessaging->SessionEnd( aIsiMessage ); |
5326 iTsySatMessaging->SessionEnd( aIsiMessage ); |
5322 |
5327 |
5323 // Set flag to indicate that terminal response has been |
5328 // Set flag to indicate that terminal response has been |
5324 // processed by the SIM with status '90 00'. |
5329 // processed by the SIM with status '90 00'. |
5325 iTsySatMessaging->GetSatTimer()-> |
5330 iTsySatMessaging->GetSatTimer()-> |
5326 SetProactiveCommandOnGoingStatus( EFalse ); |
5331 SetProactiveCommandOnGoingStatus( EFalse ); |
5332 iTerminalRespTraId = KNoTransactionOngoing; |
|
5327 } |
5333 } |
5328 handled = ETrue; |
5334 handled = ETrue; |
5329 |
5335 |
5330 #ifdef INFO_PP_ENHANCED_NETWORK_SELECTION |
5336 #ifdef INFO_PP_ENHANCED_NETWORK_SELECTION |
5331 // Only if SET UP EVENT LIST TR is sent |
5337 // Only if SET UP EVENT LIST TR is sent |
5337 #endif // INFO_PP_ENHANCED_NETWORK_SELECTION |
5343 #endif // INFO_PP_ENHANCED_NETWORK_SELECTION |
5338 } |
5344 } |
5339 else // Subblock is not found |
5345 else // Subblock is not found |
5340 { |
5346 { |
5341 TFLOGSTRING("TSY: CSatMessHandler::UiccCatRespTerminalResponse - Subblock UICC_SB_APDU not found"); |
5347 TFLOGSTRING("TSY: CSatMessHandler::UiccCatRespTerminalResponse - Subblock UICC_SB_APDU not found"); |
5342 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATRESPTERMINALRESPONSE, "CSatMessHandler::UiccCatRespTerminalResponse" ); |
5348 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_UICCCATRESPTERMINALRESPONSE_TD, "CSatMessHandler::UiccCatRespTerminalResponse" ); |
5343 } |
5349 } |
5344 |
5350 |
5345 return handled; |
5351 return handled; |
5346 } |
5352 } |
5347 |
5353 |
5352 // ----------------------------------------------------------------------------- |
5358 // ----------------------------------------------------------------------------- |
5353 // |
5359 // |
5354 const TDesC8& CSatMessHandler::GetApplicationFileId() |
5360 const TDesC8& CSatMessHandler::GetApplicationFileId() |
5355 { |
5361 { |
5356 TFLOGSTRING("TSY: CSatMessHandler::GetApplicationId"); |
5362 TFLOGSTRING("TSY: CSatMessHandler::GetApplicationId"); |
5357 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETAPPLICATIONID, "CSatMessHandler::GetApplicationId" ); |
5363 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETAPPLICATIONID_TD, "CSatMessHandler::GetApplicationId" ); |
5358 return iApplFileId; |
5364 return iApplFileId; |
5359 } |
5365 } |
5360 |
5366 |
5361 |
5367 |
5362 // ----------------------------------------------------------------------------- |
5368 // ----------------------------------------------------------------------------- |
5364 // Set status of iSatReady flag |
5370 // Set status of iSatReady flag |
5365 // ----------------------------------------------------------------------------- |
5371 // ----------------------------------------------------------------------------- |
5366 // |
5372 // |
5367 void CSatMessHandler::SetSatReadyStatus( TBool aSatReadyStatus ) |
5373 void CSatMessHandler::SetSatReadyStatus( TBool aSatReadyStatus ) |
5368 { |
5374 { |
5369 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETSATREADYSTATUS, "CSatMessHandler::SetSatReadyStatus" ); |
5375 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_SETSATREADYSTATUS_TD, "CSatMessHandler::SetSatReadyStatus" ); |
5370 TFLOGSTRING("TSY: CSatMessHandler::SetSatReadyStatus"); |
5376 TFLOGSTRING("TSY: CSatMessHandler::SetSatReadyStatus"); |
5371 iSatReady = aSatReadyStatus; |
5377 iSatReady = aSatReadyStatus; |
5372 } |
5378 } |
5373 |
5379 |
5374 |
5380 |
5378 // ----------------------------------------------------------------------------- |
5384 // ----------------------------------------------------------------------------- |
5379 // |
5385 // |
5380 TBool CSatMessHandler::GetSatReadyStatus() |
5386 TBool CSatMessHandler::GetSatReadyStatus() |
5381 { |
5387 { |
5382 TFLOGSTRING("TSY: CSatMessHandler::GetSatReadyStatus"); |
5388 TFLOGSTRING("TSY: CSatMessHandler::GetSatReadyStatus"); |
5383 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETSATREADYSTATUS, "CSatMessHandler::GetSatReadyStatus" ); |
5389 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETSATREADYSTATUS_TD, "CSatMessHandler::GetSatReadyStatus" ); |
5384 return iSatReady; |
5390 return iSatReady; |
5385 } |
5391 } |
5386 |
5392 |
5387 |
5393 |
5388 // ----------------------------------------------------------------------------- |
5394 // ----------------------------------------------------------------------------- |
5391 // ----------------------------------------------------------------------------- |
5397 // ----------------------------------------------------------------------------- |
5392 // |
5398 // |
5393 TBool CSatMessHandler::GetTerminalProfileStatus() |
5399 TBool CSatMessHandler::GetTerminalProfileStatus() |
5394 { |
5400 { |
5395 TFLOGSTRING("TSY: CSatMessHandler::GetTerminalProfileStatus"); |
5401 TFLOGSTRING("TSY: CSatMessHandler::GetTerminalProfileStatus"); |
5396 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETTERMINALPROFILESTATUS, "CSatMessHandler::GetTerminalProfileStatus" ); |
5402 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETTERMINALPROFILESTATUS_TD, "CSatMessHandler::GetTerminalProfileStatus" ); |
5397 return iTerminalProfileSent; |
5403 return iTerminalProfileSent; |
5398 } |
5404 } |
5399 |
5405 |
5400 |
5406 |
5401 // ----------------------------------------------------------------------------- |
5407 // ----------------------------------------------------------------------------- |
5404 // ----------------------------------------------------------------------------- |
5410 // ----------------------------------------------------------------------------- |
5405 // |
5411 // |
5406 const TDesC8& CSatMessHandler::GetClut() |
5412 const TDesC8& CSatMessHandler::GetClut() |
5407 { |
5413 { |
5408 TFLOGSTRING("TSY: CSatMessHandler::SetImageInstanceRequestStatus"); |
5414 TFLOGSTRING("TSY: CSatMessHandler::SetImageInstanceRequestStatus"); |
5409 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETCLUT, "CSatMessHandler::GetClut" ); |
5415 OstTrace0( TRACE_NORMAL, CSATMESSHANDLER_GETCLUT_TD, "CSatMessHandler::GetClut" ); |
5410 return iClutData; |
5416 return iClutData; |
5411 } |
5417 } |
5412 |
5418 |
5413 |
5419 |
5414 // End of file |
5420 // End of file |