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