adaptationlayer/tsy/nokiatsy_dll/src/tssparser.cpp
changeset 9 8486d82aef45
parent 5 8ccc39f9d787
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    35 // -----------------------------------------------------------------------------
    35 // -----------------------------------------------------------------------------
    36 //
    36 //
    37 TSsParser::TSsParser()
    37 TSsParser::TSsParser()
    38     {
    38     {
    39 TFLOGSTRING( "TSY: TSsParser::TSsParser" );
    39 TFLOGSTRING( "TSY: TSsParser::TSsParser" );
    40 OstTrace0( TRACE_NORMAL, TSSPARSER_TSSPARSER, "TSsParser::TSsParser" );
    40 OstTrace0( TRACE_NORMAL,  TSSPARSER_TSSPARSER_TD, "TSsParser::TSsParser" );
    41     iSsOperation = SS_OPERATION_UNDEFINED;
    41     iSsOperation = SS_OPERATION_UNDEFINED;
    42     iServiceCode = SS_UNKNOWN_SERVICE;
    42     iServiceCode = SS_UNKNOWN_SERVICE;
    43     }
    43     }
    44 
    44 
    45 
    45 
    50 // -----------------------------------------------------------------------------
    50 // -----------------------------------------------------------------------------
    51 //
    51 //
    52 TInt TSsParser::Parse( const TDesC& aServiceString )
    52 TInt TSsParser::Parse( const TDesC& aServiceString )
    53     {
    53     {
    54 TFLOGSTRING2( "TSY: TSsParser::Parse, servicestring: %S", &aServiceString );
    54 TFLOGSTRING2( "TSY: TSsParser::Parse, servicestring: %S", &aServiceString );
    55 OstTraceExt1( TRACE_NORMAL, TSSPARSER_PARSE, "TSsParser::Parse;aServiceString=%S", aServiceString );
    55 OstTraceExt1( TRACE_NORMAL,  TSSPARSER_PARSE_TD, "TSsParser::Parse;aServiceString=%S", aServiceString );
    56 
    56 
    57     TInt error( KErrNone );
    57     TInt error( KErrNone );
    58 
    58 
    59     // at first check that service string is not too long
    59     // at first check that service string is not too long
    60     if( MAX_LENGTH_OF_SERVICE_STRING < aServiceString.Length( ) ||
    60     if( MAX_LENGTH_OF_SERVICE_STRING < aServiceString.Length( ) ||
    61          0 >= aServiceString.Length( ) )
    61          0 >= aServiceString.Length( ) )
    62         {
    62         {
    63 TFLOGSTRING( "TSY: TSsParser::Parse, error: service string too long or does not exist!" );
    63 TFLOGSTRING( "TSY: TSsParser::Parse, error: service string too long or does not exist!" );
    64 OstTrace0( TRACE_NORMAL, DUP1_TSSPARSER_PARSE, "TSsParser::Parse, error: service string too long or does not exist!" );
    64 OstTrace0( TRACE_NORMAL,  DUP1_TSSPARSER_PARSE_TD, "TSsParser::Parse, error: service string too long or does not exist!" );
    65         error = KErrArgument;
    65         error = KErrArgument;
    66         }
    66         }
    67 
    67 
    68     else
    68     else
    69         {
    69         {
    80         TPtrC tempBuffer;
    80         TPtrC tempBuffer;
    81         ExtractPart( tempBuffer );
    81         ExtractPart( tempBuffer );
    82         // convert service code to integer
    82         // convert service code to integer
    83         iServiceCode = GetInt( tempBuffer );
    83         iServiceCode = GetInt( tempBuffer );
    84 TFLOGSTRING2( "TSY: TSsParser::Parse, service code: %d", iServiceCode );
    84 TFLOGSTRING2( "TSY: TSsParser::Parse, service code: %d", iServiceCode );
    85 OstTraceExt1( TRACE_NORMAL, DUP2_TSSPARSER_PARSE, "TSsParser::Parse;iServiceCode=%hu", iServiceCode );
    85 OstTraceExt1( TRACE_NORMAL,  DUP2_TSSPARSER_PARSE_TD, "TSsParser::Parse;iServiceCode=%hu", iServiceCode );
    86 
    86 
    87         if( SS_UNKNOWN_SERVICE == iServiceCode )
    87         if( SS_UNKNOWN_SERVICE == iServiceCode )
    88             {
    88             {
    89             error = KErrArgument;
    89             error = KErrArgument;
    90 TFLOGSTRING( "TSY: TSsParser::Parse, error: illegal sevice code!" );
    90 TFLOGSTRING( "TSY: TSsParser::Parse, error: illegal sevice code!" );
    91 OstTrace0( TRACE_NORMAL, DUP3_TSSPARSER_PARSE, "TSsParser::Parse, error: illegal sevice code!" );
    91 OstTrace0( TRACE_NORMAL,  DUP3_TSSPARSER_PARSE_TD, "TSsParser::Parse, error: illegal sevice code!" );
    92             }
    92             }
    93         }
    93         }
    94 
    94 
    95     // service code was parsed successfully, extract supplementary infos a,b,c
    95     // service code was parsed successfully, extract supplementary infos a,b,c
    96     if( KErrNone == error )
    96     if( KErrNone == error )
   119                 }
   119                 }
   120             else
   120             else
   121                 {
   121                 {
   122                 error = KErrArgument;
   122                 error = KErrArgument;
   123 TFLOGSTRING( "TSY: TSsParser::Parse, error: illegal end mark!" );
   123 TFLOGSTRING( "TSY: TSsParser::Parse, error: illegal end mark!" );
   124 OstTrace0( TRACE_NORMAL, DUP4_TSSPARSER_PARSE, "TSsParser::Parse, error: illegal end mark!" );
   124 OstTrace0( TRACE_NORMAL,  DUP4_TSSPARSER_PARSE_TD, "TSsParser::Parse, error: illegal end mark!" );
   125                 break;
   125                 break;
   126                 }
   126                 }
   127             }
   127             }
   128         iSupplementaryInfoA.Set( tempSiBuffer[0] );
   128         iSupplementaryInfoA.Set( tempSiBuffer[0] );
   129         iSupplementaryInfoB.Set( tempSiBuffer[1] );
   129         iSupplementaryInfoB.Set( tempSiBuffer[1] );
   130         iSupplementaryInfoC.Set( tempSiBuffer[2] );
   130         iSupplementaryInfoC.Set( tempSiBuffer[2] );
   131         }
   131         }
   132 
   132 
   133 TFLOGSTRING2( "TSY: TSsParser::Parse, SS code: %d", iSsOperation );
   133 TFLOGSTRING2( "TSY: TSsParser::Parse, SS code: %d", iSsOperation );
   134 OstTraceExt1( TRACE_NORMAL, DUP5_TSSPARSER_PARSE, "TSsParser::Parse;iSsOperation=%hhu", iSsOperation );
   134 OstTraceExt1( TRACE_NORMAL,  DUP5_TSSPARSER_PARSE_TD, "TSsParser::Parse;iSsOperation=%hhu", iSsOperation );
   135 TFLOGSTRING2( "TSY: TSsParser::Parse, SS code: %d", iServiceCode );
   135 TFLOGSTRING2( "TSY: TSsParser::Parse, SS code: %d", iServiceCode );
   136 OstTraceExt1( TRACE_NORMAL, DUP6_TSSPARSER_PARSE, "TSsParser::Parse;iServiceCode=%hu", iServiceCode );
   136 OstTraceExt1( TRACE_NORMAL,  DUP6_TSSPARSER_PARSE_TD, "TSsParser::Parse;iServiceCode=%hu", iServiceCode );
   137 TFLOGSTRING2( "TSY: TSsParser::Parse, SS info A: %S", &iSupplementaryInfoA );
   137 TFLOGSTRING2( "TSY: TSsParser::Parse, SS info A: %S", &iSupplementaryInfoA );
   138 OstTraceExt1( TRACE_NORMAL, DUP7_TSSPARSER_PARSE, "TSsParser::Parse;iSupplementaryInfoA=%S", iSupplementaryInfoA );
   138 OstTraceExt1( TRACE_NORMAL,  DUP7_TSSPARSER_PARSE_TD, "TSsParser::Parse;iSupplementaryInfoA=%S", iSupplementaryInfoA );
   139 TFLOGSTRING2( "TSY: TSsParser::Parse, SS info B: %S", &iSupplementaryInfoB );
   139 TFLOGSTRING2( "TSY: TSsParser::Parse, SS info B: %S", &iSupplementaryInfoB );
   140 OstTraceExt1( TRACE_NORMAL, DUP8_TSSPARSER_PARSE, "TSsParser::Parse;iSupplementaryInfoB=%S", iSupplementaryInfoB );
   140 OstTraceExt1( TRACE_NORMAL,  DUP8_TSSPARSER_PARSE_TD, "TSsParser::Parse;iSupplementaryInfoB=%S", iSupplementaryInfoB );
   141 TFLOGSTRING2( "TSY: TSsParser::Parse, SS info C: %S", &iSupplementaryInfoC );
   141 TFLOGSTRING2( "TSY: TSsParser::Parse, SS info C: %S", &iSupplementaryInfoC );
   142 OstTraceExt1( TRACE_NORMAL, DUP9_TSSPARSER_PARSE, "TSsParser::Parse;iSupplementaryInfoC=%S", iSupplementaryInfoC );
   142 OstTraceExt1( TRACE_NORMAL,  DUP9_TSSPARSER_PARSE_TD, "TSsParser::Parse;iSupplementaryInfoC=%S", iSupplementaryInfoC );
   143 TFLOGSTRING2( "TSY: TSsParser::Parse, SS string left: %S", &iServiceString );
   143 TFLOGSTRING2( "TSY: TSsParser::Parse, SS string left: %S", &iServiceString );
   144 OstTraceExt1( TRACE_NORMAL, DUP10_TSSPARSER_PARSE, "TSsParser::Parse;iServiceString=%S", iServiceString );
   144 OstTraceExt1( TRACE_NORMAL,  DUP10_TSSPARSER_PARSE_TD, "TSsParser::Parse;iServiceString=%S", iServiceString );
   145 
   145 
   146     return error;
   146     return error;
   147     }
   147     }
   148 
   148 
   149 
   149 
   154 // -----------------------------------------------------------------------------
   154 // -----------------------------------------------------------------------------
   155 //
   155 //
   156 void TSsParser::GetSsOperation( TUint8& aSsOperation ) const
   156 void TSsParser::GetSsOperation( TUint8& aSsOperation ) const
   157     {
   157     {
   158 TFLOGSTRING( "TSY: TSsParser::GetSsOperation" );
   158 TFLOGSTRING( "TSY: TSsParser::GetSsOperation" );
   159 OstTrace0( TRACE_NORMAL, TSSPARSER_GETSSOPERATION, "TSsParser::GetSsOperation" );
   159 OstTrace0( TRACE_NORMAL,  TSSPARSER_GETSSOPERATION_TD, "TSsParser::GetSsOperation" );
   160     aSsOperation = iSsOperation;
   160     aSsOperation = iSsOperation;
   161     }
   161     }
   162 
   162 
   163 
   163 
   164 // -----------------------------------------------------------------------------
   164 // -----------------------------------------------------------------------------
   168 // -----------------------------------------------------------------------------
   168 // -----------------------------------------------------------------------------
   169 //
   169 //
   170 void TSsParser::GetServiceCode( TUint16& aServiceCode ) const
   170 void TSsParser::GetServiceCode( TUint16& aServiceCode ) const
   171     {
   171     {
   172 TFLOGSTRING("TSY: TSsParser::GetServiceCode" );
   172 TFLOGSTRING("TSY: TSsParser::GetServiceCode" );
   173 OstTrace0( TRACE_NORMAL, TSSPARSER_GETSERVICECODE, "TSsParser::GetServiceCode" );
   173 OstTrace0( TRACE_NORMAL,  TSSPARSER_GETSERVICECODE_TD, "TSsParser::GetServiceCode" );
   174     aServiceCode = iServiceCode;
   174     aServiceCode = iServiceCode;
   175     }
   175     }
   176 
   176 
   177 
   177 
   178 // -----------------------------------------------------------------------------
   178 // -----------------------------------------------------------------------------
   185     TPtrC& aSupplementaryInfoA,
   185     TPtrC& aSupplementaryInfoA,
   186     TPtrC& aSupplementaryInfoB,
   186     TPtrC& aSupplementaryInfoB,
   187     TPtrC& aSupplementaryInfoC ) const
   187     TPtrC& aSupplementaryInfoC ) const
   188     {
   188     {
   189 TFLOGSTRING( "TSY: TSsParser::GetServiceInfo" );
   189 TFLOGSTRING( "TSY: TSsParser::GetServiceInfo" );
   190 OstTrace0( TRACE_NORMAL, TSSPARSER_GETSERVICEINFO, "TSsParser::GetServiceInfo" );
   190 OstTrace0( TRACE_NORMAL,  TSSPARSER_GETSERVICEINFO_TD, "TSsParser::GetServiceInfo" );
   191     aSupplementaryInfoA.Set( iSupplementaryInfoA );
   191     aSupplementaryInfoA.Set( iSupplementaryInfoA );
   192     aSupplementaryInfoB.Set( iSupplementaryInfoB );
   192     aSupplementaryInfoB.Set( iSupplementaryInfoB );
   193     aSupplementaryInfoC.Set( iSupplementaryInfoC );
   193     aSupplementaryInfoC.Set( iSupplementaryInfoC );
   194     }
   194     }
   195 
   195 
   201 // -----------------------------------------------------------------------------
   201 // -----------------------------------------------------------------------------
   202 //
   202 //
   203 TUint8 TSsParser::ExtractSsOperation( )
   203 TUint8 TSsParser::ExtractSsOperation( )
   204     {
   204     {
   205 TFLOGSTRING( "TSY: TSsParser::ExtractSsOperation" );
   205 TFLOGSTRING( "TSY: TSsParser::ExtractSsOperation" );
   206 OstTrace0( TRACE_NORMAL, TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation" );
   206 OstTrace0( TRACE_NORMAL,  TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation" );
   207     TInt error( KErrNone );
   207     TInt error( KErrNone );
   208 
   208 
   209     // SS operation is one or two first characters in the service string
   209     // SS operation is one or two first characters in the service string
   210     if( iServiceString.Left( 2 ) == KSsOperationErasure )
   210     if( iServiceString.Left( 2 ) == KSsOperationErasure )
   211         {
   211         {
   212         iSsOperation = SS_ERASURE; // unregister and deactivate
   212         iSsOperation = SS_ERASURE; // unregister and deactivate
   213         iServiceString.Set( iServiceString.Mid( 2 ) ); // extract remaining part
   213         iServiceString.Set( iServiceString.Mid( 2 ) ); // extract remaining part
   214 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: erasure (%d)", iSsOperation );
   214 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: erasure (%d)", iSsOperation );
   215 OstTraceExt1( TRACE_NORMAL, DUP1_TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation;SS operation: erasure (%hhu)", iSsOperation );
   215 OstTraceExt1( TRACE_NORMAL,  DUP1_TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation;SS operation: erasure (%hhu)", iSsOperation );
   216         }
   216         }
   217     else if( iServiceString.Left( 2 ) == KSsOperationInterrogation )
   217     else if( iServiceString.Left( 2 ) == KSsOperationInterrogation )
   218         {
   218         {
   219         iSsOperation = SS_INTERROGATION; // check status
   219         iSsOperation = SS_INTERROGATION; // check status
   220         iServiceString.Set( iServiceString.Mid ( 2 ) );
   220         iServiceString.Set( iServiceString.Mid ( 2 ) );
   221 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: interrogation (%d)", iSsOperation );
   221 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: interrogation (%d)", iSsOperation );
   222 OstTraceExt1( TRACE_NORMAL, DUP2_TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation;SS operation: interrogation (%hhu)", iSsOperation );
   222 OstTraceExt1( TRACE_NORMAL,  DUP2_TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation;SS operation: interrogation (%hhu)", iSsOperation );
   223         }
   223         }
   224     else if( iServiceString.Left( 2 ) == KSsOperationRegistration )
   224     else if( iServiceString.Left( 2 ) == KSsOperationRegistration )
   225         {
   225         {
   226         iSsOperation = SS_REGISTRATION; // register and activate
   226         iSsOperation = SS_REGISTRATION; // register and activate
   227         iServiceString.Set( iServiceString.Mid( 2 ) );
   227         iServiceString.Set( iServiceString.Mid( 2 ) );
   228 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: registration (%d)", iSsOperation );
   228 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: registration (%d)", iSsOperation );
   229 OstTraceExt1( TRACE_NORMAL, DUP3_TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation;SS operation: registration (%hhu)", iSsOperation );
   229 OstTraceExt1( TRACE_NORMAL,  DUP3_TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation;SS operation: registration (%hhu)", iSsOperation );
   230         }
   230         }
   231     else if( iServiceString.Left( 1 ) == KSsOperationActivation )
   231     else if( iServiceString.Left( 1 ) == KSsOperationActivation )
   232         {
   232         {
   233         iSsOperation = SS_ACTIVATION; // activate
   233         iSsOperation = SS_ACTIVATION; // activate
   234         iServiceString.Set( iServiceString.Mid( 1 ) );
   234         iServiceString.Set( iServiceString.Mid( 1 ) );
   235 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: activation (%d)", iSsOperation );
   235 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: activation (%d)", iSsOperation );
   236 OstTraceExt1( TRACE_NORMAL, DUP4_TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation;SS operation: activation (%hhu)", iSsOperation );
   236 OstTraceExt1( TRACE_NORMAL,  DUP4_TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation;SS operation: activation (%hhu)", iSsOperation );
   237         }
   237         }
   238     else if( iServiceString.Left( 1 ) == KSsOperationDeactivation )
   238     else if( iServiceString.Left( 1 ) == KSsOperationDeactivation )
   239         {
   239         {
   240         iSsOperation = SS_DEACTIVATION; // unregister
   240         iSsOperation = SS_DEACTIVATION; // unregister
   241         iServiceString.Set( iServiceString.Mid( 1 ) );
   241         iServiceString.Set( iServiceString.Mid( 1 ) );
   242 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: deactivation (%d)", iSsOperation );
   242 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: deactivation (%d)", iSsOperation );
   243 OstTraceExt1( TRACE_NORMAL, DUP5_TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation;SS operation: deactivation (%hhu)", iSsOperation );
   243 OstTraceExt1( TRACE_NORMAL,  DUP5_TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation;SS operation: deactivation (%hhu)", iSsOperation );
   244         }
   244         }
   245     else
   245     else
   246         {
   246         {
   247         iSsOperation = SS_OPERATION_UNDEFINED;
   247         iSsOperation = SS_OPERATION_UNDEFINED;
   248 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: undefined (%d)", iSsOperation );
   248 TFLOGSTRING2( "TSY: TSsParser::ExtractSsOperation, SS operation: undefined (%d)", iSsOperation );
   249 OstTraceExt1( TRACE_NORMAL, DUP6_TSSPARSER_EXTRACTSSOPERATION, "TSsParser::ExtractSsOperation;SS operation: undefined (%hhu)", iSsOperation );
   249 OstTraceExt1( TRACE_NORMAL,  DUP6_TSSPARSER_EXTRACTSSOPERATION_TD, "TSsParser::ExtractSsOperation;SS operation: undefined (%hhu)", iSsOperation );
   250         error = KErrArgument;
   250         error = KErrArgument;
   251         }
   251         }
   252 
   252 
   253     return error;
   253     return error;
   254     }
   254     }
   261 // -----------------------------------------------------------------------------
   261 // -----------------------------------------------------------------------------
   262 //
   262 //
   263 void TSsParser::ExtractPart( TPtrC& aPart )
   263 void TSsParser::ExtractPart( TPtrC& aPart )
   264     {
   264     {
   265 TFLOGSTRING( "TSY: TSsParser::ExtractPart" );
   265 TFLOGSTRING( "TSY: TSsParser::ExtractPart" );
   266 OstTrace0( TRACE_NORMAL, TSSPARSER_EXTRACTPART, "TSsParser::ExtractPart" );
   266 OstTrace0( TRACE_NORMAL,  TSSPARSER_EXTRACTPART_TD, "TSsParser::ExtractPart" );
   267     TUint i( 0 );
   267     TUint i( 0 );
   268     // service code and supplementary info ends to '*' or '#'
   268     // service code and supplementary info ends to '*' or '#'
   269     // if there is no data to be extracted, empty buffer is returned.
   269     // if there is no data to be extracted, empty buffer is returned.
   270     while( i < iServiceString.Length( ) &&
   270     while( i < iServiceString.Length( ) &&
   271            iServiceString[i] != '*' &&
   271            iServiceString[i] != '*' &&
   274         i++;
   274         i++;
   275         }
   275         }
   276     // extracted part is returned as reference variable
   276     // extracted part is returned as reference variable
   277     aPart.Set( iServiceString.Left( i ) );
   277     aPart.Set( iServiceString.Left( i ) );
   278 TFLOGSTRING2( "TSY: TSsParser::ExtractPart, extracted string: %S", &aPart );
   278 TFLOGSTRING2( "TSY: TSsParser::ExtractPart, extracted string: %S", &aPart );
   279 OstTraceExt1( TRACE_NORMAL, DUP1_TSSPARSER_EXTRACTPART, "TSsParser::ExtractPart;aPart=%S", aPart );
   279 OstTraceExt1( TRACE_NORMAL,  DUP1_TSSPARSER_EXTRACTPART_TD, "TSsParser::ExtractPart;aPart=%S", aPart );
   280     // set remaining part of service string
   280     // set remaining part of service string
   281     iServiceString.Set( iServiceString.Mid( i ) );
   281     iServiceString.Set( iServiceString.Mid( i ) );
   282     }
   282     }
   283 
   283 
   284 
   284 
   289 // -----------------------------------------------------------------------------
   289 // -----------------------------------------------------------------------------
   290 //
   290 //
   291 TCharacter TSsParser::ExtractSeparator( )
   291 TCharacter TSsParser::ExtractSeparator( )
   292     {
   292     {
   293 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator" );
   293 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator" );
   294 OstTrace0( TRACE_NORMAL, TSSPARSER_EXTRACTSEPARATOR, "TSsParser::ExtractSeparator" );
   294 OstTrace0( TRACE_NORMAL,  TSSPARSER_EXTRACTSEPARATOR_TD, "TSsParser::ExtractSeparator" );
   295     TCharacter mark( ECharacterIllegal );
   295     TCharacter mark( ECharacterIllegal );
   296     // There should be at least the end mark '#' left in string
   296     // There should be at least the end mark '#' left in string
   297     if( iServiceString.Length() > 0 )
   297     if( iServiceString.Length() > 0 )
   298         {
   298         {
   299         if( '#' == iServiceString[0] )
   299         if( '#' == iServiceString[0] )
   300             {
   300             {
   301 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator: end mark '#'" );
   301 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator: end mark '#'" );
   302 OstTrace0( TRACE_NORMAL, DUP1_TSSPARSER_EXTRACTSEPARATOR, "TSsParser::ExtractSeparator, end mark '#'" );
   302 OstTrace0( TRACE_NORMAL,  DUP1_TSSPARSER_EXTRACTSEPARATOR_TD, "TSsParser::ExtractSeparator, end mark '#'" );
   303             mark = ECharacterEndMark;
   303             mark = ECharacterEndMark;
   304             }
   304             }
   305         else if( '*' == iServiceString[0] )
   305         else if( '*' == iServiceString[0] )
   306             {
   306             {
   307 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator: separator mark '*'" );
   307 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator: separator mark '*'" );
   308 OstTrace0( TRACE_NORMAL, DUP2_TSSPARSER_EXTRACTSEPARATOR, "TSsParser::ExtractSeparator, separator mark '*'" );
   308 OstTrace0( TRACE_NORMAL,  DUP2_TSSPARSER_EXTRACTSEPARATOR_TD, "TSsParser::ExtractSeparator, separator mark '*'" );
   309             mark = ECharacterSeparator;
   309             mark = ECharacterSeparator;
   310             }
   310             }
   311         // no else
   311         // no else
   312         iServiceString.Set( iServiceString.Mid( 1 ) );
   312         iServiceString.Set( iServiceString.Mid( 1 ) );
   313         }
   313         }
   314     else // end mark was missing
   314     else // end mark was missing
   315         {
   315         {
   316 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator: illegal ss string, no end mark!" );
   316 TFLOGSTRING( "TSY: TSsParser::ExtractSeparator: illegal ss string, no end mark!" );
   317 OstTrace0( TRACE_NORMAL, DUP3_TSSPARSER_EXTRACTSEPARATOR, "TSsParser::ExtractSeparator, illegal ss string, no end mark!" );
   317 OstTrace0( TRACE_NORMAL,  DUP3_TSSPARSER_EXTRACTSEPARATOR_TD, "TSsParser::ExtractSeparator, illegal ss string, no end mark!" );
   318         }
   318         }
   319     return mark;
   319     return mark;
   320     }
   320     }
   321 
   321 
   322 
   322 
   327 // -----------------------------------------------------------------------------
   327 // -----------------------------------------------------------------------------
   328 //
   328 //
   329 TInt TSsParser::GetInt( const TDesC& aString )
   329 TInt TSsParser::GetInt( const TDesC& aString )
   330     {
   330     {
   331 TFLOGSTRING( "TSY: TSsParser::GetInt" );
   331 TFLOGSTRING( "TSY: TSsParser::GetInt" );
   332 OstTrace0( TRACE_NORMAL, TSSPARSER_GETINT, "TSsParser::GetInt" );
   332 OstTrace0( TRACE_NORMAL,  TSSPARSER_GETINT_TD, "TSsParser::GetInt" );
   333     TInt code;
   333     TInt code;
   334 
   334 
   335     if( TLex( aString ).Val( code ) != KErrNone)
   335     if( TLex( aString ).Val( code ) != KErrNone)
   336         {
   336         {
   337         code = SS_ALL_TELE_AND_BEARER;
   337         code = SS_ALL_TELE_AND_BEARER;