equal
deleted
inserted
replaced
40 void TTlvBase::Begin |
40 void TTlvBase::Begin |
41 ( |
41 ( |
42 TUint8 aTag //tag |
42 TUint8 aTag //tag |
43 ) |
43 ) |
44 { |
44 { |
45 OstTrace0( TRACE_DETAILED, TTLVBASE_BEGIN, "TTlvBase::Begin" ); |
45 OstTrace0( TRACE_INTERNALS, TTLVBASE_BEGIN_TD, "TTlvBase::Begin" ); |
46 TFLOGSTRING("TSY: TTlvBase::Begin"); |
46 TFLOGSTRING("TSY: TTlvBase::Begin"); |
47 iData.Zero(); |
47 iData.Zero(); |
48 iData.Append( aTag ); |
48 iData.Append( aTag ); |
49 iData.Append( 0 ); |
49 iData.Append( 0 ); |
50 } |
50 } |
57 void TTlvBase::AddTag |
57 void TTlvBase::AddTag |
58 ( |
58 ( |
59 TUint8 aTag //tag |
59 TUint8 aTag //tag |
60 ) |
60 ) |
61 { |
61 { |
62 OstTrace0( TRACE_DETAILED, TTLVBASE_ADDTAG, "TTlvBase::AddTag" ); |
62 OstTrace0( TRACE_INTERNALS, TTLVBASE_ADDTAG_TD, "TTlvBase::AddTag" ); |
63 TFLOGSTRING("TSY: TTlvBase::AddTag"); |
63 TFLOGSTRING("TSY: TTlvBase::AddTag"); |
64 iData.Append( aTag ); // tag |
64 iData.Append( aTag ); // tag |
65 iData.Append( 0 ); // length |
65 iData.Append( 0 ); // length |
66 iLenIndex = iData.Length() - 1; // index to tag length |
66 iLenIndex = iData.Length() - 1; // index to tag length |
67 } |
67 } |
74 void TTlvBase::AddByte |
74 void TTlvBase::AddByte |
75 ( |
75 ( |
76 TUint8 aValue |
76 TUint8 aValue |
77 ) |
77 ) |
78 { |
78 { |
79 OstTrace0( TRACE_DETAILED, TTLVBASE_ADDBYTE, "TTlvBase::AddByte" ); |
79 OstTrace0( TRACE_INTERNALS, TTLVBASE_ADDBYTE_TD, "TTlvBase::AddByte" ); |
80 TFLOGSTRING("TSY: TTlvBase::AddByte"); |
80 TFLOGSTRING("TSY: TTlvBase::AddByte"); |
81 iData.Append( aValue ); |
81 iData.Append( aValue ); |
82 iData[iLenIndex]++; |
82 iData[iLenIndex]++; |
83 } |
83 } |
84 |
84 |
90 void TTlvBase::AddData |
90 void TTlvBase::AddData |
91 ( |
91 ( |
92 const TDesC8& aValue |
92 const TDesC8& aValue |
93 ) |
93 ) |
94 { |
94 { |
95 OstTrace0( TRACE_DETAILED, TTLVBASE_ADDDATA, "TTlvBase::AddData" ); |
95 OstTrace0( TRACE_INTERNALS, TTLVBASE_ADDDATA_TD, "TTlvBase::AddData" ); |
96 TFLOGSTRING("TSY: TTlvBase::AddData"); |
96 TFLOGSTRING("TSY: TTlvBase::AddData"); |
97 iData.Append( aValue ); |
97 iData.Append( aValue ); |
98 iData[iLenIndex] = TUint8(iData[iLenIndex] + aValue.Length()); |
98 iData[iLenIndex] = TUint8(iData[iLenIndex] + aValue.Length()); |
99 } |
99 } |
100 |
100 |
106 // returns descriptor to the new valid ber-tlv. |
106 // returns descriptor to the new valid ber-tlv. |
107 // ----------------------------------------------------------------------------- |
107 // ----------------------------------------------------------------------------- |
108 // |
108 // |
109 const TDesC8& TTlvBase::End() |
109 const TDesC8& TTlvBase::End() |
110 { |
110 { |
111 OstTrace0( TRACE_DETAILED, TTLVBASE_END, "TTlvBase::End" ); |
111 OstTrace0( TRACE_INTERNALS, TTLVBASE_END_TD, "TTlvBase::End" ); |
112 TFLOGSTRING("TSY: TTlvBase::End"); |
112 TFLOGSTRING("TSY: TTlvBase::End"); |
113 |
113 |
114 _LIT8( KLenTag, "\x81" ); |
114 _LIT8( KLenTag, "\x81" ); |
115 |
115 |
116 TInt i( 3 ); // index to tag length |
116 TInt i( 3 ); // index to tag length |
147 // used without top level tag. |
147 // used without top level tag. |
148 // ----------------------------------------------------------------------------- |
148 // ----------------------------------------------------------------------------- |
149 // |
149 // |
150 const TDesC8& TTlvBase::GetDataWithoutTopLevelTag() |
150 const TDesC8& TTlvBase::GetDataWithoutTopLevelTag() |
151 { |
151 { |
152 OstTrace0( TRACE_DETAILED, TTLVBASE_GETDATAWITHOUTTOPLEVELTAG, "TTlvBase::GetDataWithoutTopLevelTag" ); |
152 OstTrace0( TRACE_INTERNALS, TTLVBASE_GETDATAWITHOUTTOPLEVELTAG_TD, "TTlvBase::GetDataWithoutTopLevelTag" ); |
153 TFLOGSTRING("TSY: TTlvBase::GetDataWithoutTopLevelTag"); |
153 TFLOGSTRING("TSY: TTlvBase::GetDataWithoutTopLevelTag"); |
154 |
154 |
155 _LIT8( KLenTag, "\x81" ); |
155 _LIT8( KLenTag, "\x81" ); |
156 |
156 |
157 TInt i( 1 ); // index to tag length |
157 TInt i( 1 ); // index to tag length |
178 // might leave. |
178 // might leave. |
179 // ----------------------------------------------------------------------------- |
179 // ----------------------------------------------------------------------------- |
180 // |
180 // |
181 CBerTlv::CBerTlv() |
181 CBerTlv::CBerTlv() |
182 { |
182 { |
183 OstTrace0( TRACE_DETAILED, CBERTLV_CBERTLV, "CBerTlv::CBerTlv" ); |
183 OstTrace0( TRACE_INTERNALS, CBERTLV_CBERTLV_TD, "CBerTlv::CBerTlv" ); |
184 TFLOGSTRING("TSY: CBerTlv::CBerTlv"); |
184 TFLOGSTRING("TSY: CBerTlv::CBerTlv"); |
185 //none |
185 //none |
186 } |
186 } |
187 |
187 |
188 // ----------------------------------------------------------------------------- |
188 // ----------------------------------------------------------------------------- |
198 CTlv* aTlv, //TLV |
198 CTlv* aTlv, //TLV |
199 TUint8 aTlvTagValue, //TLV identifier |
199 TUint8 aTlvTagValue, //TLV identifier |
200 TInt aItemNbr //item number |
200 TInt aItemNbr //item number |
201 ) |
201 ) |
202 { |
202 { |
203 OstTrace0( TRACE_DETAILED, CBERTLV_TLVBYTAGVALUE, "CBerTlv::TlvByTagValue" ); |
203 OstTrace0( TRACE_INTERNALS, CBERTLV_TLVBYTAGVALUE_TD, "CBerTlv::TlvByTagValue" ); |
204 TFLOGSTRING("TSY: CBerTlv::TlvByTagValue"); |
204 TFLOGSTRING("TSY: CBerTlv::TlvByTagValue"); |
205 TInt currentTlv( 0 ); |
205 TInt currentTlv( 0 ); |
206 TInt tlvLength( 0 ); |
206 TInt tlvLength( 0 ); |
207 TInt index( 0 ); |
207 TInt index( 0 ); |
208 |
208 |
285 ( |
285 ( |
286 CTlv* aTlv, //TLV to fill |
286 CTlv* aTlv, //TLV to fill |
287 TUint8 aTlvTagValue // tag of tlv to find |
287 TUint8 aTlvTagValue // tag of tlv to find |
288 ) |
288 ) |
289 { |
289 { |
290 OstTrace0( TRACE_DETAILED, CBERTLV_TLVBYTAGVALUEMULTI, "CBerTlv::TlvByTagValueMulti" ); |
290 OstTrace0( TRACE_INTERNALS, CBERTLV_TLVBYTAGVALUEMULTI_TD, "CBerTlv::TlvByTagValueMulti" ); |
291 TFLOGSTRING("TSY: CBerTlv::TlvByTagValueMulti"); |
291 TFLOGSTRING("TSY: CBerTlv::TlvByTagValueMulti"); |
292 |
292 |
293 TInt currentTlv( 0 ); |
293 TInt currentTlv( 0 ); |
294 TInt16 tlvLength( 0 ); |
294 TInt16 tlvLength( 0 ); |
295 TInt indMulti( 0 ); |
295 TInt indMulti( 0 ); |
361 // might leave. |
361 // might leave. |
362 // ----------------------------------------------------------------------------- |
362 // ----------------------------------------------------------------------------- |
363 // |
363 // |
364 CTlv::CTlv() |
364 CTlv::CTlv() |
365 { |
365 { |
366 OstTrace0( TRACE_DETAILED, CTLV_CTLV, "CTlv::CTlv" ); |
366 OstTrace0( TRACE_INTERNALS, CTLV_CTLV_TD, "CTlv::CTlv" ); |
367 TFLOGSTRING("TSY: CTlv::CTlv"); |
367 TFLOGSTRING("TSY: CTlv::CTlv"); |
368 //none |
368 //none |
369 } |
369 } |
370 |
370 |
371 // ----------------------------------------------------------------------------- |
371 // ----------------------------------------------------------------------------- |
377 TUint8 CTlv::GetShortInfo |
377 TUint8 CTlv::GetShortInfo |
378 ( |
378 ( |
379 TTlvSpesificDataType aType //Info spesific data type |
379 TTlvSpesificDataType aType //Info spesific data type |
380 ) |
380 ) |
381 { |
381 { |
382 OstTrace0( TRACE_DETAILED, CTLV_GETSHORTINFO, "CTlv::GetShortInfo" ); |
382 OstTrace0( TRACE_INTERNALS, CTLV_GETSHORTINFO_TD, "CTlv::GetShortInfo" ); |
383 TFLOGSTRING("TSY: CTlv::GetShortInfo"); |
383 TFLOGSTRING("TSY: CTlv::GetShortInfo"); |
384 |
384 |
385 //information is generally at index 2. NOTE! This method should be optimised |
385 //information is generally at index 2. NOTE! This method should be optimised |
386 //after the code maturity is high enough. |
386 //after the code maturity is high enough. |
387 TInt ind ( KTlvDataAreaStartPosition ); |
387 TInt ind ( KTlvDataAreaStartPosition ); |
906 } |
906 } |
907 else |
907 else |
908 { |
908 { |
909 // Data type did not match with any of enumerations |
909 // Data type did not match with any of enumerations |
910 TFLOGSTRING2("TSY: CTlv::GetShortInfo, Unknown data type:0x%x", aType); |
910 TFLOGSTRING2("TSY: CTlv::GetShortInfo, Unknown data type:0x%x", aType); |
911 OstTrace1( TRACE_DETAILED, DUP1_CTLV_GETSHORTINFO, "CTlv::GetShortInfo Unknown data type: %{TTlvSpesificDataType}", aType ); |
911 OstTrace1( TRACE_INTERNALS, DUP1_CTLV_GETSHORTINFO_TD, "CTlv::GetShortInfo Unknown data type: %{TTlvSpesificDataType}", aType ); |
912 |
912 |
913 } |
913 } |
914 |
914 |
915 return iData[ind]; |
915 return iData[ind]; |
916 |
916 |
924 TPtrC8 CTlv::GetData |
924 TPtrC8 CTlv::GetData |
925 ( |
925 ( |
926 TTlvSpesificDataType aType //Info spesific data type |
926 TTlvSpesificDataType aType //Info spesific data type |
927 ) |
927 ) |
928 { |
928 { |
929 OstTrace0( TRACE_DETAILED, CTLV_GETDATA, "CTlv::GetData" ); |
929 OstTrace0( TRACE_INTERNALS, CTLV_GETDATA_TD, "CTlv::GetData" ); |
930 TFLOGSTRING("TSY: CTlv::GetData"); |
930 TFLOGSTRING("TSY: CTlv::GetData"); |
931 |
931 |
932 //information is generally at index 2. |
932 //information is generally at index 2. |
933 TInt ind ( 2 ); |
933 TInt ind ( 2 ); |
934 TUint8 offset( 0 ); |
934 TUint8 offset( 0 ); |
1479 } |
1479 } |
1480 else |
1480 else |
1481 { |
1481 { |
1482 // Data type did not match |
1482 // Data type did not match |
1483 TFLOGSTRING2("TSY: CTlv::GetData, Unknown data type: 0x%x", aType ); |
1483 TFLOGSTRING2("TSY: CTlv::GetData, Unknown data type: 0x%x", aType ); |
1484 OstTrace1( TRACE_DETAILED, DUP2_CTLV_GETDATA, "CTlv::GetData Unknown data type: %{TTlvSpesificDataType}", aType ); |
1484 OstTrace1( TRACE_INTERNALS, DUP2_CTLV_GETDATA_TD, "CTlv::GetData Unknown data type: %{TTlvSpesificDataType}", aType ); |
1485 |
1485 |
1486 } |
1486 } |
1487 |
1487 |
1488 return iData.Mid( ind, length ); |
1488 return iData.Mid( ind, length ); |
1489 |
1489 |
1498 TUint16 CTlv::GetLongInfo |
1498 TUint16 CTlv::GetLongInfo |
1499 ( |
1499 ( |
1500 TTlvSpesificDataType aType //Info spesific data type |
1500 TTlvSpesificDataType aType //Info spesific data type |
1501 ) |
1501 ) |
1502 { |
1502 { |
1503 OstTrace0( TRACE_DETAILED, CTLV_GETLONGINFO, "CTlv::GetLongInfo" ); |
1503 OstTrace0( TRACE_INTERNALS, CTLV_GETLONGINFO_TD, "CTlv::GetLongInfo" ); |
1504 TFLOGSTRING("TSY: CTlv::GetLongInfo"); |
1504 TFLOGSTRING("TSY: CTlv::GetLongInfo"); |
1505 |
1505 |
1506 TUint16 ret( 0x0000 ); |
1506 TUint16 ret( 0x0000 ); |
1507 |
1507 |
1508 if ( ETLV_LocationAreaCode == aType ) |
1508 if ( ETLV_LocationAreaCode == aType ) |
1566 } |
1566 } |
1567 else |
1567 else |
1568 { |
1568 { |
1569 // Data type did not match |
1569 // Data type did not match |
1570 TFLOGSTRING2("TSY: CTlv::GetLongInfo, Unknown data type:0x%x", aType ); |
1570 TFLOGSTRING2("TSY: CTlv::GetLongInfo, Unknown data type:0x%x", aType ); |
1571 OstTrace1( TRACE_DETAILED, DUP1_CTLV_GETLONGINFO, "CTlv::GetLongInfo, Unknown data type: %{TTlvSpesificDataType}", aType ); |
1571 OstTrace1( TRACE_INTERNALS, DUP1_CTLV_GETLONGINFO_TD, "CTlv::GetLongInfo, Unknown data type: %{TTlvSpesificDataType}", aType ); |
1572 |
1572 |
1573 } |
1573 } |
1574 return ret; |
1574 return ret; |
1575 |
1575 |
1576 } |
1576 } |
1582 // UICC_CAT_IND(UICC_CAT_FETCHED_CMD) ISI message. |
1582 // UICC_CAT_IND(UICC_CAT_FETCHED_CMD) ISI message. |
1583 // ----------------------------------------------------------------------------- |
1583 // ----------------------------------------------------------------------------- |
1584 // |
1584 // |
1585 TInt CBerTlv::BerTlv( const TIsiReceiveC& aIsiMessage ) |
1585 TInt CBerTlv::BerTlv( const TIsiReceiveC& aIsiMessage ) |
1586 { |
1586 { |
1587 OstTrace0( TRACE_DETAILED, CBERTLV_BERTLV, "CBerTlv::BerTlv" ); |
1587 OstTrace0( TRACE_INTERNALS, CBERTLV_BERTLV_TD, "CBerTlv::BerTlv" ); |
1588 TFLOGSTRING("TSY: CBerTlv::BerTlv"); |
1588 TFLOGSTRING("TSY: CBerTlv::BerTlv"); |
1589 |
1589 |
1590 TInt result ( KErrNotFound ); |
1590 TInt result ( KErrNotFound ); |
1591 TUint16 berTlvLength( 0 ); |
1591 TUint16 berTlvLength( 0 ); |
1592 |
1592 |