branch | RCL_3 |
changeset 66 | 07a122eea281 |
parent 65 | 630d2f34d719 |
65:630d2f34d719 | 66:07a122eea281 |
---|---|
1 // Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
12 // |
12 // |
13 // Description: |
13 // Description: |
14 // |
14 // |
15 |
|
16 |
|
17 #include "OstTraceDefinitions.h" |
|
18 #ifdef OST_TRACE_COMPILER_IN_USE |
|
19 #include "wapdgrmTraces.h" |
|
20 #endif |
|
21 |
15 |
22 #include "gsmubuf.h" |
16 #include "gsmubuf.h" |
23 #include "gsmuset.h" |
17 #include "gsmuset.h" |
24 #include "Gsmuelem.h" |
18 #include "Gsmuelem.h" |
25 #include "Gsmumsg.h" |
19 #include "Gsmumsg.h" |
32 // |
26 // |
33 // For incoming short message |
27 // For incoming short message |
34 // |
28 // |
35 CWapDatagram* CWapDatagram::NewL(const CSmsMessage& aSms) |
29 CWapDatagram* CWapDatagram::NewL(const CSmsMessage& aSms) |
36 { |
30 { |
37 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_1, "CWapDatagram::NewL(): aSms=0x%08x", (TInt) &aSms); |
31 LOGWAPPROT2("CWapDatagram::NewL(): aSms=0x%08x", (TInt) &aSms); |
38 |
32 |
39 CWapDatagram* datagram = new (ELeave)CWapDatagram(); |
33 CWapDatagram* datagram = new (ELeave)CWapDatagram(); |
40 |
34 |
41 CleanupStack::PushL(datagram); |
35 CleanupStack::PushL(datagram); |
42 datagram->ConstructL(aSms); |
36 datagram->ConstructL(aSms); |
43 CleanupStack::Pop(); |
37 CleanupStack::Pop(); |
44 |
38 |
45 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_2, "CWapDatagram::NewL(): iFromPort: %d", datagram->iFromPort); |
39 LOGWAPPROT2("CWapDatagram::NewL(): iFromPort: %d", datagram->iFromPort); |
46 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_3, "CWapDatagram::NewL(): iToPort: %d", datagram->iToPort); |
40 LOGWAPPROT2("CWapDatagram::NewL(): iToPort: %d", datagram->iToPort); |
47 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_4, "CWapDatagram::NewL(): iReference: %d", datagram->iReference); |
41 LOGWAPPROT2("CWapDatagram::NewL(): iReference: %d", datagram->iReference); |
48 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_5, "CWapDatagram::NewL(): iTotalSegments: %d", datagram->iTotalSegments); |
42 LOGWAPPROT2("CWapDatagram::NewL(): iTotalSegments: %d", datagram->iTotalSegments); |
49 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_6, "CWapDatagram::NewL(): iSegmentNumber: %d", datagram->iSegmentNumber); |
43 LOGWAPPROT2("CWapDatagram::NewL(): iSegmentNumber: %d", datagram->iSegmentNumber); |
50 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_7, "CWapDatagram::NewL(): iIsComplete: %d", datagram->iIsComplete); |
44 LOGWAPPROT2("CWapDatagram::NewL(): iIsComplete: %d", datagram->iIsComplete); |
51 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_8, "CWapDatagram::NewL(): iReference: %d", datagram->iReference); |
45 LOGWAPPROT2("CWapDatagram::NewL(): iReference: %d", datagram->iReference); |
52 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_9, "CWapDatagram::NewL(): iIsTextHeader: %d", datagram->iIsTextHeader); |
46 LOGWAPPROT2("CWapDatagram::NewL(): iIsTextHeader: %d", datagram->iIsTextHeader); |
53 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_10, "CWapDatagram::NewL(): iLogServerId: %d", datagram->iLogServerId); |
47 LOGWAPPROT2("CWapDatagram::NewL(): iLogServerId: %d", datagram->iLogServerId); |
54 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_11, "CWapDatagram::NewL(): i16BitPorts: %d", datagram->i16BitPorts); |
48 LOGWAPPROT2("CWapDatagram::NewL(): i16BitPorts: %d", datagram->i16BitPorts); |
55 |
49 |
56 // assert destination port |
50 // assert destination port |
57 if (datagram->i16BitPorts) |
51 if (datagram->i16BitPorts) |
58 { |
52 { |
59 if (datagram->iToPort>=0 && datagram->iToPort<=65535) |
53 if (datagram->iToPort>=0 && datagram->iToPort<=65535) |
60 { |
54 { |
61 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_12, "iToPort OK"); |
55 LOGWAPPROT1("iToPort OK"); |
62 } |
56 } |
63 else |
57 else |
64 { |
58 { |
65 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_13, "iToPort FAILED"); |
59 LOGWAPPROT1("iToPort FAILED"); |
66 } |
60 } |
67 } |
61 } |
68 else |
62 else |
69 { |
63 { |
70 if (datagram->iToPort>=0 && datagram->iToPort<=255) |
64 if (datagram->iToPort>=0 && datagram->iToPort<=255) |
71 { |
65 { |
72 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_14, "iToPort OK"); |
66 LOGWAPPROT1("iToPort OK"); |
73 } |
67 } |
74 else |
68 else |
75 { |
69 { |
76 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_15, "iToPort FAILED"); |
70 LOGWAPPROT1("iToPort FAILED"); |
77 } |
71 } |
78 } |
72 } |
79 |
73 |
80 if (datagram->i16BitPorts) |
74 if (datagram->i16BitPorts) |
81 { |
75 { |
82 if (datagram->iFromPort>=0 && datagram->iFromPort<=65535) |
76 if (datagram->iFromPort>=0 && datagram->iFromPort<=65535) |
83 { |
77 { |
84 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_16, "iFromPort OK"); |
78 LOGWAPPROT1("iFromPort OK"); |
85 } |
79 } |
86 else |
80 else |
87 { |
81 { |
88 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_17, "iFromPort FAILED"); |
82 LOGWAPPROT1("iFromPort FAILED"); |
89 } |
83 } |
90 } |
84 } |
91 else |
85 else |
92 { |
86 { |
93 if (datagram->iFromPort>=0 && datagram->iFromPort<=255) |
87 if (datagram->iFromPort>=0 && datagram->iFromPort<=255) |
94 { |
88 { |
95 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_18, "iFromPort OK"); |
89 LOGWAPPROT1("iFromPort OK"); |
96 } |
90 } |
97 else |
91 else |
98 { |
92 { |
99 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL_19, "iFromPort FAILED"); |
93 LOGWAPPROT1("iFromPort FAILED"); |
100 } |
94 } |
101 } |
95 } |
102 |
96 |
103 return datagram; |
97 return datagram; |
104 } // CWapDatagram::NewL |
98 } // CWapDatagram::NewL |
107 // |
101 // |
108 // For outgoing short messages |
102 // For outgoing short messages |
109 // |
103 // |
110 CWapDatagram* CWapDatagram::NewL(const TDesC8& aSendBuffer) |
104 CWapDatagram* CWapDatagram::NewL(const TDesC8& aSendBuffer) |
111 { |
105 { |
112 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_NEWL1_1, "CWapDatagram::NewL(): aSendBuffer=0x%08x", (TInt) &aSendBuffer); |
106 LOGWAPPROT2("CWapDatagram::NewL(): aSendBuffer=0x%08x", (TInt) &aSendBuffer); |
113 |
107 |
114 CWapDatagram* datagram = new (ELeave)CWapDatagram(); |
108 CWapDatagram* datagram = new (ELeave)CWapDatagram(); |
115 |
109 |
116 CleanupStack::PushL(datagram); |
110 CleanupStack::PushL(datagram); |
117 datagram->Construct(aSendBuffer); |
111 datagram->Construct(aSendBuffer); |
121 } // CWapDatagram::NewL |
115 } // CWapDatagram::NewL |
122 |
116 |
123 |
117 |
124 CWapDatagram::~CWapDatagram() |
118 CWapDatagram::~CWapDatagram() |
125 { |
119 { |
126 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_DTOR_1, "CWapDatagram::~CWapDatagram()"); |
120 LOGWAPPROT1("CWapDatagram::~CWapDatagram()"); |
127 |
121 |
128 delete iRecvbuf; |
122 delete iRecvbuf; |
129 delete iBuffer; |
123 delete iBuffer; |
130 delete iSegment; |
124 delete iSegment; |
131 } // CWapDatagram::~CWapDatagram |
125 } // CWapDatagram::~CWapDatagram |
135 // What about service centre address ? |
129 // What about service centre address ? |
136 // aSmsMessageArray contains CSmsMessage objects |
130 // aSmsMessageArray contains CSmsMessage objects |
137 // |
131 // |
138 void CWapDatagram::EncodeConcatenatedMessagesL(RFs& aFs, CArrayPtr<CSmsMessage>& aSmsMessageArray) |
132 void CWapDatagram::EncodeConcatenatedMessagesL(RFs& aFs, CArrayPtr<CSmsMessage>& aSmsMessageArray) |
139 { |
133 { |
140 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_ENCODECONCATENATEDMESSAGESL_1, "CWapDatagram::EncodeConcatenatedMessagesL(): %d messages", aSmsMessageArray.Count()); |
134 LOGWAPPROT2("CWapDatagram::EncodeConcatenatedMessagesL(): %d messages", aSmsMessageArray.Count()); |
141 |
135 |
142 // Couple of checkings makes sense |
136 // Couple of checkings makes sense |
143 __ASSERT_DEBUG(iToPort >=0 && iToAddress.Length()>=0 |
137 __ASSERT_DEBUG(iToPort >=0 && iToAddress.Length()>=0 |
144 && (iUserDataSettings.Alphabet()==TSmsDataCodingScheme::ESmsAlphabet8Bit |
138 && (iUserDataSettings.Alphabet()==TSmsDataCodingScheme::ESmsAlphabet8Bit |
145 || iUserDataSettings.Alphabet()==TSmsDataCodingScheme::ESmsAlphabet7Bit), |
139 || iUserDataSettings.Alphabet()==TSmsDataCodingScheme::ESmsAlphabet7Bit), |
199 } |
193 } |
200 } // CWapDatagram::EncodeConcatenatedMessagesL |
194 } // CWapDatagram::EncodeConcatenatedMessagesL |
201 |
195 |
202 void CWapDatagram::DecodeConcatenatedMessagesL(CArrayPtr<TSegmentData>& aSmsMessageArray) |
196 void CWapDatagram::DecodeConcatenatedMessagesL(CArrayPtr<TSegmentData>& aSmsMessageArray) |
203 { |
197 { |
204 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_DECODECONCATENATEDMESSAGESL_1, "CWapDatagram::DecodeConcatenatedMessagesL()"); |
198 LOGWAPPROT1("CWapDatagram::DecodeConcatenatedMessagesL()"); |
205 |
199 |
206 // The TSegmentData elements are in the random order in the array |
200 // The TSegmentData elements are in the random order in the array |
207 TInt Count = aSmsMessageArray.Count(); |
201 TInt Count = aSmsMessageArray.Count(); |
208 TInt i=0; |
202 TInt i=0; |
209 |
203 |
365 // |
359 // |
366 // Outgoing |
360 // Outgoing |
367 // |
361 // |
368 void CWapDatagram::Construct(const TDesC8& aSendBuffer) |
362 void CWapDatagram::Construct(const TDesC8& aSendBuffer) |
369 { |
363 { |
370 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_CONSTRUCT_1, "CWapDatagram::Construct()"); |
364 LOGWAPPROT1("CWapDatagram::Construct()"); |
371 |
365 |
372 // Set version number to 1, as we have had to make |
366 // Set version number to 1, as we have had to make |
373 // changes to CWapDatagram for CR0929 |
367 // changes to CWapDatagram for CR0929 |
374 iVersionNumber = EFirstVersion; |
368 iVersionNumber = EFirstVersion; |
375 |
369 |
383 // encoded in information elements (IE) although it is not |
377 // encoded in information elements (IE) although it is not |
384 // a requirement |
378 // a requirement |
385 // |
379 // |
386 void CWapDatagram::ConstructL(const CSmsMessage& aSms) |
380 void CWapDatagram::ConstructL(const CSmsMessage& aSms) |
387 { |
381 { |
388 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_CONSTRUCTL_1, "CWapDatagram::ConstructL()"); |
382 LOGWAPPROT1("CWapDatagram::ConstructL()"); |
389 |
383 |
390 // Set version number to 1, as we have had to make |
384 // Set version number to 1, as we have had to make |
391 // changes to CWapDatagram for CR0929 |
385 // changes to CWapDatagram for CR0929 |
392 iVersionNumber = EFirstVersion; |
386 iVersionNumber = EFirstVersion; |
393 |
387 |
450 // Copies contents of iBuffer to iSmsBuffer |
444 // Copies contents of iBuffer to iSmsBuffer |
451 // Allocates iSegment object |
445 // Allocates iSegment object |
452 // |
446 // |
453 void CWapDatagram::GetDatagramSettingsL() |
447 void CWapDatagram::GetDatagramSettingsL() |
454 { |
448 { |
455 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_GETDATAGRAMSETTINGSL_1, "CWapDatagram::GetDatagramSettingsL()"); |
449 LOGWAPPROT1("CWapDatagram::GetDatagramSettingsL()"); |
456 |
450 |
457 /* The WAP stack always receives 8 bit WAP datagrams from the SMS Stack as a single CSmsMessage. |
451 /* The WAP stack always receives 8 bit WAP datagrams from the SMS Stack as a single CSmsMessage. |
458 This is because 8 bit WAP messages which cannot be encoded into a single PDU are sent in a segmented SMS |
452 This is because 8 bit WAP messages which cannot be encoded into a single PDU are sent in a segmented SMS |
459 message which is reassembled inside the SMS Stack; the SMS Stack always passes the WAP stack |
453 message which is reassembled inside the SMS Stack; the SMS Stack always passes the WAP stack |
460 a single CSmsMessage containing a single WAP message regardless of the message length. |
454 a single CSmsMessage containing a single WAP message regardless of the message length. |
495 // |
489 // |
496 // Set WAP datagram private members from information element structures |
490 // Set WAP datagram private members from information element structures |
497 // |
491 // |
498 void CWapDatagram::GetDatagramSettings(const CSmsMessage& aSms) |
492 void CWapDatagram::GetDatagramSettings(const CSmsMessage& aSms) |
499 { |
493 { |
500 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_GETDATAGRAMSETTINGS_1, "CWapDatagram::GetDatagramSettings()"); |
494 LOGWAPPROT1("CWapDatagram::GetDatagramSettings()"); |
501 |
495 |
502 const CSmsPDU& Pdu = aSms.SmsPDU(); |
496 const CSmsPDU& Pdu = aSms.SmsPDU(); |
503 |
497 |
504 __ASSERT_DEBUG(Pdu.Type()==CSmsPDU::ESmsDeliver || Pdu.Type()==CSmsPDU::ESmsSubmit, // this line is testing purposes only |
498 __ASSERT_DEBUG(Pdu.Type()==CSmsPDU::ESmsDeliver || Pdu.Type()==CSmsPDU::ESmsSubmit, // this line is testing purposes only |
505 Panic(KPanicUsageError)); |
499 Panic(KPanicUsageError)); |
528 // Set Alphabet information of iUserDataSettings before calling the method |
522 // Set Alphabet information of iUserDataSettings before calling the method |
529 // Converts from 7/8-bit to UNICODE |
523 // Converts from 7/8-bit to UNICODE |
530 // |
524 // |
531 void CWapDatagram::ConvertL(const TDesC8& aNarrowChars,CSmsBufferBase& aSmsBuffer) const |
525 void CWapDatagram::ConvertL(const TDesC8& aNarrowChars,CSmsBufferBase& aSmsBuffer) const |
532 { |
526 { |
533 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_CONVERTL_1, "CWapDatagram::ConvertL()"); |
527 LOGWAPPROT1("CWapDatagram::ConvertL()"); |
534 |
528 |
535 // Convert the data in segments of specified max size |
529 // Convert the data in segments of specified max size |
536 const TInt KMaxSegmentSize=CSmsBufferBase::EMaxBufLength; |
530 const TInt KMaxSegmentSize=CSmsBufferBase::EMaxBufLength; |
537 |
531 |
538 // Create converter and reassembler |
532 // Create converter and reassembler |
559 // |
553 // |
560 // Converts from UNICODE to 7/8-bit |
554 // Converts from UNICODE to 7/8-bit |
561 // |
555 // |
562 void CWapDatagram::ConvertL(const CSmsBufferBase& aSmsBuffer,HBufC8** aNarrowChars) const |
556 void CWapDatagram::ConvertL(const CSmsBufferBase& aSmsBuffer,HBufC8** aNarrowChars) const |
563 { |
557 { |
564 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_CONVERTL1_1, "CWapDatagram::ConvertL()"); |
558 LOGWAPPROT1("CWapDatagram::ConvertL()"); |
565 |
559 |
566 // Convert the data in segments of specified max size |
560 // Convert the data in segments of specified max size |
567 const TInt KMaxSegmentSize=CSmsBufferBase::EMaxBufLength; |
561 const TInt KMaxSegmentSize=CSmsBufferBase::EMaxBufLength; |
568 |
562 |
569 // Delete the existing buffer |
563 // Delete the existing buffer |
604 } // CWapDatagram::ConvertL |
598 } // CWapDatagram::ConvertL |
605 |
599 |
606 |
600 |
607 void CWapDatagram::SetSmsMessageSettingsL(CSmsMessage& aSmsMessage, TBool aSetPorts) |
601 void CWapDatagram::SetSmsMessageSettingsL(CSmsMessage& aSmsMessage, TBool aSetPorts) |
608 { |
602 { |
609 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_SETSMSMESSAGESETTINGSL_1, "CWapDatagram::SetSmsMessageSettingsL()"); |
603 LOGWAPPROT1("CWapDatagram::SetSmsMessageSettingsL()"); |
610 |
604 |
611 CSmsPDU& Pdu = aSmsMessage.SmsPDU(); |
605 CSmsPDU& Pdu = aSmsMessage.SmsPDU(); |
612 |
606 |
613 aSmsMessage.SetToFromAddressL(iToAddress); |
607 aSmsMessage.SetToFromAddressL(iToAddress); |
614 aSmsMessage.SetUserDataSettingsL(iUserDataSettings); |
608 aSmsMessage.SetUserDataSettingsL(iUserDataSettings); |
675 // |
669 // |
676 // Return the location of the link |
670 // Return the location of the link |
677 // |
671 // |
678 TInt CWapDatagram::LinkOffset() |
672 TInt CWapDatagram::LinkOffset() |
679 { |
673 { |
680 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_LINKOFFSET_1, "CWapDatagram::LinkOffset()"); |
674 LOGWAPPROT1("CWapDatagram::LinkOffset()"); |
681 |
675 |
682 |
676 |
683 return _FOFF(CWapDatagram,iLink); |
677 return _FOFF(CWapDatagram,iLink); |
684 } // CWapDatagram::LinkOffset |
678 } // CWapDatagram::LinkOffset |
685 |
679 |
686 |
680 |
687 TBool CWapDatagram::SetUTCOffset(const TTimeIntervalSeconds& aUTCOffset) |
681 TBool CWapDatagram::SetUTCOffset(const TTimeIntervalSeconds& aUTCOffset) |
688 { |
682 { |
689 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_SETUTCOFFSET_1, "CWapDatagram::SetUTCOffset()"); |
683 LOGWAPPROT1("CWapDatagram::SetUTCOffset()"); |
690 |
684 |
691 TBool rc = ETrue; |
685 TBool rc = ETrue; |
692 TInt utcOffset = aUTCOffset.Int(); |
686 TInt utcOffset = aUTCOffset.Int(); |
693 |
687 |
694 if ((utcOffset <= CSmsMessage::EMaximumSeconds) && |
688 if ((utcOffset <= CSmsMessage::EMaximumSeconds) && |
696 { |
690 { |
697 iUTCOffset = utcOffset; |
691 iUTCOffset = utcOffset; |
698 } |
692 } |
699 else |
693 else |
700 { |
694 { |
701 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAPDATAGRAM_SETUTCOFFSET_2, "CWapDatagram:SetUTCOffset offset [out of range] = %d",utcOffset); |
695 LOGWAPPROT2("CWapDatagram:SetUTCOffset offset [out of range] = %d",utcOffset); |
702 rc = EFalse; |
696 rc = EFalse; |
703 } |
697 } |
704 |
698 |
705 return rc; |
699 return rc; |
706 } // CWapDatagram::SetUTCOffset |
700 } // CWapDatagram::SetUTCOffset |