1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2006-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". |
19 |
19 |
20 |
20 |
21 |
21 |
22 |
22 |
23 //INCLUDES |
23 //INCLUDES |
|
24 |
|
25 #include "OstTraceDefinitions.h" |
|
26 #ifdef OST_TRACE_COMPILER_IN_USE |
|
27 #include "csatcctsyTraces.h" |
|
28 #endif |
|
29 |
24 #include "etelsat.h" // SAT specific Etel definitions |
30 #include "etelsat.h" // SAT specific Etel definitions |
25 #include "CSatDataPackage.h" // Parameter packing |
31 #include "CSatDataPackage.h" // Parameter packing |
26 #include "CSatCCTsy.h" // Class header |
32 #include "CSatCCTsy.h" // Class header |
27 #include "CSatTsy.h" // SAT TSY general class |
33 #include "CSatTsy.h" // SAT TSY general class |
28 #include "CSatNotificationsTsy.h" // SAT TSY Notifications class |
34 #include "CSatNotificationsTsy.h" // SAT TSY Notifications class |
29 #include "cmmmessagemanagerbase.h" // Message manager class for forwarding req. |
35 #include "cmmmessagemanagerbase.h" // Message manager class for forwarding req. |
30 #include "TfLogger.h" // For TFLOGSTRING |
|
31 #include "msattsy_ipcdefs.h" // Sat Tsy specific request types |
36 #include "msattsy_ipcdefs.h" // Sat Tsy specific request types |
32 #include "TSatUtility.h" // Utility class |
37 #include "TSatUtility.h" // Utility class |
33 #include "TTlv.h" // TTlv class |
38 #include "TTlv.h" // TTlv class |
34 |
39 |
35 |
40 |
42 ( |
47 ( |
43 CSatTsy* aSatTsy, |
48 CSatTsy* aSatTsy, |
44 CSatNotificationsTsy* aNotificationsTsy |
49 CSatNotificationsTsy* aNotificationsTsy |
45 ) |
50 ) |
46 { |
51 { |
47 TFLOGSTRING("CSAT: CSatCCTsy::NewL"); |
52 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_NEWL_1, "CSAT: CSatCCTsy::NewL"); |
48 CSatCCTsy* const satCcTsy = new ( ELeave ) CSatCCTsy( aNotificationsTsy ); |
53 CSatCCTsy* const satCcTsy = new ( ELeave ) CSatCCTsy( aNotificationsTsy ); |
49 CleanupStack::PushL( satCcTsy ); |
54 CleanupStack::PushL( satCcTsy ); |
50 satCcTsy->iSatTsy = aSatTsy; |
55 satCcTsy->iSatTsy = aSatTsy; |
51 satCcTsy->ConstructL(); |
56 satCcTsy->ConstructL(); |
52 CleanupStack::Pop( satCcTsy ); |
57 CleanupStack::Pop( satCcTsy ); |
53 TFLOGSTRING("CSAT: CSatCCTsy::NewL, end of method"); |
58 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_NEWL_2, "CSAT: CSatCCTsy::NewL, end of method"); |
54 return satCcTsy; |
59 return satCcTsy; |
55 } |
60 } |
56 |
61 |
57 // ----------------------------------------------------------------------------- |
62 // ----------------------------------------------------------------------------- |
58 // CSatCCTsy::~CSatCCTsy |
63 // CSatCCTsy::~CSatCCTsy |
78 void CSatCCTsy::ConstructL |
83 void CSatCCTsy::ConstructL |
79 ( |
84 ( |
80 //None |
85 //None |
81 ) |
86 ) |
82 { |
87 { |
83 TFLOGSTRING("CSAT: CSatCCTsy::ConstructL\n" ); |
88 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CONSTRUCTL_1, "CSAT: CSatCCTsy::ConstructL\n" ); |
84 // Register. |
89 // Register. |
85 iSatTsy->MessageManager()->RegisterTsyObject( |
90 iSatTsy->MessageManager()->RegisterTsyObject( |
86 CMmMessageManagerBase::ESatCCTsyObjType, this ); |
91 CMmMessageManagerBase::ESatCCTsyObjType, this ); |
87 iBearerData.Zero(); |
92 iBearerData.Zero(); |
88 // Initialize to false |
93 // Initialize to false |
115 ( |
120 ( |
116 CSatDataPackage* aDataPackage, |
121 CSatDataPackage* aDataPackage, |
117 TInt /*aResult*/ |
122 TInt /*aResult*/ |
118 ) |
123 ) |
119 { |
124 { |
120 TFLOGSTRING("CSAT: CSatCCTsy::CompleteBearerCapability"); |
125 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_COMPLETEBEARERCAPABILITY_1, "CSAT: CSatCCTsy::CompleteBearerCapability"); |
121 TPtrC8* bearerData = NULL; |
126 TPtrC8* bearerData = NULL; |
122 |
127 |
123 // Unpack parameters |
128 // Unpack parameters |
124 aDataPackage->UnPackData( &bearerData ); |
129 aDataPackage->UnPackData( &bearerData ); |
125 iBearerData.Copy( *bearerData ); |
130 iBearerData.Copy( *bearerData ); |
132 void CSatCCTsy::CreateEnvelopeL |
137 void CSatCCTsy::CreateEnvelopeL |
133 ( |
138 ( |
134 CSatDataPackage* aDataPackage |
139 CSatDataPackage* aDataPackage |
135 ) |
140 ) |
136 { |
141 { |
137 TFLOGSTRING("CSAT: CSatCCTsy::CreateEnvelope"); |
142 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CREATEENVELOPEL_1, "CSAT: CSatCCTsy::CreateEnvelope"); |
138 TCCInfo* ccInfo; |
143 TCCInfo* ccInfo; |
139 |
144 |
140 // Unpack parameters |
145 // Unpack parameters |
141 aDataPackage->UnPackData( &ccInfo ); |
146 aDataPackage->UnPackData( &ccInfo ); |
142 |
147 |
157 CreateUSSDEnvelopeL( ccInfo ); |
162 CreateUSSDEnvelopeL( ccInfo ); |
158 break; |
163 break; |
159 } |
164 } |
160 default: |
165 default: |
161 { |
166 { |
162 TFLOGSTRING2("CSAT: CSatCCTsy::CreateEnvelope,\ |
167 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CREATEENVELOPEL_2, "CSAT: CSatCCTsy::CreateEnvelope, Unidentified tag: %d", ccInfo->iTag ); |
163 Unidentified tag: %d", ccInfo->iTag ); |
|
164 } |
168 } |
165 } |
169 } |
166 } |
170 } |
167 |
171 |
168 // ----------------------------------------------------------------------------- |
172 // ----------------------------------------------------------------------------- |
173 void CSatCCTsy::CheckIfAlphaIdPresent |
177 void CSatCCTsy::CheckIfAlphaIdPresent |
174 ( |
178 ( |
175 CSatDataPackage* aDataPackage |
179 CSatDataPackage* aDataPackage |
176 ) |
180 ) |
177 { |
181 { |
178 TFLOGSTRING("CSAT: CSatCCTsy::CheckIfAlphaIdPresent"); |
182 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CHECKIFALPHAIDPRESENT_1, "CSAT: CSatCCTsy::CheckIfAlphaIdPresent"); |
179 TDesC8* atkData; |
183 TDesC8* atkData; |
180 RSat::TControlResult* result; |
184 RSat::TControlResult* result; |
181 |
185 |
182 // Unpack parameters |
186 // Unpack parameters |
183 aDataPackage->UnPackData( &atkData, &result ); |
187 aDataPackage->UnPackData( &atkData, &result ); |
265 // identifier is not given or it is NULL, client will not |
269 // identifier is not given or it is NULL, client will not |
266 // be notified. Specs leaves this open so this decision |
270 // be notified. Specs leaves this open so this decision |
267 // can be made. |
271 // can be made. |
268 if ( 0 != alphaIdLength ) |
272 if ( 0 != alphaIdLength ) |
269 { |
273 { |
270 TFLOGSTRING("CSAT: CSatCCTsy::CheckIfAlphaIdPresent.\ |
274 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CHECKIFALPHAIDPRESENT_2, "CSAT: CSatCCTsy::CheckIfAlphaIdPresent. inform user."); |
271 inform user."); |
|
272 |
275 |
273 TPtrC8 sourceString; |
276 TPtrC8 sourceString; |
274 sourceString.Set( ( *atkData ).Mid( index + |
277 sourceString.Set( ( *atkData ).Mid( index + |
275 lengthOfLength, alphaIdLength ) ); |
278 lengthOfLength, alphaIdLength ) ); |
276 |
279 |
281 iNotificationsTsy->NotifyClientForAlphaId( alphaId, |
284 iNotificationsTsy->NotifyClientForAlphaId( alphaId, |
282 *result ); |
285 *result ); |
283 } |
286 } |
284 else |
287 else |
285 { |
288 { |
286 TFLOGSTRING("CSAT: CSatCCTsy::CheckIfAlphaIdPresent.\ |
289 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CHECKIFALPHAIDPRESENT_3, "CSAT: CSatCCTsy::CheckIfAlphaIdPresent. AlphaID length: 0."); |
287 AlphaID length: 0."); |
|
288 } |
290 } |
289 |
291 |
290 // Update index |
292 // Update index |
291 index += alphaIdLength + lengthOfLength; |
293 index += alphaIdLength + lengthOfLength; |
292 break; |
294 break; |
293 } |
295 } |
294 default: |
296 default: |
295 { |
297 { |
296 TFLOGSTRING("CSAT: CSatCCTsy::CheckIfAlphaIdPresent\ |
298 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CHECKIFALPHAIDPRESENT_4, "CSAT: CSatCCTsy::CheckIfAlphaIdPresent Unknown tag."); |
297 Unknown tag."); |
|
298 index = envLength; |
299 index = envLength; |
299 break; |
300 break; |
300 } |
301 } |
301 } |
302 } |
302 } |
303 } |
303 } |
304 } |
304 } |
305 } |
305 else |
306 else |
306 { |
307 { |
307 TFLOGSTRING("CSAT: CSatCCTsy::CheckIfAlphaIdPresent. \ |
308 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CHECKIFALPHAIDPRESENT_5, "CSAT: CSatCCTsy::CheckIfAlphaIdPresent. Input data missing!"); |
308 Input data missing!"); |
|
309 } |
309 } |
310 } |
310 } |
311 |
311 |
312 // ----------------------------------------------------------------------------- |
312 // ----------------------------------------------------------------------------- |
313 // CSatCCTsy::CompleteCCEventL |
313 // CSatCCTsy::CompleteCCEventL |
402 void CSatCCTsy::SetTonNpiForSS |
402 void CSatCCTsy::SetTonNpiForSS |
403 ( |
403 ( |
404 const TUint8 aTonNpi |
404 const TUint8 aTonNpi |
405 ) |
405 ) |
406 { |
406 { |
407 TFLOGSTRING("CSAT: CSatCCTsy::SetTonNpiForSS"); |
407 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_SETTONNPIFORSS_1, "CSAT: CSatCCTsy::SetTonNpiForSS"); |
408 iTonNpiForSS = aTonNpi; |
408 iTonNpiForSS = aTonNpi; |
409 iTonNpiPresent = ETrue; |
409 iTonNpiPresent = ETrue; |
410 } |
410 } |
411 |
411 |
412 // ----------------------------------------------------------------------------- |
412 // ----------------------------------------------------------------------------- |
417 void CSatCCTsy::SetUssdStatus |
417 void CSatCCTsy::SetUssdStatus |
418 ( |
418 ( |
419 CSatDataPackage* aDataPackage |
419 CSatDataPackage* aDataPackage |
420 ) |
420 ) |
421 { |
421 { |
422 TFLOGSTRING("CSAT: CSatCCTsy::SetUssdStatus." ); |
422 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_SETUSSDSTATUS_1, "CSAT: CSatCCTsy::SetUssdStatus." ); |
423 // Unpack parameters |
423 // Unpack parameters |
424 aDataPackage->UnPackData( iUssdTlvSupported ); |
424 aDataPackage->UnPackData( iUssdTlvSupported ); |
425 } |
425 } |
426 |
426 |
427 // ----------------------------------------------------------------------------- |
427 // ----------------------------------------------------------------------------- |
434 void CSatCCTsy::StoreAddressForCC |
434 void CSatCCTsy::StoreAddressForCC |
435 ( |
435 ( |
436 const TDesC8& aAddress |
436 const TDesC8& aAddress |
437 ) |
437 ) |
438 { |
438 { |
439 TFLOGSTRING("CSAT: CSatCCTsy::StoreAddressForCC"); |
439 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_STOREADDRESSFORCC_1, "CSAT: CSatCCTsy::StoreAddressForCC"); |
440 |
440 |
441 if ( NULL == &aAddress ) |
441 if ( NULL == &aAddress ) |
442 { |
442 { |
443 iProactiveCommandAddress.Zero(); |
443 iProactiveCommandAddress.Zero(); |
444 TFLOGSTRING("CSAT: CSatCCTsy::StoreAddressForCC, address cleared"); |
444 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_STOREADDRESSFORCC_2, "CSAT: CSatCCTsy::StoreAddressForCC, address cleared"); |
445 } |
445 } |
446 else |
446 else |
447 { |
447 { |
448 iProactiveCommandAddress.Copy( aAddress ); |
448 iProactiveCommandAddress.Copy( aAddress ); |
449 |
449 |
454 if ( '+' == iProactiveCommandAddress[0] ) |
454 if ( '+' == iProactiveCommandAddress[0] ) |
455 { |
455 { |
456 iProactiveCommandAddress.Delete( 0, 1 ); |
456 iProactiveCommandAddress.Delete( 0, 1 ); |
457 } |
457 } |
458 } |
458 } |
459 TFLOGSTRING("CSAT: CSatCCTsy::StoreAddressForCC, Address stored"); |
459 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_STOREADDRESSFORCC_3, "CSAT: CSatCCTsy::StoreAddressForCC, Address stored"); |
460 } |
460 } |
461 } |
461 } |
462 |
462 |
463 // ----------------------------------------------------------------------------- |
463 // ----------------------------------------------------------------------------- |
464 // CSatCCTsy::CreateCallEnvelopeL |
464 // CSatCCTsy::CreateCallEnvelopeL |
468 void CSatCCTsy::CreateCallEnvelopeL |
468 void CSatCCTsy::CreateCallEnvelopeL |
469 ( |
469 ( |
470 const TCCInfo* aCCInfo |
470 const TCCInfo* aCCInfo |
471 ) |
471 ) |
472 { |
472 { |
473 TFLOGSTRING("CSAT: CSatCCTsy::CreateCallEnvelopeL" ); |
473 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CREATECALLENVELOPEL_1, "CSAT: CSatCCTsy::CreateCallEnvelopeL" ); |
474 // Create envelope |
474 // Create envelope |
475 TTlv envelope; |
475 TTlv envelope; |
476 envelope.Begin( KBerTlvCallControlTag ); |
476 envelope.Begin( KBerTlvCallControlTag ); |
477 |
477 |
478 // Device identities |
478 // Device identities |
525 envelope.AddByte( static_cast<TUint8>( iBearerData.Length() ) ); |
525 envelope.AddByte( static_cast<TUint8>( iBearerData.Length() ) ); |
526 envelope.AddData( iBearerData ); |
526 envelope.AddData( iBearerData ); |
527 } |
527 } |
528 else |
528 else |
529 { |
529 { |
530 TFLOGSTRING("CSAT: CSatCCTsy::CreateCallEnvelopeL,\ |
530 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CREATECALLENVELOPEL_2, "CSAT: CSatCCTsy::CreateCallEnvelopeL, Bearer data length exceeded, data not added" ); |
531 Bearer data length exceeded, data not added" ); |
|
532 } |
531 } |
533 } |
532 } |
534 |
533 |
535 // Add location information data |
534 // Add location information data |
536 iNotificationsTsy->AddLocationInformationToTlv( envelope ); |
535 iNotificationsTsy->AddLocationInformationToTlv( envelope ); |
560 void CSatCCTsy::CreateSSEnvelopeL |
559 void CSatCCTsy::CreateSSEnvelopeL |
561 ( |
560 ( |
562 const TCCInfo* aCCInfo |
561 const TCCInfo* aCCInfo |
563 ) |
562 ) |
564 { |
563 { |
565 TFLOGSTRING("CSAT: CSatCCTsy::CreateSSEnvelopeL" ); |
564 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CREATESSENVELOPEL_1, "CSAT: CSatCCTsy::CreateSSEnvelopeL" ); |
566 // There is no TON and NPI in SS cc request. Information is part of the |
565 // There is no TON and NPI in SS cc request. Information is part of the |
567 // number string: Spec ETSI TS 122 030 v5.0.0 says that if number starts |
566 // number string: Spec ETSI TS 122 030 v5.0.0 says that if number starts |
568 // with +, TON is international and if it starts without it, it's unknown. |
567 // with +, TON is international and if it starts without it, it's unknown. |
569 // ( ATK isi spec mentions also possibility of no TON and NPI,but so far |
568 // ( ATK isi spec mentions also possibility of no TON and NPI,but so far |
570 // nothing found about it from ETSI specs. SS ISI spec mentions even more ) |
569 // nothing found about it from ETSI specs. SS ISI spec mentions even more ) |
692 void CSatCCTsy::CreateUSSDEnvelopeL |
691 void CSatCCTsy::CreateUSSDEnvelopeL |
693 ( |
692 ( |
694 const TCCInfo* aCCInfo |
693 const TCCInfo* aCCInfo |
695 ) |
694 ) |
696 { |
695 { |
697 TFLOGSTRING("CSAT: CSatCCTsy::CreateUSSDEnvelopeL" ); |
696 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_CREATEUSSDENVELOPEL_1, "CSAT: CSatCCTsy::CreateUSSDEnvelopeL" ); |
698 // Create USSD envelope |
697 // Create USSD envelope |
699 TTlv envelope; |
698 TTlv envelope; |
700 |
699 |
701 envelope.Begin( KBerTlvCallControlTag ); |
700 envelope.Begin( KBerTlvCallControlTag ); |
702 // Device identities |
701 // Device identities |
771 TBool CSatCCTsy::IsOnlyDigitsInUssd |
770 TBool CSatCCTsy::IsOnlyDigitsInUssd |
772 ( |
771 ( |
773 const TDesC8& aUSSDString |
772 const TDesC8& aUSSDString |
774 ) |
773 ) |
775 { |
774 { |
776 TFLOGSTRING("CSAT: CSatCCTsy::IsOnlyDigitsInUssd." ); |
775 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_ISONLYDIGITSINUSSD_1, "CSAT: CSatCCTsy::IsOnlyDigitsInUssd." ); |
777 // Unpack it |
776 // Unpack it |
778 TBuf8<KMaxUssdStringLengthInBytes> ussdString; |
777 TBuf8<KMaxUssdStringLengthInBytes> ussdString; |
779 TSatUtility::Packed7to8Unpacked( aUSSDString, ussdString ); |
778 TSatUtility::Packed7to8Unpacked( aUSSDString, ussdString ); |
780 TBool ret( ETrue ); |
779 TBool ret( ETrue ); |
781 |
780 |
802 TBool CSatCCTsy::HasProactiveOrigin |
801 TBool CSatCCTsy::HasProactiveOrigin |
803 ( |
802 ( |
804 const TDesC8& aAddress |
803 const TDesC8& aAddress |
805 ) |
804 ) |
806 { |
805 { |
807 TFLOGSTRING("CSAT: CSatCCTsy::HasProactiveOrigin"); |
806 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_HASPROACTIVEORIGIN_1, "CSAT: CSatCCTsy::HasProactiveOrigin"); |
808 TBool match( EFalse ); |
807 TBool match( EFalse ); |
809 |
808 |
810 if ( aAddress.Length() ) |
809 if ( aAddress.Length() ) |
811 { |
810 { |
812 // Check first if there is a + in the beginning of the given address |
811 // Check first if there is a + in the beginning of the given address |
813 if ( '+' == aAddress[0] ) |
812 if ( '+' == aAddress[0] ) |
814 { |
813 { |
815 // It means we need to drop the first character out from comparison |
814 // It means we need to drop the first character out from comparison |
816 if ( iProactiveCommandAddress == aAddress.Mid( 1 ) ) |
815 if ( iProactiveCommandAddress == aAddress.Mid( 1 ) ) |
817 { |
816 { |
818 TFLOGSTRING("CSAT: CSatCCTsy::HasProactiveOrigin, Match!"); |
817 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_HASPROACTIVEORIGIN_2, "CSAT: CSatCCTsy::HasProactiveOrigin, Match!"); |
819 match = ETrue; |
818 match = ETrue; |
820 } |
819 } |
821 } |
820 } |
822 // Otherwise we can use the whole string for checking |
821 // Otherwise we can use the whole string for checking |
823 else if ( iProactiveCommandAddress == aAddress ) |
822 else if ( iProactiveCommandAddress == aAddress ) |
824 { |
823 { |
825 TFLOGSTRING("CSAT: CSatCCTsy::HasProactiveOrigin, Match!"); |
824 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_HASPROACTIVEORIGIN_3, "CSAT: CSatCCTsy::HasProactiveOrigin, Match!"); |
826 match = ETrue; |
825 match = ETrue; |
827 } |
826 } |
828 } |
827 } |
829 else |
828 else |
830 { |
829 { |
831 TFLOGSTRING("CSAT: CSatCCTsy::HasProactiveOrigin, \ |
830 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATCCTSY_HASPROACTIVEORIGIN_4, "CSAT: CSatCCTsy::HasProactiveOrigin, Invalid input address"); |
832 Invalid input address"); |
|
833 } |
831 } |
834 |
832 |
835 return match; |
833 return match; |
836 } |
834 } |
837 |
835 |