adaptationlayer/tsy/nokiatsy_dll/src/cmmsupplservmesshandler.cpp
changeset 7 fa67e03b87df
parent 5 8ccc39f9d787
child 9 8486d82aef45
equal deleted inserted replaced
6:942573423a60 7:fa67e03b87df
   605             iCheckInfoSubblock = ETrue;
   605             iCheckInfoSubblock = ETrue;
   606 
   606 
   607             // FDN check should not be done for SAT originated requests
   607             // FDN check should not be done for SAT originated requests
   608             iFdnCheck = EFalse;
   608             iFdnCheck = EFalse;
   609 
   609 
   610             // In this case also resource control is suppressed.
   610             // Let's check is resource control suppress needed. This info is set
   611             iResourceControlSuppress = ETrue;
   611             // by simatktsy when extFuncL is called with IPC ESatNotifySendSsPCmd
       
   612             aDataPackage->UnPackData ( iResourceControlSuppress );
   612 
   613 
   613             break;
   614             break;
   614             }
   615             }
   615         default:
   616         default:
   616             {
   617             {
  1603                 }
  1604                 }
  1604             case SS_OTHER_ERROR:
  1605             case SS_OTHER_ERROR:
  1605                 {
  1606                 {
  1606                 //If cause value is KSsGsmSsNotAvailable (comes in SS_OTHER_ERROR sub block)
  1607                 //If cause value is KSsGsmSsNotAvailable (comes in SS_OTHER_ERROR sub block)
  1607                 //this indicates that there is not network coverage.
  1608                 //this indicates that there is not network coverage.
  1608                 if( SS_GSM_SS_NOT_AVAILABLE == aIsiMessage.Get8bit(
  1609                 TUint8 errorCode( aIsiMessage.Get8bit(
  1609                     sbStartOffset + SS_OTHER_ERROR_OFFSET_ERRORCODE ) )
  1610                     sbStartOffset + SS_OTHER_ERROR_OFFSET_ERRORCODE ) );
       
  1611 
       
  1612                 if( SS_GSM_SS_NOT_AVAILABLE == errorCode )
  1610                     {
  1613                     {
  1611                     errorToClient = CMmStaticUtility::EpocErrorCode(
  1614                     errorToClient = CMmStaticUtility::EpocErrorCode(
  1612                         KErrCouldNotConnect,
  1615                         KErrCouldNotConnect,
  1613                         KErrGsmSMSNoNetworkService );
  1616                         KErrGsmSMSNoNetworkService );
  1614 TFLOGSTRING("CMmSupplServMessHandler::SsServiceFailedRespL. \
  1617 TFLOGSTRING("CMmSupplServMessHandler::SsServiceFailedRespL. \
  1615              Cause: KSsGsmSsNotAvailable => No network coverage." );
  1618              Cause: KSsGsmSsNotAvailable => No network coverage." );
  1616 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP, "CMmSupplServMessHandler::SsServiceFailedResp, Cause: KSsGsmSsNotAvailable => No network coverage" );
  1619 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP, "CMmSupplServMessHandler::SsServiceFailedResp, Cause: KSsGsmSsNotAvailable => No network coverage" );
       
  1620                     }
       
  1621                 else if( SS_RESOURCE_CONTROL_DENIED == errorCode )
       
  1622                     {
       
  1623                      if ( KErrNone == aIsiMessage.FindSubBlockOffsetById(
       
  1624                          ISI_HEADER_SIZE + SIZE_SS_SERVICE_FAILED_RESP,
       
  1625                          SS_SB_RESOURCE_CONTROL_INFO,
       
  1626                          EIsiSubBlockTypeId8Len8,
       
  1627                          sbStartOffset ) )
       
  1628                          {
       
  1629                          TUint8 dataLen( aIsiMessage.Get8bit(
       
  1630                              sbStartOffset + SS_SB_RESOURCE_CONTROL_INFO_OFFSET_DATALENGTH ) );
       
  1631 
       
  1632                          TPtrC8 data( aIsiMessage.GetData(
       
  1633                              sbStartOffset + SS_SB_RESOURCE_CONTROL_INFO_OFFSET_DATA,
       
  1634                              dataLen ) );
       
  1635                          // sw1, sw2 and result is inserted to SS_SB_RESOURCE_CONTROL_INFO
       
  1636                          // by simatktsy and ther order from first byte is: sw1, sw2 and result
       
  1637                          TUint8 sw1 = data[KSw1Index];
       
  1638                          TUint8 sw2 = data[KSw2Index];
       
  1639                          TUint8 result = data[KResultIndex];
       
  1640                          errorToClient = CMmStaticUtility::MapSw1Sw2ToEpocError( 
       
  1641                              sw1, 
       
  1642                              sw2, 
       
  1643                              result );
       
  1644                          }
       
  1645                      else
       
  1646                          {
       
  1647                          errorToClient = CMmStaticUtility::CSCauseToEpocError(
       
  1648                             PN_SS,
       
  1649                             subBlockId,
       
  1650                             errorCode );
       
  1651                          }
  1617                     }
  1652                     }
  1618                 else
  1653                 else
  1619                     {
  1654                     {
  1620                     // Translate error to epoc world
  1655                     // Translate error to epoc world
  1621                     errorToClient = CMmStaticUtility::CSCauseToEpocError(
  1656                     errorToClient = CMmStaticUtility::CSCauseToEpocError(