adaptationlayer/tsy/simatktsy_dll/src/satutil.cpp
changeset 9 8486d82aef45
parent 8 6295dc2169f3
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    89 // might leave.
    89 // might leave.
    90 // -----------------------------------------------------------------------------
    90 // -----------------------------------------------------------------------------
    91 //
    91 //
    92 TTransIdMessage::TTransIdMessage() : iTransNum(KTransactionIdMinNumber)
    92 TTransIdMessage::TTransIdMessage() : iTransNum(KTransactionIdMinNumber)
    93     {
    93     {
    94     OstTrace0( TRACE_NORMAL, TTRANSIDMESSAGE_TTRANSIDMESSAGE, "TTransIdMessage::TTransIdMessage" );
    94     OstTrace0( TRACE_NORMAL,  TTRANSIDMESSAGE_TTRANSIDMESSAGE_TD, "TTransIdMessage::TTransIdMessage" );
    95     }
    95     }
    96 
    96 
    97 // -----------------------------------------------------------------------------
    97 // -----------------------------------------------------------------------------
    98 // TTransIdMessage::GetTransactionId
    98 // TTransIdMessage::GetTransactionId
    99 // Gets a new transactionID
    99 // Gets a new transactionID
   100 // -----------------------------------------------------------------------------
   100 // -----------------------------------------------------------------------------
   101 //
   101 //
   102 TUint8 TTransIdMessage::GetTransactionId()
   102 TUint8 TTransIdMessage::GetTransactionId()
   103     {
   103     {
   104     OstTrace0( TRACE_NORMAL, TTRANSIDMESSAGE_GETTRANSACTIONID, "TTransIdMessage::GetTransactionId" );
   104     OstTrace0( TRACE_NORMAL,  TTRANSIDMESSAGE_GETTRANSACTIONID_TD, "TTransIdMessage::GetTransactionId" );
   105     TFLOGSTRING("TSY: TTransIdMessage::GetTransactionId");
   105     TFLOGSTRING("TSY: TTransIdMessage::GetTransactionId");
   106     // 0xff and 0x00 are
   106     // 0xff and 0x00 are
   107     // not valid transaction id's and will not be generated. This is done
   107     // not valid transaction id's and will not be generated. This is done
   108     // to avoid generating transaction ids that are used in terminal resp
   108     // to avoid generating transaction ids that are used in terminal resp
   109     iTransNum++;
   109     iTransNum++;
   125         TInt aTonAndNpi,                // TON and NPI
   125         TInt aTonAndNpi,                // TON and NPI
   126         RSat::TTypeOfNumber* aTon,      // Type of number
   126         RSat::TTypeOfNumber* aTon,      // Type of number
   127         RSat::TNumberingPlan* aNpi      // Number plan identification
   127         RSat::TNumberingPlan* aNpi      // Number plan identification
   128         )
   128         )
   129     {
   129     {
   130     OstTrace0( TRACE_NORMAL, TSATUTILITY_GETTONANDNPI, "TSatUtility::GetTonAndNpi: RSat" );
   130     OstTrace0( TRACE_NORMAL,  TSATUTILITY_GETTONANDNPI_TD, "TSatUtility::GetTonAndNpi: RSat" );
   131     TFLOGSTRING("TSY: TSatUtility::GetTonAndNpi: RSat");
   131     TFLOGSTRING("TSY: TSatUtility::GetTonAndNpi: RSat");
   132 
   132 
   133     TInt ton( ( aTonAndNpi >> 4 ) & KTONMask );
   133     TInt ton( ( aTonAndNpi >> 4 ) & KTONMask );
   134 
   134 
   135     switch ( ton )
   135     switch ( ton )
   208         TInt aTonAndNpi,
   208         TInt aTonAndNpi,
   209         RMobilePhone::TMobileTON& aTon,
   209         RMobilePhone::TMobileTON& aTon,
   210         RMobilePhone::TMobileNPI& aNpi
   210         RMobilePhone::TMobileNPI& aNpi
   211         )
   211         )
   212     {
   212     {
   213     OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_GETTONANDNPI, "TSatUtility::GetTonAndNpi: Etel MM" );
   213     OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_GETTONANDNPI_TD, "TSatUtility::GetTonAndNpi: Etel MM" );
   214     TFLOGSTRING("TSY: TSatUtility::GetTonAndNpi: Etel MM");
   214     TFLOGSTRING("TSY: TSatUtility::GetTonAndNpi: Etel MM");
   215 
   215 
   216     TInt ton( ( aTonAndNpi >> 4 ) & KTONMask );
   216     TInt ton( ( aTonAndNpi >> 4 ) & KTONMask );
   217 
   217 
   218     switch ( ton )
   218     switch ( ton )
   286         (
   286         (
   287         TPtrC8 aString,   //7-bit packed string
   287         TPtrC8 aString,   //7-bit packed string
   288         TDes8& aOutput    //8-bit unpacked string
   288         TDes8& aOutput    //8-bit unpacked string
   289         )
   289         )
   290     {
   290     {
   291     OstTrace0( TRACE_NORMAL, TSATUTILITY_PACKED7TO8UNPACKED, "TSatUtility::Packed7to8Unpacked" );
   291     OstTrace0( TRACE_NORMAL,  TSATUTILITY_PACKED7TO8UNPACKED_TD, "TSatUtility::Packed7to8Unpacked" );
   292     TFLOGSTRING("TSY: TSatUtility::Packed7to8Unpacked");
   292     TFLOGSTRING("TSY: TSatUtility::Packed7to8Unpacked");
   293 
   293 
   294     // The string is in packed GSM default alphabet format.
   294     // The string is in packed GSM default alphabet format.
   295     // Converted to 8-bit format
   295     // Converted to 8-bit format
   296     TUint8 maskRightPartOfCurrentByte( 0x7F );
   296     TUint8 maskRightPartOfCurrentByte( 0x7F );
   341         (
   341         (
   342         TPtrC aString,   //UCS2 string
   342         TPtrC aString,   //UCS2 string
   343         TDes8& aOutput   //7-bit packed format output string
   343         TDes8& aOutput   //7-bit packed format output string
   344         )
   344         )
   345     {
   345     {
   346     OstTrace0( TRACE_NORMAL, TSATUTILITY_UCSTOPACKET7, "TSatUtility::UCSToPacket7" );
   346     OstTrace0( TRACE_NORMAL,  TSATUTILITY_UCSTOPACKET7_TD, "TSatUtility::UCSToPacket7" );
   347     TFLOGSTRING("TSY: TSatUtility::UCSToPacket7");
   347     TFLOGSTRING("TSY: TSatUtility::UCSToPacket7");
   348 
   348 
   349     TBuf8<255> string;
   349     TBuf8<255> string;
   350     TSatUtility::ConvertUnicode16ToSms7( string, aString );
   350     TSatUtility::ConvertUnicode16ToSms7( string, aString );
   351 
   351 
   403         (
   403         (
   404         TPtrC8 aString,  //BCD string
   404         TPtrC8 aString,  //BCD string
   405         TDes8& aOutput   //Ascii format output string
   405         TDes8& aOutput   //Ascii format output string
   406         )
   406         )
   407     {
   407     {
   408     OstTrace0( TRACE_NORMAL, TSATUTILITY_BCDTOASCII, "TSatUtility::BCDToAscii" );
   408     OstTrace0( TRACE_NORMAL,  TSATUTILITY_BCDTOASCII_TD, "TSatUtility::BCDToAscii" );
   409     TFLOGSTRING("TSY: TSatUtility::BCDToAscii");
   409     TFLOGSTRING("TSY: TSatUtility::BCDToAscii");
   410 
   410 
   411     // Convert Abbreviated dialling numbers format back to ASCII format.
   411     // Convert Abbreviated dialling numbers format back to ASCII format.
   412     // See 3GPP TS 11.11, EFadn
   412     // See 3GPP TS 11.11, EFadn
   413     aOutput.Zero();
   413     aOutput.Zero();
   429             }
   429             }
   430         }
   430         }
   431 
   431 
   432     if ( aOutput.Length() == outputMaxLength )
   432     if ( aOutput.Length() == outputMaxLength )
   433         {
   433         {
   434         OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_BCDTOASCII, "TSatUtility::BCDToAscii, probably dropped characters" );
   434         OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_BCDTOASCII_TD, "TSatUtility::BCDToAscii, probably dropped characters" );
   435         OstTraceExt2( TRACE_NORMAL, DUP2_TSATUTILITY_BCDTOASCII, "Input buffer length: %d, possible characters: %d", len, len * 2 );
   435         OstTraceExt2( TRACE_NORMAL,  DUP2_TSATUTILITY_BCDTOASCII_TD, "Input buffer length: %d, possible characters: %d", len, len * 2 );
   436         OstTraceExt2( TRACE_NORMAL, DUP3_TSATUTILITY_BCDTOASCII, "Converted characters: %d, dropped: %d", aOutput.Length(), ( len * 2 ) - aOutput.Length() );
   436         OstTraceExt2( TRACE_NORMAL,  DUP3_TSATUTILITY_BCDTOASCII_TD, "Converted characters: %d, dropped: %d", aOutput.Length(), ( len * 2 ) - aOutput.Length() );
   437 
   437 
   438         TFLOGSTRING("TSY: TSatUtility::BCDToAscii, \
   438         TFLOGSTRING("TSY: TSatUtility::BCDToAscii, \
   439             probably dropped characters");
   439             probably dropped characters");
   440         TFLOGSTRING3("TSY: Input buffer length: %d, possible characters: %d",
   440         TFLOGSTRING3("TSY: Input buffer length: %d, possible characters: %d",
   441             len, len * 2 );
   441             len, len * 2 );
   455         (
   455         (
   456         TDes8& aPhoneNumber // Number to be converted
   456         TDes8& aPhoneNumber // Number to be converted
   457         )
   457         )
   458 
   458 
   459     {
   459     {
   460     OstTrace0( TRACE_NORMAL, TSATUTILITY_REMOVEEXPANSIONDIGIT, "TSatUtility::RemoveExpansionDigit" );
   460     OstTrace0( TRACE_NORMAL,  TSATUTILITY_REMOVEEXPANSIONDIGIT_TD, "TSatUtility::RemoveExpansionDigit" );
   461     TFLOGSTRING("TSY: TSatUtility::RemoveExpansionDigit");
   461     TFLOGSTRING("TSY: TSatUtility::RemoveExpansionDigit");
   462 
   462 
   463     TInt pos( 0 );
   463     TInt pos( 0 );
   464 
   464 
   465     // Search and delete until no more '.'-characters found
   465     // Search and delete until no more '.'-characters found
   480         (
   480         (
   481         const TDesC8& aString, //unicode string
   481         const TDesC8& aString, //unicode string
   482         TDes8& aOutput         //binary code decimal output string
   482         TDes8& aOutput         //binary code decimal output string
   483         )
   483         )
   484     {
   484     {
   485     OstTrace0( TRACE_NORMAL, TSATUTILITY_ASCIITOBCD, "TSatUtility::AsciiToBCD" );
   485     OstTrace0( TRACE_NORMAL,  TSATUTILITY_ASCIITOBCD_TD, "TSatUtility::AsciiToBCD" );
   486     TFLOGSTRING("TSY: TSatUtility::AsciiToBCD");
   486     TFLOGSTRING("TSY: TSatUtility::AsciiToBCD");
   487 
   487 
   488     TInt i;
   488     TInt i;
   489     TInt outLen( 0 );
   489     TInt outLen( 0 );
   490     aOutput.Zero();
   490     aOutput.Zero();
   511             case 'p': bcd = 0xc; break; // DTMF
   511             case 'p': bcd = 0xc; break; // DTMF
   512             case 'w': bcd = 0xd; break; // wild
   512             case 'w': bcd = 0xd; break; // wild
   513             case '.': bcd = 0xe; break; // RFU
   513             case '.': bcd = 0xe; break; // RFU
   514             default:  bcd = 0xf;        // should never be part of number
   514             default:  bcd = 0xf;        // should never be part of number
   515                TFLOGSTRING3("TSY: TSatUtility::AsciiToBCD -- dropped character %d at i=%d", TInt(aString[i]), i );
   515                TFLOGSTRING3("TSY: TSatUtility::AsciiToBCD -- dropped character %d at i=%d", TInt(aString[i]), i );
   516                OstTraceExt2( TRACE_NORMAL, DUP1_TSATUTILITY_ASCIITOBCD, "TSatUtility::AsciiToBCD -- dropped character %d at i=%d", TInt(aString[i]), i );
   516                OstTraceExt2( TRACE_NORMAL,  DUP1_TSATUTILITY_ASCIITOBCD_TD, "TSatUtility::AsciiToBCD -- dropped character %d at i=%d", TInt(aString[i]), i );
   517 
   517 
   518                break;
   518                break;
   519             }
   519             }
   520 
   520 
   521         // add only valid bcd characters...
   521         // add only valid bcd characters...
   554         (
   554         (
   555         TPtrC8 aRawData, //data
   555         TPtrC8 aRawData, //data
   556         TDes& aAlphaId   //alpha id
   556         TDes& aAlphaId   //alpha id
   557         )
   557         )
   558     {
   558     {
   559     OstTrace0( TRACE_NORMAL, TSATUTILITY_SETALPHAID, "TSatUtility::SetAlphaId" );
   559     OstTrace0( TRACE_NORMAL,  TSATUTILITY_SETALPHAID_TD, "TSatUtility::SetAlphaId" );
   560     TFLOGSTRING("TSY: TSatUtility::SetAlphaId");
   560     TFLOGSTRING("TSY: TSatUtility::SetAlphaId");
   561 
   561 
   562     if( aRawData.Length())
   562     if( aRawData.Length())
   563         {
   563         {
   564         if ( ( KUCS2ArabicCoding == aRawData[0] )
   564         if ( ( KUCS2ArabicCoding == aRawData[0] )
   576             }
   576             }
   577         }
   577         }
   578     else
   578     else
   579         {
   579         {
   580         TFLOGSTRING("TSY: TSatUtility::SetAlphaId, RawData NULL");
   580         TFLOGSTRING("TSY: TSatUtility::SetAlphaId, RawData NULL");
   581         OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_SETALPHAID, "TSatUtility::SetAlphaId, RawData NULL" );
   581         OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_SETALPHAID_TD, "TSatUtility::SetAlphaId, RawData NULL" );
   582 
   582 
   583         }
   583         }
   584     }
   584     }
   585 
   585 
   586 // -----------------------------------------------------------------------------
   586 // -----------------------------------------------------------------------------
   592 TUint8 TSatUtility::ConvertToSemiOctet
   592 TUint8 TSatUtility::ConvertToSemiOctet
   593         (
   593         (
   594         TInt aTime  //time
   594         TInt aTime  //time
   595         )
   595         )
   596     {
   596     {
   597     OstTrace0( TRACE_NORMAL, TSATUTILITY_CONVERTTOSEMIOCTET, "TSatUtility::ConvertToSemiOctet" );
   597     OstTrace0( TRACE_NORMAL,  TSATUTILITY_CONVERTTOSEMIOCTET_TD, "TSatUtility::ConvertToSemiOctet" );
   598     TFLOGSTRING("TSY: TSatUtility::ConvertToSemiOctet");
   598     TFLOGSTRING("TSY: TSatUtility::ConvertToSemiOctet");
   599 
   599 
   600     // Converting given time to meet the TP-Service-Centre-Time-Stamp format in
   600     // Converting given time to meet the TP-Service-Centre-Time-Stamp format in
   601     // 3GPP TS 23.040.
   601     // 3GPP TS 23.040.
   602 
   602 
   616         (
   616         (
   617         TDes16& aOutput, //unicode format string
   617         TDes16& aOutput, //unicode format string
   618         TDesC8& aInput   //input
   618         TDesC8& aInput   //input
   619         )
   619         )
   620     {
   620     {
   621     OstTrace0( TRACE_NORMAL, TSATUTILITY_CONVERTSMS7TOUNICODE16, "TSatUtility::ConvertSms7ToUnicode16" );
   621     OstTrace0( TRACE_NORMAL,  TSATUTILITY_CONVERTSMS7TOUNICODE16_TD, "TSatUtility::ConvertSms7ToUnicode16" );
   622     TFLOGSTRING( "TSY: TSatUtility::ConvertSms7ToUnicode16" );
   622     TFLOGSTRING( "TSY: TSatUtility::ConvertSms7ToUnicode16" );
   623 
   623 
   624     TInt i( 0 );
   624     TInt i( 0 );
   625     TInt outputMaxLength = aOutput.MaxLength();
   625     TInt outputMaxLength = aOutput.MaxLength();
   626     TInt inputLength = aInput.Length();
   626     TInt inputLength = aInput.Length();
   708                         }
   708                         }
   709                     else
   709                     else
   710                         {
   710                         {
   711                         TFLOGSTRING("TSY: TSatUtility::ConvertSms7ToUnicode16, \
   711                         TFLOGSTRING("TSY: TSatUtility::ConvertSms7ToUnicode16, \
   712                             Character not valid.");
   712                             Character not valid.");
   713                         OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_CONVERTSMS7TOUNICODE16, "TSatUtility::ConvertSms7ToUnicode16, Character not valid." );
   713                         OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_CONVERTSMS7TOUNICODE16_TD, "TSatUtility::ConvertSms7ToUnicode16, Character not valid." );
   714 
   714 
   715                         }
   715                         }
   716                     break;
   716                     break;
   717                     }
   717                     }
   718                 }
   718                 }
   727             }
   727             }
   728         else
   728         else
   729             {
   729             {
   730             TFLOGSTRING("TSY: TSatUtility::ConvertSms7ToUnicode16, \
   730             TFLOGSTRING("TSY: TSatUtility::ConvertSms7ToUnicode16, \
   731                 Character not valid.");
   731                 Character not valid.");
   732             OstTrace0( TRACE_NORMAL, DUP2_TSATUTILITY_CONVERTSMS7TOUNICODE16, "TSatUtility::ConvertSms7ToUnicode16, Character not valid." );
   732             OstTrace0( TRACE_NORMAL,  DUP2_TSATUTILITY_CONVERTSMS7TOUNICODE16_TD, "TSatUtility::ConvertSms7ToUnicode16, Character not valid." );
   733 
   733 
   734             }
   734             }
   735         }
   735         }
   736     }
   736     }
   737 
   737 
   744         (
   744         (
   745         TDes8& aOutput,     // sms 7 string
   745         TDes8& aOutput,     // sms 7 string
   746         TDesC16& aInput     // unicode 16
   746         TDesC16& aInput     // unicode 16
   747         )
   747         )
   748     {
   748     {
   749     OstTrace0( TRACE_NORMAL, TSATUTILITY_CONVERTUNICODE16TOSMS7, "TSatUtility::ConvertUnicode16ToSms7" );
   749     OstTrace0( TRACE_NORMAL,  TSATUTILITY_CONVERTUNICODE16TOSMS7_TD, "TSatUtility::ConvertUnicode16ToSms7" );
   750     TFLOGSTRING("TSY: TSatUtility::ConvertUnicode16ToSms7");
   750     TFLOGSTRING("TSY: TSatUtility::ConvertUnicode16ToSms7");
   751 
   751 
   752     // A hash table would be useful here instead of switch/case
   752     // A hash table would be useful here instead of switch/case
   753     TInt i( 0 );
   753     TInt i( 0 );
   754     for( i = 0; i < aInput.Length(); i++ )
   754     for( i = 0; i < aInput.Length(); i++ )
  1034         (
  1034         (
  1035         CBerTlv& aBerTlv,             // Tlv containing duration data
  1035         CBerTlv& aBerTlv,             // Tlv containing duration data
  1036         RSat::TDuration& aTDuration   // duration structure
  1036         RSat::TDuration& aTDuration   // duration structure
  1037         )
  1037         )
  1038     {
  1038     {
  1039     OstTrace0( TRACE_NORMAL, TSATUTILITY_FILLDURATIONSTRUCTURE, "TSatUtility::FillDurationStructure" );
  1039     OstTrace0( TRACE_NORMAL,  TSATUTILITY_FILLDURATIONSTRUCTURE_TD, "TSatUtility::FillDurationStructure" );
  1040     TFLOGSTRING("TSY: TSatUtility::FillDurationStructure");
  1040     TFLOGSTRING("TSY: TSatUtility::FillDurationStructure");
  1041 
  1041 
  1042     CTlv duration;
  1042     CTlv duration;
  1043     aTDuration.iTimeUnit = RSat::ENoDurationAvailable;
  1043     aTDuration.iTimeUnit = RSat::ENoDurationAvailable;
  1044     TInt returnValue(
  1044     TInt returnValue(
  1092         CBerTlv& aBerTlv,        //tlv data containing icon address data
  1092         CBerTlv& aBerTlv,        //tlv data containing icon address data
  1093         RSat::TIconId& aTIconId, //icon id structure
  1093         RSat::TIconId& aTIconId, //icon id structure
  1094         TInt aItemNmb            //item number
  1094         TInt aItemNmb            //item number
  1095         )
  1095         )
  1096     {
  1096     {
  1097     OstTrace0( TRACE_NORMAL, TSATUTILITY_FILLICONSTRUCTURE, "TSatUtility::FillIconStructure" );
  1097     OstTrace0( TRACE_NORMAL,  TSATUTILITY_FILLICONSTRUCTURE_TD, "TSatUtility::FillIconStructure" );
  1098     TFLOGSTRING("TSY: TSatUtility::FillIconStructure");
  1098     TFLOGSTRING("TSY: TSatUtility::FillIconStructure");
  1099 
  1099 
  1100     CTlv iconId;
  1100     CTlv iconId;
  1101     aTIconId.iQualifier = RSat::ENoIconId;
  1101     aTIconId.iQualifier = RSat::ENoIconId;
  1102     TInt returnValue( aBerTlv.TlvByTagValue( &iconId,
  1102     TInt returnValue( aBerTlv.TlvByTagValue( &iconId,
  1127         (
  1127         (
  1128         TUint8 aSw1,  //status word 1
  1128         TUint8 aSw1,  //status word 1
  1129         TUint8 aSw2   //status word 2
  1129         TUint8 aSw2   //status word 2
  1130         )
  1130         )
  1131     {
  1131     {
  1132     OstTrace0( TRACE_NORMAL, TSATUTILITY_SW1SW2CHECK, "TSatUtility::Sw1Sw2Check" );
  1132     OstTrace0( TRACE_NORMAL,  TSATUTILITY_SW1SW2CHECK_TD, "TSatUtility::Sw1Sw2Check" );
  1133     TFLOGSTRING("TSY: TSatUtility::Sw1Sw2Check");
  1133     TFLOGSTRING("TSY: TSatUtility::Sw1Sw2Check");
  1134 
  1134 
  1135     //These are the ok responses ( for envelope )
  1135     //These are the ok responses ( for envelope )
  1136     //-90 00 normal ending of the command
  1136     //-90 00 normal ending of the command
  1137     //-91 XX normal ending of the command with extra information from the
  1137     //-91 XX normal ending of the command with extra information from the
  1228         (
  1228         (
  1229         CTlv& aTextString, // text string
  1229         CTlv& aTextString, // text string
  1230         TDes& aText        // unicode output text string
  1230         TDes& aText        // unicode output text string
  1231         )
  1231         )
  1232     {
  1232     {
  1233     OstTrace0( TRACE_NORMAL, TSATUTILITY_SETTEXT, "TSatUtility::SetText" );
  1233     OstTrace0( TRACE_NORMAL,  TSATUTILITY_SETTEXT_TD, "TSatUtility::SetText" );
  1234     TFLOGSTRING("TSY: TSatUtility::SetText");
  1234     TFLOGSTRING("TSY: TSatUtility::SetText");
  1235 
  1235 
  1236     if ( aTextString.GetLength() )
  1236     if ( aTextString.GetLength() )
  1237         {
  1237         {
  1238         TPtrC8 sourceString;
  1238         TPtrC8 sourceString;
  1282             }
  1282             }
  1283         }
  1283         }
  1284     else
  1284     else
  1285         {
  1285         {
  1286         TFLOGSTRING("TSY: TSatUtility::SetText, text string length not valid");
  1286         TFLOGSTRING("TSY: TSatUtility::SetText, text string length not valid");
  1287         OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_SETTEXT, "TSatUtility::SetText, text string length not valid" );
  1287         OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_SETTEXT_TD, "TSatUtility::SetText, text string length not valid" );
  1288 
  1288 
  1289         }
  1289         }
  1290     }
  1290     }
  1291 
  1291 
  1292 // -----------------------------------------------------------------------------
  1292 // -----------------------------------------------------------------------------
  1298         (
  1298         (
  1299         TDesC8& aSource,
  1299         TDesC8& aSource,
  1300         TDes& aText
  1300         TDes& aText
  1301         )
  1301         )
  1302     {
  1302     {
  1303     OstTrace0( TRACE_NORMAL, TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE, "TSatUtility::ConvertAlphaFieldsToUnicode" );
  1303     OstTrace0( TRACE_NORMAL,  TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE_TD, "TSatUtility::ConvertAlphaFieldsToUnicode" );
  1304     TFLOGSTRING("TSY: TSatUtility::ConvertAlphaFieldsToUnicode");
  1304     TFLOGSTRING("TSY: TSatUtility::ConvertAlphaFieldsToUnicode");
  1305 
  1305 
  1306     // ArabicCoding, GreekCoding and TurkishCoding have different coding
  1306     // ArabicCoding, GreekCoding and TurkishCoding have different coding
  1307     // methods. There is a tag for each type of alphabet (resp. 80, 81 or 82)
  1307     // methods. There is a tag for each type of alphabet (resp. 80, 81 or 82)
  1308     // before the text, and there are base pointers used for expanding 1 byte
  1308     // before the text, and there are base pointers used for expanding 1 byte
  1378             }
  1378             }
  1379         }
  1379         }
  1380         else
  1380         else
  1381             {
  1381             {
  1382             TFLOGSTRING("TSY: TSatUtility::ConvertAlphaFieldsToUnicode, Source length NULL ");
  1382             TFLOGSTRING("TSY: TSatUtility::ConvertAlphaFieldsToUnicode, Source length NULL ");
  1383             OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE, "TSatUtility::ConvertAlphaFieldsToUnicode, Source length NULL" );
  1383             OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE_TD, "TSatUtility::ConvertAlphaFieldsToUnicode, Source length NULL" );
  1384 
  1384 
  1385             }
  1385             }
  1386 
  1386 
  1387     if ( KErrNone == ret && 2 < aSource.Length())
  1387     if ( KErrNone == ret && 2 < aSource.Length())
  1388         {
  1388         {
  1393          // let's check that character amount inside item string is not
  1393          // let's check that character amount inside item string is not
  1394          // bigger than total len of item string
  1394          // bigger than total len of item string
  1395          if( maxCharAmount < length )
  1395          if( maxCharAmount < length )
  1396              {
  1396              {
  1397              TFLOGSTRING3("TSY: TSatUtility::ConvertAlphaFieldsToUnicode, incorrect char amount: max char amount: %d actual len: %d ", maxCharAmount, length);
  1397              TFLOGSTRING3("TSY: TSatUtility::ConvertAlphaFieldsToUnicode, incorrect char amount: max char amount: %d actual len: %d ", maxCharAmount, length);
  1398              OstTraceExt2( TRACE_NORMAL, DUP3_TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE, "TSatUtility::ConvertAlphaFieldsToUnicode, incorrect char amount: max char amount: %d actual len: %d", maxCharAmount, length );
  1398              OstTraceExt2( TRACE_NORMAL,  DUP3_TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE_TD, "TSatUtility::ConvertAlphaFieldsToUnicode, incorrect char amount: max char amount: %d actual len: %d", maxCharAmount, length );
  1399              length = maxCharAmount;
  1399              length = maxCharAmount;
  1400              }
  1400              }
  1401 
  1401 
  1402         // Expanding 1 byte format to 2 bytes
  1402         // Expanding 1 byte format to 2 bytes
  1403         while ( length )
  1403         while ( length )
  1430             }
  1430             }
  1431         }
  1431         }
  1432     else
  1432     else
  1433         {
  1433         {
  1434         TFLOGSTRING("TSY: TSatUtility::ConvertAlphaFieldsToUnicode, No expanding needed ");
  1434         TFLOGSTRING("TSY: TSatUtility::ConvertAlphaFieldsToUnicode, No expanding needed ");
  1435         OstTrace0( TRACE_NORMAL, DUP2_TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE, "TSatUtility::ConvertAlphaFieldsToUnicode, No expanding needed" );
  1435         OstTrace0( TRACE_NORMAL,  DUP2_TSATUTILITY_CONVERTALPHAFIELDSTOUNICODE_TD, "TSatUtility::ConvertAlphaFieldsToUnicode, No expanding needed" );
  1436 
  1436 
  1437         }
  1437         }
  1438     }
  1438     }
  1439 
  1439 
  1440 // -----------------------------------------------------------------------------
  1440 // -----------------------------------------------------------------------------
  1447 TSmsDcs TSatUtility::DecodeCbsDcs
  1447 TSmsDcs TSatUtility::DecodeCbsDcs
  1448         (
  1448         (
  1449         const TUint8 aDcs
  1449         const TUint8 aDcs
  1450         )
  1450         )
  1451     {
  1451     {
  1452     OstTrace0( TRACE_NORMAL, TSATUTILITY_DECODECBSDCS, "TSatUtility::DecodeCbsDcs" );
  1452     OstTrace0( TRACE_NORMAL,  TSATUTILITY_DECODECBSDCS_TD, "TSatUtility::DecodeCbsDcs" );
  1453     TFLOGSTRING("TSY: TSatUtility::DecodeCbsDcs");
  1453     TFLOGSTRING("TSY: TSatUtility::DecodeCbsDcs");
  1454 
  1454 
  1455     // Coding group: 4 left most significant bits
  1455     // Coding group: 4 left most significant bits
  1456     TUint8 codingGroup = (aDcs&0xF0)>>4;
  1456     TUint8 codingGroup = (aDcs&0xF0)>>4;
  1457     // lower quartet: 4 right most significant bits
  1457     // lower quartet: 4 right most significant bits
  1547         TUint16& aTarget,   //Target
  1547         TUint16& aTarget,   //Target
  1548         TDesC8& aSource,    //Source
  1548         TDesC8& aSource,    //Source
  1549         TInt aIndex         //Index
  1549         TInt aIndex         //Index
  1550         )
  1550         )
  1551     {
  1551     {
  1552     OstTrace0( TRACE_NORMAL, TSATUTILITY_GETWORD, "TSatUtility::GetWord" );
  1552     OstTrace0( TRACE_NORMAL,  TSATUTILITY_GETWORD_TD, "TSatUtility::GetWord" );
  1553     if ( aIndex + 1 < aSource.Length() )
  1553     if ( aIndex + 1 < aSource.Length() )
  1554         {
  1554         {
  1555         aTarget = TUint16( aSource[aIndex] << 8 );
  1555         aTarget = TUint16( aSource[aIndex] << 8 );
  1556         aTarget = TUint16( aTarget | aSource[aIndex + 1] );
  1556         aTarget = TUint16( aTarget | aSource[aIndex + 1] );
  1557         }
  1557         }
  1566         (
  1566         (
  1567         TUint16 aWord,  //Source word
  1567         TUint16 aWord,  //Source word
  1568         TDes8& aTarget  //Target
  1568         TDes8& aTarget  //Target
  1569         )
  1569         )
  1570     {
  1570     {
  1571     OstTrace0( TRACE_NORMAL, TSATUTILITY_APPENDWORD, "TSatUtility::AppendWord" );
  1571     OstTrace0( TRACE_NORMAL,  TSATUTILITY_APPENDWORD_TD, "TSatUtility::AppendWord" );
  1572     if ( aTarget.MaxLength() >= aTarget.Length() + 2 )
  1572     if ( aTarget.MaxLength() >= aTarget.Length() + 2 )
  1573         {
  1573         {
  1574         aTarget.Append( TUint8( aWord >> 8 ) );
  1574         aTarget.Append( TUint8( aWord >> 8 ) );
  1575         aTarget.Append( TUint8( aWord & 0xff ) );
  1575         aTarget.Append( TUint8( aWord & 0xff ) );
  1576         }
  1576         }
  1586         CBerTlv& aBerTlv,
  1586         CBerTlv& aBerTlv,
  1587         RSat::TTextString& aUserLogin,
  1587         RSat::TTextString& aUserLogin,
  1588         RSat::TTextString& aUserPassword
  1588         RSat::TTextString& aUserPassword
  1589         )
  1589         )
  1590     {
  1590     {
  1591     OstTrace0( TRACE_NORMAL, TSATUTILITY_SETUSERLOGINANDUSERPASSWORD, "TSatUtility::SetUserLoginAndUserPassword" );
  1591     OstTrace0( TRACE_NORMAL,  TSATUTILITY_SETUSERLOGINANDUSERPASSWORD_TD, "TSatUtility::SetUserLoginAndUserPassword" );
  1592     TFLOGSTRING("TSY: TSatUtility::SetUserLoginAndUserPassword");
  1592     TFLOGSTRING("TSY: TSatUtility::SetUserLoginAndUserPassword");
  1593 
  1593 
  1594     // Text string - User Login ( Optional )
  1594     // Text string - User Login ( Optional )
  1595     CTlv textStringUL;
  1595     CTlv textStringUL;
  1596     TInt returnValue( aBerTlv.TlvByTagValue( &textStringUL,
  1596     TInt returnValue( aBerTlv.TlvByTagValue( &textStringUL,
  1597         KTlvTextStringTag ) );
  1597         KTlvTextStringTag ) );
  1598     // If User Login present
  1598     // If User Login present
  1599     if ( KErrNone == returnValue )
  1599     if ( KErrNone == returnValue )
  1600         {
  1600         {
  1601         TFLOGSTRING("TSY: TSatUtility::SetUserLoginAndUserPassword - User Login");
  1601         TFLOGSTRING("TSY: TSatUtility::SetUserLoginAndUserPassword - User Login");
  1602         OstTrace0( TRACE_NORMAL, DUP1_TSATUTILITY_SETUSERLOGINANDUSERPASSWORD, "TSatUtility::SetUserLoginAndUserPassword - User Login" );
  1602         OstTrace0( TRACE_NORMAL,  DUP1_TSATUTILITY_SETUSERLOGINANDUSERPASSWORD_TD, "TSatUtility::SetUserLoginAndUserPassword - User Login" );
  1603 
  1603 
  1604         // Convert and set text
  1604         // Convert and set text
  1605         TSatUtility::SetText( textStringUL, aUserLogin );
  1605         TSatUtility::SetText( textStringUL, aUserLogin );
  1606         }
  1606         }
  1607 
  1607 
  1611         KTlvTextStringTag, 1 );
  1611         KTlvTextStringTag, 1 );
  1612     // If User Password present
  1612     // If User Password present
  1613     if ( KErrNone == returnValue )
  1613     if ( KErrNone == returnValue )
  1614         {
  1614         {
  1615         TFLOGSTRING("TSY: TSatUtility::SetUserLoginAndUserPassword - User Password");
  1615         TFLOGSTRING("TSY: TSatUtility::SetUserLoginAndUserPassword - User Password");
  1616         OstTrace0( TRACE_NORMAL, DUP2_TSATUTILITY_SETUSERLOGINANDUSERPASSWORD, "TSatUtility::SetUserLoginAndUserPassword - User Password" );
  1616         OstTrace0( TRACE_NORMAL,  DUP2_TSATUTILITY_SETUSERLOGINANDUSERPASSWORD_TD, "TSatUtility::SetUserLoginAndUserPassword - User Password" );
  1617 
  1617 
  1618         // Convert and set text
  1618         // Convert and set text
  1619         TSatUtility::SetText( textStringUP, aUserPassword );
  1619         TSatUtility::SetText( textStringUP, aUserPassword );
  1620         }
  1620         }
  1621     }
  1621     }