Utilise new MergeSym feature to no longer overwrite the source .DEF file when buildin...
[openh323.git] / src / h225_1.cxx
blobb164fcc3135360b4fa55afea959213516c78b766
1 //
2 // h225_1.cxx
3 //
4 // Code automatically generated by asnparse.
5 //
7 #ifdef P_USE_PRAGMA
8 #pragma implementation "h225.h"
9 #endif
11 #include <ptlib.h>
12 #include "h225.h"
14 #define new PNEW
17 #if ! H323_DISABLE_H225
19 #include "h235_t.cxx"
23 #ifndef PASN_NOPRINTON
24 const static PASN_Names Names_H225_ReleaseCompleteReason[]={
25 {"noBandwidth",0}
26 ,{"gatekeeperResources",1}
27 ,{"unreachableDestination",2}
28 ,{"destinationRejection",3}
29 ,{"invalidRevision",4}
30 ,{"noPermission",5}
31 ,{"unreachableGatekeeper",6}
32 ,{"gatewayResources",7}
33 ,{"badFormatAddress",8}
34 ,{"adaptiveBusy",9}
35 ,{"inConf",10}
36 ,{"undefinedReason",11}
37 ,{"facilityCallDeflection",12}
38 ,{"securityDenied",13}
39 ,{"calledPartyNotRegistered",14}
40 ,{"callerNotRegistered",15}
41 ,{"newConnectionNeeded",16}
42 ,{"nonStandardReason",17}
43 ,{"replaceWithConferenceInvite",18}
44 ,{"genericDataReason",19}
45 ,{"neededFeatureNotSupported",20}
46 ,{"tunnelledSignallingRejected",21}
47 ,{"invalidCID",22}
48 ,{"securityError",23}
49 ,{"hopCountExceeded",24}
51 #endif
53 // ReleaseCompleteReason
56 H225_ReleaseCompleteReason::H225_ReleaseCompleteReason(unsigned tag, PASN_Object::TagClass tagClass)
57 : PASN_Choice(tag, tagClass, 12, TRUE
58 #ifndef PASN_NOPRINTON
59 ,(const PASN_Names *)Names_H225_ReleaseCompleteReason,25
60 #endif
66 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
67 H225_ReleaseCompleteReason::operator H225_NonStandardParameter &() const
68 #else
69 H225_ReleaseCompleteReason::operator H225_NonStandardParameter &()
71 #ifndef PASN_LEANANDMEAN
72 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
73 #endif
74 return *(H225_NonStandardParameter *)choice;
78 H225_ReleaseCompleteReason::operator const H225_NonStandardParameter &() const
79 #endif
81 #ifndef PASN_LEANANDMEAN
82 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
83 #endif
84 return *(H225_NonStandardParameter *)choice;
88 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
89 H225_ReleaseCompleteReason::operator H225_ConferenceIdentifier &() const
90 #else
91 H225_ReleaseCompleteReason::operator H225_ConferenceIdentifier &()
93 #ifndef PASN_LEANANDMEAN
94 PAssert(PIsDescendant(PAssertNULL(choice), H225_ConferenceIdentifier), PInvalidCast);
95 #endif
96 return *(H225_ConferenceIdentifier *)choice;
100 H225_ReleaseCompleteReason::operator const H225_ConferenceIdentifier &() const
101 #endif
103 #ifndef PASN_LEANANDMEAN
104 PAssert(PIsDescendant(PAssertNULL(choice), H225_ConferenceIdentifier), PInvalidCast);
105 #endif
106 return *(H225_ConferenceIdentifier *)choice;
110 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
111 H225_ReleaseCompleteReason::operator H225_SecurityErrors &() const
112 #else
113 H225_ReleaseCompleteReason::operator H225_SecurityErrors &()
115 #ifndef PASN_LEANANDMEAN
116 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors), PInvalidCast);
117 #endif
118 return *(H225_SecurityErrors *)choice;
122 H225_ReleaseCompleteReason::operator const H225_SecurityErrors &() const
123 #endif
125 #ifndef PASN_LEANANDMEAN
126 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors), PInvalidCast);
127 #endif
128 return *(H225_SecurityErrors *)choice;
132 BOOL H225_ReleaseCompleteReason::CreateObject()
134 switch (tag) {
135 case e_noBandwidth :
136 case e_gatekeeperResources :
137 case e_unreachableDestination :
138 case e_destinationRejection :
139 case e_invalidRevision :
140 case e_noPermission :
141 case e_unreachableGatekeeper :
142 case e_gatewayResources :
143 case e_badFormatAddress :
144 case e_adaptiveBusy :
145 case e_inConf :
146 case e_undefinedReason :
147 case e_facilityCallDeflection :
148 case e_securityDenied :
149 case e_calledPartyNotRegistered :
150 case e_callerNotRegistered :
151 case e_newConnectionNeeded :
152 case e_genericDataReason :
153 case e_neededFeatureNotSupported :
154 case e_tunnelledSignallingRejected :
155 case e_invalidCID :
156 case e_hopCountExceeded :
157 choice = new PASN_Null();
158 return TRUE;
159 case e_nonStandardReason :
160 choice = new H225_NonStandardParameter();
161 return TRUE;
162 case e_replaceWithConferenceInvite :
163 choice = new H225_ConferenceIdentifier();
164 return TRUE;
165 case e_securityError :
166 choice = new H225_SecurityErrors();
167 return TRUE;
170 choice = NULL;
171 return FALSE;
175 PObject * H225_ReleaseCompleteReason::Clone() const
177 #ifndef PASN_LEANANDMEAN
178 PAssert(IsClass(H225_ReleaseCompleteReason::Class()), PInvalidCast);
179 #endif
180 return new H225_ReleaseCompleteReason(*this);
185 #ifndef PASN_NOPRINTON
186 const static PASN_Names Names_H225_ScnConnectionType[]={
187 {"unknown",0}
188 ,{"bChannel",1}
189 ,{"hybrid2x64",2}
190 ,{"hybrid384",3}
191 ,{"hybrid1536",4}
192 ,{"hybrid1920",5}
193 ,{"multirate",6}
195 #endif
197 // ScnConnectionType
200 H225_ScnConnectionType::H225_ScnConnectionType(unsigned tag, PASN_Object::TagClass tagClass)
201 : PASN_Choice(tag, tagClass, 7, TRUE
202 #ifndef PASN_NOPRINTON
203 ,(const PASN_Names *)Names_H225_ScnConnectionType,7
204 #endif
210 BOOL H225_ScnConnectionType::CreateObject()
212 choice = (tag <= e_multirate) ? new PASN_Null() : NULL;
213 return choice != NULL;
217 PObject * H225_ScnConnectionType::Clone() const
219 #ifndef PASN_LEANANDMEAN
220 PAssert(IsClass(H225_ScnConnectionType::Class()), PInvalidCast);
221 #endif
222 return new H225_ScnConnectionType(*this);
227 #ifndef PASN_NOPRINTON
228 const static PASN_Names Names_H225_ScnConnectionAggregation[]={
229 {"auto",0}
230 ,{"none",1}
231 ,{"h221",2}
232 ,{"bonded_mode1",3}
233 ,{"bonded_mode2",4}
234 ,{"bonded_mode3",5}
236 #endif
238 // ScnConnectionAggregation
241 H225_ScnConnectionAggregation::H225_ScnConnectionAggregation(unsigned tag, PASN_Object::TagClass tagClass)
242 : PASN_Choice(tag, tagClass, 6, TRUE
243 #ifndef PASN_NOPRINTON
244 ,(const PASN_Names *)Names_H225_ScnConnectionAggregation,6
245 #endif
251 BOOL H225_ScnConnectionAggregation::CreateObject()
253 choice = (tag <= e_bonded_mode3) ? new PASN_Null() : NULL;
254 return choice != NULL;
258 PObject * H225_ScnConnectionAggregation::Clone() const
260 #ifndef PASN_LEANANDMEAN
261 PAssert(IsClass(H225_ScnConnectionAggregation::Class()), PInvalidCast);
262 #endif
263 return new H225_ScnConnectionAggregation(*this);
268 #ifndef PASN_NOPRINTON
269 const static PASN_Names Names_H225_PresentationIndicator[]={
270 {"presentationAllowed",0}
271 ,{"presentationRestricted",1}
272 ,{"addressNotAvailable",2}
274 #endif
276 // PresentationIndicator
279 H225_PresentationIndicator::H225_PresentationIndicator(unsigned tag, PASN_Object::TagClass tagClass)
280 : PASN_Choice(tag, tagClass, 3, TRUE
281 #ifndef PASN_NOPRINTON
282 ,(const PASN_Names *)Names_H225_PresentationIndicator,3
283 #endif
289 BOOL H225_PresentationIndicator::CreateObject()
291 choice = (tag <= e_addressNotAvailable) ? new PASN_Null() : NULL;
292 return choice != NULL;
296 PObject * H225_PresentationIndicator::Clone() const
298 #ifndef PASN_LEANANDMEAN
299 PAssert(IsClass(H225_PresentationIndicator::Class()), PInvalidCast);
300 #endif
301 return new H225_PresentationIndicator(*this);
305 #ifndef PASN_NOPRINTON
306 const static PASN_Names Names_H225_ScreeningIndicator[]={
307 {"userProvidedNotScreened",0}
308 ,{"userProvidedVerifiedAndPassed",1}
309 ,{"userProvidedVerifiedAndFailed",2}
310 ,{"networkProvided",3}
312 #endif
314 // ScreeningIndicator
317 H225_ScreeningIndicator::H225_ScreeningIndicator(unsigned tag, PASN_Object::TagClass tagClass)
318 : PASN_Enumeration(tag, tagClass, 3, TRUE
319 #ifndef PASN_NOPRINTON
320 ,(const PASN_Names *)Names_H225_ScreeningIndicator,4
321 #endif
327 H225_ScreeningIndicator & H225_ScreeningIndicator::operator=(unsigned v)
329 SetValue(v);
330 return *this;
334 PObject * H225_ScreeningIndicator::Clone() const
336 #ifndef PASN_LEANANDMEAN
337 PAssert(IsClass(H225_ScreeningIndicator::Class()), PInvalidCast);
338 #endif
339 return new H225_ScreeningIndicator(*this);
344 #ifndef PASN_NOPRINTON
345 const static PASN_Names Names_H225_FacilityReason[]={
346 {"routeCallToGatekeeper",0}
347 ,{"callForwarded",1}
348 ,{"routeCallToMC",2}
349 ,{"undefinedReason",3}
350 ,{"conferenceListChoice",4}
351 ,{"startH245",5}
352 ,{"noH245",6}
353 ,{"newTokens",7}
354 ,{"featureSetUpdate",8}
355 ,{"forwardedElements",9}
356 ,{"transportedInformation",10}
358 #endif
360 // FacilityReason
363 H225_FacilityReason::H225_FacilityReason(unsigned tag, PASN_Object::TagClass tagClass)
364 : PASN_Choice(tag, tagClass, 4, TRUE
365 #ifndef PASN_NOPRINTON
366 ,(const PASN_Names *)Names_H225_FacilityReason,11
367 #endif
373 BOOL H225_FacilityReason::CreateObject()
375 choice = (tag <= e_transportedInformation) ? new PASN_Null() : NULL;
376 return choice != NULL;
380 PObject * H225_FacilityReason::Clone() const
382 #ifndef PASN_LEANANDMEAN
383 PAssert(IsClass(H225_FacilityReason::Class()), PInvalidCast);
384 #endif
385 return new H225_FacilityReason(*this);
390 #ifndef PASN_NOPRINTON
391 const static PASN_Names Names_H225_TransportAddress[]={
392 {"ipAddress",0}
393 ,{"ipSourceRoute",1}
394 ,{"ipxAddress",2}
395 ,{"ip6Address",3}
396 ,{"netBios",4}
397 ,{"nsap",5}
398 ,{"nonStandardAddress",6}
400 #endif
402 // TransportAddress
405 H225_TransportAddress::H225_TransportAddress(unsigned tag, PASN_Object::TagClass tagClass)
406 : PASN_Choice(tag, tagClass, 7, TRUE
407 #ifndef PASN_NOPRINTON
408 ,(const PASN_Names *)Names_H225_TransportAddress,7
409 #endif
415 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
416 H225_TransportAddress::operator H225_TransportAddress_ipAddress &() const
417 #else
418 H225_TransportAddress::operator H225_TransportAddress_ipAddress &()
420 #ifndef PASN_LEANANDMEAN
421 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ipAddress), PInvalidCast);
422 #endif
423 return *(H225_TransportAddress_ipAddress *)choice;
427 H225_TransportAddress::operator const H225_TransportAddress_ipAddress &() const
428 #endif
430 #ifndef PASN_LEANANDMEAN
431 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ipAddress), PInvalidCast);
432 #endif
433 return *(H225_TransportAddress_ipAddress *)choice;
437 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
438 H225_TransportAddress::operator H225_TransportAddress_ipSourceRoute &() const
439 #else
440 H225_TransportAddress::operator H225_TransportAddress_ipSourceRoute &()
442 #ifndef PASN_LEANANDMEAN
443 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ipSourceRoute), PInvalidCast);
444 #endif
445 return *(H225_TransportAddress_ipSourceRoute *)choice;
449 H225_TransportAddress::operator const H225_TransportAddress_ipSourceRoute &() const
450 #endif
452 #ifndef PASN_LEANANDMEAN
453 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ipSourceRoute), PInvalidCast);
454 #endif
455 return *(H225_TransportAddress_ipSourceRoute *)choice;
459 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
460 H225_TransportAddress::operator H225_TransportAddress_ipxAddress &() const
461 #else
462 H225_TransportAddress::operator H225_TransportAddress_ipxAddress &()
464 #ifndef PASN_LEANANDMEAN
465 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ipxAddress), PInvalidCast);
466 #endif
467 return *(H225_TransportAddress_ipxAddress *)choice;
471 H225_TransportAddress::operator const H225_TransportAddress_ipxAddress &() const
472 #endif
474 #ifndef PASN_LEANANDMEAN
475 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ipxAddress), PInvalidCast);
476 #endif
477 return *(H225_TransportAddress_ipxAddress *)choice;
481 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
482 H225_TransportAddress::operator H225_TransportAddress_ip6Address &() const
483 #else
484 H225_TransportAddress::operator H225_TransportAddress_ip6Address &()
486 #ifndef PASN_LEANANDMEAN
487 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ip6Address), PInvalidCast);
488 #endif
489 return *(H225_TransportAddress_ip6Address *)choice;
493 H225_TransportAddress::operator const H225_TransportAddress_ip6Address &() const
494 #endif
496 #ifndef PASN_LEANANDMEAN
497 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress_ip6Address), PInvalidCast);
498 #endif
499 return *(H225_TransportAddress_ip6Address *)choice;
503 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
504 H225_TransportAddress::operator H225_NonStandardParameter &() const
505 #else
506 H225_TransportAddress::operator H225_NonStandardParameter &()
508 #ifndef PASN_LEANANDMEAN
509 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
510 #endif
511 return *(H225_NonStandardParameter *)choice;
515 H225_TransportAddress::operator const H225_NonStandardParameter &() const
516 #endif
518 #ifndef PASN_LEANANDMEAN
519 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
520 #endif
521 return *(H225_NonStandardParameter *)choice;
525 BOOL H225_TransportAddress::CreateObject()
527 switch (tag) {
528 case e_ipAddress :
529 choice = new H225_TransportAddress_ipAddress();
530 return TRUE;
531 case e_ipSourceRoute :
532 choice = new H225_TransportAddress_ipSourceRoute();
533 return TRUE;
534 case e_ipxAddress :
535 choice = new H225_TransportAddress_ipxAddress();
536 return TRUE;
537 case e_ip6Address :
538 choice = new H225_TransportAddress_ip6Address();
539 return TRUE;
540 case e_netBios :
541 choice = new PASN_OctetString();
542 choice->SetConstraints(PASN_Object::FixedConstraint, 16);
543 return TRUE;
544 case e_nsap :
545 choice = new PASN_OctetString();
546 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 20);
547 return TRUE;
548 case e_nonStandardAddress :
549 choice = new H225_NonStandardParameter();
550 return TRUE;
553 choice = NULL;
554 return FALSE;
558 PObject * H225_TransportAddress::Clone() const
560 #ifndef PASN_LEANANDMEAN
561 PAssert(IsClass(H225_TransportAddress::Class()), PInvalidCast);
562 #endif
563 return new H225_TransportAddress(*this);
568 #ifndef PASN_NOPRINTON
569 const static PASN_Names Names_H225_SupportedProtocols[]={
570 {"nonStandardData",0}
571 ,{"h310",1}
572 ,{"h320",2}
573 ,{"h321",3}
574 ,{"h322",4}
575 ,{"h323",5}
576 ,{"h324",6}
577 ,{"voice",7}
578 ,{"t120_only",8}
579 ,{"nonStandardProtocol",9}
580 ,{"t38FaxAnnexbOnly",10}
581 ,{"sip",11}
583 #endif
585 // SupportedProtocols
588 H225_SupportedProtocols::H225_SupportedProtocols(unsigned tag, PASN_Object::TagClass tagClass)
589 : PASN_Choice(tag, tagClass, 9, TRUE
590 #ifndef PASN_NOPRINTON
591 ,(const PASN_Names *)Names_H225_SupportedProtocols,12
592 #endif
598 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
599 H225_SupportedProtocols::operator H225_NonStandardParameter &() const
600 #else
601 H225_SupportedProtocols::operator H225_NonStandardParameter &()
603 #ifndef PASN_LEANANDMEAN
604 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
605 #endif
606 return *(H225_NonStandardParameter *)choice;
610 H225_SupportedProtocols::operator const H225_NonStandardParameter &() const
611 #endif
613 #ifndef PASN_LEANANDMEAN
614 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
615 #endif
616 return *(H225_NonStandardParameter *)choice;
620 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
621 H225_SupportedProtocols::operator H225_H310Caps &() const
622 #else
623 H225_SupportedProtocols::operator H225_H310Caps &()
625 #ifndef PASN_LEANANDMEAN
626 PAssert(PIsDescendant(PAssertNULL(choice), H225_H310Caps), PInvalidCast);
627 #endif
628 return *(H225_H310Caps *)choice;
632 H225_SupportedProtocols::operator const H225_H310Caps &() const
633 #endif
635 #ifndef PASN_LEANANDMEAN
636 PAssert(PIsDescendant(PAssertNULL(choice), H225_H310Caps), PInvalidCast);
637 #endif
638 return *(H225_H310Caps *)choice;
642 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
643 H225_SupportedProtocols::operator H225_H320Caps &() const
644 #else
645 H225_SupportedProtocols::operator H225_H320Caps &()
647 #ifndef PASN_LEANANDMEAN
648 PAssert(PIsDescendant(PAssertNULL(choice), H225_H320Caps), PInvalidCast);
649 #endif
650 return *(H225_H320Caps *)choice;
654 H225_SupportedProtocols::operator const H225_H320Caps &() const
655 #endif
657 #ifndef PASN_LEANANDMEAN
658 PAssert(PIsDescendant(PAssertNULL(choice), H225_H320Caps), PInvalidCast);
659 #endif
660 return *(H225_H320Caps *)choice;
664 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
665 H225_SupportedProtocols::operator H225_H321Caps &() const
666 #else
667 H225_SupportedProtocols::operator H225_H321Caps &()
669 #ifndef PASN_LEANANDMEAN
670 PAssert(PIsDescendant(PAssertNULL(choice), H225_H321Caps), PInvalidCast);
671 #endif
672 return *(H225_H321Caps *)choice;
676 H225_SupportedProtocols::operator const H225_H321Caps &() const
677 #endif
679 #ifndef PASN_LEANANDMEAN
680 PAssert(PIsDescendant(PAssertNULL(choice), H225_H321Caps), PInvalidCast);
681 #endif
682 return *(H225_H321Caps *)choice;
686 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
687 H225_SupportedProtocols::operator H225_H322Caps &() const
688 #else
689 H225_SupportedProtocols::operator H225_H322Caps &()
691 #ifndef PASN_LEANANDMEAN
692 PAssert(PIsDescendant(PAssertNULL(choice), H225_H322Caps), PInvalidCast);
693 #endif
694 return *(H225_H322Caps *)choice;
698 H225_SupportedProtocols::operator const H225_H322Caps &() const
699 #endif
701 #ifndef PASN_LEANANDMEAN
702 PAssert(PIsDescendant(PAssertNULL(choice), H225_H322Caps), PInvalidCast);
703 #endif
704 return *(H225_H322Caps *)choice;
708 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
709 H225_SupportedProtocols::operator H225_H323Caps &() const
710 #else
711 H225_SupportedProtocols::operator H225_H323Caps &()
713 #ifndef PASN_LEANANDMEAN
714 PAssert(PIsDescendant(PAssertNULL(choice), H225_H323Caps), PInvalidCast);
715 #endif
716 return *(H225_H323Caps *)choice;
720 H225_SupportedProtocols::operator const H225_H323Caps &() const
721 #endif
723 #ifndef PASN_LEANANDMEAN
724 PAssert(PIsDescendant(PAssertNULL(choice), H225_H323Caps), PInvalidCast);
725 #endif
726 return *(H225_H323Caps *)choice;
730 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
731 H225_SupportedProtocols::operator H225_H324Caps &() const
732 #else
733 H225_SupportedProtocols::operator H225_H324Caps &()
735 #ifndef PASN_LEANANDMEAN
736 PAssert(PIsDescendant(PAssertNULL(choice), H225_H324Caps), PInvalidCast);
737 #endif
738 return *(H225_H324Caps *)choice;
742 H225_SupportedProtocols::operator const H225_H324Caps &() const
743 #endif
745 #ifndef PASN_LEANANDMEAN
746 PAssert(PIsDescendant(PAssertNULL(choice), H225_H324Caps), PInvalidCast);
747 #endif
748 return *(H225_H324Caps *)choice;
752 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
753 H225_SupportedProtocols::operator H225_VoiceCaps &() const
754 #else
755 H225_SupportedProtocols::operator H225_VoiceCaps &()
757 #ifndef PASN_LEANANDMEAN
758 PAssert(PIsDescendant(PAssertNULL(choice), H225_VoiceCaps), PInvalidCast);
759 #endif
760 return *(H225_VoiceCaps *)choice;
764 H225_SupportedProtocols::operator const H225_VoiceCaps &() const
765 #endif
767 #ifndef PASN_LEANANDMEAN
768 PAssert(PIsDescendant(PAssertNULL(choice), H225_VoiceCaps), PInvalidCast);
769 #endif
770 return *(H225_VoiceCaps *)choice;
774 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
775 H225_SupportedProtocols::operator H225_T120OnlyCaps &() const
776 #else
777 H225_SupportedProtocols::operator H225_T120OnlyCaps &()
779 #ifndef PASN_LEANANDMEAN
780 PAssert(PIsDescendant(PAssertNULL(choice), H225_T120OnlyCaps), PInvalidCast);
781 #endif
782 return *(H225_T120OnlyCaps *)choice;
786 H225_SupportedProtocols::operator const H225_T120OnlyCaps &() const
787 #endif
789 #ifndef PASN_LEANANDMEAN
790 PAssert(PIsDescendant(PAssertNULL(choice), H225_T120OnlyCaps), PInvalidCast);
791 #endif
792 return *(H225_T120OnlyCaps *)choice;
796 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
797 H225_SupportedProtocols::operator H225_NonStandardProtocol &() const
798 #else
799 H225_SupportedProtocols::operator H225_NonStandardProtocol &()
801 #ifndef PASN_LEANANDMEAN
802 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardProtocol), PInvalidCast);
803 #endif
804 return *(H225_NonStandardProtocol *)choice;
808 H225_SupportedProtocols::operator const H225_NonStandardProtocol &() const
809 #endif
811 #ifndef PASN_LEANANDMEAN
812 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardProtocol), PInvalidCast);
813 #endif
814 return *(H225_NonStandardProtocol *)choice;
818 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
819 H225_SupportedProtocols::operator H225_T38FaxAnnexbOnlyCaps &() const
820 #else
821 H225_SupportedProtocols::operator H225_T38FaxAnnexbOnlyCaps &()
823 #ifndef PASN_LEANANDMEAN
824 PAssert(PIsDescendant(PAssertNULL(choice), H225_T38FaxAnnexbOnlyCaps), PInvalidCast);
825 #endif
826 return *(H225_T38FaxAnnexbOnlyCaps *)choice;
830 H225_SupportedProtocols::operator const H225_T38FaxAnnexbOnlyCaps &() const
831 #endif
833 #ifndef PASN_LEANANDMEAN
834 PAssert(PIsDescendant(PAssertNULL(choice), H225_T38FaxAnnexbOnlyCaps), PInvalidCast);
835 #endif
836 return *(H225_T38FaxAnnexbOnlyCaps *)choice;
840 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
841 H225_SupportedProtocols::operator H225_SIPCaps &() const
842 #else
843 H225_SupportedProtocols::operator H225_SIPCaps &()
845 #ifndef PASN_LEANANDMEAN
846 PAssert(PIsDescendant(PAssertNULL(choice), H225_SIPCaps), PInvalidCast);
847 #endif
848 return *(H225_SIPCaps *)choice;
852 H225_SupportedProtocols::operator const H225_SIPCaps &() const
853 #endif
855 #ifndef PASN_LEANANDMEAN
856 PAssert(PIsDescendant(PAssertNULL(choice), H225_SIPCaps), PInvalidCast);
857 #endif
858 return *(H225_SIPCaps *)choice;
862 BOOL H225_SupportedProtocols::CreateObject()
864 switch (tag) {
865 case e_nonStandardData :
866 choice = new H225_NonStandardParameter();
867 return TRUE;
868 case e_h310 :
869 choice = new H225_H310Caps();
870 return TRUE;
871 case e_h320 :
872 choice = new H225_H320Caps();
873 return TRUE;
874 case e_h321 :
875 choice = new H225_H321Caps();
876 return TRUE;
877 case e_h322 :
878 choice = new H225_H322Caps();
879 return TRUE;
880 case e_h323 :
881 choice = new H225_H323Caps();
882 return TRUE;
883 case e_h324 :
884 choice = new H225_H324Caps();
885 return TRUE;
886 case e_voice :
887 choice = new H225_VoiceCaps();
888 return TRUE;
889 case e_t120_only :
890 choice = new H225_T120OnlyCaps();
891 return TRUE;
892 case e_nonStandardProtocol :
893 choice = new H225_NonStandardProtocol();
894 return TRUE;
895 case e_t38FaxAnnexbOnly :
896 choice = new H225_T38FaxAnnexbOnlyCaps();
897 return TRUE;
898 case e_sip :
899 choice = new H225_SIPCaps();
900 return TRUE;
903 choice = NULL;
904 return FALSE;
908 PObject * H225_SupportedProtocols::Clone() const
910 #ifndef PASN_LEANANDMEAN
911 PAssert(IsClass(H225_SupportedProtocols::Class()), PInvalidCast);
912 #endif
913 return new H225_SupportedProtocols(*this);
918 // H221NonStandard
921 H225_H221NonStandard::H225_H221NonStandard(unsigned tag, PASN_Object::TagClass tagClass)
922 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
924 m_t35CountryCode.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
925 m_t35Extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
926 m_manufacturerCode.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
930 #ifndef PASN_NOPRINTON
931 void H225_H221NonStandard::PrintOn(ostream & strm) const
933 int indent = strm.precision() + 2;
934 strm << "{\n";
935 strm << setw(indent+17) << "t35CountryCode = " << setprecision(indent) << m_t35CountryCode << '\n';
936 strm << setw(indent+15) << "t35Extension = " << setprecision(indent) << m_t35Extension << '\n';
937 strm << setw(indent+19) << "manufacturerCode = " << setprecision(indent) << m_manufacturerCode << '\n';
938 strm << setw(indent-1) << setprecision(indent-2) << "}";
940 #endif
943 PObject::Comparison H225_H221NonStandard::Compare(const PObject & obj) const
945 #ifndef PASN_LEANANDMEAN
946 PAssert(PIsDescendant(&obj, H225_H221NonStandard), PInvalidCast);
947 #endif
948 const H225_H221NonStandard & other = (const H225_H221NonStandard &)obj;
950 Comparison result;
952 if ((result = m_t35CountryCode.Compare(other.m_t35CountryCode)) != EqualTo)
953 return result;
954 if ((result = m_t35Extension.Compare(other.m_t35Extension)) != EqualTo)
955 return result;
956 if ((result = m_manufacturerCode.Compare(other.m_manufacturerCode)) != EqualTo)
957 return result;
959 return PASN_Sequence::Compare(other);
963 PINDEX H225_H221NonStandard::GetDataLength() const
965 PINDEX length = 0;
966 length += m_t35CountryCode.GetObjectLength();
967 length += m_t35Extension.GetObjectLength();
968 length += m_manufacturerCode.GetObjectLength();
969 return length;
973 BOOL H225_H221NonStandard::Decode(PASN_Stream & strm)
975 if (!PreambleDecode(strm))
976 return FALSE;
978 if (!m_t35CountryCode.Decode(strm))
979 return FALSE;
980 if (!m_t35Extension.Decode(strm))
981 return FALSE;
982 if (!m_manufacturerCode.Decode(strm))
983 return FALSE;
985 return UnknownExtensionsDecode(strm);
989 void H225_H221NonStandard::Encode(PASN_Stream & strm) const
991 PreambleEncode(strm);
993 m_t35CountryCode.Encode(strm);
994 m_t35Extension.Encode(strm);
995 m_manufacturerCode.Encode(strm);
997 UnknownExtensionsEncode(strm);
1001 PObject * H225_H221NonStandard::Clone() const
1003 #ifndef PASN_LEANANDMEAN
1004 PAssert(IsClass(H225_H221NonStandard::Class()), PInvalidCast);
1005 #endif
1006 return new H225_H221NonStandard(*this);
1011 // TunnelledProtocolAlternateIdentifier
1014 H225_TunnelledProtocolAlternateIdentifier::H225_TunnelledProtocolAlternateIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
1015 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
1017 m_protocolType.SetConstraints(PASN_Object::FixedConstraint, 1, 64);
1018 m_protocolVariant.SetConstraints(PASN_Object::FixedConstraint, 1, 64);
1022 #ifndef PASN_NOPRINTON
1023 void H225_TunnelledProtocolAlternateIdentifier::PrintOn(ostream & strm) const
1025 int indent = strm.precision() + 2;
1026 strm << "{\n";
1027 strm << setw(indent+15) << "protocolType = " << setprecision(indent) << m_protocolType << '\n';
1028 if (HasOptionalField(e_protocolVariant))
1029 strm << setw(indent+18) << "protocolVariant = " << setprecision(indent) << m_protocolVariant << '\n';
1030 strm << setw(indent-1) << setprecision(indent-2) << "}";
1032 #endif
1035 PObject::Comparison H225_TunnelledProtocolAlternateIdentifier::Compare(const PObject & obj) const
1037 #ifndef PASN_LEANANDMEAN
1038 PAssert(PIsDescendant(&obj, H225_TunnelledProtocolAlternateIdentifier), PInvalidCast);
1039 #endif
1040 const H225_TunnelledProtocolAlternateIdentifier & other = (const H225_TunnelledProtocolAlternateIdentifier &)obj;
1042 Comparison result;
1044 if ((result = m_protocolType.Compare(other.m_protocolType)) != EqualTo)
1045 return result;
1046 if ((result = m_protocolVariant.Compare(other.m_protocolVariant)) != EqualTo)
1047 return result;
1049 return PASN_Sequence::Compare(other);
1053 PINDEX H225_TunnelledProtocolAlternateIdentifier::GetDataLength() const
1055 PINDEX length = 0;
1056 length += m_protocolType.GetObjectLength();
1057 if (HasOptionalField(e_protocolVariant))
1058 length += m_protocolVariant.GetObjectLength();
1059 return length;
1063 BOOL H225_TunnelledProtocolAlternateIdentifier::Decode(PASN_Stream & strm)
1065 if (!PreambleDecode(strm))
1066 return FALSE;
1068 if (!m_protocolType.Decode(strm))
1069 return FALSE;
1070 if (HasOptionalField(e_protocolVariant) && !m_protocolVariant.Decode(strm))
1071 return FALSE;
1073 return UnknownExtensionsDecode(strm);
1077 void H225_TunnelledProtocolAlternateIdentifier::Encode(PASN_Stream & strm) const
1079 PreambleEncode(strm);
1081 m_protocolType.Encode(strm);
1082 if (HasOptionalField(e_protocolVariant))
1083 m_protocolVariant.Encode(strm);
1085 UnknownExtensionsEncode(strm);
1089 PObject * H225_TunnelledProtocolAlternateIdentifier::Clone() const
1091 #ifndef PASN_LEANANDMEAN
1092 PAssert(IsClass(H225_TunnelledProtocolAlternateIdentifier::Class()), PInvalidCast);
1093 #endif
1094 return new H225_TunnelledProtocolAlternateIdentifier(*this);
1099 #ifndef PASN_NOPRINTON
1100 const static PASN_Names Names_H225_NonStandardIdentifier[]={
1101 {"object",0}
1102 ,{"h221NonStandard",1}
1104 #endif
1106 // NonStandardIdentifier
1109 H225_NonStandardIdentifier::H225_NonStandardIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
1110 : PASN_Choice(tag, tagClass, 2, TRUE
1111 #ifndef PASN_NOPRINTON
1112 ,(const PASN_Names *)Names_H225_NonStandardIdentifier,2
1113 #endif
1119 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1120 H225_NonStandardIdentifier::operator H225_H221NonStandard &() const
1121 #else
1122 H225_NonStandardIdentifier::operator H225_H221NonStandard &()
1124 #ifndef PASN_LEANANDMEAN
1125 PAssert(PIsDescendant(PAssertNULL(choice), H225_H221NonStandard), PInvalidCast);
1126 #endif
1127 return *(H225_H221NonStandard *)choice;
1131 H225_NonStandardIdentifier::operator const H225_H221NonStandard &() const
1132 #endif
1134 #ifndef PASN_LEANANDMEAN
1135 PAssert(PIsDescendant(PAssertNULL(choice), H225_H221NonStandard), PInvalidCast);
1136 #endif
1137 return *(H225_H221NonStandard *)choice;
1141 BOOL H225_NonStandardIdentifier::CreateObject()
1143 switch (tag) {
1144 case e_object :
1145 choice = new PASN_ObjectId();
1146 return TRUE;
1147 case e_h221NonStandard :
1148 choice = new H225_H221NonStandard();
1149 return TRUE;
1152 choice = NULL;
1153 return FALSE;
1157 PObject * H225_NonStandardIdentifier::Clone() const
1159 #ifndef PASN_LEANANDMEAN
1160 PAssert(IsClass(H225_NonStandardIdentifier::Class()), PInvalidCast);
1161 #endif
1162 return new H225_NonStandardIdentifier(*this);
1167 #ifndef PASN_NOPRINTON
1168 const static PASN_Names Names_H225_AliasAddress[]={
1169 {"dialedDigits",0}
1170 ,{"h323_ID",1}
1171 ,{"url_ID",2}
1172 ,{"transportID",3}
1173 ,{"email_ID",4}
1174 ,{"partyNumber",5}
1175 ,{"mobileUIM",6}
1176 ,{"isupNumber",7}
1178 #endif
1180 // AliasAddress
1183 H225_AliasAddress::H225_AliasAddress(unsigned tag, PASN_Object::TagClass tagClass)
1184 : PASN_Choice(tag, tagClass, 2, TRUE
1185 #ifndef PASN_NOPRINTON
1186 ,(const PASN_Names *)Names_H225_AliasAddress,8
1187 #endif
1193 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1194 H225_AliasAddress::operator H225_TransportAddress &() const
1195 #else
1196 H225_AliasAddress::operator H225_TransportAddress &()
1198 #ifndef PASN_LEANANDMEAN
1199 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress), PInvalidCast);
1200 #endif
1201 return *(H225_TransportAddress *)choice;
1205 H225_AliasAddress::operator const H225_TransportAddress &() const
1206 #endif
1208 #ifndef PASN_LEANANDMEAN
1209 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress), PInvalidCast);
1210 #endif
1211 return *(H225_TransportAddress *)choice;
1215 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1216 H225_AliasAddress::operator H225_PartyNumber &() const
1217 #else
1218 H225_AliasAddress::operator H225_PartyNumber &()
1220 #ifndef PASN_LEANANDMEAN
1221 PAssert(PIsDescendant(PAssertNULL(choice), H225_PartyNumber), PInvalidCast);
1222 #endif
1223 return *(H225_PartyNumber *)choice;
1227 H225_AliasAddress::operator const H225_PartyNumber &() const
1228 #endif
1230 #ifndef PASN_LEANANDMEAN
1231 PAssert(PIsDescendant(PAssertNULL(choice), H225_PartyNumber), PInvalidCast);
1232 #endif
1233 return *(H225_PartyNumber *)choice;
1237 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1238 H225_AliasAddress::operator H225_MobileUIM &() const
1239 #else
1240 H225_AliasAddress::operator H225_MobileUIM &()
1242 #ifndef PASN_LEANANDMEAN
1243 PAssert(PIsDescendant(PAssertNULL(choice), H225_MobileUIM), PInvalidCast);
1244 #endif
1245 return *(H225_MobileUIM *)choice;
1249 H225_AliasAddress::operator const H225_MobileUIM &() const
1250 #endif
1252 #ifndef PASN_LEANANDMEAN
1253 PAssert(PIsDescendant(PAssertNULL(choice), H225_MobileUIM), PInvalidCast);
1254 #endif
1255 return *(H225_MobileUIM *)choice;
1259 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1260 H225_AliasAddress::operator H225_IsupNumber &() const
1261 #else
1262 H225_AliasAddress::operator H225_IsupNumber &()
1264 #ifndef PASN_LEANANDMEAN
1265 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupNumber), PInvalidCast);
1266 #endif
1267 return *(H225_IsupNumber *)choice;
1271 H225_AliasAddress::operator const H225_IsupNumber &() const
1272 #endif
1274 #ifndef PASN_LEANANDMEAN
1275 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupNumber), PInvalidCast);
1276 #endif
1277 return *(H225_IsupNumber *)choice;
1281 BOOL H225_AliasAddress::CreateObject()
1283 switch (tag) {
1284 case e_dialedDigits :
1285 choice = new PASN_IA5String();
1286 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 128);
1287 choice->SetCharacterSet(PASN_Object::FixedConstraint, "0123456789#*,");
1288 return TRUE;
1289 case e_h323_ID :
1290 choice = new PASN_BMPString();
1291 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
1292 return TRUE;
1293 case e_url_ID :
1294 choice = new PASN_IA5String();
1295 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 512);
1296 return TRUE;
1297 case e_transportID :
1298 choice = new H225_TransportAddress();
1299 return TRUE;
1300 case e_email_ID :
1301 choice = new PASN_IA5String();
1302 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 512);
1303 return TRUE;
1304 case e_partyNumber :
1305 choice = new H225_PartyNumber();
1306 return TRUE;
1307 case e_mobileUIM :
1308 choice = new H225_MobileUIM();
1309 return TRUE;
1310 case e_isupNumber :
1311 choice = new H225_IsupNumber();
1312 return TRUE;
1315 choice = NULL;
1316 return FALSE;
1320 PObject * H225_AliasAddress::Clone() const
1322 #ifndef PASN_LEANANDMEAN
1323 PAssert(IsClass(H225_AliasAddress::Class()), PInvalidCast);
1324 #endif
1325 return new H225_AliasAddress(*this);
1330 #ifndef PASN_NOPRINTON
1331 const static PASN_Names Names_H225_AddressPattern[]={
1332 {"wildcard",0}
1333 ,{"range",1}
1335 #endif
1337 // AddressPattern
1340 H225_AddressPattern::H225_AddressPattern(unsigned tag, PASN_Object::TagClass tagClass)
1341 : PASN_Choice(tag, tagClass, 2, TRUE
1342 #ifndef PASN_NOPRINTON
1343 ,(const PASN_Names *)Names_H225_AddressPattern,2
1344 #endif
1350 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1351 H225_AddressPattern::operator H225_AliasAddress &() const
1352 #else
1353 H225_AddressPattern::operator H225_AliasAddress &()
1355 #ifndef PASN_LEANANDMEAN
1356 PAssert(PIsDescendant(PAssertNULL(choice), H225_AliasAddress), PInvalidCast);
1357 #endif
1358 return *(H225_AliasAddress *)choice;
1362 H225_AddressPattern::operator const H225_AliasAddress &() const
1363 #endif
1365 #ifndef PASN_LEANANDMEAN
1366 PAssert(PIsDescendant(PAssertNULL(choice), H225_AliasAddress), PInvalidCast);
1367 #endif
1368 return *(H225_AliasAddress *)choice;
1372 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1373 H225_AddressPattern::operator H225_AddressPattern_range &() const
1374 #else
1375 H225_AddressPattern::operator H225_AddressPattern_range &()
1377 #ifndef PASN_LEANANDMEAN
1378 PAssert(PIsDescendant(PAssertNULL(choice), H225_AddressPattern_range), PInvalidCast);
1379 #endif
1380 return *(H225_AddressPattern_range *)choice;
1384 H225_AddressPattern::operator const H225_AddressPattern_range &() const
1385 #endif
1387 #ifndef PASN_LEANANDMEAN
1388 PAssert(PIsDescendant(PAssertNULL(choice), H225_AddressPattern_range), PInvalidCast);
1389 #endif
1390 return *(H225_AddressPattern_range *)choice;
1394 BOOL H225_AddressPattern::CreateObject()
1396 switch (tag) {
1397 case e_wildcard :
1398 choice = new H225_AliasAddress();
1399 return TRUE;
1400 case e_range :
1401 choice = new H225_AddressPattern_range();
1402 return TRUE;
1405 choice = NULL;
1406 return FALSE;
1410 PObject * H225_AddressPattern::Clone() const
1412 #ifndef PASN_LEANANDMEAN
1413 PAssert(IsClass(H225_AddressPattern::Class()), PInvalidCast);
1414 #endif
1415 return new H225_AddressPattern(*this);
1420 #ifndef PASN_NOPRINTON
1421 const static PASN_Names Names_H225_PartyNumber[]={
1422 {"e164Number",0}
1423 ,{"dataPartyNumber",1}
1424 ,{"telexPartyNumber",2}
1425 ,{"privateNumber",3}
1426 ,{"nationalStandardPartyNumber",4}
1428 #endif
1430 // PartyNumber
1433 H225_PartyNumber::H225_PartyNumber(unsigned tag, PASN_Object::TagClass tagClass)
1434 : PASN_Choice(tag, tagClass, 5, TRUE
1435 #ifndef PASN_NOPRINTON
1436 ,(const PASN_Names *)Names_H225_PartyNumber,5
1437 #endif
1443 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1444 H225_PartyNumber::operator H225_PublicPartyNumber &() const
1445 #else
1446 H225_PartyNumber::operator H225_PublicPartyNumber &()
1448 #ifndef PASN_LEANANDMEAN
1449 PAssert(PIsDescendant(PAssertNULL(choice), H225_PublicPartyNumber), PInvalidCast);
1450 #endif
1451 return *(H225_PublicPartyNumber *)choice;
1455 H225_PartyNumber::operator const H225_PublicPartyNumber &() const
1456 #endif
1458 #ifndef PASN_LEANANDMEAN
1459 PAssert(PIsDescendant(PAssertNULL(choice), H225_PublicPartyNumber), PInvalidCast);
1460 #endif
1461 return *(H225_PublicPartyNumber *)choice;
1465 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1466 H225_PartyNumber::operator H225_NumberDigits &() const
1467 #else
1468 H225_PartyNumber::operator H225_NumberDigits &()
1470 #ifndef PASN_LEANANDMEAN
1471 PAssert(PIsDescendant(PAssertNULL(choice), H225_NumberDigits), PInvalidCast);
1472 #endif
1473 return *(H225_NumberDigits *)choice;
1477 H225_PartyNumber::operator const H225_NumberDigits &() const
1478 #endif
1480 #ifndef PASN_LEANANDMEAN
1481 PAssert(PIsDescendant(PAssertNULL(choice), H225_NumberDigits), PInvalidCast);
1482 #endif
1483 return *(H225_NumberDigits *)choice;
1487 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1488 H225_PartyNumber::operator H225_PrivatePartyNumber &() const
1489 #else
1490 H225_PartyNumber::operator H225_PrivatePartyNumber &()
1492 #ifndef PASN_LEANANDMEAN
1493 PAssert(PIsDescendant(PAssertNULL(choice), H225_PrivatePartyNumber), PInvalidCast);
1494 #endif
1495 return *(H225_PrivatePartyNumber *)choice;
1499 H225_PartyNumber::operator const H225_PrivatePartyNumber &() const
1500 #endif
1502 #ifndef PASN_LEANANDMEAN
1503 PAssert(PIsDescendant(PAssertNULL(choice), H225_PrivatePartyNumber), PInvalidCast);
1504 #endif
1505 return *(H225_PrivatePartyNumber *)choice;
1509 BOOL H225_PartyNumber::CreateObject()
1511 switch (tag) {
1512 case e_e164Number :
1513 choice = new H225_PublicPartyNumber();
1514 return TRUE;
1515 case e_dataPartyNumber :
1516 case e_telexPartyNumber :
1517 case e_nationalStandardPartyNumber :
1518 choice = new H225_NumberDigits();
1519 return TRUE;
1520 case e_privateNumber :
1521 choice = new H225_PrivatePartyNumber();
1522 return TRUE;
1525 choice = NULL;
1526 return FALSE;
1530 PObject * H225_PartyNumber::Clone() const
1532 #ifndef PASN_LEANANDMEAN
1533 PAssert(IsClass(H225_PartyNumber::Class()), PInvalidCast);
1534 #endif
1535 return new H225_PartyNumber(*this);
1540 // NumberDigits
1543 H225_NumberDigits::H225_NumberDigits(unsigned tag, PASN_Object::TagClass tagClass)
1544 : PASN_IA5String(tag, tagClass)
1546 SetConstraints(PASN_Object::FixedConstraint, 1, 128);
1547 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789#*,");
1551 H225_NumberDigits & H225_NumberDigits::operator=(const char * v)
1553 SetValue(v);
1554 return *this;
1558 H225_NumberDigits & H225_NumberDigits::operator=(const PString & v)
1560 SetValue(v);
1561 return *this;
1565 PObject * H225_NumberDigits::Clone() const
1567 #ifndef PASN_LEANANDMEAN
1568 PAssert(IsClass(H225_NumberDigits::Class()), PInvalidCast);
1569 #endif
1570 return new H225_NumberDigits(*this);
1575 #ifndef PASN_NOPRINTON
1576 const static PASN_Names Names_H225_PublicTypeOfNumber[]={
1577 {"unknown",0}
1578 ,{"internationalNumber",1}
1579 ,{"nationalNumber",2}
1580 ,{"networkSpecificNumber",3}
1581 ,{"subscriberNumber",4}
1582 ,{"abbreviatedNumber",5}
1584 #endif
1586 // PublicTypeOfNumber
1589 H225_PublicTypeOfNumber::H225_PublicTypeOfNumber(unsigned tag, PASN_Object::TagClass tagClass)
1590 : PASN_Choice(tag, tagClass, 6, TRUE
1591 #ifndef PASN_NOPRINTON
1592 ,(const PASN_Names *)Names_H225_PublicTypeOfNumber,6
1593 #endif
1599 BOOL H225_PublicTypeOfNumber::CreateObject()
1601 choice = (tag <= e_abbreviatedNumber) ? new PASN_Null() : NULL;
1602 return choice != NULL;
1606 PObject * H225_PublicTypeOfNumber::Clone() const
1608 #ifndef PASN_LEANANDMEAN
1609 PAssert(IsClass(H225_PublicTypeOfNumber::Class()), PInvalidCast);
1610 #endif
1611 return new H225_PublicTypeOfNumber(*this);
1616 #ifndef PASN_NOPRINTON
1617 const static PASN_Names Names_H225_PrivateTypeOfNumber[]={
1618 {"unknown",0}
1619 ,{"level2RegionalNumber",1}
1620 ,{"level1RegionalNumber",2}
1621 ,{"pISNSpecificNumber",3}
1622 ,{"localNumber",4}
1623 ,{"abbreviatedNumber",5}
1625 #endif
1627 // PrivateTypeOfNumber
1630 H225_PrivateTypeOfNumber::H225_PrivateTypeOfNumber(unsigned tag, PASN_Object::TagClass tagClass)
1631 : PASN_Choice(tag, tagClass, 6, TRUE
1632 #ifndef PASN_NOPRINTON
1633 ,(const PASN_Names *)Names_H225_PrivateTypeOfNumber,6
1634 #endif
1640 BOOL H225_PrivateTypeOfNumber::CreateObject()
1642 choice = (tag <= e_abbreviatedNumber) ? new PASN_Null() : NULL;
1643 return choice != NULL;
1647 PObject * H225_PrivateTypeOfNumber::Clone() const
1649 #ifndef PASN_LEANANDMEAN
1650 PAssert(IsClass(H225_PrivateTypeOfNumber::Class()), PInvalidCast);
1651 #endif
1652 return new H225_PrivateTypeOfNumber(*this);
1657 #ifndef PASN_NOPRINTON
1658 const static PASN_Names Names_H225_MobileUIM[]={
1659 {"ansi_41_uim",0}
1660 ,{"gsm_uim",1}
1662 #endif
1664 // MobileUIM
1667 H225_MobileUIM::H225_MobileUIM(unsigned tag, PASN_Object::TagClass tagClass)
1668 : PASN_Choice(tag, tagClass, 2, TRUE
1669 #ifndef PASN_NOPRINTON
1670 ,(const PASN_Names *)Names_H225_MobileUIM,2
1671 #endif
1677 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1678 H225_MobileUIM::operator H225_ANSI_41_UIM &() const
1679 #else
1680 H225_MobileUIM::operator H225_ANSI_41_UIM &()
1682 #ifndef PASN_LEANANDMEAN
1683 PAssert(PIsDescendant(PAssertNULL(choice), H225_ANSI_41_UIM), PInvalidCast);
1684 #endif
1685 return *(H225_ANSI_41_UIM *)choice;
1689 H225_MobileUIM::operator const H225_ANSI_41_UIM &() const
1690 #endif
1692 #ifndef PASN_LEANANDMEAN
1693 PAssert(PIsDescendant(PAssertNULL(choice), H225_ANSI_41_UIM), PInvalidCast);
1694 #endif
1695 return *(H225_ANSI_41_UIM *)choice;
1699 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1700 H225_MobileUIM::operator H225_GSM_UIM &() const
1701 #else
1702 H225_MobileUIM::operator H225_GSM_UIM &()
1704 #ifndef PASN_LEANANDMEAN
1705 PAssert(PIsDescendant(PAssertNULL(choice), H225_GSM_UIM), PInvalidCast);
1706 #endif
1707 return *(H225_GSM_UIM *)choice;
1711 H225_MobileUIM::operator const H225_GSM_UIM &() const
1712 #endif
1714 #ifndef PASN_LEANANDMEAN
1715 PAssert(PIsDescendant(PAssertNULL(choice), H225_GSM_UIM), PInvalidCast);
1716 #endif
1717 return *(H225_GSM_UIM *)choice;
1721 BOOL H225_MobileUIM::CreateObject()
1723 switch (tag) {
1724 case e_ansi_41_uim :
1725 choice = new H225_ANSI_41_UIM();
1726 return TRUE;
1727 case e_gsm_uim :
1728 choice = new H225_GSM_UIM();
1729 return TRUE;
1732 choice = NULL;
1733 return FALSE;
1737 PObject * H225_MobileUIM::Clone() const
1739 #ifndef PASN_LEANANDMEAN
1740 PAssert(IsClass(H225_MobileUIM::Class()), PInvalidCast);
1741 #endif
1742 return new H225_MobileUIM(*this);
1747 // TBCD-STRING
1750 H225_TBCD_STRING::H225_TBCD_STRING(unsigned tag, PASN_Object::TagClass tagClass)
1751 : PASN_IA5String(tag, tagClass)
1753 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789#*abc");
1757 H225_TBCD_STRING & H225_TBCD_STRING::operator=(const char * v)
1759 SetValue(v);
1760 return *this;
1764 H225_TBCD_STRING & H225_TBCD_STRING::operator=(const PString & v)
1766 SetValue(v);
1767 return *this;
1771 PObject * H225_TBCD_STRING::Clone() const
1773 #ifndef PASN_LEANANDMEAN
1774 PAssert(IsClass(H225_TBCD_STRING::Class()), PInvalidCast);
1775 #endif
1776 return new H225_TBCD_STRING(*this);
1781 // GSM-UIM
1784 H225_GSM_UIM::H225_GSM_UIM(unsigned tag, PASN_Object::TagClass tagClass)
1785 : PASN_Sequence(tag, tagClass, 6, TRUE, 0)
1787 m_imsi.SetConstraints(PASN_Object::FixedConstraint, 3, 16);
1788 m_tmsi.SetConstraints(PASN_Object::FixedConstraint, 1, 4);
1789 m_msisdn.SetConstraints(PASN_Object::FixedConstraint, 3, 16);
1790 m_imei.SetConstraints(PASN_Object::FixedConstraint, 15, 16);
1791 m_hplmn.SetConstraints(PASN_Object::FixedConstraint, 1, 4);
1792 m_vplmn.SetConstraints(PASN_Object::FixedConstraint, 1, 4);
1796 #ifndef PASN_NOPRINTON
1797 void H225_GSM_UIM::PrintOn(ostream & strm) const
1799 int indent = strm.precision() + 2;
1800 strm << "{\n";
1801 if (HasOptionalField(e_imsi))
1802 strm << setw(indent+7) << "imsi = " << setprecision(indent) << m_imsi << '\n';
1803 if (HasOptionalField(e_tmsi))
1804 strm << setw(indent+7) << "tmsi = " << setprecision(indent) << m_tmsi << '\n';
1805 if (HasOptionalField(e_msisdn))
1806 strm << setw(indent+9) << "msisdn = " << setprecision(indent) << m_msisdn << '\n';
1807 if (HasOptionalField(e_imei))
1808 strm << setw(indent+7) << "imei = " << setprecision(indent) << m_imei << '\n';
1809 if (HasOptionalField(e_hplmn))
1810 strm << setw(indent+8) << "hplmn = " << setprecision(indent) << m_hplmn << '\n';
1811 if (HasOptionalField(e_vplmn))
1812 strm << setw(indent+8) << "vplmn = " << setprecision(indent) << m_vplmn << '\n';
1813 strm << setw(indent-1) << setprecision(indent-2) << "}";
1815 #endif
1818 PObject::Comparison H225_GSM_UIM::Compare(const PObject & obj) const
1820 #ifndef PASN_LEANANDMEAN
1821 PAssert(PIsDescendant(&obj, H225_GSM_UIM), PInvalidCast);
1822 #endif
1823 const H225_GSM_UIM & other = (const H225_GSM_UIM &)obj;
1825 Comparison result;
1827 if ((result = m_imsi.Compare(other.m_imsi)) != EqualTo)
1828 return result;
1829 if ((result = m_tmsi.Compare(other.m_tmsi)) != EqualTo)
1830 return result;
1831 if ((result = m_msisdn.Compare(other.m_msisdn)) != EqualTo)
1832 return result;
1833 if ((result = m_imei.Compare(other.m_imei)) != EqualTo)
1834 return result;
1835 if ((result = m_hplmn.Compare(other.m_hplmn)) != EqualTo)
1836 return result;
1837 if ((result = m_vplmn.Compare(other.m_vplmn)) != EqualTo)
1838 return result;
1840 return PASN_Sequence::Compare(other);
1844 PINDEX H225_GSM_UIM::GetDataLength() const
1846 PINDEX length = 0;
1847 if (HasOptionalField(e_imsi))
1848 length += m_imsi.GetObjectLength();
1849 if (HasOptionalField(e_tmsi))
1850 length += m_tmsi.GetObjectLength();
1851 if (HasOptionalField(e_msisdn))
1852 length += m_msisdn.GetObjectLength();
1853 if (HasOptionalField(e_imei))
1854 length += m_imei.GetObjectLength();
1855 if (HasOptionalField(e_hplmn))
1856 length += m_hplmn.GetObjectLength();
1857 if (HasOptionalField(e_vplmn))
1858 length += m_vplmn.GetObjectLength();
1859 return length;
1863 BOOL H225_GSM_UIM::Decode(PASN_Stream & strm)
1865 if (!PreambleDecode(strm))
1866 return FALSE;
1868 if (HasOptionalField(e_imsi) && !m_imsi.Decode(strm))
1869 return FALSE;
1870 if (HasOptionalField(e_tmsi) && !m_tmsi.Decode(strm))
1871 return FALSE;
1872 if (HasOptionalField(e_msisdn) && !m_msisdn.Decode(strm))
1873 return FALSE;
1874 if (HasOptionalField(e_imei) && !m_imei.Decode(strm))
1875 return FALSE;
1876 if (HasOptionalField(e_hplmn) && !m_hplmn.Decode(strm))
1877 return FALSE;
1878 if (HasOptionalField(e_vplmn) && !m_vplmn.Decode(strm))
1879 return FALSE;
1881 return UnknownExtensionsDecode(strm);
1885 void H225_GSM_UIM::Encode(PASN_Stream & strm) const
1887 PreambleEncode(strm);
1889 if (HasOptionalField(e_imsi))
1890 m_imsi.Encode(strm);
1891 if (HasOptionalField(e_tmsi))
1892 m_tmsi.Encode(strm);
1893 if (HasOptionalField(e_msisdn))
1894 m_msisdn.Encode(strm);
1895 if (HasOptionalField(e_imei))
1896 m_imei.Encode(strm);
1897 if (HasOptionalField(e_hplmn))
1898 m_hplmn.Encode(strm);
1899 if (HasOptionalField(e_vplmn))
1900 m_vplmn.Encode(strm);
1902 UnknownExtensionsEncode(strm);
1906 PObject * H225_GSM_UIM::Clone() const
1908 #ifndef PASN_LEANANDMEAN
1909 PAssert(IsClass(H225_GSM_UIM::Class()), PInvalidCast);
1910 #endif
1911 return new H225_GSM_UIM(*this);
1916 #ifndef PASN_NOPRINTON
1917 const static PASN_Names Names_H225_IsupNumber[]={
1918 {"e164Number",0}
1919 ,{"dataPartyNumber",1}
1920 ,{"telexPartyNumber",2}
1921 ,{"privateNumber",3}
1922 ,{"nationalStandardPartyNumber",4}
1924 #endif
1926 // IsupNumber
1929 H225_IsupNumber::H225_IsupNumber(unsigned tag, PASN_Object::TagClass tagClass)
1930 : PASN_Choice(tag, tagClass, 5, TRUE
1931 #ifndef PASN_NOPRINTON
1932 ,(const PASN_Names *)Names_H225_IsupNumber,5
1933 #endif
1939 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1940 H225_IsupNumber::operator H225_IsupPublicPartyNumber &() const
1941 #else
1942 H225_IsupNumber::operator H225_IsupPublicPartyNumber &()
1944 #ifndef PASN_LEANANDMEAN
1945 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupPublicPartyNumber), PInvalidCast);
1946 #endif
1947 return *(H225_IsupPublicPartyNumber *)choice;
1951 H225_IsupNumber::operator const H225_IsupPublicPartyNumber &() const
1952 #endif
1954 #ifndef PASN_LEANANDMEAN
1955 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupPublicPartyNumber), PInvalidCast);
1956 #endif
1957 return *(H225_IsupPublicPartyNumber *)choice;
1961 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1962 H225_IsupNumber::operator H225_IsupDigits &() const
1963 #else
1964 H225_IsupNumber::operator H225_IsupDigits &()
1966 #ifndef PASN_LEANANDMEAN
1967 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupDigits), PInvalidCast);
1968 #endif
1969 return *(H225_IsupDigits *)choice;
1973 H225_IsupNumber::operator const H225_IsupDigits &() const
1974 #endif
1976 #ifndef PASN_LEANANDMEAN
1977 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupDigits), PInvalidCast);
1978 #endif
1979 return *(H225_IsupDigits *)choice;
1983 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1984 H225_IsupNumber::operator H225_IsupPrivatePartyNumber &() const
1985 #else
1986 H225_IsupNumber::operator H225_IsupPrivatePartyNumber &()
1988 #ifndef PASN_LEANANDMEAN
1989 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupPrivatePartyNumber), PInvalidCast);
1990 #endif
1991 return *(H225_IsupPrivatePartyNumber *)choice;
1995 H225_IsupNumber::operator const H225_IsupPrivatePartyNumber &() const
1996 #endif
1998 #ifndef PASN_LEANANDMEAN
1999 PAssert(PIsDescendant(PAssertNULL(choice), H225_IsupPrivatePartyNumber), PInvalidCast);
2000 #endif
2001 return *(H225_IsupPrivatePartyNumber *)choice;
2005 BOOL H225_IsupNumber::CreateObject()
2007 switch (tag) {
2008 case e_e164Number :
2009 choice = new H225_IsupPublicPartyNumber();
2010 return TRUE;
2011 case e_dataPartyNumber :
2012 case e_telexPartyNumber :
2013 case e_nationalStandardPartyNumber :
2014 choice = new H225_IsupDigits();
2015 return TRUE;
2016 case e_privateNumber :
2017 choice = new H225_IsupPrivatePartyNumber();
2018 return TRUE;
2021 choice = NULL;
2022 return FALSE;
2026 PObject * H225_IsupNumber::Clone() const
2028 #ifndef PASN_LEANANDMEAN
2029 PAssert(IsClass(H225_IsupNumber::Class()), PInvalidCast);
2030 #endif
2031 return new H225_IsupNumber(*this);
2036 #ifndef PASN_NOPRINTON
2037 const static PASN_Names Names_H225_NatureOfAddress[]={
2038 {"unknown",0}
2039 ,{"subscriberNumber",1}
2040 ,{"nationalNumber",2}
2041 ,{"internationalNumber",3}
2042 ,{"networkSpecificNumber",4}
2043 ,{"routingNumberNationalFormat",5}
2044 ,{"routingNumberNetworkSpecificFormat",6}
2045 ,{"routingNumberWithCalledDirectoryNumber",7}
2047 #endif
2049 // NatureOfAddress
2052 H225_NatureOfAddress::H225_NatureOfAddress(unsigned tag, PASN_Object::TagClass tagClass)
2053 : PASN_Choice(tag, tagClass, 8, TRUE
2054 #ifndef PASN_NOPRINTON
2055 ,(const PASN_Names *)Names_H225_NatureOfAddress,8
2056 #endif
2062 BOOL H225_NatureOfAddress::CreateObject()
2064 choice = (tag <= e_routingNumberWithCalledDirectoryNumber) ? new PASN_Null() : NULL;
2065 return choice != NULL;
2069 PObject * H225_NatureOfAddress::Clone() const
2071 #ifndef PASN_LEANANDMEAN
2072 PAssert(IsClass(H225_NatureOfAddress::Class()), PInvalidCast);
2073 #endif
2074 return new H225_NatureOfAddress(*this);
2079 // IsupDigits
2082 H225_IsupDigits::H225_IsupDigits(unsigned tag, PASN_Object::TagClass tagClass)
2083 : PASN_IA5String(tag, tagClass)
2085 SetConstraints(PASN_Object::FixedConstraint, 1, 128);
2086 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789ABCDE");
2090 H225_IsupDigits & H225_IsupDigits::operator=(const char * v)
2092 SetValue(v);
2093 return *this;
2097 H225_IsupDigits & H225_IsupDigits::operator=(const PString & v)
2099 SetValue(v);
2100 return *this;
2104 PObject * H225_IsupDigits::Clone() const
2106 #ifndef PASN_LEANANDMEAN
2107 PAssert(IsClass(H225_IsupDigits::Class()), PInvalidCast);
2108 #endif
2109 return new H225_IsupDigits(*this);
2114 // ExtendedAliasAddress
2117 H225_ExtendedAliasAddress::H225_ExtendedAliasAddress(unsigned tag, PASN_Object::TagClass tagClass)
2118 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
2123 #ifndef PASN_NOPRINTON
2124 void H225_ExtendedAliasAddress::PrintOn(ostream & strm) const
2126 int indent = strm.precision() + 2;
2127 strm << "{\n";
2128 strm << setw(indent+10) << "address = " << setprecision(indent) << m_address << '\n';
2129 if (HasOptionalField(e_presentationIndicator))
2130 strm << setw(indent+24) << "presentationIndicator = " << setprecision(indent) << m_presentationIndicator << '\n';
2131 if (HasOptionalField(e_screeningIndicator))
2132 strm << setw(indent+21) << "screeningIndicator = " << setprecision(indent) << m_screeningIndicator << '\n';
2133 strm << setw(indent-1) << setprecision(indent-2) << "}";
2135 #endif
2138 PObject::Comparison H225_ExtendedAliasAddress::Compare(const PObject & obj) const
2140 #ifndef PASN_LEANANDMEAN
2141 PAssert(PIsDescendant(&obj, H225_ExtendedAliasAddress), PInvalidCast);
2142 #endif
2143 const H225_ExtendedAliasAddress & other = (const H225_ExtendedAliasAddress &)obj;
2145 Comparison result;
2147 if ((result = m_address.Compare(other.m_address)) != EqualTo)
2148 return result;
2149 if ((result = m_presentationIndicator.Compare(other.m_presentationIndicator)) != EqualTo)
2150 return result;
2151 if ((result = m_screeningIndicator.Compare(other.m_screeningIndicator)) != EqualTo)
2152 return result;
2154 return PASN_Sequence::Compare(other);
2158 PINDEX H225_ExtendedAliasAddress::GetDataLength() const
2160 PINDEX length = 0;
2161 length += m_address.GetObjectLength();
2162 if (HasOptionalField(e_presentationIndicator))
2163 length += m_presentationIndicator.GetObjectLength();
2164 if (HasOptionalField(e_screeningIndicator))
2165 length += m_screeningIndicator.GetObjectLength();
2166 return length;
2170 BOOL H225_ExtendedAliasAddress::Decode(PASN_Stream & strm)
2172 if (!PreambleDecode(strm))
2173 return FALSE;
2175 if (!m_address.Decode(strm))
2176 return FALSE;
2177 if (HasOptionalField(e_presentationIndicator) && !m_presentationIndicator.Decode(strm))
2178 return FALSE;
2179 if (HasOptionalField(e_screeningIndicator) && !m_screeningIndicator.Decode(strm))
2180 return FALSE;
2182 return UnknownExtensionsDecode(strm);
2186 void H225_ExtendedAliasAddress::Encode(PASN_Stream & strm) const
2188 PreambleEncode(strm);
2190 m_address.Encode(strm);
2191 if (HasOptionalField(e_presentationIndicator))
2192 m_presentationIndicator.Encode(strm);
2193 if (HasOptionalField(e_screeningIndicator))
2194 m_screeningIndicator.Encode(strm);
2196 UnknownExtensionsEncode(strm);
2200 PObject * H225_ExtendedAliasAddress::Clone() const
2202 #ifndef PASN_LEANANDMEAN
2203 PAssert(IsClass(H225_ExtendedAliasAddress::Class()), PInvalidCast);
2204 #endif
2205 return new H225_ExtendedAliasAddress(*this);
2210 #ifndef PASN_NOPRINTON
2211 const static PASN_Names Names_H225_UseSpecifiedTransport[]={
2212 {"tcp",0}
2213 ,{"annexE",1}
2214 ,{"sctp",2}
2216 #endif
2218 // UseSpecifiedTransport
2221 H225_UseSpecifiedTransport::H225_UseSpecifiedTransport(unsigned tag, PASN_Object::TagClass tagClass)
2222 : PASN_Choice(tag, tagClass, 2, TRUE
2223 #ifndef PASN_NOPRINTON
2224 ,(const PASN_Names *)Names_H225_UseSpecifiedTransport,3
2225 #endif
2231 BOOL H225_UseSpecifiedTransport::CreateObject()
2233 choice = (tag <= e_sctp) ? new PASN_Null() : NULL;
2234 return choice != NULL;
2238 PObject * H225_UseSpecifiedTransport::Clone() const
2240 #ifndef PASN_LEANANDMEAN
2241 PAssert(IsClass(H225_UseSpecifiedTransport::Class()), PInvalidCast);
2242 #endif
2243 return new H225_UseSpecifiedTransport(*this);
2248 #ifndef PASN_NOPRINTON
2249 const static PASN_Names Names_H225_SecurityServiceMode[]={
2250 {"nonStandard",0}
2251 ,{"none",1}
2252 ,{"default",2}
2254 #endif
2256 // SecurityServiceMode
2259 H225_SecurityServiceMode::H225_SecurityServiceMode(unsigned tag, PASN_Object::TagClass tagClass)
2260 : PASN_Choice(tag, tagClass, 3, TRUE
2261 #ifndef PASN_NOPRINTON
2262 ,(const PASN_Names *)Names_H225_SecurityServiceMode,3
2263 #endif
2269 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2270 H225_SecurityServiceMode::operator H225_NonStandardParameter &() const
2271 #else
2272 H225_SecurityServiceMode::operator H225_NonStandardParameter &()
2274 #ifndef PASN_LEANANDMEAN
2275 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
2276 #endif
2277 return *(H225_NonStandardParameter *)choice;
2281 H225_SecurityServiceMode::operator const H225_NonStandardParameter &() const
2282 #endif
2284 #ifndef PASN_LEANANDMEAN
2285 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
2286 #endif
2287 return *(H225_NonStandardParameter *)choice;
2291 BOOL H225_SecurityServiceMode::CreateObject()
2293 switch (tag) {
2294 case e_nonStandard :
2295 choice = new H225_NonStandardParameter();
2296 return TRUE;
2297 case e_none :
2298 case e_default :
2299 choice = new PASN_Null();
2300 return TRUE;
2303 choice = NULL;
2304 return FALSE;
2308 PObject * H225_SecurityServiceMode::Clone() const
2310 #ifndef PASN_LEANANDMEAN
2311 PAssert(IsClass(H225_SecurityServiceMode::Class()), PInvalidCast);
2312 #endif
2313 return new H225_SecurityServiceMode(*this);
2318 #ifndef PASN_NOPRINTON
2319 const static PASN_Names Names_H225_SecurityErrors[]={
2320 {"securityWrongSyncTime",0}
2321 ,{"securityReplay",1}
2322 ,{"securityWrongGeneralID",2}
2323 ,{"securityWrongSendersID",3}
2324 ,{"securityIntegrityFailed",4}
2325 ,{"securityWrongOID",5}
2326 ,{"securityDHmismatch",6}
2327 ,{"securityCertificateExpired",7}
2328 ,{"securityCertificateDateInvalid",8}
2329 ,{"securityCertificateRevoked",9}
2330 ,{"securityCertificateNotReadable",10}
2331 ,{"securityCertificateSignatureInvalid",11}
2332 ,{"securityCertificateMissing",12}
2333 ,{"securityCertificateIncomplete",13}
2334 ,{"securityUnsupportedCertificateAlgOID",14}
2335 ,{"securityUnknownCA",15}
2337 #endif
2339 // SecurityErrors
2342 H225_SecurityErrors::H225_SecurityErrors(unsigned tag, PASN_Object::TagClass tagClass)
2343 : PASN_Choice(tag, tagClass, 16, TRUE
2344 #ifndef PASN_NOPRINTON
2345 ,(const PASN_Names *)Names_H225_SecurityErrors,16
2346 #endif
2352 BOOL H225_SecurityErrors::CreateObject()
2354 choice = (tag <= e_securityUnknownCA) ? new PASN_Null() : NULL;
2355 return choice != NULL;
2359 PObject * H225_SecurityErrors::Clone() const
2361 #ifndef PASN_LEANANDMEAN
2362 PAssert(IsClass(H225_SecurityErrors::Class()), PInvalidCast);
2363 #endif
2364 return new H225_SecurityErrors(*this);
2369 #ifndef PASN_NOPRINTON
2370 const static PASN_Names Names_H225_SecurityErrors2[]={
2371 {"securityWrongSyncTime",0}
2372 ,{"securityReplay",1}
2373 ,{"securityWrongGeneralID",2}
2374 ,{"securityWrongSendersID",3}
2375 ,{"securityIntegrityFailed",4}
2376 ,{"securityWrongOID",5}
2378 #endif
2380 // SecurityErrors2
2383 H225_SecurityErrors2::H225_SecurityErrors2(unsigned tag, PASN_Object::TagClass tagClass)
2384 : PASN_Choice(tag, tagClass, 6, TRUE
2385 #ifndef PASN_NOPRINTON
2386 ,(const PASN_Names *)Names_H225_SecurityErrors2,6
2387 #endif
2393 BOOL H225_SecurityErrors2::CreateObject()
2395 choice = (tag <= e_securityWrongOID) ? new PASN_Null() : NULL;
2396 return choice != NULL;
2400 PObject * H225_SecurityErrors2::Clone() const
2402 #ifndef PASN_LEANANDMEAN
2403 PAssert(IsClass(H225_SecurityErrors2::Class()), PInvalidCast);
2404 #endif
2405 return new H225_SecurityErrors2(*this);
2410 #ifndef PASN_NOPRINTON
2411 const static PASN_Names Names_H225_H245Security[]={
2412 {"nonStandard",0}
2413 ,{"noSecurity",1}
2414 ,{"tls",2}
2415 ,{"ipsec",3}
2417 #endif
2419 // H245Security
2422 H225_H245Security::H225_H245Security(unsigned tag, PASN_Object::TagClass tagClass)
2423 : PASN_Choice(tag, tagClass, 4, TRUE
2424 #ifndef PASN_NOPRINTON
2425 ,(const PASN_Names *)Names_H225_H245Security,4
2426 #endif
2432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2433 H225_H245Security::operator H225_NonStandardParameter &() const
2434 #else
2435 H225_H245Security::operator H225_NonStandardParameter &()
2437 #ifndef PASN_LEANANDMEAN
2438 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
2439 #endif
2440 return *(H225_NonStandardParameter *)choice;
2444 H225_H245Security::operator const H225_NonStandardParameter &() const
2445 #endif
2447 #ifndef PASN_LEANANDMEAN
2448 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
2449 #endif
2450 return *(H225_NonStandardParameter *)choice;
2454 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2455 H225_H245Security::operator H225_SecurityCapabilities &() const
2456 #else
2457 H225_H245Security::operator H225_SecurityCapabilities &()
2459 #ifndef PASN_LEANANDMEAN
2460 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityCapabilities), PInvalidCast);
2461 #endif
2462 return *(H225_SecurityCapabilities *)choice;
2466 H225_H245Security::operator const H225_SecurityCapabilities &() const
2467 #endif
2469 #ifndef PASN_LEANANDMEAN
2470 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityCapabilities), PInvalidCast);
2471 #endif
2472 return *(H225_SecurityCapabilities *)choice;
2476 BOOL H225_H245Security::CreateObject()
2478 switch (tag) {
2479 case e_nonStandard :
2480 choice = new H225_NonStandardParameter();
2481 return TRUE;
2482 case e_noSecurity :
2483 choice = new PASN_Null();
2484 return TRUE;
2485 case e_tls :
2486 case e_ipsec :
2487 choice = new H225_SecurityCapabilities();
2488 return TRUE;
2491 choice = NULL;
2492 return FALSE;
2496 PObject * H225_H245Security::Clone() const
2498 #ifndef PASN_LEANANDMEAN
2499 PAssert(IsClass(H225_H245Security::Class()), PInvalidCast);
2500 #endif
2501 return new H225_H245Security(*this);
2506 // Q954Details
2509 H225_Q954Details::H225_Q954Details(unsigned tag, PASN_Object::TagClass tagClass)
2510 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
2515 #ifndef PASN_NOPRINTON
2516 void H225_Q954Details::PrintOn(ostream & strm) const
2518 int indent = strm.precision() + 2;
2519 strm << "{\n";
2520 strm << setw(indent+20) << "conferenceCalling = " << setprecision(indent) << m_conferenceCalling << '\n';
2521 strm << setw(indent+20) << "threePartyService = " << setprecision(indent) << m_threePartyService << '\n';
2522 strm << setw(indent-1) << setprecision(indent-2) << "}";
2524 #endif
2527 PObject::Comparison H225_Q954Details::Compare(const PObject & obj) const
2529 #ifndef PASN_LEANANDMEAN
2530 PAssert(PIsDescendant(&obj, H225_Q954Details), PInvalidCast);
2531 #endif
2532 const H225_Q954Details & other = (const H225_Q954Details &)obj;
2534 Comparison result;
2536 if ((result = m_conferenceCalling.Compare(other.m_conferenceCalling)) != EqualTo)
2537 return result;
2538 if ((result = m_threePartyService.Compare(other.m_threePartyService)) != EqualTo)
2539 return result;
2541 return PASN_Sequence::Compare(other);
2545 PINDEX H225_Q954Details::GetDataLength() const
2547 PINDEX length = 0;
2548 length += m_conferenceCalling.GetObjectLength();
2549 length += m_threePartyService.GetObjectLength();
2550 return length;
2554 BOOL H225_Q954Details::Decode(PASN_Stream & strm)
2556 if (!PreambleDecode(strm))
2557 return FALSE;
2559 if (!m_conferenceCalling.Decode(strm))
2560 return FALSE;
2561 if (!m_threePartyService.Decode(strm))
2562 return FALSE;
2564 return UnknownExtensionsDecode(strm);
2568 void H225_Q954Details::Encode(PASN_Stream & strm) const
2570 PreambleEncode(strm);
2572 m_conferenceCalling.Encode(strm);
2573 m_threePartyService.Encode(strm);
2575 UnknownExtensionsEncode(strm);
2579 PObject * H225_Q954Details::Clone() const
2581 #ifndef PASN_LEANANDMEAN
2582 PAssert(IsClass(H225_Q954Details::Class()), PInvalidCast);
2583 #endif
2584 return new H225_Q954Details(*this);
2589 // GloballyUniqueID
2592 H225_GloballyUniqueID::H225_GloballyUniqueID(unsigned tag, PASN_Object::TagClass tagClass)
2593 : PASN_OctetString(tag, tagClass)
2595 SetConstraints(PASN_Object::FixedConstraint, 16);
2599 H225_GloballyUniqueID::H225_GloballyUniqueID(const char * v)
2601 SetValue(v);
2605 H225_GloballyUniqueID::H225_GloballyUniqueID(const PString & v)
2607 SetValue(v);
2611 H225_GloballyUniqueID::H225_GloballyUniqueID(const PBYTEArray & v)
2613 SetValue(v);
2617 H225_GloballyUniqueID & H225_GloballyUniqueID::operator=(const char * v)
2619 SetValue(v);
2620 return *this;
2624 H225_GloballyUniqueID & H225_GloballyUniqueID::operator=(const PString & v)
2626 SetValue(v);
2627 return *this;
2631 H225_GloballyUniqueID & H225_GloballyUniqueID::operator=(const PBYTEArray & v)
2633 SetValue(v);
2634 return *this;
2638 PObject * H225_GloballyUniqueID::Clone() const
2640 #ifndef PASN_LEANANDMEAN
2641 PAssert(IsClass(H225_GloballyUniqueID::Class()), PInvalidCast);
2642 #endif
2643 return new H225_GloballyUniqueID(*this);
2648 // ConferenceIdentifier
2651 H225_ConferenceIdentifier::H225_ConferenceIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
2652 : H225_GloballyUniqueID(tag, tagClass)
2657 H225_ConferenceIdentifier::H225_ConferenceIdentifier(const char * v)
2659 SetValue(v);
2663 H225_ConferenceIdentifier::H225_ConferenceIdentifier(const PString & v)
2665 SetValue(v);
2669 H225_ConferenceIdentifier::H225_ConferenceIdentifier(const PBYTEArray & v)
2671 SetValue(v);
2675 H225_ConferenceIdentifier & H225_ConferenceIdentifier::operator=(const char * v)
2677 SetValue(v);
2678 return *this;
2682 H225_ConferenceIdentifier & H225_ConferenceIdentifier::operator=(const PString & v)
2684 SetValue(v);
2685 return *this;
2689 H225_ConferenceIdentifier & H225_ConferenceIdentifier::operator=(const PBYTEArray & v)
2691 SetValue(v);
2692 return *this;
2696 PObject * H225_ConferenceIdentifier::Clone() const
2698 #ifndef PASN_LEANANDMEAN
2699 PAssert(IsClass(H225_ConferenceIdentifier::Class()), PInvalidCast);
2700 #endif
2701 return new H225_ConferenceIdentifier(*this);
2706 // RequestSeqNum
2709 H225_RequestSeqNum::H225_RequestSeqNum(unsigned tag, PASN_Object::TagClass tagClass)
2710 : PASN_Integer(tag, tagClass)
2712 SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
2716 H225_RequestSeqNum & H225_RequestSeqNum::operator=(int v)
2718 SetValue(v);
2719 return *this;
2723 H225_RequestSeqNum & H225_RequestSeqNum::operator=(unsigned v)
2725 SetValue(v);
2726 return *this;
2730 PObject * H225_RequestSeqNum::Clone() const
2732 #ifndef PASN_LEANANDMEAN
2733 PAssert(IsClass(H225_RequestSeqNum::Class()), PInvalidCast);
2734 #endif
2735 return new H225_RequestSeqNum(*this);
2740 // GatekeeperIdentifier
2743 H225_GatekeeperIdentifier::H225_GatekeeperIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
2744 : PASN_BMPString(tag, tagClass)
2746 SetConstraints(PASN_Object::FixedConstraint, 1, 128);
2750 H225_GatekeeperIdentifier & H225_GatekeeperIdentifier::operator=(const char * v)
2752 SetValue(v);
2753 return *this;
2757 H225_GatekeeperIdentifier & H225_GatekeeperIdentifier::operator=(const PString & v)
2759 SetValue(v);
2760 return *this;
2764 H225_GatekeeperIdentifier & H225_GatekeeperIdentifier::operator=(const PWORDArray & v)
2766 SetValue(v);
2767 return *this;
2771 H225_GatekeeperIdentifier & H225_GatekeeperIdentifier::operator=(const PASN_BMPString & v)
2773 SetValue(v);
2774 return *this;
2778 PObject * H225_GatekeeperIdentifier::Clone() const
2780 #ifndef PASN_LEANANDMEAN
2781 PAssert(IsClass(H225_GatekeeperIdentifier::Class()), PInvalidCast);
2782 #endif
2783 return new H225_GatekeeperIdentifier(*this);
2788 // BandWidth
2791 H225_BandWidth::H225_BandWidth(unsigned tag, PASN_Object::TagClass tagClass)
2792 : PASN_Integer(tag, tagClass)
2794 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
2798 H225_BandWidth & H225_BandWidth::operator=(int v)
2800 SetValue(v);
2801 return *this;
2805 H225_BandWidth & H225_BandWidth::operator=(unsigned v)
2807 SetValue(v);
2808 return *this;
2812 PObject * H225_BandWidth::Clone() const
2814 #ifndef PASN_LEANANDMEAN
2815 PAssert(IsClass(H225_BandWidth::Class()), PInvalidCast);
2816 #endif
2817 return new H225_BandWidth(*this);
2822 // CallReferenceValue
2825 H225_CallReferenceValue::H225_CallReferenceValue(unsigned tag, PASN_Object::TagClass tagClass)
2826 : PASN_Integer(tag, tagClass)
2828 SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
2832 H225_CallReferenceValue & H225_CallReferenceValue::operator=(int v)
2834 SetValue(v);
2835 return *this;
2839 H225_CallReferenceValue & H225_CallReferenceValue::operator=(unsigned v)
2841 SetValue(v);
2842 return *this;
2846 PObject * H225_CallReferenceValue::Clone() const
2848 #ifndef PASN_LEANANDMEAN
2849 PAssert(IsClass(H225_CallReferenceValue::Class()), PInvalidCast);
2850 #endif
2851 return new H225_CallReferenceValue(*this);
2856 // EndpointIdentifier
2859 H225_EndpointIdentifier::H225_EndpointIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
2860 : PASN_BMPString(tag, tagClass)
2862 SetConstraints(PASN_Object::FixedConstraint, 1, 128);
2866 H225_EndpointIdentifier & H225_EndpointIdentifier::operator=(const char * v)
2868 SetValue(v);
2869 return *this;
2873 H225_EndpointIdentifier & H225_EndpointIdentifier::operator=(const PString & v)
2875 SetValue(v);
2876 return *this;
2880 H225_EndpointIdentifier & H225_EndpointIdentifier::operator=(const PWORDArray & v)
2882 SetValue(v);
2883 return *this;
2887 H225_EndpointIdentifier & H225_EndpointIdentifier::operator=(const PASN_BMPString & v)
2889 SetValue(v);
2890 return *this;
2894 PObject * H225_EndpointIdentifier::Clone() const
2896 #ifndef PASN_LEANANDMEAN
2897 PAssert(IsClass(H225_EndpointIdentifier::Class()), PInvalidCast);
2898 #endif
2899 return new H225_EndpointIdentifier(*this);
2904 // ProtocolIdentifier
2907 H225_ProtocolIdentifier::H225_ProtocolIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
2908 : PASN_ObjectId(tag, tagClass)
2913 PObject * H225_ProtocolIdentifier::Clone() const
2915 #ifndef PASN_LEANANDMEAN
2916 PAssert(IsClass(H225_ProtocolIdentifier::Class()), PInvalidCast);
2917 #endif
2918 return new H225_ProtocolIdentifier(*this);
2923 // TimeToLive
2926 H225_TimeToLive::H225_TimeToLive(unsigned tag, PASN_Object::TagClass tagClass)
2927 : PASN_Integer(tag, tagClass)
2929 SetConstraints(PASN_Object::FixedConstraint, 1, 4294967295U);
2933 H225_TimeToLive & H225_TimeToLive::operator=(int v)
2935 SetValue(v);
2936 return *this;
2940 H225_TimeToLive & H225_TimeToLive::operator=(unsigned v)
2942 SetValue(v);
2943 return *this;
2947 PObject * H225_TimeToLive::Clone() const
2949 #ifndef PASN_LEANANDMEAN
2950 PAssert(IsClass(H225_TimeToLive::Class()), PInvalidCast);
2951 #endif
2952 return new H225_TimeToLive(*this);
2957 // H248PackagesDescriptor
2960 H225_H248PackagesDescriptor::H225_H248PackagesDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
2961 : PASN_OctetString(tag, tagClass)
2966 H225_H248PackagesDescriptor::H225_H248PackagesDescriptor(const char * v)
2968 SetValue(v);
2972 H225_H248PackagesDescriptor::H225_H248PackagesDescriptor(const PString & v)
2974 SetValue(v);
2978 H225_H248PackagesDescriptor::H225_H248PackagesDescriptor(const PBYTEArray & v)
2980 SetValue(v);
2984 H225_H248PackagesDescriptor & H225_H248PackagesDescriptor::operator=(const char * v)
2986 SetValue(v);
2987 return *this;
2991 H225_H248PackagesDescriptor & H225_H248PackagesDescriptor::operator=(const PString & v)
2993 SetValue(v);
2994 return *this;
2998 H225_H248PackagesDescriptor & H225_H248PackagesDescriptor::operator=(const PBYTEArray & v)
3000 SetValue(v);
3001 return *this;
3005 PObject * H225_H248PackagesDescriptor::Clone() const
3007 #ifndef PASN_LEANANDMEAN
3008 PAssert(IsClass(H225_H248PackagesDescriptor::Class()), PInvalidCast);
3009 #endif
3010 return new H225_H248PackagesDescriptor(*this);
3015 // H248SignalsDescriptor
3018 H225_H248SignalsDescriptor::H225_H248SignalsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
3019 : PASN_OctetString(tag, tagClass)
3024 H225_H248SignalsDescriptor::H225_H248SignalsDescriptor(const char * v)
3026 SetValue(v);
3030 H225_H248SignalsDescriptor::H225_H248SignalsDescriptor(const PString & v)
3032 SetValue(v);
3036 H225_H248SignalsDescriptor::H225_H248SignalsDescriptor(const PBYTEArray & v)
3038 SetValue(v);
3042 H225_H248SignalsDescriptor & H225_H248SignalsDescriptor::operator=(const char * v)
3044 SetValue(v);
3045 return *this;
3049 H225_H248SignalsDescriptor & H225_H248SignalsDescriptor::operator=(const PString & v)
3051 SetValue(v);
3052 return *this;
3056 H225_H248SignalsDescriptor & H225_H248SignalsDescriptor::operator=(const PBYTEArray & v)
3058 SetValue(v);
3059 return *this;
3063 PObject * H225_H248SignalsDescriptor::Clone() const
3065 #ifndef PASN_LEANANDMEAN
3066 PAssert(IsClass(H225_H248SignalsDescriptor::Class()), PInvalidCast);
3067 #endif
3068 return new H225_H248SignalsDescriptor(*this);
3073 // CallIdentifier
3076 H225_CallIdentifier::H225_CallIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
3077 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
3082 #ifndef PASN_NOPRINTON
3083 void H225_CallIdentifier::PrintOn(ostream & strm) const
3085 int indent = strm.precision() + 2;
3086 strm << "{\n";
3087 strm << setw(indent+7) << "guid = " << setprecision(indent) << m_guid << '\n';
3088 strm << setw(indent-1) << setprecision(indent-2) << "}";
3090 #endif
3093 PObject::Comparison H225_CallIdentifier::Compare(const PObject & obj) const
3095 #ifndef PASN_LEANANDMEAN
3096 PAssert(PIsDescendant(&obj, H225_CallIdentifier), PInvalidCast);
3097 #endif
3098 const H225_CallIdentifier & other = (const H225_CallIdentifier &)obj;
3100 Comparison result;
3102 if ((result = m_guid.Compare(other.m_guid)) != EqualTo)
3103 return result;
3105 return PASN_Sequence::Compare(other);
3109 PINDEX H225_CallIdentifier::GetDataLength() const
3111 PINDEX length = 0;
3112 length += m_guid.GetObjectLength();
3113 return length;
3117 BOOL H225_CallIdentifier::Decode(PASN_Stream & strm)
3119 if (!PreambleDecode(strm))
3120 return FALSE;
3122 if (!m_guid.Decode(strm))
3123 return FALSE;
3125 return UnknownExtensionsDecode(strm);
3129 void H225_CallIdentifier::Encode(PASN_Stream & strm) const
3131 PreambleEncode(strm);
3133 m_guid.Encode(strm);
3135 UnknownExtensionsEncode(strm);
3139 PObject * H225_CallIdentifier::Clone() const
3141 #ifndef PASN_LEANANDMEAN
3142 PAssert(IsClass(H225_CallIdentifier::Class()), PInvalidCast);
3143 #endif
3144 return new H225_CallIdentifier(*this);
3149 #ifndef PASN_NOPRINTON
3150 const static PASN_Names Names_H225_EncryptIntAlg[]={
3151 {"nonStandard",0}
3152 ,{"isoAlgorithm",1}
3154 #endif
3156 // EncryptIntAlg
3159 H225_EncryptIntAlg::H225_EncryptIntAlg(unsigned tag, PASN_Object::TagClass tagClass)
3160 : PASN_Choice(tag, tagClass, 2, TRUE
3161 #ifndef PASN_NOPRINTON
3162 ,(const PASN_Names *)Names_H225_EncryptIntAlg,2
3163 #endif
3169 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3170 H225_EncryptIntAlg::operator H225_NonStandardParameter &() const
3171 #else
3172 H225_EncryptIntAlg::operator H225_NonStandardParameter &()
3174 #ifndef PASN_LEANANDMEAN
3175 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
3176 #endif
3177 return *(H225_NonStandardParameter *)choice;
3181 H225_EncryptIntAlg::operator const H225_NonStandardParameter &() const
3182 #endif
3184 #ifndef PASN_LEANANDMEAN
3185 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
3186 #endif
3187 return *(H225_NonStandardParameter *)choice;
3191 BOOL H225_EncryptIntAlg::CreateObject()
3193 switch (tag) {
3194 case e_nonStandard :
3195 choice = new H225_NonStandardParameter();
3196 return TRUE;
3197 case e_isoAlgorithm :
3198 choice = new PASN_ObjectId();
3199 return TRUE;
3202 choice = NULL;
3203 return FALSE;
3207 PObject * H225_EncryptIntAlg::Clone() const
3209 #ifndef PASN_LEANANDMEAN
3210 PAssert(IsClass(H225_EncryptIntAlg::Class()), PInvalidCast);
3211 #endif
3212 return new H225_EncryptIntAlg(*this);
3217 #ifndef PASN_NOPRINTON
3218 const static PASN_Names Names_H225_NonIsoIntegrityMechanism[]={
3219 {"hMAC_MD5",0}
3220 ,{"hMAC_iso10118_2_s",1}
3221 ,{"hMAC_iso10118_2_l",2}
3222 ,{"hMAC_iso10118_3",3}
3224 #endif
3226 // NonIsoIntegrityMechanism
3229 H225_NonIsoIntegrityMechanism::H225_NonIsoIntegrityMechanism(unsigned tag, PASN_Object::TagClass tagClass)
3230 : PASN_Choice(tag, tagClass, 4, TRUE
3231 #ifndef PASN_NOPRINTON
3232 ,(const PASN_Names *)Names_H225_NonIsoIntegrityMechanism,4
3233 #endif
3239 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3240 H225_NonIsoIntegrityMechanism::operator H225_EncryptIntAlg &() const
3241 #else
3242 H225_NonIsoIntegrityMechanism::operator H225_EncryptIntAlg &()
3244 #ifndef PASN_LEANANDMEAN
3245 PAssert(PIsDescendant(PAssertNULL(choice), H225_EncryptIntAlg), PInvalidCast);
3246 #endif
3247 return *(H225_EncryptIntAlg *)choice;
3251 H225_NonIsoIntegrityMechanism::operator const H225_EncryptIntAlg &() const
3252 #endif
3254 #ifndef PASN_LEANANDMEAN
3255 PAssert(PIsDescendant(PAssertNULL(choice), H225_EncryptIntAlg), PInvalidCast);
3256 #endif
3257 return *(H225_EncryptIntAlg *)choice;
3261 BOOL H225_NonIsoIntegrityMechanism::CreateObject()
3263 switch (tag) {
3264 case e_hMAC_MD5 :
3265 choice = new PASN_Null();
3266 return TRUE;
3267 case e_hMAC_iso10118_2_s :
3268 case e_hMAC_iso10118_2_l :
3269 choice = new H225_EncryptIntAlg();
3270 return TRUE;
3271 case e_hMAC_iso10118_3 :
3272 choice = new PASN_ObjectId();
3273 return TRUE;
3276 choice = NULL;
3277 return FALSE;
3281 PObject * H225_NonIsoIntegrityMechanism::Clone() const
3283 #ifndef PASN_LEANANDMEAN
3284 PAssert(IsClass(H225_NonIsoIntegrityMechanism::Class()), PInvalidCast);
3285 #endif
3286 return new H225_NonIsoIntegrityMechanism(*this);
3291 #ifndef PASN_NOPRINTON
3292 const static PASN_Names Names_H225_IntegrityMechanism[]={
3293 {"nonStandard",0}
3294 ,{"digSig",1}
3295 ,{"iso9797",2}
3296 ,{"nonIsoIM",3}
3298 #endif
3300 // IntegrityMechanism
3303 H225_IntegrityMechanism::H225_IntegrityMechanism(unsigned tag, PASN_Object::TagClass tagClass)
3304 : PASN_Choice(tag, tagClass, 4, TRUE
3305 #ifndef PASN_NOPRINTON
3306 ,(const PASN_Names *)Names_H225_IntegrityMechanism,4
3307 #endif
3313 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3314 H225_IntegrityMechanism::operator H225_NonStandardParameter &() const
3315 #else
3316 H225_IntegrityMechanism::operator H225_NonStandardParameter &()
3318 #ifndef PASN_LEANANDMEAN
3319 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
3320 #endif
3321 return *(H225_NonStandardParameter *)choice;
3325 H225_IntegrityMechanism::operator const H225_NonStandardParameter &() const
3326 #endif
3328 #ifndef PASN_LEANANDMEAN
3329 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
3330 #endif
3331 return *(H225_NonStandardParameter *)choice;
3335 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3336 H225_IntegrityMechanism::operator H225_NonIsoIntegrityMechanism &() const
3337 #else
3338 H225_IntegrityMechanism::operator H225_NonIsoIntegrityMechanism &()
3340 #ifndef PASN_LEANANDMEAN
3341 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonIsoIntegrityMechanism), PInvalidCast);
3342 #endif
3343 return *(H225_NonIsoIntegrityMechanism *)choice;
3347 H225_IntegrityMechanism::operator const H225_NonIsoIntegrityMechanism &() const
3348 #endif
3350 #ifndef PASN_LEANANDMEAN
3351 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonIsoIntegrityMechanism), PInvalidCast);
3352 #endif
3353 return *(H225_NonIsoIntegrityMechanism *)choice;
3357 BOOL H225_IntegrityMechanism::CreateObject()
3359 switch (tag) {
3360 case e_nonStandard :
3361 choice = new H225_NonStandardParameter();
3362 return TRUE;
3363 case e_digSig :
3364 choice = new PASN_Null();
3365 return TRUE;
3366 case e_iso9797 :
3367 choice = new PASN_ObjectId();
3368 return TRUE;
3369 case e_nonIsoIM :
3370 choice = new H225_NonIsoIntegrityMechanism();
3371 return TRUE;
3374 choice = NULL;
3375 return FALSE;
3379 PObject * H225_IntegrityMechanism::Clone() const
3381 #ifndef PASN_LEANANDMEAN
3382 PAssert(IsClass(H225_IntegrityMechanism::Class()), PInvalidCast);
3383 #endif
3384 return new H225_IntegrityMechanism(*this);
3389 // ICV
3392 H225_ICV::H225_ICV(unsigned tag, PASN_Object::TagClass tagClass)
3393 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
3398 #ifndef PASN_NOPRINTON
3399 void H225_ICV::PrintOn(ostream & strm) const
3401 int indent = strm.precision() + 2;
3402 strm << "{\n";
3403 strm << setw(indent+15) << "algorithmOID = " << setprecision(indent) << m_algorithmOID << '\n';
3404 strm << setw(indent+6) << "icv = " << setprecision(indent) << m_icv << '\n';
3405 strm << setw(indent-1) << setprecision(indent-2) << "}";
3407 #endif
3410 PObject::Comparison H225_ICV::Compare(const PObject & obj) const
3412 #ifndef PASN_LEANANDMEAN
3413 PAssert(PIsDescendant(&obj, H225_ICV), PInvalidCast);
3414 #endif
3415 const H225_ICV & other = (const H225_ICV &)obj;
3417 Comparison result;
3419 if ((result = m_algorithmOID.Compare(other.m_algorithmOID)) != EqualTo)
3420 return result;
3421 if ((result = m_icv.Compare(other.m_icv)) != EqualTo)
3422 return result;
3424 return PASN_Sequence::Compare(other);
3428 PINDEX H225_ICV::GetDataLength() const
3430 PINDEX length = 0;
3431 length += m_algorithmOID.GetObjectLength();
3432 length += m_icv.GetObjectLength();
3433 return length;
3437 BOOL H225_ICV::Decode(PASN_Stream & strm)
3439 if (!PreambleDecode(strm))
3440 return FALSE;
3442 if (!m_algorithmOID.Decode(strm))
3443 return FALSE;
3444 if (!m_icv.Decode(strm))
3445 return FALSE;
3447 return UnknownExtensionsDecode(strm);
3451 void H225_ICV::Encode(PASN_Stream & strm) const
3453 PreambleEncode(strm);
3455 m_algorithmOID.Encode(strm);
3456 m_icv.Encode(strm);
3458 UnknownExtensionsEncode(strm);
3462 PObject * H225_ICV::Clone() const
3464 #ifndef PASN_LEANANDMEAN
3465 PAssert(IsClass(H225_ICV::Class()), PInvalidCast);
3466 #endif
3467 return new H225_ICV(*this);
3472 // FastStartToken
3475 H225_FastStartToken::H225_FastStartToken(unsigned tag, PASN_Object::TagClass tagClass)
3476 : H235_ClearToken(tag, tagClass)
3478 IncludeOptionalField(e_generalID);
3479 IncludeOptionalField(e_dhkey);
3480 IncludeOptionalField(e_timeStamp);
3484 PObject * H225_FastStartToken::Clone() const
3486 #ifndef PASN_LEANANDMEAN
3487 PAssert(IsClass(H225_FastStartToken::Class()), PInvalidCast);
3488 #endif
3489 return new H225_FastStartToken(*this);
3494 // EncodedFastStartToken
3497 H225_EncodedFastStartToken::H225_EncodedFastStartToken(unsigned tag, PASN_Object::TagClass tagClass)
3498 : PASN_OctetString(tag, tagClass)
3503 PObject * H225_EncodedFastStartToken::Clone() const
3505 #ifndef PASN_LEANANDMEAN
3506 PAssert(IsClass(H225_EncodedFastStartToken::Class()), PInvalidCast);
3507 #endif
3508 return new H225_EncodedFastStartToken(*this);
3513 #ifndef PASN_NOPRINTON
3514 const static PASN_Names Names_H225_CryptoH323Token[]={
3515 {"cryptoEPPwdHash",0}
3516 ,{"cryptoGKPwdHash",1}
3517 ,{"cryptoEPPwdEncr",2}
3518 ,{"cryptoGKPwdEncr",3}
3519 ,{"cryptoEPCert",4}
3520 ,{"cryptoGKCert",5}
3521 ,{"cryptoFastStart",6}
3522 ,{"nestedcryptoToken",7}
3524 #endif
3526 // CryptoH323Token
3529 H225_CryptoH323Token::H225_CryptoH323Token(unsigned tag, PASN_Object::TagClass tagClass)
3530 : PASN_Choice(tag, tagClass, 8, TRUE
3531 #ifndef PASN_NOPRINTON
3532 ,(const PASN_Names *)Names_H225_CryptoH323Token,8
3533 #endif
3539 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3540 H225_CryptoH323Token::operator H225_CryptoH323Token_cryptoEPPwdHash &() const
3541 #else
3542 H225_CryptoH323Token::operator H225_CryptoH323Token_cryptoEPPwdHash &()
3544 #ifndef PASN_LEANANDMEAN
3545 PAssert(PIsDescendant(PAssertNULL(choice), H225_CryptoH323Token_cryptoEPPwdHash), PInvalidCast);
3546 #endif
3547 return *(H225_CryptoH323Token_cryptoEPPwdHash *)choice;
3551 H225_CryptoH323Token::operator const H225_CryptoH323Token_cryptoEPPwdHash &() const
3552 #endif
3554 #ifndef PASN_LEANANDMEAN
3555 PAssert(PIsDescendant(PAssertNULL(choice), H225_CryptoH323Token_cryptoEPPwdHash), PInvalidCast);
3556 #endif
3557 return *(H225_CryptoH323Token_cryptoEPPwdHash *)choice;
3561 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3562 H225_CryptoH323Token::operator H225_CryptoH323Token_cryptoGKPwdHash &() const
3563 #else
3564 H225_CryptoH323Token::operator H225_CryptoH323Token_cryptoGKPwdHash &()
3566 #ifndef PASN_LEANANDMEAN
3567 PAssert(PIsDescendant(PAssertNULL(choice), H225_CryptoH323Token_cryptoGKPwdHash), PInvalidCast);
3568 #endif
3569 return *(H225_CryptoH323Token_cryptoGKPwdHash *)choice;
3573 H225_CryptoH323Token::operator const H225_CryptoH323Token_cryptoGKPwdHash &() const
3574 #endif
3576 #ifndef PASN_LEANANDMEAN
3577 PAssert(PIsDescendant(PAssertNULL(choice), H225_CryptoH323Token_cryptoGKPwdHash), PInvalidCast);
3578 #endif
3579 return *(H225_CryptoH323Token_cryptoGKPwdHash *)choice;
3583 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3584 H225_CryptoH323Token::operator H235_ENCRYPTED<H235_EncodedPwdCertToken> &() const
3585 #else
3586 H225_CryptoH323Token::operator H235_ENCRYPTED<H235_EncodedPwdCertToken> &()
3588 #ifndef PASN_LEANANDMEAN
3589 PAssert(PIsDescendant(PAssertNULL(choice), H235_ENCRYPTED<H235_EncodedPwdCertToken>), PInvalidCast);
3590 #endif
3591 return *(H235_ENCRYPTED<H235_EncodedPwdCertToken> *)choice;
3595 H225_CryptoH323Token::operator const H235_ENCRYPTED<H235_EncodedPwdCertToken> &() const
3596 #endif
3598 #ifndef PASN_LEANANDMEAN
3599 PAssert(PIsDescendant(PAssertNULL(choice), H235_ENCRYPTED<H235_EncodedPwdCertToken>), PInvalidCast);
3600 #endif
3601 return *(H235_ENCRYPTED<H235_EncodedPwdCertToken> *)choice;
3605 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3606 H225_CryptoH323Token::operator H235_SIGNED<H235_EncodedPwdCertToken> &() const
3607 #else
3608 H225_CryptoH323Token::operator H235_SIGNED<H235_EncodedPwdCertToken> &()
3610 #ifndef PASN_LEANANDMEAN
3611 PAssert(PIsDescendant(PAssertNULL(choice), H235_SIGNED<H235_EncodedPwdCertToken>), PInvalidCast);
3612 #endif
3613 return *(H235_SIGNED<H235_EncodedPwdCertToken> *)choice;
3617 H225_CryptoH323Token::operator const H235_SIGNED<H235_EncodedPwdCertToken> &() const
3618 #endif
3620 #ifndef PASN_LEANANDMEAN
3621 PAssert(PIsDescendant(PAssertNULL(choice), H235_SIGNED<H235_EncodedPwdCertToken>), PInvalidCast);
3622 #endif
3623 return *(H235_SIGNED<H235_EncodedPwdCertToken> *)choice;
3627 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3628 H225_CryptoH323Token::operator H235_SIGNED<H225_EncodedFastStartToken> &() const
3629 #else
3630 H225_CryptoH323Token::operator H235_SIGNED<H225_EncodedFastStartToken> &()
3632 #ifndef PASN_LEANANDMEAN
3633 PAssert(PIsDescendant(PAssertNULL(choice), H235_SIGNED<H225_EncodedFastStartToken>), PInvalidCast);
3634 #endif
3635 return *(H235_SIGNED<H225_EncodedFastStartToken> *)choice;
3639 H225_CryptoH323Token::operator const H235_SIGNED<H225_EncodedFastStartToken> &() const
3640 #endif
3642 #ifndef PASN_LEANANDMEAN
3643 PAssert(PIsDescendant(PAssertNULL(choice), H235_SIGNED<H225_EncodedFastStartToken>), PInvalidCast);
3644 #endif
3645 return *(H235_SIGNED<H225_EncodedFastStartToken> *)choice;
3649 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3650 H225_CryptoH323Token::operator H235_CryptoToken &() const
3651 #else
3652 H225_CryptoH323Token::operator H235_CryptoToken &()
3654 #ifndef PASN_LEANANDMEAN
3655 PAssert(PIsDescendant(PAssertNULL(choice), H235_CryptoToken), PInvalidCast);
3656 #endif
3657 return *(H235_CryptoToken *)choice;
3661 H225_CryptoH323Token::operator const H235_CryptoToken &() const
3662 #endif
3664 #ifndef PASN_LEANANDMEAN
3665 PAssert(PIsDescendant(PAssertNULL(choice), H235_CryptoToken), PInvalidCast);
3666 #endif
3667 return *(H235_CryptoToken *)choice;
3671 BOOL H225_CryptoH323Token::CreateObject()
3673 switch (tag) {
3674 case e_cryptoEPPwdHash :
3675 choice = new H225_CryptoH323Token_cryptoEPPwdHash();
3676 return TRUE;
3677 case e_cryptoGKPwdHash :
3678 choice = new H225_CryptoH323Token_cryptoGKPwdHash();
3679 return TRUE;
3680 case e_cryptoEPPwdEncr :
3681 case e_cryptoGKPwdEncr :
3682 choice = new H235_ENCRYPTED<H235_EncodedPwdCertToken>();
3683 return TRUE;
3684 case e_cryptoEPCert :
3685 case e_cryptoGKCert :
3686 choice = new H235_SIGNED<H235_EncodedPwdCertToken>();
3687 return TRUE;
3688 case e_cryptoFastStart :
3689 choice = new H235_SIGNED<H225_EncodedFastStartToken>();
3690 return TRUE;
3691 case e_nestedcryptoToken :
3692 choice = new H235_CryptoToken();
3693 return TRUE;
3696 choice = NULL;
3697 return FALSE;
3701 PObject * H225_CryptoH323Token::Clone() const
3703 #ifndef PASN_LEANANDMEAN
3704 PAssert(IsClass(H225_CryptoH323Token::Class()), PInvalidCast);
3705 #endif
3706 return new H225_CryptoH323Token(*this);
3711 // CallLinkage
3714 H225_CallLinkage::H225_CallLinkage(unsigned tag, PASN_Object::TagClass tagClass)
3715 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
3720 #ifndef PASN_NOPRINTON
3721 void H225_CallLinkage::PrintOn(ostream & strm) const
3723 int indent = strm.precision() + 2;
3724 strm << "{\n";
3725 if (HasOptionalField(e_globalCallId))
3726 strm << setw(indent+15) << "globalCallId = " << setprecision(indent) << m_globalCallId << '\n';
3727 if (HasOptionalField(e_threadId))
3728 strm << setw(indent+11) << "threadId = " << setprecision(indent) << m_threadId << '\n';
3729 strm << setw(indent-1) << setprecision(indent-2) << "}";
3731 #endif
3734 PObject::Comparison H225_CallLinkage::Compare(const PObject & obj) const
3736 #ifndef PASN_LEANANDMEAN
3737 PAssert(PIsDescendant(&obj, H225_CallLinkage), PInvalidCast);
3738 #endif
3739 const H225_CallLinkage & other = (const H225_CallLinkage &)obj;
3741 Comparison result;
3743 if ((result = m_globalCallId.Compare(other.m_globalCallId)) != EqualTo)
3744 return result;
3745 if ((result = m_threadId.Compare(other.m_threadId)) != EqualTo)
3746 return result;
3748 return PASN_Sequence::Compare(other);
3752 PINDEX H225_CallLinkage::GetDataLength() const
3754 PINDEX length = 0;
3755 if (HasOptionalField(e_globalCallId))
3756 length += m_globalCallId.GetObjectLength();
3757 if (HasOptionalField(e_threadId))
3758 length += m_threadId.GetObjectLength();
3759 return length;
3763 BOOL H225_CallLinkage::Decode(PASN_Stream & strm)
3765 if (!PreambleDecode(strm))
3766 return FALSE;
3768 if (HasOptionalField(e_globalCallId) && !m_globalCallId.Decode(strm))
3769 return FALSE;
3770 if (HasOptionalField(e_threadId) && !m_threadId.Decode(strm))
3771 return FALSE;
3773 return UnknownExtensionsDecode(strm);
3777 void H225_CallLinkage::Encode(PASN_Stream & strm) const
3779 PreambleEncode(strm);
3781 if (HasOptionalField(e_globalCallId))
3782 m_globalCallId.Encode(strm);
3783 if (HasOptionalField(e_threadId))
3784 m_threadId.Encode(strm);
3786 UnknownExtensionsEncode(strm);
3790 PObject * H225_CallLinkage::Clone() const
3792 #ifndef PASN_LEANANDMEAN
3793 PAssert(IsClass(H225_CallLinkage::Class()), PInvalidCast);
3794 #endif
3795 return new H225_CallLinkage(*this);
3800 // CapacityReportingCapability
3803 H225_CapacityReportingCapability::H225_CapacityReportingCapability(unsigned tag, PASN_Object::TagClass tagClass)
3804 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
3809 #ifndef PASN_NOPRINTON
3810 void H225_CapacityReportingCapability::PrintOn(ostream & strm) const
3812 int indent = strm.precision() + 2;
3813 strm << "{\n";
3814 strm << setw(indent+24) << "canReportCallCapacity = " << setprecision(indent) << m_canReportCallCapacity << '\n';
3815 strm << setw(indent-1) << setprecision(indent-2) << "}";
3817 #endif
3820 PObject::Comparison H225_CapacityReportingCapability::Compare(const PObject & obj) const
3822 #ifndef PASN_LEANANDMEAN
3823 PAssert(PIsDescendant(&obj, H225_CapacityReportingCapability), PInvalidCast);
3824 #endif
3825 const H225_CapacityReportingCapability & other = (const H225_CapacityReportingCapability &)obj;
3827 Comparison result;
3829 if ((result = m_canReportCallCapacity.Compare(other.m_canReportCallCapacity)) != EqualTo)
3830 return result;
3832 return PASN_Sequence::Compare(other);
3836 PINDEX H225_CapacityReportingCapability::GetDataLength() const
3838 PINDEX length = 0;
3839 length += m_canReportCallCapacity.GetObjectLength();
3840 return length;
3844 BOOL H225_CapacityReportingCapability::Decode(PASN_Stream & strm)
3846 if (!PreambleDecode(strm))
3847 return FALSE;
3849 if (!m_canReportCallCapacity.Decode(strm))
3850 return FALSE;
3852 return UnknownExtensionsDecode(strm);
3856 void H225_CapacityReportingCapability::Encode(PASN_Stream & strm) const
3858 PreambleEncode(strm);
3860 m_canReportCallCapacity.Encode(strm);
3862 UnknownExtensionsEncode(strm);
3866 PObject * H225_CapacityReportingCapability::Clone() const
3868 #ifndef PASN_LEANANDMEAN
3869 PAssert(IsClass(H225_CapacityReportingCapability::Class()), PInvalidCast);
3870 #endif
3871 return new H225_CapacityReportingCapability(*this);
3876 // CarrierInfo
3879 H225_CarrierInfo::H225_CarrierInfo(unsigned tag, PASN_Object::TagClass tagClass)
3880 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
3882 m_carrierIdentificationCode.SetConstraints(PASN_Object::FixedConstraint, 3, 4);
3883 m_carrierName.SetConstraints(PASN_Object::FixedConstraint, 1, 128);
3887 #ifndef PASN_NOPRINTON
3888 void H225_CarrierInfo::PrintOn(ostream & strm) const
3890 int indent = strm.precision() + 2;
3891 strm << "{\n";
3892 if (HasOptionalField(e_carrierIdentificationCode))
3893 strm << setw(indent+28) << "carrierIdentificationCode = " << setprecision(indent) << m_carrierIdentificationCode << '\n';
3894 if (HasOptionalField(e_carrierName))
3895 strm << setw(indent+14) << "carrierName = " << setprecision(indent) << m_carrierName << '\n';
3896 strm << setw(indent-1) << setprecision(indent-2) << "}";
3898 #endif
3901 PObject::Comparison H225_CarrierInfo::Compare(const PObject & obj) const
3903 #ifndef PASN_LEANANDMEAN
3904 PAssert(PIsDescendant(&obj, H225_CarrierInfo), PInvalidCast);
3905 #endif
3906 const H225_CarrierInfo & other = (const H225_CarrierInfo &)obj;
3908 Comparison result;
3910 if ((result = m_carrierIdentificationCode.Compare(other.m_carrierIdentificationCode)) != EqualTo)
3911 return result;
3912 if ((result = m_carrierName.Compare(other.m_carrierName)) != EqualTo)
3913 return result;
3915 return PASN_Sequence::Compare(other);
3919 PINDEX H225_CarrierInfo::GetDataLength() const
3921 PINDEX length = 0;
3922 if (HasOptionalField(e_carrierIdentificationCode))
3923 length += m_carrierIdentificationCode.GetObjectLength();
3924 if (HasOptionalField(e_carrierName))
3925 length += m_carrierName.GetObjectLength();
3926 return length;
3930 BOOL H225_CarrierInfo::Decode(PASN_Stream & strm)
3932 if (!PreambleDecode(strm))
3933 return FALSE;
3935 if (HasOptionalField(e_carrierIdentificationCode) && !m_carrierIdentificationCode.Decode(strm))
3936 return FALSE;
3937 if (HasOptionalField(e_carrierName) && !m_carrierName.Decode(strm))
3938 return FALSE;
3940 return UnknownExtensionsDecode(strm);
3944 void H225_CarrierInfo::Encode(PASN_Stream & strm) const
3946 PreambleEncode(strm);
3948 if (HasOptionalField(e_carrierIdentificationCode))
3949 m_carrierIdentificationCode.Encode(strm);
3950 if (HasOptionalField(e_carrierName))
3951 m_carrierName.Encode(strm);
3953 UnknownExtensionsEncode(strm);
3957 PObject * H225_CarrierInfo::Clone() const
3959 #ifndef PASN_LEANANDMEAN
3960 PAssert(IsClass(H225_CarrierInfo::Class()), PInvalidCast);
3961 #endif
3962 return new H225_CarrierInfo(*this);
3967 #ifndef PASN_NOPRINTON
3968 const static PASN_Names Names_H225_ServiceControlDescriptor[]={
3969 {"url",0}
3970 ,{"signal",1}
3971 ,{"nonStandard",2}
3972 ,{"callCreditServiceControl",3}
3974 #endif
3976 // ServiceControlDescriptor
3979 H225_ServiceControlDescriptor::H225_ServiceControlDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
3980 : PASN_Choice(tag, tagClass, 4, TRUE
3981 #ifndef PASN_NOPRINTON
3982 ,(const PASN_Names *)Names_H225_ServiceControlDescriptor,4
3983 #endif
3989 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3990 H225_ServiceControlDescriptor::operator H225_H248SignalsDescriptor &() const
3991 #else
3992 H225_ServiceControlDescriptor::operator H225_H248SignalsDescriptor &()
3994 #ifndef PASN_LEANANDMEAN
3995 PAssert(PIsDescendant(PAssertNULL(choice), H225_H248SignalsDescriptor), PInvalidCast);
3996 #endif
3997 return *(H225_H248SignalsDescriptor *)choice;
4001 H225_ServiceControlDescriptor::operator const H225_H248SignalsDescriptor &() const
4002 #endif
4004 #ifndef PASN_LEANANDMEAN
4005 PAssert(PIsDescendant(PAssertNULL(choice), H225_H248SignalsDescriptor), PInvalidCast);
4006 #endif
4007 return *(H225_H248SignalsDescriptor *)choice;
4011 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4012 H225_ServiceControlDescriptor::operator H225_NonStandardParameter &() const
4013 #else
4014 H225_ServiceControlDescriptor::operator H225_NonStandardParameter &()
4016 #ifndef PASN_LEANANDMEAN
4017 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
4018 #endif
4019 return *(H225_NonStandardParameter *)choice;
4023 H225_ServiceControlDescriptor::operator const H225_NonStandardParameter &() const
4024 #endif
4026 #ifndef PASN_LEANANDMEAN
4027 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardParameter), PInvalidCast);
4028 #endif
4029 return *(H225_NonStandardParameter *)choice;
4033 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4034 H225_ServiceControlDescriptor::operator H225_CallCreditServiceControl &() const
4035 #else
4036 H225_ServiceControlDescriptor::operator H225_CallCreditServiceControl &()
4038 #ifndef PASN_LEANANDMEAN
4039 PAssert(PIsDescendant(PAssertNULL(choice), H225_CallCreditServiceControl), PInvalidCast);
4040 #endif
4041 return *(H225_CallCreditServiceControl *)choice;
4045 H225_ServiceControlDescriptor::operator const H225_CallCreditServiceControl &() const
4046 #endif
4048 #ifndef PASN_LEANANDMEAN
4049 PAssert(PIsDescendant(PAssertNULL(choice), H225_CallCreditServiceControl), PInvalidCast);
4050 #endif
4051 return *(H225_CallCreditServiceControl *)choice;
4055 BOOL H225_ServiceControlDescriptor::CreateObject()
4057 switch (tag) {
4058 case e_url :
4059 choice = new PASN_IA5String();
4060 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 512);
4061 return TRUE;
4062 case e_signal :
4063 choice = new H225_H248SignalsDescriptor();
4064 return TRUE;
4065 case e_nonStandard :
4066 choice = new H225_NonStandardParameter();
4067 return TRUE;
4068 case e_callCreditServiceControl :
4069 choice = new H225_CallCreditServiceControl();
4070 return TRUE;
4073 choice = NULL;
4074 return FALSE;
4078 PObject * H225_ServiceControlDescriptor::Clone() const
4080 #ifndef PASN_LEANANDMEAN
4081 PAssert(IsClass(H225_ServiceControlDescriptor::Class()), PInvalidCast);
4082 #endif
4083 return new H225_ServiceControlDescriptor(*this);
4088 #ifndef PASN_NOPRINTON
4089 const static PASN_Names Names_H225_CallTerminationCause[]={
4090 {"releaseCompleteReason",0}
4091 ,{"releaseCompleteCauseIE",1}
4093 #endif
4095 // CallTerminationCause
4098 H225_CallTerminationCause::H225_CallTerminationCause(unsigned tag, PASN_Object::TagClass tagClass)
4099 : PASN_Choice(tag, tagClass, 2, TRUE
4100 #ifndef PASN_NOPRINTON
4101 ,(const PASN_Names *)Names_H225_CallTerminationCause,2
4102 #endif
4108 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4109 H225_CallTerminationCause::operator H225_ReleaseCompleteReason &() const
4110 #else
4111 H225_CallTerminationCause::operator H225_ReleaseCompleteReason &()
4113 #ifndef PASN_LEANANDMEAN
4114 PAssert(PIsDescendant(PAssertNULL(choice), H225_ReleaseCompleteReason), PInvalidCast);
4115 #endif
4116 return *(H225_ReleaseCompleteReason *)choice;
4120 H225_CallTerminationCause::operator const H225_ReleaseCompleteReason &() const
4121 #endif
4123 #ifndef PASN_LEANANDMEAN
4124 PAssert(PIsDescendant(PAssertNULL(choice), H225_ReleaseCompleteReason), PInvalidCast);
4125 #endif
4126 return *(H225_ReleaseCompleteReason *)choice;
4130 BOOL H225_CallTerminationCause::CreateObject()
4132 switch (tag) {
4133 case e_releaseCompleteReason :
4134 choice = new H225_ReleaseCompleteReason();
4135 return TRUE;
4136 case e_releaseCompleteCauseIE :
4137 choice = new PASN_OctetString();
4138 choice->SetConstraints(PASN_Object::FixedConstraint, 2, 32);
4139 return TRUE;
4142 choice = NULL;
4143 return FALSE;
4147 PObject * H225_CallTerminationCause::Clone() const
4149 #ifndef PASN_LEANANDMEAN
4150 PAssert(IsClass(H225_CallTerminationCause::Class()), PInvalidCast);
4151 #endif
4152 return new H225_CallTerminationCause(*this);
4157 // CallCreditCapability
4160 H225_CallCreditCapability::H225_CallCreditCapability(unsigned tag, PASN_Object::TagClass tagClass)
4161 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
4166 #ifndef PASN_NOPRINTON
4167 void H225_CallCreditCapability::PrintOn(ostream & strm) const
4169 int indent = strm.precision() + 2;
4170 strm << "{\n";
4171 if (HasOptionalField(e_canDisplayAmountString))
4172 strm << setw(indent+25) << "canDisplayAmountString = " << setprecision(indent) << m_canDisplayAmountString << '\n';
4173 if (HasOptionalField(e_canEnforceDurationLimit))
4174 strm << setw(indent+26) << "canEnforceDurationLimit = " << setprecision(indent) << m_canEnforceDurationLimit << '\n';
4175 strm << setw(indent-1) << setprecision(indent-2) << "}";
4177 #endif
4180 PObject::Comparison H225_CallCreditCapability::Compare(const PObject & obj) const
4182 #ifndef PASN_LEANANDMEAN
4183 PAssert(PIsDescendant(&obj, H225_CallCreditCapability), PInvalidCast);
4184 #endif
4185 const H225_CallCreditCapability & other = (const H225_CallCreditCapability &)obj;
4187 Comparison result;
4189 if ((result = m_canDisplayAmountString.Compare(other.m_canDisplayAmountString)) != EqualTo)
4190 return result;
4191 if ((result = m_canEnforceDurationLimit.Compare(other.m_canEnforceDurationLimit)) != EqualTo)
4192 return result;
4194 return PASN_Sequence::Compare(other);
4198 PINDEX H225_CallCreditCapability::GetDataLength() const
4200 PINDEX length = 0;
4201 if (HasOptionalField(e_canDisplayAmountString))
4202 length += m_canDisplayAmountString.GetObjectLength();
4203 if (HasOptionalField(e_canEnforceDurationLimit))
4204 length += m_canEnforceDurationLimit.GetObjectLength();
4205 return length;
4209 BOOL H225_CallCreditCapability::Decode(PASN_Stream & strm)
4211 if (!PreambleDecode(strm))
4212 return FALSE;
4214 if (HasOptionalField(e_canDisplayAmountString) && !m_canDisplayAmountString.Decode(strm))
4215 return FALSE;
4216 if (HasOptionalField(e_canEnforceDurationLimit) && !m_canEnforceDurationLimit.Decode(strm))
4217 return FALSE;
4219 return UnknownExtensionsDecode(strm);
4223 void H225_CallCreditCapability::Encode(PASN_Stream & strm) const
4225 PreambleEncode(strm);
4227 if (HasOptionalField(e_canDisplayAmountString))
4228 m_canDisplayAmountString.Encode(strm);
4229 if (HasOptionalField(e_canEnforceDurationLimit))
4230 m_canEnforceDurationLimit.Encode(strm);
4232 UnknownExtensionsEncode(strm);
4236 PObject * H225_CallCreditCapability::Clone() const
4238 #ifndef PASN_LEANANDMEAN
4239 PAssert(IsClass(H225_CallCreditCapability::Class()), PInvalidCast);
4240 #endif
4241 return new H225_CallCreditCapability(*this);
4246 #ifndef PASN_NOPRINTON
4247 const static PASN_Names Names_H225_GenericIdentifier[]={
4248 {"standard",0}
4249 ,{"oid",1}
4250 ,{"nonStandard",2}
4252 #endif
4254 // GenericIdentifier
4257 H225_GenericIdentifier::H225_GenericIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
4258 : PASN_Choice(tag, tagClass, 3, TRUE
4259 #ifndef PASN_NOPRINTON
4260 ,(const PASN_Names *)Names_H225_GenericIdentifier,3
4261 #endif
4267 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4268 H225_GenericIdentifier::operator H225_GloballyUniqueID &() const
4269 #else
4270 H225_GenericIdentifier::operator H225_GloballyUniqueID &()
4272 #ifndef PASN_LEANANDMEAN
4273 PAssert(PIsDescendant(PAssertNULL(choice), H225_GloballyUniqueID), PInvalidCast);
4274 #endif
4275 return *(H225_GloballyUniqueID *)choice;
4279 H225_GenericIdentifier::operator const H225_GloballyUniqueID &() const
4280 #endif
4282 #ifndef PASN_LEANANDMEAN
4283 PAssert(PIsDescendant(PAssertNULL(choice), H225_GloballyUniqueID), PInvalidCast);
4284 #endif
4285 return *(H225_GloballyUniqueID *)choice;
4289 BOOL H225_GenericIdentifier::CreateObject()
4291 switch (tag) {
4292 case e_standard :
4293 choice = new PASN_Integer();
4294 choice->SetConstraints(PASN_Object::ExtendableConstraint, 0, 16383);
4295 return TRUE;
4296 case e_oid :
4297 choice = new PASN_ObjectId();
4298 return TRUE;
4299 case e_nonStandard :
4300 choice = new H225_GloballyUniqueID();
4301 return TRUE;
4304 choice = NULL;
4305 return FALSE;
4309 PObject * H225_GenericIdentifier::Clone() const
4311 #ifndef PASN_LEANANDMEAN
4312 PAssert(IsClass(H225_GenericIdentifier::Class()), PInvalidCast);
4313 #endif
4314 return new H225_GenericIdentifier(*this);
4319 #ifndef PASN_NOPRINTON
4320 const static PASN_Names Names_H225_Content[]={
4321 {"raw",0}
4322 ,{"text",1}
4323 ,{"unicode",2}
4324 ,{"bool",3}
4325 ,{"number8",4}
4326 ,{"number16",5}
4327 ,{"number32",6}
4328 ,{"id",7}
4329 ,{"alias",8}
4330 ,{"transport",9}
4331 ,{"compound",10}
4332 ,{"nested",11}
4334 #endif
4336 // Content
4339 H225_Content::H225_Content(unsigned tag, PASN_Object::TagClass tagClass)
4340 : PASN_Choice(tag, tagClass, 12, TRUE
4341 #ifndef PASN_NOPRINTON
4342 ,(const PASN_Names *)Names_H225_Content,12
4343 #endif
4349 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4350 H225_Content::operator H225_GenericIdentifier &() const
4351 #else
4352 H225_Content::operator H225_GenericIdentifier &()
4354 #ifndef PASN_LEANANDMEAN
4355 PAssert(PIsDescendant(PAssertNULL(choice), H225_GenericIdentifier), PInvalidCast);
4356 #endif
4357 return *(H225_GenericIdentifier *)choice;
4361 H225_Content::operator const H225_GenericIdentifier &() const
4362 #endif
4364 #ifndef PASN_LEANANDMEAN
4365 PAssert(PIsDescendant(PAssertNULL(choice), H225_GenericIdentifier), PInvalidCast);
4366 #endif
4367 return *(H225_GenericIdentifier *)choice;
4371 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4372 H225_Content::operator H225_AliasAddress &() const
4373 #else
4374 H225_Content::operator H225_AliasAddress &()
4376 #ifndef PASN_LEANANDMEAN
4377 PAssert(PIsDescendant(PAssertNULL(choice), H225_AliasAddress), PInvalidCast);
4378 #endif
4379 return *(H225_AliasAddress *)choice;
4383 H225_Content::operator const H225_AliasAddress &() const
4384 #endif
4386 #ifndef PASN_LEANANDMEAN
4387 PAssert(PIsDescendant(PAssertNULL(choice), H225_AliasAddress), PInvalidCast);
4388 #endif
4389 return *(H225_AliasAddress *)choice;
4393 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4394 H225_Content::operator H225_TransportAddress &() const
4395 #else
4396 H225_Content::operator H225_TransportAddress &()
4398 #ifndef PASN_LEANANDMEAN
4399 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress), PInvalidCast);
4400 #endif
4401 return *(H225_TransportAddress *)choice;
4405 H225_Content::operator const H225_TransportAddress &() const
4406 #endif
4408 #ifndef PASN_LEANANDMEAN
4409 PAssert(PIsDescendant(PAssertNULL(choice), H225_TransportAddress), PInvalidCast);
4410 #endif
4411 return *(H225_TransportAddress *)choice;
4415 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4416 H225_Content::operator H225_ArrayOf_EnumeratedParameter &() const
4417 #else
4418 H225_Content::operator H225_ArrayOf_EnumeratedParameter &()
4420 #ifndef PASN_LEANANDMEAN
4421 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_EnumeratedParameter), PInvalidCast);
4422 #endif
4423 return *(H225_ArrayOf_EnumeratedParameter *)choice;
4427 H225_Content::operator const H225_ArrayOf_EnumeratedParameter &() const
4428 #endif
4430 #ifndef PASN_LEANANDMEAN
4431 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_EnumeratedParameter), PInvalidCast);
4432 #endif
4433 return *(H225_ArrayOf_EnumeratedParameter *)choice;
4437 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4438 H225_Content::operator H225_ArrayOf_GenericData &() const
4439 #else
4440 H225_Content::operator H225_ArrayOf_GenericData &()
4442 #ifndef PASN_LEANANDMEAN
4443 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_GenericData), PInvalidCast);
4444 #endif
4445 return *(H225_ArrayOf_GenericData *)choice;
4449 H225_Content::operator const H225_ArrayOf_GenericData &() const
4450 #endif
4452 #ifndef PASN_LEANANDMEAN
4453 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_GenericData), PInvalidCast);
4454 #endif
4455 return *(H225_ArrayOf_GenericData *)choice;
4459 BOOL H225_Content::CreateObject()
4461 switch (tag) {
4462 case e_raw :
4463 choice = new PASN_OctetString();
4464 return TRUE;
4465 case e_text :
4466 choice = new PASN_IA5String();
4467 return TRUE;
4468 case e_unicode :
4469 choice = new PASN_BMPString();
4470 return TRUE;
4471 case e_bool :
4472 choice = new PASN_Boolean();
4473 return TRUE;
4474 case e_number8 :
4475 choice = new PASN_Integer();
4476 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 255);
4477 return TRUE;
4478 case e_number16 :
4479 choice = new PASN_Integer();
4480 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
4481 return TRUE;
4482 case e_number32 :
4483 choice = new PASN_Integer();
4484 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
4485 return TRUE;
4486 case e_id :
4487 choice = new H225_GenericIdentifier();
4488 return TRUE;
4489 case e_alias :
4490 choice = new H225_AliasAddress();
4491 return TRUE;
4492 case e_transport :
4493 choice = new H225_TransportAddress();
4494 return TRUE;
4495 case e_compound :
4496 choice = new H225_ArrayOf_EnumeratedParameter();
4497 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 512);
4498 return TRUE;
4499 case e_nested :
4500 choice = new H225_ArrayOf_GenericData();
4501 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 16);
4502 return TRUE;
4505 choice = NULL;
4506 return FALSE;
4510 PObject * H225_Content::Clone() const
4512 #ifndef PASN_LEANANDMEAN
4513 PAssert(IsClass(H225_Content::Class()), PInvalidCast);
4514 #endif
4515 return new H225_Content(*this);
4520 // TransportChannelInfo
4523 H225_TransportChannelInfo::H225_TransportChannelInfo(unsigned tag, PASN_Object::TagClass tagClass)
4524 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
4529 #ifndef PASN_NOPRINTON
4530 void H225_TransportChannelInfo::PrintOn(ostream & strm) const
4532 int indent = strm.precision() + 2;
4533 strm << "{\n";
4534 if (HasOptionalField(e_sendAddress))
4535 strm << setw(indent+14) << "sendAddress = " << setprecision(indent) << m_sendAddress << '\n';
4536 if (HasOptionalField(e_recvAddress))
4537 strm << setw(indent+14) << "recvAddress = " << setprecision(indent) << m_recvAddress << '\n';
4538 strm << setw(indent-1) << setprecision(indent-2) << "}";
4540 #endif
4543 PObject::Comparison H225_TransportChannelInfo::Compare(const PObject & obj) const
4545 #ifndef PASN_LEANANDMEAN
4546 PAssert(PIsDescendant(&obj, H225_TransportChannelInfo), PInvalidCast);
4547 #endif
4548 const H225_TransportChannelInfo & other = (const H225_TransportChannelInfo &)obj;
4550 Comparison result;
4552 if ((result = m_sendAddress.Compare(other.m_sendAddress)) != EqualTo)
4553 return result;
4554 if ((result = m_recvAddress.Compare(other.m_recvAddress)) != EqualTo)
4555 return result;
4557 return PASN_Sequence::Compare(other);
4561 PINDEX H225_TransportChannelInfo::GetDataLength() const
4563 PINDEX length = 0;
4564 if (HasOptionalField(e_sendAddress))
4565 length += m_sendAddress.GetObjectLength();
4566 if (HasOptionalField(e_recvAddress))
4567 length += m_recvAddress.GetObjectLength();
4568 return length;
4572 BOOL H225_TransportChannelInfo::Decode(PASN_Stream & strm)
4574 if (!PreambleDecode(strm))
4575 return FALSE;
4577 if (HasOptionalField(e_sendAddress) && !m_sendAddress.Decode(strm))
4578 return FALSE;
4579 if (HasOptionalField(e_recvAddress) && !m_recvAddress.Decode(strm))
4580 return FALSE;
4582 return UnknownExtensionsDecode(strm);
4586 void H225_TransportChannelInfo::Encode(PASN_Stream & strm) const
4588 PreambleEncode(strm);
4590 if (HasOptionalField(e_sendAddress))
4591 m_sendAddress.Encode(strm);
4592 if (HasOptionalField(e_recvAddress))
4593 m_recvAddress.Encode(strm);
4595 UnknownExtensionsEncode(strm);
4599 PObject * H225_TransportChannelInfo::Clone() const
4601 #ifndef PASN_LEANANDMEAN
4602 PAssert(IsClass(H225_TransportChannelInfo::Class()), PInvalidCast);
4603 #endif
4604 return new H225_TransportChannelInfo(*this);
4609 #ifndef PASN_NOPRINTON
4610 const static PASN_Names Names_H225_RehomingModel[]={
4611 {"gatekeeperBased",0}
4612 ,{"endpointBased",1}
4614 #endif
4616 // RehomingModel
4619 H225_RehomingModel::H225_RehomingModel(unsigned tag, PASN_Object::TagClass tagClass)
4620 : PASN_Choice(tag, tagClass, 2, FALSE
4621 #ifndef PASN_NOPRINTON
4622 ,(const PASN_Names *)Names_H225_RehomingModel,2
4623 #endif
4629 BOOL H225_RehomingModel::CreateObject()
4631 choice = (tag <= e_endpointBased) ? new PASN_Null() : NULL;
4632 return choice != NULL;
4636 PObject * H225_RehomingModel::Clone() const
4638 #ifndef PASN_LEANANDMEAN
4639 PAssert(IsClass(H225_RehomingModel::Class()), PInvalidCast);
4640 #endif
4641 return new H225_RehomingModel(*this);
4646 #ifndef PASN_NOPRINTON
4647 const static PASN_Names Names_H225_RasMessage[]={
4648 {"gatekeeperRequest",0}
4649 ,{"gatekeeperConfirm",1}
4650 ,{"gatekeeperReject",2}
4651 ,{"registrationRequest",3}
4652 ,{"registrationConfirm",4}
4653 ,{"registrationReject",5}
4654 ,{"unregistrationRequest",6}
4655 ,{"unregistrationConfirm",7}
4656 ,{"unregistrationReject",8}
4657 ,{"admissionRequest",9}
4658 ,{"admissionConfirm",10}
4659 ,{"admissionReject",11}
4660 ,{"bandwidthRequest",12}
4661 ,{"bandwidthConfirm",13}
4662 ,{"bandwidthReject",14}
4663 ,{"disengageRequest",15}
4664 ,{"disengageConfirm",16}
4665 ,{"disengageReject",17}
4666 ,{"locationRequest",18}
4667 ,{"locationConfirm",19}
4668 ,{"locationReject",20}
4669 ,{"infoRequest",21}
4670 ,{"infoRequestResponse",22}
4671 ,{"nonStandardMessage",23}
4672 ,{"unknownMessageResponse",24}
4673 ,{"requestInProgress",25}
4674 ,{"resourcesAvailableIndicate",26}
4675 ,{"resourcesAvailableConfirm",27}
4676 ,{"infoRequestAck",28}
4677 ,{"infoRequestNak",29}
4678 ,{"serviceControlIndication",30}
4679 ,{"serviceControlResponse",31}
4680 ,{"admissionConfirmSequence",32}
4682 #endif
4684 // RasMessage
4687 H225_RasMessage::H225_RasMessage(unsigned tag, PASN_Object::TagClass tagClass)
4688 : PASN_Choice(tag, tagClass, 25, TRUE
4689 #ifndef PASN_NOPRINTON
4690 ,(const PASN_Names *)Names_H225_RasMessage,33
4691 #endif
4697 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4698 H225_RasMessage::operator H225_GatekeeperRequest &() const
4699 #else
4700 H225_RasMessage::operator H225_GatekeeperRequest &()
4702 #ifndef PASN_LEANANDMEAN
4703 PAssert(PIsDescendant(PAssertNULL(choice), H225_GatekeeperRequest), PInvalidCast);
4704 #endif
4705 return *(H225_GatekeeperRequest *)choice;
4709 H225_RasMessage::operator const H225_GatekeeperRequest &() const
4710 #endif
4712 #ifndef PASN_LEANANDMEAN
4713 PAssert(PIsDescendant(PAssertNULL(choice), H225_GatekeeperRequest), PInvalidCast);
4714 #endif
4715 return *(H225_GatekeeperRequest *)choice;
4719 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4720 H225_RasMessage::operator H225_GatekeeperConfirm &() const
4721 #else
4722 H225_RasMessage::operator H225_GatekeeperConfirm &()
4724 #ifndef PASN_LEANANDMEAN
4725 PAssert(PIsDescendant(PAssertNULL(choice), H225_GatekeeperConfirm), PInvalidCast);
4726 #endif
4727 return *(H225_GatekeeperConfirm *)choice;
4731 H225_RasMessage::operator const H225_GatekeeperConfirm &() const
4732 #endif
4734 #ifndef PASN_LEANANDMEAN
4735 PAssert(PIsDescendant(PAssertNULL(choice), H225_GatekeeperConfirm), PInvalidCast);
4736 #endif
4737 return *(H225_GatekeeperConfirm *)choice;
4741 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4742 H225_RasMessage::operator H225_GatekeeperReject &() const
4743 #else
4744 H225_RasMessage::operator H225_GatekeeperReject &()
4746 #ifndef PASN_LEANANDMEAN
4747 PAssert(PIsDescendant(PAssertNULL(choice), H225_GatekeeperReject), PInvalidCast);
4748 #endif
4749 return *(H225_GatekeeperReject *)choice;
4753 H225_RasMessage::operator const H225_GatekeeperReject &() const
4754 #endif
4756 #ifndef PASN_LEANANDMEAN
4757 PAssert(PIsDescendant(PAssertNULL(choice), H225_GatekeeperReject), PInvalidCast);
4758 #endif
4759 return *(H225_GatekeeperReject *)choice;
4763 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4764 H225_RasMessage::operator H225_RegistrationRequest &() const
4765 #else
4766 H225_RasMessage::operator H225_RegistrationRequest &()
4768 #ifndef PASN_LEANANDMEAN
4769 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationRequest), PInvalidCast);
4770 #endif
4771 return *(H225_RegistrationRequest *)choice;
4775 H225_RasMessage::operator const H225_RegistrationRequest &() const
4776 #endif
4778 #ifndef PASN_LEANANDMEAN
4779 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationRequest), PInvalidCast);
4780 #endif
4781 return *(H225_RegistrationRequest *)choice;
4785 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4786 H225_RasMessage::operator H225_RegistrationConfirm &() const
4787 #else
4788 H225_RasMessage::operator H225_RegistrationConfirm &()
4790 #ifndef PASN_LEANANDMEAN
4791 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationConfirm), PInvalidCast);
4792 #endif
4793 return *(H225_RegistrationConfirm *)choice;
4797 H225_RasMessage::operator const H225_RegistrationConfirm &() const
4798 #endif
4800 #ifndef PASN_LEANANDMEAN
4801 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationConfirm), PInvalidCast);
4802 #endif
4803 return *(H225_RegistrationConfirm *)choice;
4807 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4808 H225_RasMessage::operator H225_RegistrationReject &() const
4809 #else
4810 H225_RasMessage::operator H225_RegistrationReject &()
4812 #ifndef PASN_LEANANDMEAN
4813 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationReject), PInvalidCast);
4814 #endif
4815 return *(H225_RegistrationReject *)choice;
4819 H225_RasMessage::operator const H225_RegistrationReject &() const
4820 #endif
4822 #ifndef PASN_LEANANDMEAN
4823 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationReject), PInvalidCast);
4824 #endif
4825 return *(H225_RegistrationReject *)choice;
4829 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4830 H225_RasMessage::operator H225_UnregistrationRequest &() const
4831 #else
4832 H225_RasMessage::operator H225_UnregistrationRequest &()
4834 #ifndef PASN_LEANANDMEAN
4835 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnregistrationRequest), PInvalidCast);
4836 #endif
4837 return *(H225_UnregistrationRequest *)choice;
4841 H225_RasMessage::operator const H225_UnregistrationRequest &() const
4842 #endif
4844 #ifndef PASN_LEANANDMEAN
4845 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnregistrationRequest), PInvalidCast);
4846 #endif
4847 return *(H225_UnregistrationRequest *)choice;
4851 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4852 H225_RasMessage::operator H225_UnregistrationConfirm &() const
4853 #else
4854 H225_RasMessage::operator H225_UnregistrationConfirm &()
4856 #ifndef PASN_LEANANDMEAN
4857 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnregistrationConfirm), PInvalidCast);
4858 #endif
4859 return *(H225_UnregistrationConfirm *)choice;
4863 H225_RasMessage::operator const H225_UnregistrationConfirm &() const
4864 #endif
4866 #ifndef PASN_LEANANDMEAN
4867 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnregistrationConfirm), PInvalidCast);
4868 #endif
4869 return *(H225_UnregistrationConfirm *)choice;
4873 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4874 H225_RasMessage::operator H225_UnregistrationReject &() const
4875 #else
4876 H225_RasMessage::operator H225_UnregistrationReject &()
4878 #ifndef PASN_LEANANDMEAN
4879 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnregistrationReject), PInvalidCast);
4880 #endif
4881 return *(H225_UnregistrationReject *)choice;
4885 H225_RasMessage::operator const H225_UnregistrationReject &() const
4886 #endif
4888 #ifndef PASN_LEANANDMEAN
4889 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnregistrationReject), PInvalidCast);
4890 #endif
4891 return *(H225_UnregistrationReject *)choice;
4895 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4896 H225_RasMessage::operator H225_AdmissionRequest &() const
4897 #else
4898 H225_RasMessage::operator H225_AdmissionRequest &()
4900 #ifndef PASN_LEANANDMEAN
4901 PAssert(PIsDescendant(PAssertNULL(choice), H225_AdmissionRequest), PInvalidCast);
4902 #endif
4903 return *(H225_AdmissionRequest *)choice;
4907 H225_RasMessage::operator const H225_AdmissionRequest &() const
4908 #endif
4910 #ifndef PASN_LEANANDMEAN
4911 PAssert(PIsDescendant(PAssertNULL(choice), H225_AdmissionRequest), PInvalidCast);
4912 #endif
4913 return *(H225_AdmissionRequest *)choice;
4917 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4918 H225_RasMessage::operator H225_AdmissionConfirm &() const
4919 #else
4920 H225_RasMessage::operator H225_AdmissionConfirm &()
4922 #ifndef PASN_LEANANDMEAN
4923 PAssert(PIsDescendant(PAssertNULL(choice), H225_AdmissionConfirm), PInvalidCast);
4924 #endif
4925 return *(H225_AdmissionConfirm *)choice;
4929 H225_RasMessage::operator const H225_AdmissionConfirm &() const
4930 #endif
4932 #ifndef PASN_LEANANDMEAN
4933 PAssert(PIsDescendant(PAssertNULL(choice), H225_AdmissionConfirm), PInvalidCast);
4934 #endif
4935 return *(H225_AdmissionConfirm *)choice;
4939 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4940 H225_RasMessage::operator H225_AdmissionReject &() const
4941 #else
4942 H225_RasMessage::operator H225_AdmissionReject &()
4944 #ifndef PASN_LEANANDMEAN
4945 PAssert(PIsDescendant(PAssertNULL(choice), H225_AdmissionReject), PInvalidCast);
4946 #endif
4947 return *(H225_AdmissionReject *)choice;
4951 H225_RasMessage::operator const H225_AdmissionReject &() const
4952 #endif
4954 #ifndef PASN_LEANANDMEAN
4955 PAssert(PIsDescendant(PAssertNULL(choice), H225_AdmissionReject), PInvalidCast);
4956 #endif
4957 return *(H225_AdmissionReject *)choice;
4961 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4962 H225_RasMessage::operator H225_BandwidthRequest &() const
4963 #else
4964 H225_RasMessage::operator H225_BandwidthRequest &()
4966 #ifndef PASN_LEANANDMEAN
4967 PAssert(PIsDescendant(PAssertNULL(choice), H225_BandwidthRequest), PInvalidCast);
4968 #endif
4969 return *(H225_BandwidthRequest *)choice;
4973 H225_RasMessage::operator const H225_BandwidthRequest &() const
4974 #endif
4976 #ifndef PASN_LEANANDMEAN
4977 PAssert(PIsDescendant(PAssertNULL(choice), H225_BandwidthRequest), PInvalidCast);
4978 #endif
4979 return *(H225_BandwidthRequest *)choice;
4983 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4984 H225_RasMessage::operator H225_BandwidthConfirm &() const
4985 #else
4986 H225_RasMessage::operator H225_BandwidthConfirm &()
4988 #ifndef PASN_LEANANDMEAN
4989 PAssert(PIsDescendant(PAssertNULL(choice), H225_BandwidthConfirm), PInvalidCast);
4990 #endif
4991 return *(H225_BandwidthConfirm *)choice;
4995 H225_RasMessage::operator const H225_BandwidthConfirm &() const
4996 #endif
4998 #ifndef PASN_LEANANDMEAN
4999 PAssert(PIsDescendant(PAssertNULL(choice), H225_BandwidthConfirm), PInvalidCast);
5000 #endif
5001 return *(H225_BandwidthConfirm *)choice;
5005 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5006 H225_RasMessage::operator H225_BandwidthReject &() const
5007 #else
5008 H225_RasMessage::operator H225_BandwidthReject &()
5010 #ifndef PASN_LEANANDMEAN
5011 PAssert(PIsDescendant(PAssertNULL(choice), H225_BandwidthReject), PInvalidCast);
5012 #endif
5013 return *(H225_BandwidthReject *)choice;
5017 H225_RasMessage::operator const H225_BandwidthReject &() const
5018 #endif
5020 #ifndef PASN_LEANANDMEAN
5021 PAssert(PIsDescendant(PAssertNULL(choice), H225_BandwidthReject), PInvalidCast);
5022 #endif
5023 return *(H225_BandwidthReject *)choice;
5027 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5028 H225_RasMessage::operator H225_DisengageRequest &() const
5029 #else
5030 H225_RasMessage::operator H225_DisengageRequest &()
5032 #ifndef PASN_LEANANDMEAN
5033 PAssert(PIsDescendant(PAssertNULL(choice), H225_DisengageRequest), PInvalidCast);
5034 #endif
5035 return *(H225_DisengageRequest *)choice;
5039 H225_RasMessage::operator const H225_DisengageRequest &() const
5040 #endif
5042 #ifndef PASN_LEANANDMEAN
5043 PAssert(PIsDescendant(PAssertNULL(choice), H225_DisengageRequest), PInvalidCast);
5044 #endif
5045 return *(H225_DisengageRequest *)choice;
5049 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5050 H225_RasMessage::operator H225_DisengageConfirm &() const
5051 #else
5052 H225_RasMessage::operator H225_DisengageConfirm &()
5054 #ifndef PASN_LEANANDMEAN
5055 PAssert(PIsDescendant(PAssertNULL(choice), H225_DisengageConfirm), PInvalidCast);
5056 #endif
5057 return *(H225_DisengageConfirm *)choice;
5061 H225_RasMessage::operator const H225_DisengageConfirm &() const
5062 #endif
5064 #ifndef PASN_LEANANDMEAN
5065 PAssert(PIsDescendant(PAssertNULL(choice), H225_DisengageConfirm), PInvalidCast);
5066 #endif
5067 return *(H225_DisengageConfirm *)choice;
5071 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5072 H225_RasMessage::operator H225_DisengageReject &() const
5073 #else
5074 H225_RasMessage::operator H225_DisengageReject &()
5076 #ifndef PASN_LEANANDMEAN
5077 PAssert(PIsDescendant(PAssertNULL(choice), H225_DisengageReject), PInvalidCast);
5078 #endif
5079 return *(H225_DisengageReject *)choice;
5083 H225_RasMessage::operator const H225_DisengageReject &() const
5084 #endif
5086 #ifndef PASN_LEANANDMEAN
5087 PAssert(PIsDescendant(PAssertNULL(choice), H225_DisengageReject), PInvalidCast);
5088 #endif
5089 return *(H225_DisengageReject *)choice;
5093 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5094 H225_RasMessage::operator H225_LocationRequest &() const
5095 #else
5096 H225_RasMessage::operator H225_LocationRequest &()
5098 #ifndef PASN_LEANANDMEAN
5099 PAssert(PIsDescendant(PAssertNULL(choice), H225_LocationRequest), PInvalidCast);
5100 #endif
5101 return *(H225_LocationRequest *)choice;
5105 H225_RasMessage::operator const H225_LocationRequest &() const
5106 #endif
5108 #ifndef PASN_LEANANDMEAN
5109 PAssert(PIsDescendant(PAssertNULL(choice), H225_LocationRequest), PInvalidCast);
5110 #endif
5111 return *(H225_LocationRequest *)choice;
5115 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5116 H225_RasMessage::operator H225_LocationConfirm &() const
5117 #else
5118 H225_RasMessage::operator H225_LocationConfirm &()
5120 #ifndef PASN_LEANANDMEAN
5121 PAssert(PIsDescendant(PAssertNULL(choice), H225_LocationConfirm), PInvalidCast);
5122 #endif
5123 return *(H225_LocationConfirm *)choice;
5127 H225_RasMessage::operator const H225_LocationConfirm &() const
5128 #endif
5130 #ifndef PASN_LEANANDMEAN
5131 PAssert(PIsDescendant(PAssertNULL(choice), H225_LocationConfirm), PInvalidCast);
5132 #endif
5133 return *(H225_LocationConfirm *)choice;
5137 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5138 H225_RasMessage::operator H225_LocationReject &() const
5139 #else
5140 H225_RasMessage::operator H225_LocationReject &()
5142 #ifndef PASN_LEANANDMEAN
5143 PAssert(PIsDescendant(PAssertNULL(choice), H225_LocationReject), PInvalidCast);
5144 #endif
5145 return *(H225_LocationReject *)choice;
5149 H225_RasMessage::operator const H225_LocationReject &() const
5150 #endif
5152 #ifndef PASN_LEANANDMEAN
5153 PAssert(PIsDescendant(PAssertNULL(choice), H225_LocationReject), PInvalidCast);
5154 #endif
5155 return *(H225_LocationReject *)choice;
5159 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5160 H225_RasMessage::operator H225_InfoRequest &() const
5161 #else
5162 H225_RasMessage::operator H225_InfoRequest &()
5164 #ifndef PASN_LEANANDMEAN
5165 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequest), PInvalidCast);
5166 #endif
5167 return *(H225_InfoRequest *)choice;
5171 H225_RasMessage::operator const H225_InfoRequest &() const
5172 #endif
5174 #ifndef PASN_LEANANDMEAN
5175 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequest), PInvalidCast);
5176 #endif
5177 return *(H225_InfoRequest *)choice;
5181 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5182 H225_RasMessage::operator H225_InfoRequestResponse &() const
5183 #else
5184 H225_RasMessage::operator H225_InfoRequestResponse &()
5186 #ifndef PASN_LEANANDMEAN
5187 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequestResponse), PInvalidCast);
5188 #endif
5189 return *(H225_InfoRequestResponse *)choice;
5193 H225_RasMessage::operator const H225_InfoRequestResponse &() const
5194 #endif
5196 #ifndef PASN_LEANANDMEAN
5197 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequestResponse), PInvalidCast);
5198 #endif
5199 return *(H225_InfoRequestResponse *)choice;
5203 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5204 H225_RasMessage::operator H225_NonStandardMessage &() const
5205 #else
5206 H225_RasMessage::operator H225_NonStandardMessage &()
5208 #ifndef PASN_LEANANDMEAN
5209 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardMessage), PInvalidCast);
5210 #endif
5211 return *(H225_NonStandardMessage *)choice;
5215 H225_RasMessage::operator const H225_NonStandardMessage &() const
5216 #endif
5218 #ifndef PASN_LEANANDMEAN
5219 PAssert(PIsDescendant(PAssertNULL(choice), H225_NonStandardMessage), PInvalidCast);
5220 #endif
5221 return *(H225_NonStandardMessage *)choice;
5225 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5226 H225_RasMessage::operator H225_UnknownMessageResponse &() const
5227 #else
5228 H225_RasMessage::operator H225_UnknownMessageResponse &()
5230 #ifndef PASN_LEANANDMEAN
5231 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnknownMessageResponse), PInvalidCast);
5232 #endif
5233 return *(H225_UnknownMessageResponse *)choice;
5237 H225_RasMessage::operator const H225_UnknownMessageResponse &() const
5238 #endif
5240 #ifndef PASN_LEANANDMEAN
5241 PAssert(PIsDescendant(PAssertNULL(choice), H225_UnknownMessageResponse), PInvalidCast);
5242 #endif
5243 return *(H225_UnknownMessageResponse *)choice;
5247 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5248 H225_RasMessage::operator H225_RequestInProgress &() const
5249 #else
5250 H225_RasMessage::operator H225_RequestInProgress &()
5252 #ifndef PASN_LEANANDMEAN
5253 PAssert(PIsDescendant(PAssertNULL(choice), H225_RequestInProgress), PInvalidCast);
5254 #endif
5255 return *(H225_RequestInProgress *)choice;
5259 H225_RasMessage::operator const H225_RequestInProgress &() const
5260 #endif
5262 #ifndef PASN_LEANANDMEAN
5263 PAssert(PIsDescendant(PAssertNULL(choice), H225_RequestInProgress), PInvalidCast);
5264 #endif
5265 return *(H225_RequestInProgress *)choice;
5269 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5270 H225_RasMessage::operator H225_ResourcesAvailableIndicate &() const
5271 #else
5272 H225_RasMessage::operator H225_ResourcesAvailableIndicate &()
5274 #ifndef PASN_LEANANDMEAN
5275 PAssert(PIsDescendant(PAssertNULL(choice), H225_ResourcesAvailableIndicate), PInvalidCast);
5276 #endif
5277 return *(H225_ResourcesAvailableIndicate *)choice;
5281 H225_RasMessage::operator const H225_ResourcesAvailableIndicate &() const
5282 #endif
5284 #ifndef PASN_LEANANDMEAN
5285 PAssert(PIsDescendant(PAssertNULL(choice), H225_ResourcesAvailableIndicate), PInvalidCast);
5286 #endif
5287 return *(H225_ResourcesAvailableIndicate *)choice;
5291 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5292 H225_RasMessage::operator H225_ResourcesAvailableConfirm &() const
5293 #else
5294 H225_RasMessage::operator H225_ResourcesAvailableConfirm &()
5296 #ifndef PASN_LEANANDMEAN
5297 PAssert(PIsDescendant(PAssertNULL(choice), H225_ResourcesAvailableConfirm), PInvalidCast);
5298 #endif
5299 return *(H225_ResourcesAvailableConfirm *)choice;
5303 H225_RasMessage::operator const H225_ResourcesAvailableConfirm &() const
5304 #endif
5306 #ifndef PASN_LEANANDMEAN
5307 PAssert(PIsDescendant(PAssertNULL(choice), H225_ResourcesAvailableConfirm), PInvalidCast);
5308 #endif
5309 return *(H225_ResourcesAvailableConfirm *)choice;
5313 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5314 H225_RasMessage::operator H225_InfoRequestAck &() const
5315 #else
5316 H225_RasMessage::operator H225_InfoRequestAck &()
5318 #ifndef PASN_LEANANDMEAN
5319 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequestAck), PInvalidCast);
5320 #endif
5321 return *(H225_InfoRequestAck *)choice;
5325 H225_RasMessage::operator const H225_InfoRequestAck &() const
5326 #endif
5328 #ifndef PASN_LEANANDMEAN
5329 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequestAck), PInvalidCast);
5330 #endif
5331 return *(H225_InfoRequestAck *)choice;
5335 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5336 H225_RasMessage::operator H225_InfoRequestNak &() const
5337 #else
5338 H225_RasMessage::operator H225_InfoRequestNak &()
5340 #ifndef PASN_LEANANDMEAN
5341 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequestNak), PInvalidCast);
5342 #endif
5343 return *(H225_InfoRequestNak *)choice;
5347 H225_RasMessage::operator const H225_InfoRequestNak &() const
5348 #endif
5350 #ifndef PASN_LEANANDMEAN
5351 PAssert(PIsDescendant(PAssertNULL(choice), H225_InfoRequestNak), PInvalidCast);
5352 #endif
5353 return *(H225_InfoRequestNak *)choice;
5357 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5358 H225_RasMessage::operator H225_ServiceControlIndication &() const
5359 #else
5360 H225_RasMessage::operator H225_ServiceControlIndication &()
5362 #ifndef PASN_LEANANDMEAN
5363 PAssert(PIsDescendant(PAssertNULL(choice), H225_ServiceControlIndication), PInvalidCast);
5364 #endif
5365 return *(H225_ServiceControlIndication *)choice;
5369 H225_RasMessage::operator const H225_ServiceControlIndication &() const
5370 #endif
5372 #ifndef PASN_LEANANDMEAN
5373 PAssert(PIsDescendant(PAssertNULL(choice), H225_ServiceControlIndication), PInvalidCast);
5374 #endif
5375 return *(H225_ServiceControlIndication *)choice;
5379 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5380 H225_RasMessage::operator H225_ServiceControlResponse &() const
5381 #else
5382 H225_RasMessage::operator H225_ServiceControlResponse &()
5384 #ifndef PASN_LEANANDMEAN
5385 PAssert(PIsDescendant(PAssertNULL(choice), H225_ServiceControlResponse), PInvalidCast);
5386 #endif
5387 return *(H225_ServiceControlResponse *)choice;
5391 H225_RasMessage::operator const H225_ServiceControlResponse &() const
5392 #endif
5394 #ifndef PASN_LEANANDMEAN
5395 PAssert(PIsDescendant(PAssertNULL(choice), H225_ServiceControlResponse), PInvalidCast);
5396 #endif
5397 return *(H225_ServiceControlResponse *)choice;
5401 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5402 H225_RasMessage::operator H225_ArrayOf_AdmissionConfirm &() const
5403 #else
5404 H225_RasMessage::operator H225_ArrayOf_AdmissionConfirm &()
5406 #ifndef PASN_LEANANDMEAN
5407 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_AdmissionConfirm), PInvalidCast);
5408 #endif
5409 return *(H225_ArrayOf_AdmissionConfirm *)choice;
5413 H225_RasMessage::operator const H225_ArrayOf_AdmissionConfirm &() const
5414 #endif
5416 #ifndef PASN_LEANANDMEAN
5417 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_AdmissionConfirm), PInvalidCast);
5418 #endif
5419 return *(H225_ArrayOf_AdmissionConfirm *)choice;
5423 BOOL H225_RasMessage::CreateObject()
5425 switch (tag) {
5426 case e_gatekeeperRequest :
5427 choice = new H225_GatekeeperRequest();
5428 return TRUE;
5429 case e_gatekeeperConfirm :
5430 choice = new H225_GatekeeperConfirm();
5431 return TRUE;
5432 case e_gatekeeperReject :
5433 choice = new H225_GatekeeperReject();
5434 return TRUE;
5435 case e_registrationRequest :
5436 choice = new H225_RegistrationRequest();
5437 return TRUE;
5438 case e_registrationConfirm :
5439 choice = new H225_RegistrationConfirm();
5440 return TRUE;
5441 case e_registrationReject :
5442 choice = new H225_RegistrationReject();
5443 return TRUE;
5444 case e_unregistrationRequest :
5445 choice = new H225_UnregistrationRequest();
5446 return TRUE;
5447 case e_unregistrationConfirm :
5448 choice = new H225_UnregistrationConfirm();
5449 return TRUE;
5450 case e_unregistrationReject :
5451 choice = new H225_UnregistrationReject();
5452 return TRUE;
5453 case e_admissionRequest :
5454 choice = new H225_AdmissionRequest();
5455 return TRUE;
5456 case e_admissionConfirm :
5457 choice = new H225_AdmissionConfirm();
5458 return TRUE;
5459 case e_admissionReject :
5460 choice = new H225_AdmissionReject();
5461 return TRUE;
5462 case e_bandwidthRequest :
5463 choice = new H225_BandwidthRequest();
5464 return TRUE;
5465 case e_bandwidthConfirm :
5466 choice = new H225_BandwidthConfirm();
5467 return TRUE;
5468 case e_bandwidthReject :
5469 choice = new H225_BandwidthReject();
5470 return TRUE;
5471 case e_disengageRequest :
5472 choice = new H225_DisengageRequest();
5473 return TRUE;
5474 case e_disengageConfirm :
5475 choice = new H225_DisengageConfirm();
5476 return TRUE;
5477 case e_disengageReject :
5478 choice = new H225_DisengageReject();
5479 return TRUE;
5480 case e_locationRequest :
5481 choice = new H225_LocationRequest();
5482 return TRUE;
5483 case e_locationConfirm :
5484 choice = new H225_LocationConfirm();
5485 return TRUE;
5486 case e_locationReject :
5487 choice = new H225_LocationReject();
5488 return TRUE;
5489 case e_infoRequest :
5490 choice = new H225_InfoRequest();
5491 return TRUE;
5492 case e_infoRequestResponse :
5493 choice = new H225_InfoRequestResponse();
5494 return TRUE;
5495 case e_nonStandardMessage :
5496 choice = new H225_NonStandardMessage();
5497 return TRUE;
5498 case e_unknownMessageResponse :
5499 choice = new H225_UnknownMessageResponse();
5500 return TRUE;
5501 case e_requestInProgress :
5502 choice = new H225_RequestInProgress();
5503 return TRUE;
5504 case e_resourcesAvailableIndicate :
5505 choice = new H225_ResourcesAvailableIndicate();
5506 return TRUE;
5507 case e_resourcesAvailableConfirm :
5508 choice = new H225_ResourcesAvailableConfirm();
5509 return TRUE;
5510 case e_infoRequestAck :
5511 choice = new H225_InfoRequestAck();
5512 return TRUE;
5513 case e_infoRequestNak :
5514 choice = new H225_InfoRequestNak();
5515 return TRUE;
5516 case e_serviceControlIndication :
5517 choice = new H225_ServiceControlIndication();
5518 return TRUE;
5519 case e_serviceControlResponse :
5520 choice = new H225_ServiceControlResponse();
5521 return TRUE;
5522 case e_admissionConfirmSequence :
5523 choice = new H225_ArrayOf_AdmissionConfirm();
5524 return TRUE;
5527 choice = NULL;
5528 return FALSE;
5532 PObject * H225_RasMessage::Clone() const
5534 #ifndef PASN_LEANANDMEAN
5535 PAssert(IsClass(H225_RasMessage::Class()), PInvalidCast);
5536 #endif
5537 return new H225_RasMessage(*this);
5542 #ifndef PASN_NOPRINTON
5543 const static PASN_Names Names_H225_GatekeeperRejectReason[]={
5544 {"resourceUnavailable",0}
5545 ,{"terminalExcluded",1}
5546 ,{"invalidRevision",2}
5547 ,{"undefinedReason",3}
5548 ,{"securityDenial",4}
5549 ,{"genericDataReason",5}
5550 ,{"neededFeatureNotSupported",6}
5551 ,{"securityError",7}
5553 #endif
5555 // GatekeeperRejectReason
5558 H225_GatekeeperRejectReason::H225_GatekeeperRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
5559 : PASN_Choice(tag, tagClass, 4, TRUE
5560 #ifndef PASN_NOPRINTON
5561 ,(const PASN_Names *)Names_H225_GatekeeperRejectReason,8
5562 #endif
5568 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5569 H225_GatekeeperRejectReason::operator H225_SecurityErrors &() const
5570 #else
5571 H225_GatekeeperRejectReason::operator H225_SecurityErrors &()
5573 #ifndef PASN_LEANANDMEAN
5574 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors), PInvalidCast);
5575 #endif
5576 return *(H225_SecurityErrors *)choice;
5580 H225_GatekeeperRejectReason::operator const H225_SecurityErrors &() const
5581 #endif
5583 #ifndef PASN_LEANANDMEAN
5584 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors), PInvalidCast);
5585 #endif
5586 return *(H225_SecurityErrors *)choice;
5590 BOOL H225_GatekeeperRejectReason::CreateObject()
5592 switch (tag) {
5593 case e_resourceUnavailable :
5594 case e_terminalExcluded :
5595 case e_invalidRevision :
5596 case e_undefinedReason :
5597 case e_securityDenial :
5598 case e_genericDataReason :
5599 case e_neededFeatureNotSupported :
5600 choice = new PASN_Null();
5601 return TRUE;
5602 case e_securityError :
5603 choice = new H225_SecurityErrors();
5604 return TRUE;
5607 choice = NULL;
5608 return FALSE;
5612 PObject * H225_GatekeeperRejectReason::Clone() const
5614 #ifndef PASN_LEANANDMEAN
5615 PAssert(IsClass(H225_GatekeeperRejectReason::Class()), PInvalidCast);
5616 #endif
5617 return new H225_GatekeeperRejectReason(*this);
5622 #ifndef PASN_NOPRINTON
5623 const static PASN_Names Names_H225_RegistrationRejectReason[]={
5624 {"discoveryRequired",0}
5625 ,{"invalidRevision",1}
5626 ,{"invalidCallSignalAddress",2}
5627 ,{"invalidRASAddress",3}
5628 ,{"duplicateAlias",4}
5629 ,{"invalidTerminalType",5}
5630 ,{"undefinedReason",6}
5631 ,{"transportNotSupported",7}
5632 ,{"transportQOSNotSupported",8}
5633 ,{"resourceUnavailable",9}
5634 ,{"invalidAlias",10}
5635 ,{"securityDenial",11}
5636 ,{"fullRegistrationRequired",12}
5637 ,{"additiveRegistrationNotSupported",13}
5638 ,{"invalidTerminalAliases",14}
5639 ,{"genericDataReason",15}
5640 ,{"neededFeatureNotSupported",16}
5641 ,{"securityError",17}
5642 ,{"registerWithAssignedGK",18}
5644 #endif
5646 // RegistrationRejectReason
5649 H225_RegistrationRejectReason::H225_RegistrationRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
5650 : PASN_Choice(tag, tagClass, 8, TRUE
5651 #ifndef PASN_NOPRINTON
5652 ,(const PASN_Names *)Names_H225_RegistrationRejectReason,19
5653 #endif
5659 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5660 H225_RegistrationRejectReason::operator H225_ArrayOf_AliasAddress &() const
5661 #else
5662 H225_RegistrationRejectReason::operator H225_ArrayOf_AliasAddress &()
5664 #ifndef PASN_LEANANDMEAN
5665 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_AliasAddress), PInvalidCast);
5666 #endif
5667 return *(H225_ArrayOf_AliasAddress *)choice;
5671 H225_RegistrationRejectReason::operator const H225_ArrayOf_AliasAddress &() const
5672 #endif
5674 #ifndef PASN_LEANANDMEAN
5675 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_AliasAddress), PInvalidCast);
5676 #endif
5677 return *(H225_ArrayOf_AliasAddress *)choice;
5681 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5682 H225_RegistrationRejectReason::operator H225_RegistrationRejectReason_invalidTerminalAliases &() const
5683 #else
5684 H225_RegistrationRejectReason::operator H225_RegistrationRejectReason_invalidTerminalAliases &()
5686 #ifndef PASN_LEANANDMEAN
5687 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationRejectReason_invalidTerminalAliases), PInvalidCast);
5688 #endif
5689 return *(H225_RegistrationRejectReason_invalidTerminalAliases *)choice;
5693 H225_RegistrationRejectReason::operator const H225_RegistrationRejectReason_invalidTerminalAliases &() const
5694 #endif
5696 #ifndef PASN_LEANANDMEAN
5697 PAssert(PIsDescendant(PAssertNULL(choice), H225_RegistrationRejectReason_invalidTerminalAliases), PInvalidCast);
5698 #endif
5699 return *(H225_RegistrationRejectReason_invalidTerminalAliases *)choice;
5703 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5704 H225_RegistrationRejectReason::operator H225_SecurityErrors &() const
5705 #else
5706 H225_RegistrationRejectReason::operator H225_SecurityErrors &()
5708 #ifndef PASN_LEANANDMEAN
5709 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors), PInvalidCast);
5710 #endif
5711 return *(H225_SecurityErrors *)choice;
5715 H225_RegistrationRejectReason::operator const H225_SecurityErrors &() const
5716 #endif
5718 #ifndef PASN_LEANANDMEAN
5719 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors), PInvalidCast);
5720 #endif
5721 return *(H225_SecurityErrors *)choice;
5725 BOOL H225_RegistrationRejectReason::CreateObject()
5727 switch (tag) {
5728 case e_discoveryRequired :
5729 case e_invalidRevision :
5730 case e_invalidCallSignalAddress :
5731 case e_invalidRASAddress :
5732 case e_invalidTerminalType :
5733 case e_undefinedReason :
5734 case e_transportNotSupported :
5735 case e_transportQOSNotSupported :
5736 case e_resourceUnavailable :
5737 case e_invalidAlias :
5738 case e_securityDenial :
5739 case e_fullRegistrationRequired :
5740 case e_additiveRegistrationNotSupported :
5741 case e_genericDataReason :
5742 case e_neededFeatureNotSupported :
5743 case e_registerWithAssignedGK :
5744 choice = new PASN_Null();
5745 return TRUE;
5746 case e_duplicateAlias :
5747 choice = new H225_ArrayOf_AliasAddress();
5748 return TRUE;
5749 case e_invalidTerminalAliases :
5750 choice = new H225_RegistrationRejectReason_invalidTerminalAliases();
5751 return TRUE;
5752 case e_securityError :
5753 choice = new H225_SecurityErrors();
5754 return TRUE;
5757 choice = NULL;
5758 return FALSE;
5762 PObject * H225_RegistrationRejectReason::Clone() const
5764 #ifndef PASN_LEANANDMEAN
5765 PAssert(IsClass(H225_RegistrationRejectReason::Class()), PInvalidCast);
5766 #endif
5767 return new H225_RegistrationRejectReason(*this);
5772 #ifndef PASN_NOPRINTON
5773 const static PASN_Names Names_H225_UnregRequestReason[]={
5774 {"reregistrationRequired",0}
5775 ,{"ttlExpired",1}
5776 ,{"securityDenial",2}
5777 ,{"undefinedReason",3}
5778 ,{"maintenance",4}
5779 ,{"securityError",5}
5780 ,{"registerWithAssignedGK",6}
5782 #endif
5784 // UnregRequestReason
5787 H225_UnregRequestReason::H225_UnregRequestReason(unsigned tag, PASN_Object::TagClass tagClass)
5788 : PASN_Choice(tag, tagClass, 4, TRUE
5789 #ifndef PASN_NOPRINTON
5790 ,(const PASN_Names *)Names_H225_UnregRequestReason,7
5791 #endif
5797 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5798 H225_UnregRequestReason::operator H225_SecurityErrors2 &() const
5799 #else
5800 H225_UnregRequestReason::operator H225_SecurityErrors2 &()
5802 #ifndef PASN_LEANANDMEAN
5803 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
5804 #endif
5805 return *(H225_SecurityErrors2 *)choice;
5809 H225_UnregRequestReason::operator const H225_SecurityErrors2 &() const
5810 #endif
5812 #ifndef PASN_LEANANDMEAN
5813 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
5814 #endif
5815 return *(H225_SecurityErrors2 *)choice;
5819 BOOL H225_UnregRequestReason::CreateObject()
5821 switch (tag) {
5822 case e_reregistrationRequired :
5823 case e_ttlExpired :
5824 case e_securityDenial :
5825 case e_undefinedReason :
5826 case e_maintenance :
5827 case e_registerWithAssignedGK :
5828 choice = new PASN_Null();
5829 return TRUE;
5830 case e_securityError :
5831 choice = new H225_SecurityErrors2();
5832 return TRUE;
5835 choice = NULL;
5836 return FALSE;
5840 PObject * H225_UnregRequestReason::Clone() const
5842 #ifndef PASN_LEANANDMEAN
5843 PAssert(IsClass(H225_UnregRequestReason::Class()), PInvalidCast);
5844 #endif
5845 return new H225_UnregRequestReason(*this);
5850 #ifndef PASN_NOPRINTON
5851 const static PASN_Names Names_H225_UnregRejectReason[]={
5852 {"notCurrentlyRegistered",0}
5853 ,{"callInProgress",1}
5854 ,{"undefinedReason",2}
5855 ,{"permissionDenied",3}
5856 ,{"securityDenial",4}
5857 ,{"securityError",5}
5859 #endif
5861 // UnregRejectReason
5864 H225_UnregRejectReason::H225_UnregRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
5865 : PASN_Choice(tag, tagClass, 3, TRUE
5866 #ifndef PASN_NOPRINTON
5867 ,(const PASN_Names *)Names_H225_UnregRejectReason,6
5868 #endif
5874 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5875 H225_UnregRejectReason::operator H225_SecurityErrors2 &() const
5876 #else
5877 H225_UnregRejectReason::operator H225_SecurityErrors2 &()
5879 #ifndef PASN_LEANANDMEAN
5880 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
5881 #endif
5882 return *(H225_SecurityErrors2 *)choice;
5886 H225_UnregRejectReason::operator const H225_SecurityErrors2 &() const
5887 #endif
5889 #ifndef PASN_LEANANDMEAN
5890 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
5891 #endif
5892 return *(H225_SecurityErrors2 *)choice;
5896 BOOL H225_UnregRejectReason::CreateObject()
5898 switch (tag) {
5899 case e_notCurrentlyRegistered :
5900 case e_callInProgress :
5901 case e_undefinedReason :
5902 case e_permissionDenied :
5903 case e_securityDenial :
5904 choice = new PASN_Null();
5905 return TRUE;
5906 case e_securityError :
5907 choice = new H225_SecurityErrors2();
5908 return TRUE;
5911 choice = NULL;
5912 return FALSE;
5916 PObject * H225_UnregRejectReason::Clone() const
5918 #ifndef PASN_LEANANDMEAN
5919 PAssert(IsClass(H225_UnregRejectReason::Class()), PInvalidCast);
5920 #endif
5921 return new H225_UnregRejectReason(*this);
5926 #ifndef PASN_NOPRINTON
5927 const static PASN_Names Names_H225_CallType[]={
5928 {"pointToPoint",0}
5929 ,{"oneToN",1}
5930 ,{"nToOne",2}
5931 ,{"nToN",3}
5933 #endif
5935 // CallType
5938 H225_CallType::H225_CallType(unsigned tag, PASN_Object::TagClass tagClass)
5939 : PASN_Choice(tag, tagClass, 4, TRUE
5940 #ifndef PASN_NOPRINTON
5941 ,(const PASN_Names *)Names_H225_CallType,4
5942 #endif
5948 BOOL H225_CallType::CreateObject()
5950 choice = (tag <= e_nToN) ? new PASN_Null() : NULL;
5951 return choice != NULL;
5955 PObject * H225_CallType::Clone() const
5957 #ifndef PASN_LEANANDMEAN
5958 PAssert(IsClass(H225_CallType::Class()), PInvalidCast);
5959 #endif
5960 return new H225_CallType(*this);
5965 #ifndef PASN_NOPRINTON
5966 const static PASN_Names Names_H225_CallModel[]={
5967 {"direct",0}
5968 ,{"gatekeeperRouted",1}
5970 #endif
5972 // CallModel
5975 H225_CallModel::H225_CallModel(unsigned tag, PASN_Object::TagClass tagClass)
5976 : PASN_Choice(tag, tagClass, 2, TRUE
5977 #ifndef PASN_NOPRINTON
5978 ,(const PASN_Names *)Names_H225_CallModel,2
5979 #endif
5985 BOOL H225_CallModel::CreateObject()
5987 choice = (tag <= e_gatekeeperRouted) ? new PASN_Null() : NULL;
5988 return choice != NULL;
5992 PObject * H225_CallModel::Clone() const
5994 #ifndef PASN_LEANANDMEAN
5995 PAssert(IsClass(H225_CallModel::Class()), PInvalidCast);
5996 #endif
5997 return new H225_CallModel(*this);
6002 #ifndef PASN_NOPRINTON
6003 const static PASN_Names Names_H225_TransportQOS[]={
6004 {"endpointControlled",0}
6005 ,{"gatekeeperControlled",1}
6006 ,{"noControl",2}
6007 ,{"qOSCapabilities",3}
6009 #endif
6011 // TransportQOS
6014 H225_TransportQOS::H225_TransportQOS(unsigned tag, PASN_Object::TagClass tagClass)
6015 : PASN_Choice(tag, tagClass, 3, TRUE
6016 #ifndef PASN_NOPRINTON
6017 ,(const PASN_Names *)Names_H225_TransportQOS,4
6018 #endif
6024 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6025 H225_TransportQOS::operator H225_ArrayOf_QOSCapability &() const
6026 #else
6027 H225_TransportQOS::operator H225_ArrayOf_QOSCapability &()
6029 #ifndef PASN_LEANANDMEAN
6030 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_QOSCapability), PInvalidCast);
6031 #endif
6032 return *(H225_ArrayOf_QOSCapability *)choice;
6036 H225_TransportQOS::operator const H225_ArrayOf_QOSCapability &() const
6037 #endif
6039 #ifndef PASN_LEANANDMEAN
6040 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_QOSCapability), PInvalidCast);
6041 #endif
6042 return *(H225_ArrayOf_QOSCapability *)choice;
6046 BOOL H225_TransportQOS::CreateObject()
6048 switch (tag) {
6049 case e_endpointControlled :
6050 case e_gatekeeperControlled :
6051 case e_noControl :
6052 choice = new PASN_Null();
6053 return TRUE;
6054 case e_qOSCapabilities :
6055 choice = new H225_ArrayOf_QOSCapability();
6056 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
6057 return TRUE;
6060 choice = NULL;
6061 return FALSE;
6065 PObject * H225_TransportQOS::Clone() const
6067 #ifndef PASN_LEANANDMEAN
6068 PAssert(IsClass(H225_TransportQOS::Class()), PInvalidCast);
6069 #endif
6070 return new H225_TransportQOS(*this);
6075 // UUIEsRequested
6078 H225_UUIEsRequested::H225_UUIEsRequested(unsigned tag, PASN_Object::TagClass tagClass)
6079 : PASN_Sequence(tag, tagClass, 0, TRUE, 4)
6081 IncludeOptionalField(e_status);
6082 IncludeOptionalField(e_statusInquiry);
6083 IncludeOptionalField(e_setupAcknowledge);
6084 IncludeOptionalField(e_notify);
6088 #ifndef PASN_NOPRINTON
6089 void H225_UUIEsRequested::PrintOn(ostream & strm) const
6091 int indent = strm.precision() + 2;
6092 strm << "{\n";
6093 strm << setw(indent+8) << "setup = " << setprecision(indent) << m_setup << '\n';
6094 strm << setw(indent+17) << "callProceeding = " << setprecision(indent) << m_callProceeding << '\n';
6095 strm << setw(indent+10) << "connect = " << setprecision(indent) << m_connect << '\n';
6096 strm << setw(indent+11) << "alerting = " << setprecision(indent) << m_alerting << '\n';
6097 strm << setw(indent+14) << "information = " << setprecision(indent) << m_information << '\n';
6098 strm << setw(indent+18) << "releaseComplete = " << setprecision(indent) << m_releaseComplete << '\n';
6099 strm << setw(indent+11) << "facility = " << setprecision(indent) << m_facility << '\n';
6100 strm << setw(indent+11) << "progress = " << setprecision(indent) << m_progress << '\n';
6101 strm << setw(indent+8) << "empty = " << setprecision(indent) << m_empty << '\n';
6102 if (HasOptionalField(e_status))
6103 strm << setw(indent+9) << "status = " << setprecision(indent) << m_status << '\n';
6104 if (HasOptionalField(e_statusInquiry))
6105 strm << setw(indent+16) << "statusInquiry = " << setprecision(indent) << m_statusInquiry << '\n';
6106 if (HasOptionalField(e_setupAcknowledge))
6107 strm << setw(indent+19) << "setupAcknowledge = " << setprecision(indent) << m_setupAcknowledge << '\n';
6108 if (HasOptionalField(e_notify))
6109 strm << setw(indent+9) << "notify = " << setprecision(indent) << m_notify << '\n';
6110 strm << setw(indent-1) << setprecision(indent-2) << "}";
6112 #endif
6115 PObject::Comparison H225_UUIEsRequested::Compare(const PObject & obj) const
6117 #ifndef PASN_LEANANDMEAN
6118 PAssert(PIsDescendant(&obj, H225_UUIEsRequested), PInvalidCast);
6119 #endif
6120 const H225_UUIEsRequested & other = (const H225_UUIEsRequested &)obj;
6122 Comparison result;
6124 if ((result = m_setup.Compare(other.m_setup)) != EqualTo)
6125 return result;
6126 if ((result = m_callProceeding.Compare(other.m_callProceeding)) != EqualTo)
6127 return result;
6128 if ((result = m_connect.Compare(other.m_connect)) != EqualTo)
6129 return result;
6130 if ((result = m_alerting.Compare(other.m_alerting)) != EqualTo)
6131 return result;
6132 if ((result = m_information.Compare(other.m_information)) != EqualTo)
6133 return result;
6134 if ((result = m_releaseComplete.Compare(other.m_releaseComplete)) != EqualTo)
6135 return result;
6136 if ((result = m_facility.Compare(other.m_facility)) != EqualTo)
6137 return result;
6138 if ((result = m_progress.Compare(other.m_progress)) != EqualTo)
6139 return result;
6140 if ((result = m_empty.Compare(other.m_empty)) != EqualTo)
6141 return result;
6143 return PASN_Sequence::Compare(other);
6147 PINDEX H225_UUIEsRequested::GetDataLength() const
6149 PINDEX length = 0;
6150 length += m_setup.GetObjectLength();
6151 length += m_callProceeding.GetObjectLength();
6152 length += m_connect.GetObjectLength();
6153 length += m_alerting.GetObjectLength();
6154 length += m_information.GetObjectLength();
6155 length += m_releaseComplete.GetObjectLength();
6156 length += m_facility.GetObjectLength();
6157 length += m_progress.GetObjectLength();
6158 length += m_empty.GetObjectLength();
6159 return length;
6163 BOOL H225_UUIEsRequested::Decode(PASN_Stream & strm)
6165 if (!PreambleDecode(strm))
6166 return FALSE;
6168 if (!m_setup.Decode(strm))
6169 return FALSE;
6170 if (!m_callProceeding.Decode(strm))
6171 return FALSE;
6172 if (!m_connect.Decode(strm))
6173 return FALSE;
6174 if (!m_alerting.Decode(strm))
6175 return FALSE;
6176 if (!m_information.Decode(strm))
6177 return FALSE;
6178 if (!m_releaseComplete.Decode(strm))
6179 return FALSE;
6180 if (!m_facility.Decode(strm))
6181 return FALSE;
6182 if (!m_progress.Decode(strm))
6183 return FALSE;
6184 if (!m_empty.Decode(strm))
6185 return FALSE;
6186 if (!KnownExtensionDecode(strm, e_status, m_status))
6187 return FALSE;
6188 if (!KnownExtensionDecode(strm, e_statusInquiry, m_statusInquiry))
6189 return FALSE;
6190 if (!KnownExtensionDecode(strm, e_setupAcknowledge, m_setupAcknowledge))
6191 return FALSE;
6192 if (!KnownExtensionDecode(strm, e_notify, m_notify))
6193 return FALSE;
6195 return UnknownExtensionsDecode(strm);
6199 void H225_UUIEsRequested::Encode(PASN_Stream & strm) const
6201 PreambleEncode(strm);
6203 m_setup.Encode(strm);
6204 m_callProceeding.Encode(strm);
6205 m_connect.Encode(strm);
6206 m_alerting.Encode(strm);
6207 m_information.Encode(strm);
6208 m_releaseComplete.Encode(strm);
6209 m_facility.Encode(strm);
6210 m_progress.Encode(strm);
6211 m_empty.Encode(strm);
6212 KnownExtensionEncode(strm, e_status, m_status);
6213 KnownExtensionEncode(strm, e_statusInquiry, m_statusInquiry);
6214 KnownExtensionEncode(strm, e_setupAcknowledge, m_setupAcknowledge);
6215 KnownExtensionEncode(strm, e_notify, m_notify);
6217 UnknownExtensionsEncode(strm);
6221 PObject * H225_UUIEsRequested::Clone() const
6223 #ifndef PASN_LEANANDMEAN
6224 PAssert(IsClass(H225_UUIEsRequested::Class()), PInvalidCast);
6225 #endif
6226 return new H225_UUIEsRequested(*this);
6231 #ifndef PASN_NOPRINTON
6232 const static PASN_Names Names_H225_AdmissionRejectReason[]={
6233 {"calledPartyNotRegistered",0}
6234 ,{"invalidPermission",1}
6235 ,{"requestDenied",2}
6236 ,{"undefinedReason",3}
6237 ,{"callerNotRegistered",4}
6238 ,{"routeCallToGatekeeper",5}
6239 ,{"invalidEndpointIdentifier",6}
6240 ,{"resourceUnavailable",7}
6241 ,{"securityDenial",8}
6242 ,{"qosControlNotSupported",9}
6243 ,{"incompleteAddress",10}
6244 ,{"aliasesInconsistent",11}
6245 ,{"routeCallToSCN",12}
6246 ,{"exceedsCallCapacity",13}
6247 ,{"collectDestination",14}
6248 ,{"collectPIN",15}
6249 ,{"genericDataReason",16}
6250 ,{"neededFeatureNotSupported",17}
6251 ,{"securityErrors",18}
6252 ,{"securityDHmismatch",19}
6253 ,{"noRouteToDestination",20}
6254 ,{"unallocatedNumber",21}
6255 ,{"registerWithAssignedGK",22}
6257 #endif
6259 // AdmissionRejectReason
6262 H225_AdmissionRejectReason::H225_AdmissionRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
6263 : PASN_Choice(tag, tagClass, 8, TRUE
6264 #ifndef PASN_NOPRINTON
6265 ,(const PASN_Names *)Names_H225_AdmissionRejectReason,23
6266 #endif
6272 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6273 H225_AdmissionRejectReason::operator H225_ArrayOf_PartyNumber &() const
6274 #else
6275 H225_AdmissionRejectReason::operator H225_ArrayOf_PartyNumber &()
6277 #ifndef PASN_LEANANDMEAN
6278 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_PartyNumber), PInvalidCast);
6279 #endif
6280 return *(H225_ArrayOf_PartyNumber *)choice;
6284 H225_AdmissionRejectReason::operator const H225_ArrayOf_PartyNumber &() const
6285 #endif
6287 #ifndef PASN_LEANANDMEAN
6288 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_PartyNumber), PInvalidCast);
6289 #endif
6290 return *(H225_ArrayOf_PartyNumber *)choice;
6294 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6295 H225_AdmissionRejectReason::operator H225_SecurityErrors2 &() const
6296 #else
6297 H225_AdmissionRejectReason::operator H225_SecurityErrors2 &()
6299 #ifndef PASN_LEANANDMEAN
6300 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6301 #endif
6302 return *(H225_SecurityErrors2 *)choice;
6306 H225_AdmissionRejectReason::operator const H225_SecurityErrors2 &() const
6307 #endif
6309 #ifndef PASN_LEANANDMEAN
6310 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6311 #endif
6312 return *(H225_SecurityErrors2 *)choice;
6316 BOOL H225_AdmissionRejectReason::CreateObject()
6318 switch (tag) {
6319 case e_calledPartyNotRegistered :
6320 case e_invalidPermission :
6321 case e_requestDenied :
6322 case e_undefinedReason :
6323 case e_callerNotRegistered :
6324 case e_routeCallToGatekeeper :
6325 case e_invalidEndpointIdentifier :
6326 case e_resourceUnavailable :
6327 case e_securityDenial :
6328 case e_qosControlNotSupported :
6329 case e_incompleteAddress :
6330 case e_aliasesInconsistent :
6331 case e_exceedsCallCapacity :
6332 case e_collectDestination :
6333 case e_collectPIN :
6334 case e_genericDataReason :
6335 case e_neededFeatureNotSupported :
6336 case e_securityDHmismatch :
6337 case e_noRouteToDestination :
6338 case e_unallocatedNumber :
6339 case e_registerWithAssignedGK :
6340 choice = new PASN_Null();
6341 return TRUE;
6342 case e_routeCallToSCN :
6343 choice = new H225_ArrayOf_PartyNumber();
6344 return TRUE;
6345 case e_securityErrors :
6346 choice = new H225_SecurityErrors2();
6347 return TRUE;
6350 choice = NULL;
6351 return FALSE;
6355 PObject * H225_AdmissionRejectReason::Clone() const
6357 #ifndef PASN_LEANANDMEAN
6358 PAssert(IsClass(H225_AdmissionRejectReason::Class()), PInvalidCast);
6359 #endif
6360 return new H225_AdmissionRejectReason(*this);
6365 #ifndef PASN_NOPRINTON
6366 const static PASN_Names Names_H225_BandRejectReason[]={
6367 {"notBound",0}
6368 ,{"invalidConferenceID",1}
6369 ,{"invalidPermission",2}
6370 ,{"insufficientResources",3}
6371 ,{"invalidRevision",4}
6372 ,{"undefinedReason",5}
6373 ,{"securityDenial",6}
6374 ,{"securityError",7}
6376 #endif
6378 // BandRejectReason
6381 H225_BandRejectReason::H225_BandRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
6382 : PASN_Choice(tag, tagClass, 6, TRUE
6383 #ifndef PASN_NOPRINTON
6384 ,(const PASN_Names *)Names_H225_BandRejectReason,8
6385 #endif
6391 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6392 H225_BandRejectReason::operator H225_SecurityErrors2 &() const
6393 #else
6394 H225_BandRejectReason::operator H225_SecurityErrors2 &()
6396 #ifndef PASN_LEANANDMEAN
6397 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6398 #endif
6399 return *(H225_SecurityErrors2 *)choice;
6403 H225_BandRejectReason::operator const H225_SecurityErrors2 &() const
6404 #endif
6406 #ifndef PASN_LEANANDMEAN
6407 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6408 #endif
6409 return *(H225_SecurityErrors2 *)choice;
6413 BOOL H225_BandRejectReason::CreateObject()
6415 switch (tag) {
6416 case e_notBound :
6417 case e_invalidConferenceID :
6418 case e_invalidPermission :
6419 case e_insufficientResources :
6420 case e_invalidRevision :
6421 case e_undefinedReason :
6422 case e_securityDenial :
6423 choice = new PASN_Null();
6424 return TRUE;
6425 case e_securityError :
6426 choice = new H225_SecurityErrors2();
6427 return TRUE;
6430 choice = NULL;
6431 return FALSE;
6435 PObject * H225_BandRejectReason::Clone() const
6437 #ifndef PASN_LEANANDMEAN
6438 PAssert(IsClass(H225_BandRejectReason::Class()), PInvalidCast);
6439 #endif
6440 return new H225_BandRejectReason(*this);
6445 #ifndef PASN_NOPRINTON
6446 const static PASN_Names Names_H225_LocationRejectReason[]={
6447 {"notRegistered",0}
6448 ,{"invalidPermission",1}
6449 ,{"requestDenied",2}
6450 ,{"undefinedReason",3}
6451 ,{"securityDenial",4}
6452 ,{"aliasesInconsistent",5}
6453 ,{"routeCalltoSCN",6}
6454 ,{"resourceUnavailable",7}
6455 ,{"genericDataReason",8}
6456 ,{"neededFeatureNotSupported",9}
6457 ,{"hopCountExceeded",10}
6458 ,{"incompleteAddress",11}
6459 ,{"securityError",12}
6460 ,{"securityDHmismatch",13}
6461 ,{"noRouteToDestination",14}
6462 ,{"unallocatedNumber",15}
6464 #endif
6466 // LocationRejectReason
6469 H225_LocationRejectReason::H225_LocationRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
6470 : PASN_Choice(tag, tagClass, 4, TRUE
6471 #ifndef PASN_NOPRINTON
6472 ,(const PASN_Names *)Names_H225_LocationRejectReason,16
6473 #endif
6479 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6480 H225_LocationRejectReason::operator H225_ArrayOf_PartyNumber &() const
6481 #else
6482 H225_LocationRejectReason::operator H225_ArrayOf_PartyNumber &()
6484 #ifndef PASN_LEANANDMEAN
6485 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_PartyNumber), PInvalidCast);
6486 #endif
6487 return *(H225_ArrayOf_PartyNumber *)choice;
6491 H225_LocationRejectReason::operator const H225_ArrayOf_PartyNumber &() const
6492 #endif
6494 #ifndef PASN_LEANANDMEAN
6495 PAssert(PIsDescendant(PAssertNULL(choice), H225_ArrayOf_PartyNumber), PInvalidCast);
6496 #endif
6497 return *(H225_ArrayOf_PartyNumber *)choice;
6501 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6502 H225_LocationRejectReason::operator H225_SecurityErrors2 &() const
6503 #else
6504 H225_LocationRejectReason::operator H225_SecurityErrors2 &()
6506 #ifndef PASN_LEANANDMEAN
6507 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6508 #endif
6509 return *(H225_SecurityErrors2 *)choice;
6513 H225_LocationRejectReason::operator const H225_SecurityErrors2 &() const
6514 #endif
6516 #ifndef PASN_LEANANDMEAN
6517 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6518 #endif
6519 return *(H225_SecurityErrors2 *)choice;
6523 BOOL H225_LocationRejectReason::CreateObject()
6525 switch (tag) {
6526 case e_notRegistered :
6527 case e_invalidPermission :
6528 case e_requestDenied :
6529 case e_undefinedReason :
6530 case e_securityDenial :
6531 case e_aliasesInconsistent :
6532 case e_resourceUnavailable :
6533 case e_genericDataReason :
6534 case e_neededFeatureNotSupported :
6535 case e_hopCountExceeded :
6536 case e_incompleteAddress :
6537 case e_securityDHmismatch :
6538 case e_noRouteToDestination :
6539 case e_unallocatedNumber :
6540 choice = new PASN_Null();
6541 return TRUE;
6542 case e_routeCalltoSCN :
6543 choice = new H225_ArrayOf_PartyNumber();
6544 return TRUE;
6545 case e_securityError :
6546 choice = new H225_SecurityErrors2();
6547 return TRUE;
6550 choice = NULL;
6551 return FALSE;
6555 PObject * H225_LocationRejectReason::Clone() const
6557 #ifndef PASN_LEANANDMEAN
6558 PAssert(IsClass(H225_LocationRejectReason::Class()), PInvalidCast);
6559 #endif
6560 return new H225_LocationRejectReason(*this);
6565 #ifndef PASN_NOPRINTON
6566 const static PASN_Names Names_H225_DisengageReason[]={
6567 {"forcedDrop",0}
6568 ,{"normalDrop",1}
6569 ,{"undefinedReason",2}
6571 #endif
6573 // DisengageReason
6576 H225_DisengageReason::H225_DisengageReason(unsigned tag, PASN_Object::TagClass tagClass)
6577 : PASN_Choice(tag, tagClass, 3, TRUE
6578 #ifndef PASN_NOPRINTON
6579 ,(const PASN_Names *)Names_H225_DisengageReason,3
6580 #endif
6586 BOOL H225_DisengageReason::CreateObject()
6588 choice = (tag <= e_undefinedReason) ? new PASN_Null() : NULL;
6589 return choice != NULL;
6593 PObject * H225_DisengageReason::Clone() const
6595 #ifndef PASN_LEANANDMEAN
6596 PAssert(IsClass(H225_DisengageReason::Class()), PInvalidCast);
6597 #endif
6598 return new H225_DisengageReason(*this);
6603 #ifndef PASN_NOPRINTON
6604 const static PASN_Names Names_H225_DisengageRejectReason[]={
6605 {"notRegistered",0}
6606 ,{"requestToDropOther",1}
6607 ,{"securityDenial",2}
6608 ,{"securityError",3}
6610 #endif
6612 // DisengageRejectReason
6615 H225_DisengageRejectReason::H225_DisengageRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
6616 : PASN_Choice(tag, tagClass, 2, TRUE
6617 #ifndef PASN_NOPRINTON
6618 ,(const PASN_Names *)Names_H225_DisengageRejectReason,4
6619 #endif
6625 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6626 H225_DisengageRejectReason::operator H225_SecurityErrors2 &() const
6627 #else
6628 H225_DisengageRejectReason::operator H225_SecurityErrors2 &()
6630 #ifndef PASN_LEANANDMEAN
6631 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6632 #endif
6633 return *(H225_SecurityErrors2 *)choice;
6637 H225_DisengageRejectReason::operator const H225_SecurityErrors2 &() const
6638 #endif
6640 #ifndef PASN_LEANANDMEAN
6641 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6642 #endif
6643 return *(H225_SecurityErrors2 *)choice;
6647 BOOL H225_DisengageRejectReason::CreateObject()
6649 switch (tag) {
6650 case e_notRegistered :
6651 case e_requestToDropOther :
6652 case e_securityDenial :
6653 choice = new PASN_Null();
6654 return TRUE;
6655 case e_securityError :
6656 choice = new H225_SecurityErrors2();
6657 return TRUE;
6660 choice = NULL;
6661 return FALSE;
6665 PObject * H225_DisengageRejectReason::Clone() const
6667 #ifndef PASN_LEANANDMEAN
6668 PAssert(IsClass(H225_DisengageRejectReason::Class()), PInvalidCast);
6669 #endif
6670 return new H225_DisengageRejectReason(*this);
6675 #ifndef PASN_NOPRINTON
6676 const static PASN_Names Names_H225_InfoRequestResponseStatus[]={
6677 {"complete",0}
6678 ,{"incomplete",1}
6679 ,{"segment",2}
6680 ,{"invalidCall",3}
6682 #endif
6684 // InfoRequestResponseStatus
6687 H225_InfoRequestResponseStatus::H225_InfoRequestResponseStatus(unsigned tag, PASN_Object::TagClass tagClass)
6688 : PASN_Choice(tag, tagClass, 4, TRUE
6689 #ifndef PASN_NOPRINTON
6690 ,(const PASN_Names *)Names_H225_InfoRequestResponseStatus,4
6691 #endif
6697 BOOL H225_InfoRequestResponseStatus::CreateObject()
6699 switch (tag) {
6700 case e_complete :
6701 case e_incomplete :
6702 case e_invalidCall :
6703 choice = new PASN_Null();
6704 return TRUE;
6705 case e_segment :
6706 choice = new PASN_Integer();
6707 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
6708 return TRUE;
6711 choice = NULL;
6712 return FALSE;
6716 PObject * H225_InfoRequestResponseStatus::Clone() const
6718 #ifndef PASN_LEANANDMEAN
6719 PAssert(IsClass(H225_InfoRequestResponseStatus::Class()), PInvalidCast);
6720 #endif
6721 return new H225_InfoRequestResponseStatus(*this);
6726 #ifndef PASN_NOPRINTON
6727 const static PASN_Names Names_H225_InfoRequestNakReason[]={
6728 {"notRegistered",0}
6729 ,{"securityDenial",1}
6730 ,{"undefinedReason",2}
6731 ,{"securityError",3}
6733 #endif
6735 // InfoRequestNakReason
6738 H225_InfoRequestNakReason::H225_InfoRequestNakReason(unsigned tag, PASN_Object::TagClass tagClass)
6739 : PASN_Choice(tag, tagClass, 3, TRUE
6740 #ifndef PASN_NOPRINTON
6741 ,(const PASN_Names *)Names_H225_InfoRequestNakReason,4
6742 #endif
6748 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6749 H225_InfoRequestNakReason::operator H225_SecurityErrors2 &() const
6750 #else
6751 H225_InfoRequestNakReason::operator H225_SecurityErrors2 &()
6753 #ifndef PASN_LEANANDMEAN
6754 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6755 #endif
6756 return *(H225_SecurityErrors2 *)choice;
6760 H225_InfoRequestNakReason::operator const H225_SecurityErrors2 &() const
6761 #endif
6763 #ifndef PASN_LEANANDMEAN
6764 PAssert(PIsDescendant(PAssertNULL(choice), H225_SecurityErrors2), PInvalidCast);
6765 #endif
6766 return *(H225_SecurityErrors2 *)choice;
6770 BOOL H225_InfoRequestNakReason::CreateObject()
6772 switch (tag) {
6773 case e_notRegistered :
6774 case e_securityDenial :
6775 case e_undefinedReason :
6776 choice = new PASN_Null();
6777 return TRUE;
6778 case e_securityError :
6779 choice = new H225_SecurityErrors2();
6780 return TRUE;
6783 choice = NULL;
6784 return FALSE;
6788 PObject * H225_InfoRequestNakReason::Clone() const
6790 #ifndef PASN_LEANANDMEAN
6791 PAssert(IsClass(H225_InfoRequestNakReason::Class()), PInvalidCast);
6792 #endif
6793 return new H225_InfoRequestNakReason(*this);
6798 // H323-UserInformation_user-data
6801 H225_H323_UserInformation_user_data::H225_H323_UserInformation_user_data(unsigned tag, PASN_Object::TagClass tagClass)
6802 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6804 m_protocol_discriminator.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
6805 m_user_information.SetConstraints(PASN_Object::FixedConstraint, 1, 131);
6809 #ifndef PASN_NOPRINTON
6810 void H225_H323_UserInformation_user_data::PrintOn(ostream & strm) const
6812 int indent = strm.precision() + 2;
6813 strm << "{\n";
6814 strm << setw(indent+25) << "protocol_discriminator = " << setprecision(indent) << m_protocol_discriminator << '\n';
6815 strm << setw(indent+19) << "user_information = " << setprecision(indent) << m_user_information << '\n';
6816 strm << setw(indent-1) << setprecision(indent-2) << "}";
6818 #endif
6821 PObject::Comparison H225_H323_UserInformation_user_data::Compare(const PObject & obj) const
6823 #ifndef PASN_LEANANDMEAN
6824 PAssert(PIsDescendant(&obj, H225_H323_UserInformation_user_data), PInvalidCast);
6825 #endif
6826 const H225_H323_UserInformation_user_data & other = (const H225_H323_UserInformation_user_data &)obj;
6828 Comparison result;
6830 if ((result = m_protocol_discriminator.Compare(other.m_protocol_discriminator)) != EqualTo)
6831 return result;
6832 if ((result = m_user_information.Compare(other.m_user_information)) != EqualTo)
6833 return result;
6835 return PASN_Sequence::Compare(other);
6839 PINDEX H225_H323_UserInformation_user_data::GetDataLength() const
6841 PINDEX length = 0;
6842 length += m_protocol_discriminator.GetObjectLength();
6843 length += m_user_information.GetObjectLength();
6844 return length;
6848 BOOL H225_H323_UserInformation_user_data::Decode(PASN_Stream & strm)
6850 if (!PreambleDecode(strm))
6851 return FALSE;
6853 if (!m_protocol_discriminator.Decode(strm))
6854 return FALSE;
6855 if (!m_user_information.Decode(strm))
6856 return FALSE;
6858 return UnknownExtensionsDecode(strm);
6862 void H225_H323_UserInformation_user_data::Encode(PASN_Stream & strm) const
6864 PreambleEncode(strm);
6866 m_protocol_discriminator.Encode(strm);
6867 m_user_information.Encode(strm);
6869 UnknownExtensionsEncode(strm);
6873 PObject * H225_H323_UserInformation_user_data::Clone() const
6875 #ifndef PASN_LEANANDMEAN
6876 PAssert(IsClass(H225_H323_UserInformation_user_data::Class()), PInvalidCast);
6877 #endif
6878 return new H225_H323_UserInformation_user_data(*this);
6883 #ifndef PASN_NOPRINTON
6884 const static PASN_Names Names_H225_H323_UU_PDU_h323_message_body[]={
6885 {"setup",0}
6886 ,{"callProceeding",1}
6887 ,{"connect",2}
6888 ,{"alerting",3}
6889 ,{"information",4}
6890 ,{"releaseComplete",5}
6891 ,{"facility",6}
6892 ,{"progress",7}
6893 ,{"empty",8}
6894 ,{"status",9}
6895 ,{"statusInquiry",10}
6896 ,{"setupAcknowledge",11}
6897 ,{"notify",12}
6899 #endif
6901 // H323-UU-PDU_h323-message-body
6904 H225_H323_UU_PDU_h323_message_body::H225_H323_UU_PDU_h323_message_body(unsigned tag, PASN_Object::TagClass tagClass)
6905 : PASN_Choice(tag, tagClass, 7, TRUE
6906 #ifndef PASN_NOPRINTON
6907 ,(const PASN_Names *)Names_H225_H323_UU_PDU_h323_message_body,13
6908 #endif
6914 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6915 H225_H323_UU_PDU_h323_message_body::operator H225_Setup_UUIE &() const
6916 #else
6917 H225_H323_UU_PDU_h323_message_body::operator H225_Setup_UUIE &()
6919 #ifndef PASN_LEANANDMEAN
6920 PAssert(PIsDescendant(PAssertNULL(choice), H225_Setup_UUIE), PInvalidCast);
6921 #endif
6922 return *(H225_Setup_UUIE *)choice;
6926 H225_H323_UU_PDU_h323_message_body::operator const H225_Setup_UUIE &() const
6927 #endif
6929 #ifndef PASN_LEANANDMEAN
6930 PAssert(PIsDescendant(PAssertNULL(choice), H225_Setup_UUIE), PInvalidCast);
6931 #endif
6932 return *(H225_Setup_UUIE *)choice;
6936 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6937 H225_H323_UU_PDU_h323_message_body::operator H225_CallProceeding_UUIE &() const
6938 #else
6939 H225_H323_UU_PDU_h323_message_body::operator H225_CallProceeding_UUIE &()
6941 #ifndef PASN_LEANANDMEAN
6942 PAssert(PIsDescendant(PAssertNULL(choice), H225_CallProceeding_UUIE), PInvalidCast);
6943 #endif
6944 return *(H225_CallProceeding_UUIE *)choice;
6948 H225_H323_UU_PDU_h323_message_body::operator const H225_CallProceeding_UUIE &() const
6949 #endif
6951 #ifndef PASN_LEANANDMEAN
6952 PAssert(PIsDescendant(PAssertNULL(choice), H225_CallProceeding_UUIE), PInvalidCast);
6953 #endif
6954 return *(H225_CallProceeding_UUIE *)choice;
6958 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6959 H225_H323_UU_PDU_h323_message_body::operator H225_Connect_UUIE &() const
6960 #else
6961 H225_H323_UU_PDU_h323_message_body::operator H225_Connect_UUIE &()
6963 #ifndef PASN_LEANANDMEAN
6964 PAssert(PIsDescendant(PAssertNULL(choice), H225_Connect_UUIE), PInvalidCast);
6965 #endif
6966 return *(H225_Connect_UUIE *)choice;
6970 H225_H323_UU_PDU_h323_message_body::operator const H225_Connect_UUIE &() const
6971 #endif
6973 #ifndef PASN_LEANANDMEAN
6974 PAssert(PIsDescendant(PAssertNULL(choice), H225_Connect_UUIE), PInvalidCast);
6975 #endif
6976 return *(H225_Connect_UUIE *)choice;
6980 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6981 H225_H323_UU_PDU_h323_message_body::operator H225_Alerting_UUIE &() const
6982 #else
6983 H225_H323_UU_PDU_h323_message_body::operator H225_Alerting_UUIE &()
6985 #ifndef PASN_LEANANDMEAN
6986 PAssert(PIsDescendant(PAssertNULL(choice), H225_Alerting_UUIE), PInvalidCast);
6987 #endif
6988 return *(H225_Alerting_UUIE *)choice;
6992 H225_H323_UU_PDU_h323_message_body::operator const H225_Alerting_UUIE &() const
6993 #endif
6995 #ifndef PASN_LEANANDMEAN
6996 PAssert(PIsDescendant(PAssertNULL(choice), H225_Alerting_UUIE), PInvalidCast);
6997 #endif
6998 return *(H225_Alerting_UUIE *)choice;
7002 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7003 H225_H323_UU_PDU_h323_message_body::operator H225_Information_UUIE &() const
7004 #else
7005 H225_H323_UU_PDU_h323_message_body::operator H225_Information_UUIE &()
7007 #ifndef PASN_LEANANDMEAN
7008 PAssert(PIsDescendant(PAssertNULL(choice), H225_Information_UUIE), PInvalidCast);
7009 #endif
7010 return *(H225_Information_UUIE *)choice;
7014 H225_H323_UU_PDU_h323_message_body::operator const H225_Information_UUIE &() const
7015 #endif
7017 #ifndef PASN_LEANANDMEAN
7018 PAssert(PIsDescendant(PAssertNULL(choice), H225_Information_UUIE), PInvalidCast);
7019 #endif
7020 return *(H225_Information_UUIE *)choice;
7024 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7025 H225_H323_UU_PDU_h323_message_body::operator H225_ReleaseComplete_UUIE &() const
7026 #else
7027 H225_H323_UU_PDU_h323_message_body::operator H225_ReleaseComplete_UUIE &()
7029 #ifndef PASN_LEANANDMEAN
7030 PAssert(PIsDescendant(PAssertNULL(choice), H225_ReleaseComplete_UUIE), PInvalidCast);
7031 #endif
7032 return *(H225_ReleaseComplete_UUIE *)choice;
7036 H225_H323_UU_PDU_h323_message_body::operator const H225_ReleaseComplete_UUIE &() const
7037 #endif
7039 #ifndef PASN_LEANANDMEAN
7040 PAssert(PIsDescendant(PAssertNULL(choice), H225_ReleaseComplete_UUIE), PInvalidCast);
7041 #endif
7042 return *(H225_ReleaseComplete_UUIE *)choice;
7046 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7047 H225_H323_UU_PDU_h323_message_body::operator H225_Facility_UUIE &() const
7048 #else
7049 H225_H323_UU_PDU_h323_message_body::operator H225_Facility_UUIE &()
7051 #ifndef PASN_LEANANDMEAN
7052 PAssert(PIsDescendant(PAssertNULL(choice), H225_Facility_UUIE), PInvalidCast);
7053 #endif
7054 return *(H225_Facility_UUIE *)choice;
7058 H225_H323_UU_PDU_h323_message_body::operator const H225_Facility_UUIE &() const
7059 #endif
7061 #ifndef PASN_LEANANDMEAN
7062 PAssert(PIsDescendant(PAssertNULL(choice), H225_Facility_UUIE), PInvalidCast);
7063 #endif
7064 return *(H225_Facility_UUIE *)choice;
7068 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7069 H225_H323_UU_PDU_h323_message_body::operator H225_Progress_UUIE &() const
7070 #else
7071 H225_H323_UU_PDU_h323_message_body::operator H225_Progress_UUIE &()
7073 #ifndef PASN_LEANANDMEAN
7074 PAssert(PIsDescendant(PAssertNULL(choice), H225_Progress_UUIE), PInvalidCast);
7075 #endif
7076 return *(H225_Progress_UUIE *)choice;
7080 H225_H323_UU_PDU_h323_message_body::operator const H225_Progress_UUIE &() const
7081 #endif
7083 #ifndef PASN_LEANANDMEAN
7084 PAssert(PIsDescendant(PAssertNULL(choice), H225_Progress_UUIE), PInvalidCast);
7085 #endif
7086 return *(H225_Progress_UUIE *)choice;
7090 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7091 H225_H323_UU_PDU_h323_message_body::operator H225_Status_UUIE &() const
7092 #else
7093 H225_H323_UU_PDU_h323_message_body::operator H225_Status_UUIE &()
7095 #ifndef PASN_LEANANDMEAN
7096 PAssert(PIsDescendant(PAssertNULL(choice), H225_Status_UUIE), PInvalidCast);
7097 #endif
7098 return *(H225_Status_UUIE *)choice;
7102 H225_H323_UU_PDU_h323_message_body::operator const H225_Status_UUIE &() const
7103 #endif
7105 #ifndef PASN_LEANANDMEAN
7106 PAssert(PIsDescendant(PAssertNULL(choice), H225_Status_UUIE), PInvalidCast);
7107 #endif
7108 return *(H225_Status_UUIE *)choice;
7112 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7113 H225_H323_UU_PDU_h323_message_body::operator H225_StatusInquiry_UUIE &() const
7114 #else
7115 H225_H323_UU_PDU_h323_message_body::operator H225_StatusInquiry_UUIE &()
7117 #ifndef PASN_LEANANDMEAN
7118 PAssert(PIsDescendant(PAssertNULL(choice), H225_StatusInquiry_UUIE), PInvalidCast);
7119 #endif
7120 return *(H225_StatusInquiry_UUIE *)choice;
7124 H225_H323_UU_PDU_h323_message_body::operator const H225_StatusInquiry_UUIE &() const
7125 #endif
7127 #ifndef PASN_LEANANDMEAN
7128 PAssert(PIsDescendant(PAssertNULL(choice), H225_StatusInquiry_UUIE), PInvalidCast);
7129 #endif
7130 return *(H225_StatusInquiry_UUIE *)choice;
7134 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7135 H225_H323_UU_PDU_h323_message_body::operator H225_SetupAcknowledge_UUIE &() const
7136 #else
7137 H225_H323_UU_PDU_h323_message_body::operator H225_SetupAcknowledge_UUIE &()
7139 #ifndef PASN_LEANANDMEAN
7140 PAssert(PIsDescendant(PAssertNULL(choice), H225_SetupAcknowledge_UUIE), PInvalidCast);
7141 #endif
7142 return *(H225_SetupAcknowledge_UUIE *)choice;
7146 H225_H323_UU_PDU_h323_message_body::operator const H225_SetupAcknowledge_UUIE &() const
7147 #endif
7149 #ifndef PASN_LEANANDMEAN
7150 PAssert(PIsDescendant(PAssertNULL(choice), H225_SetupAcknowledge_UUIE), PInvalidCast);
7151 #endif
7152 return *(H225_SetupAcknowledge_UUIE *)choice;
7156 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7157 H225_H323_UU_PDU_h323_message_body::operator H225_Notify_UUIE &() const
7158 #else
7159 H225_H323_UU_PDU_h323_message_body::operator H225_Notify_UUIE &()
7161 #ifndef PASN_LEANANDMEAN
7162 PAssert(PIsDescendant(PAssertNULL(choice), H225_Notify_UUIE), PInvalidCast);
7163 #endif
7164 return *(H225_Notify_UUIE *)choice;
7168 H225_H323_UU_PDU_h323_message_body::operator const H225_Notify_UUIE &() const
7169 #endif
7171 #ifndef PASN_LEANANDMEAN
7172 PAssert(PIsDescendant(PAssertNULL(choice), H225_Notify_UUIE), PInvalidCast);
7173 #endif
7174 return *(H225_Notify_UUIE *)choice;
7178 BOOL H225_H323_UU_PDU_h323_message_body::CreateObject()
7180 switch (tag) {
7181 case e_setup :
7182 choice = new H225_Setup_UUIE();
7183 return TRUE;
7184 case e_callProceeding :
7185 choice = new H225_CallProceeding_UUIE();
7186 return TRUE;
7187 case e_connect :
7188 choice = new H225_Connect_UUIE();
7189 return TRUE;
7190 case e_alerting :
7191 choice = new H225_Alerting_UUIE();
7192 return TRUE;
7193 case e_information :
7194 choice = new H225_Information_UUIE();
7195 return TRUE;
7196 case e_releaseComplete :
7197 choice = new H225_ReleaseComplete_UUIE();
7198 return TRUE;
7199 case e_facility :
7200 choice = new H225_Facility_UUIE();
7201 return TRUE;
7202 case e_progress :
7203 choice = new H225_Progress_UUIE();
7204 return TRUE;
7205 case e_empty :
7206 choice = new PASN_Null();
7207 return TRUE;
7208 case e_status :
7209 choice = new H225_Status_UUIE();
7210 return TRUE;
7211 case e_statusInquiry :
7212 choice = new H225_StatusInquiry_UUIE();
7213 return TRUE;
7214 case e_setupAcknowledge :
7215 choice = new H225_SetupAcknowledge_UUIE();
7216 return TRUE;
7217 case e_notify :
7218 choice = new H225_Notify_UUIE();
7219 return TRUE;
7222 choice = NULL;
7223 return FALSE;
7227 PObject * H225_H323_UU_PDU_h323_message_body::Clone() const
7229 #ifndef PASN_LEANANDMEAN
7230 PAssert(IsClass(H225_H323_UU_PDU_h323_message_body::Class()), PInvalidCast);
7231 #endif
7232 return new H225_H323_UU_PDU_h323_message_body(*this);
7237 // ArrayOf_PASN_OctetString
7240 H225_ArrayOf_PASN_OctetString::H225_ArrayOf_PASN_OctetString(unsigned tag, PASN_Object::TagClass tagClass)
7241 : PASN_Array(tag, tagClass)
7246 PASN_Object * H225_ArrayOf_PASN_OctetString::CreateObject() const
7248 return new PASN_OctetString;
7252 PASN_OctetString & H225_ArrayOf_PASN_OctetString::operator[](PINDEX i) const
7254 return (PASN_OctetString &)array[i];
7258 PObject * H225_ArrayOf_PASN_OctetString::Clone() const
7260 #ifndef PASN_LEANANDMEAN
7261 PAssert(IsClass(H225_ArrayOf_PASN_OctetString::Class()), PInvalidCast);
7262 #endif
7263 return new H225_ArrayOf_PASN_OctetString(*this);
7268 // ArrayOf_NonStandardParameter
7271 H225_ArrayOf_NonStandardParameter::H225_ArrayOf_NonStandardParameter(unsigned tag, PASN_Object::TagClass tagClass)
7272 : PASN_Array(tag, tagClass)
7277 PASN_Object * H225_ArrayOf_NonStandardParameter::CreateObject() const
7279 return new H225_NonStandardParameter;
7283 H225_NonStandardParameter & H225_ArrayOf_NonStandardParameter::operator[](PINDEX i) const
7285 return (H225_NonStandardParameter &)array[i];
7289 PObject * H225_ArrayOf_NonStandardParameter::Clone() const
7291 #ifndef PASN_LEANANDMEAN
7292 PAssert(IsClass(H225_ArrayOf_NonStandardParameter::Class()), PInvalidCast);
7293 #endif
7294 return new H225_ArrayOf_NonStandardParameter(*this);
7299 // ArrayOf_GenericData
7302 H225_ArrayOf_GenericData::H225_ArrayOf_GenericData(unsigned tag, PASN_Object::TagClass tagClass)
7303 : PASN_Array(tag, tagClass)
7308 PASN_Object * H225_ArrayOf_GenericData::CreateObject() const
7310 return new H225_GenericData;
7314 H225_GenericData & H225_ArrayOf_GenericData::operator[](PINDEX i) const
7316 return (H225_GenericData &)array[i];
7320 PObject * H225_ArrayOf_GenericData::Clone() const
7322 #ifndef PASN_LEANANDMEAN
7323 PAssert(IsClass(H225_ArrayOf_GenericData::Class()), PInvalidCast);
7324 #endif
7325 return new H225_ArrayOf_GenericData(*this);
7330 // ArrayOf_ClearToken
7333 H225_ArrayOf_ClearToken::H225_ArrayOf_ClearToken(unsigned tag, PASN_Object::TagClass tagClass)
7334 : PASN_Array(tag, tagClass)
7339 PASN_Object * H225_ArrayOf_ClearToken::CreateObject() const
7341 return new H235_ClearToken;
7345 H235_ClearToken & H225_ArrayOf_ClearToken::operator[](PINDEX i) const
7347 return (H235_ClearToken &)array[i];
7351 PObject * H225_ArrayOf_ClearToken::Clone() const
7353 #ifndef PASN_LEANANDMEAN
7354 PAssert(IsClass(H225_ArrayOf_ClearToken::Class()), PInvalidCast);
7355 #endif
7356 return new H225_ArrayOf_ClearToken(*this);
7361 // ArrayOf_CryptoH323Token
7364 H225_ArrayOf_CryptoH323Token::H225_ArrayOf_CryptoH323Token(unsigned tag, PASN_Object::TagClass tagClass)
7365 : PASN_Array(tag, tagClass)
7370 PASN_Object * H225_ArrayOf_CryptoH323Token::CreateObject() const
7372 return new H225_CryptoH323Token;
7376 H225_CryptoH323Token & H225_ArrayOf_CryptoH323Token::operator[](PINDEX i) const
7378 return (H225_CryptoH323Token &)array[i];
7382 PObject * H225_ArrayOf_CryptoH323Token::Clone() const
7384 #ifndef PASN_LEANANDMEAN
7385 PAssert(IsClass(H225_ArrayOf_CryptoH323Token::Class()), PInvalidCast);
7386 #endif
7387 return new H225_ArrayOf_CryptoH323Token(*this);
7392 // ArrayOf_AliasAddress
7395 H225_ArrayOf_AliasAddress::H225_ArrayOf_AliasAddress(unsigned tag, PASN_Object::TagClass tagClass)
7396 : PASN_Array(tag, tagClass)
7401 PASN_Object * H225_ArrayOf_AliasAddress::CreateObject() const
7403 return new H225_AliasAddress;
7407 H225_AliasAddress & H225_ArrayOf_AliasAddress::operator[](PINDEX i) const
7409 return (H225_AliasAddress &)array[i];
7413 PObject * H225_ArrayOf_AliasAddress::Clone() const
7415 #ifndef PASN_LEANANDMEAN
7416 PAssert(IsClass(H225_ArrayOf_AliasAddress::Class()), PInvalidCast);
7417 #endif
7418 return new H225_ArrayOf_AliasAddress(*this);
7423 // ArrayOf_ServiceControlSession
7426 H225_ArrayOf_ServiceControlSession::H225_ArrayOf_ServiceControlSession(unsigned tag, PASN_Object::TagClass tagClass)
7427 : PASN_Array(tag, tagClass)
7432 PASN_Object * H225_ArrayOf_ServiceControlSession::CreateObject() const
7434 return new H225_ServiceControlSession;
7438 H225_ServiceControlSession & H225_ArrayOf_ServiceControlSession::operator[](PINDEX i) const
7440 return (H225_ServiceControlSession &)array[i];
7444 PObject * H225_ArrayOf_ServiceControlSession::Clone() const
7446 #ifndef PASN_LEANANDMEAN
7447 PAssert(IsClass(H225_ArrayOf_ServiceControlSession::Class()), PInvalidCast);
7448 #endif
7449 return new H225_ArrayOf_ServiceControlSession(*this);
7454 // Connect-UUIE_language
7457 H225_Connect_UUIE_language::H225_Connect_UUIE_language(unsigned tag, PASN_Object::TagClass tagClass)
7458 : PASN_Array(tag, tagClass)
7463 PASN_Object * H225_Connect_UUIE_language::CreateObject() const
7465 PASN_IA5String * obj = new PASN_IA5String;
7466 obj->SetConstraints(PASN_Object::FixedConstraint, 1, 32);
7467 return obj;
7471 PASN_IA5String & H225_Connect_UUIE_language::operator[](PINDEX i) const
7473 return (PASN_IA5String &)array[i];
7477 PObject * H225_Connect_UUIE_language::Clone() const
7479 #ifndef PASN_LEANANDMEAN
7480 PAssert(IsClass(H225_Connect_UUIE_language::Class()), PInvalidCast);
7481 #endif
7482 return new H225_Connect_UUIE_language(*this);
7487 // ArrayOf_CallReferenceValue
7490 H225_ArrayOf_CallReferenceValue::H225_ArrayOf_CallReferenceValue(unsigned tag, PASN_Object::TagClass tagClass)
7491 : PASN_Array(tag, tagClass)
7496 PASN_Object * H225_ArrayOf_CallReferenceValue::CreateObject() const
7498 return new H225_CallReferenceValue;
7502 H225_CallReferenceValue & H225_ArrayOf_CallReferenceValue::operator[](PINDEX i) const
7504 return (H225_CallReferenceValue &)array[i];
7508 PObject * H225_ArrayOf_CallReferenceValue::Clone() const
7510 #ifndef PASN_LEANANDMEAN
7511 PAssert(IsClass(H225_ArrayOf_CallReferenceValue::Class()), PInvalidCast);
7512 #endif
7513 return new H225_ArrayOf_CallReferenceValue(*this);
7518 #ifndef PASN_NOPRINTON
7519 const static PASN_Names Names_H225_Setup_UUIE_conferenceGoal[]={
7520 {"create",0}
7521 ,{"join",1}
7522 ,{"invite",2}
7523 ,{"capability_negotiation",3}
7524 ,{"callIndependentSupplementaryService",4}
7526 #endif
7528 // Setup-UUIE_conferenceGoal
7531 H225_Setup_UUIE_conferenceGoal::H225_Setup_UUIE_conferenceGoal(unsigned tag, PASN_Object::TagClass tagClass)
7532 : PASN_Choice(tag, tagClass, 3, TRUE
7533 #ifndef PASN_NOPRINTON
7534 ,(const PASN_Names *)Names_H225_Setup_UUIE_conferenceGoal,5
7535 #endif
7541 BOOL H225_Setup_UUIE_conferenceGoal::CreateObject()
7543 choice = (tag <= e_callIndependentSupplementaryService) ? new PASN_Null() : NULL;
7544 return choice != NULL;
7548 PObject * H225_Setup_UUIE_conferenceGoal::Clone() const
7550 #ifndef PASN_LEANANDMEAN
7551 PAssert(IsClass(H225_Setup_UUIE_conferenceGoal::Class()), PInvalidCast);
7552 #endif
7553 return new H225_Setup_UUIE_conferenceGoal(*this);
7558 // ArrayOf_H245Security
7561 H225_ArrayOf_H245Security::H225_ArrayOf_H245Security(unsigned tag, PASN_Object::TagClass tagClass)
7562 : PASN_Array(tag, tagClass)
7567 PASN_Object * H225_ArrayOf_H245Security::CreateObject() const
7569 return new H225_H245Security;
7573 H225_H245Security & H225_ArrayOf_H245Security::operator[](PINDEX i) const
7575 return (H225_H245Security &)array[i];
7579 PObject * H225_ArrayOf_H245Security::Clone() const
7581 #ifndef PASN_LEANANDMEAN
7582 PAssert(IsClass(H225_ArrayOf_H245Security::Class()), PInvalidCast);
7583 #endif
7584 return new H225_ArrayOf_H245Security(*this);
7589 // Setup-UUIE_connectionParameters
7592 H225_Setup_UUIE_connectionParameters::H225_Setup_UUIE_connectionParameters(unsigned tag, PASN_Object::TagClass tagClass)
7593 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7595 m_numberOfScnConnections.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
7599 #ifndef PASN_NOPRINTON
7600 void H225_Setup_UUIE_connectionParameters::PrintOn(ostream & strm) const
7602 int indent = strm.precision() + 2;
7603 strm << "{\n";
7604 strm << setw(indent+17) << "connectionType = " << setprecision(indent) << m_connectionType << '\n';
7605 strm << setw(indent+25) << "numberOfScnConnections = " << setprecision(indent) << m_numberOfScnConnections << '\n';
7606 strm << setw(indent+24) << "connectionAggregation = " << setprecision(indent) << m_connectionAggregation << '\n';
7607 strm << setw(indent-1) << setprecision(indent-2) << "}";
7609 #endif
7612 PObject::Comparison H225_Setup_UUIE_connectionParameters::Compare(const PObject & obj) const
7614 #ifndef PASN_LEANANDMEAN
7615 PAssert(PIsDescendant(&obj, H225_Setup_UUIE_connectionParameters), PInvalidCast);
7616 #endif
7617 const H225_Setup_UUIE_connectionParameters & other = (const H225_Setup_UUIE_connectionParameters &)obj;
7619 Comparison result;
7621 if ((result = m_connectionType.Compare(other.m_connectionType)) != EqualTo)
7622 return result;
7623 if ((result = m_numberOfScnConnections.Compare(other.m_numberOfScnConnections)) != EqualTo)
7624 return result;
7625 if ((result = m_connectionAggregation.Compare(other.m_connectionAggregation)) != EqualTo)
7626 return result;
7628 return PASN_Sequence::Compare(other);
7632 PINDEX H225_Setup_UUIE_connectionParameters::GetDataLength() const
7634 PINDEX length = 0;
7635 length += m_connectionType.GetObjectLength();
7636 length += m_numberOfScnConnections.GetObjectLength();
7637 length += m_connectionAggregation.GetObjectLength();
7638 return length;
7642 BOOL H225_Setup_UUIE_connectionParameters::Decode(PASN_Stream & strm)
7644 if (!PreambleDecode(strm))
7645 return FALSE;
7647 if (!m_connectionType.Decode(strm))
7648 return FALSE;
7649 if (!m_numberOfScnConnections.Decode(strm))
7650 return FALSE;
7651 if (!m_connectionAggregation.Decode(strm))
7652 return FALSE;
7654 return UnknownExtensionsDecode(strm);
7658 void H225_Setup_UUIE_connectionParameters::Encode(PASN_Stream & strm) const
7660 PreambleEncode(strm);
7662 m_connectionType.Encode(strm);
7663 m_numberOfScnConnections.Encode(strm);
7664 m_connectionAggregation.Encode(strm);
7666 UnknownExtensionsEncode(strm);
7670 PObject * H225_Setup_UUIE_connectionParameters::Clone() const
7672 #ifndef PASN_LEANANDMEAN
7673 PAssert(IsClass(H225_Setup_UUIE_connectionParameters::Class()), PInvalidCast);
7674 #endif
7675 return new H225_Setup_UUIE_connectionParameters(*this);
7680 // Setup-UUIE_language
7683 H225_Setup_UUIE_language::H225_Setup_UUIE_language(unsigned tag, PASN_Object::TagClass tagClass)
7684 : PASN_Array(tag, tagClass)
7689 PASN_Object * H225_Setup_UUIE_language::CreateObject() const
7691 PASN_IA5String * obj = new PASN_IA5String;
7692 obj->SetConstraints(PASN_Object::FixedConstraint, 1, 32);
7693 return obj;
7697 PASN_IA5String & H225_Setup_UUIE_language::operator[](PINDEX i) const
7699 return (PASN_IA5String &)array[i];
7703 PObject * H225_Setup_UUIE_language::Clone() const
7705 #ifndef PASN_LEANANDMEAN
7706 PAssert(IsClass(H225_Setup_UUIE_language::Class()), PInvalidCast);
7707 #endif
7708 return new H225_Setup_UUIE_language(*this);
7713 // ArrayOf_SupportedProtocols
7716 H225_ArrayOf_SupportedProtocols::H225_ArrayOf_SupportedProtocols(unsigned tag, PASN_Object::TagClass tagClass)
7717 : PASN_Array(tag, tagClass)
7722 PASN_Object * H225_ArrayOf_SupportedProtocols::CreateObject() const
7724 return new H225_SupportedProtocols;
7728 H225_SupportedProtocols & H225_ArrayOf_SupportedProtocols::operator[](PINDEX i) const
7730 return (H225_SupportedProtocols &)array[i];
7734 PObject * H225_ArrayOf_SupportedProtocols::Clone() const
7736 #ifndef PASN_LEANANDMEAN
7737 PAssert(IsClass(H225_ArrayOf_SupportedProtocols::Class()), PInvalidCast);
7738 #endif
7739 return new H225_ArrayOf_SupportedProtocols(*this);
7744 // ArrayOf_FeatureDescriptor
7747 H225_ArrayOf_FeatureDescriptor::H225_ArrayOf_FeatureDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7748 : PASN_Array(tag, tagClass)
7753 PASN_Object * H225_ArrayOf_FeatureDescriptor::CreateObject() const
7755 return new H225_FeatureDescriptor;
7759 H225_FeatureDescriptor & H225_ArrayOf_FeatureDescriptor::operator[](PINDEX i) const
7761 return (H225_FeatureDescriptor &)array[i];
7765 PObject * H225_ArrayOf_FeatureDescriptor::Clone() const
7767 #ifndef PASN_LEANANDMEAN
7768 PAssert(IsClass(H225_ArrayOf_FeatureDescriptor::Class()), PInvalidCast);
7769 #endif
7770 return new H225_ArrayOf_FeatureDescriptor(*this);
7775 // ArrayOf_ExtendedAliasAddress
7778 H225_ArrayOf_ExtendedAliasAddress::H225_ArrayOf_ExtendedAliasAddress(unsigned tag, PASN_Object::TagClass tagClass)
7779 : PASN_Array(tag, tagClass)
7784 PASN_Object * H225_ArrayOf_ExtendedAliasAddress::CreateObject() const
7786 return new H225_ExtendedAliasAddress;
7790 H225_ExtendedAliasAddress & H225_ArrayOf_ExtendedAliasAddress::operator[](PINDEX i) const
7792 return (H225_ExtendedAliasAddress &)array[i];
7796 PObject * H225_ArrayOf_ExtendedAliasAddress::Clone() const
7798 #ifndef PASN_LEANANDMEAN
7799 PAssert(IsClass(H225_ArrayOf_ExtendedAliasAddress::Class()), PInvalidCast);
7800 #endif
7801 return new H225_ArrayOf_ExtendedAliasAddress(*this);
7806 // ArrayOf_ConferenceList
7809 H225_ArrayOf_ConferenceList::H225_ArrayOf_ConferenceList(unsigned tag, PASN_Object::TagClass tagClass)
7810 : PASN_Array(tag, tagClass)
7815 PASN_Object * H225_ArrayOf_ConferenceList::CreateObject() const
7817 return new H225_ConferenceList;
7821 H225_ConferenceList & H225_ArrayOf_ConferenceList::operator[](PINDEX i) const
7823 return (H225_ConferenceList &)array[i];
7827 PObject * H225_ArrayOf_ConferenceList::Clone() const
7829 #ifndef PASN_LEANANDMEAN
7830 PAssert(IsClass(H225_ArrayOf_ConferenceList::Class()), PInvalidCast);
7831 #endif
7832 return new H225_ArrayOf_ConferenceList(*this);
7837 // TransportAddress_ipAddress
7840 H225_TransportAddress_ipAddress::H225_TransportAddress_ipAddress(unsigned tag, PASN_Object::TagClass tagClass)
7841 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
7843 m_ip.SetConstraints(PASN_Object::FixedConstraint, 4);
7844 m_port.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
7848 #ifndef PASN_NOPRINTON
7849 void H225_TransportAddress_ipAddress::PrintOn(ostream & strm) const
7851 int indent = strm.precision() + 2;
7852 strm << "{\n";
7853 strm << setw(indent+5) << "ip = " << setprecision(indent) << m_ip << '\n';
7854 strm << setw(indent+7) << "port = " << setprecision(indent) << m_port << '\n';
7855 strm << setw(indent-1) << setprecision(indent-2) << "}";
7857 #endif
7860 PObject::Comparison H225_TransportAddress_ipAddress::Compare(const PObject & obj) const
7862 #ifndef PASN_LEANANDMEAN
7863 PAssert(PIsDescendant(&obj, H225_TransportAddress_ipAddress), PInvalidCast);
7864 #endif
7865 const H225_TransportAddress_ipAddress & other = (const H225_TransportAddress_ipAddress &)obj;
7867 Comparison result;
7869 if ((result = m_ip.Compare(other.m_ip)) != EqualTo)
7870 return result;
7871 if ((result = m_port.Compare(other.m_port)) != EqualTo)
7872 return result;
7874 return PASN_Sequence::Compare(other);
7878 PINDEX H225_TransportAddress_ipAddress::GetDataLength() const
7880 PINDEX length = 0;
7881 length += m_ip.GetObjectLength();
7882 length += m_port.GetObjectLength();
7883 return length;
7887 BOOL H225_TransportAddress_ipAddress::Decode(PASN_Stream & strm)
7889 if (!PreambleDecode(strm))
7890 return FALSE;
7892 if (!m_ip.Decode(strm))
7893 return FALSE;
7894 if (!m_port.Decode(strm))
7895 return FALSE;
7897 return UnknownExtensionsDecode(strm);
7901 void H225_TransportAddress_ipAddress::Encode(PASN_Stream & strm) const
7903 PreambleEncode(strm);
7905 m_ip.Encode(strm);
7906 m_port.Encode(strm);
7908 UnknownExtensionsEncode(strm);
7912 PObject * H225_TransportAddress_ipAddress::Clone() const
7914 #ifndef PASN_LEANANDMEAN
7915 PAssert(IsClass(H225_TransportAddress_ipAddress::Class()), PInvalidCast);
7916 #endif
7917 return new H225_TransportAddress_ipAddress(*this);
7922 // TransportAddress_ipxAddress
7925 H225_TransportAddress_ipxAddress::H225_TransportAddress_ipxAddress(unsigned tag, PASN_Object::TagClass tagClass)
7926 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
7928 m_node.SetConstraints(PASN_Object::FixedConstraint, 6);
7929 m_netnum.SetConstraints(PASN_Object::FixedConstraint, 4);
7930 m_port.SetConstraints(PASN_Object::FixedConstraint, 2);
7934 #ifndef PASN_NOPRINTON
7935 void H225_TransportAddress_ipxAddress::PrintOn(ostream & strm) const
7937 int indent = strm.precision() + 2;
7938 strm << "{\n";
7939 strm << setw(indent+7) << "node = " << setprecision(indent) << m_node << '\n';
7940 strm << setw(indent+9) << "netnum = " << setprecision(indent) << m_netnum << '\n';
7941 strm << setw(indent+7) << "port = " << setprecision(indent) << m_port << '\n';
7942 strm << setw(indent-1) << setprecision(indent-2) << "}";
7944 #endif
7947 PObject::Comparison H225_TransportAddress_ipxAddress::Compare(const PObject & obj) const
7949 #ifndef PASN_LEANANDMEAN
7950 PAssert(PIsDescendant(&obj, H225_TransportAddress_ipxAddress), PInvalidCast);
7951 #endif
7952 const H225_TransportAddress_ipxAddress & other = (const H225_TransportAddress_ipxAddress &)obj;
7954 Comparison result;
7956 if ((result = m_node.Compare(other.m_node)) != EqualTo)
7957 return result;
7958 if ((result = m_netnum.Compare(other.m_netnum)) != EqualTo)
7959 return result;
7960 if ((result = m_port.Compare(other.m_port)) != EqualTo)
7961 return result;
7963 return PASN_Sequence::Compare(other);
7967 PINDEX H225_TransportAddress_ipxAddress::GetDataLength() const
7969 PINDEX length = 0;
7970 length += m_node.GetObjectLength();
7971 length += m_netnum.GetObjectLength();
7972 length += m_port.GetObjectLength();
7973 return length;
7977 BOOL H225_TransportAddress_ipxAddress::Decode(PASN_Stream & strm)
7979 if (!PreambleDecode(strm))
7980 return FALSE;
7982 if (!m_node.Decode(strm))
7983 return FALSE;
7984 if (!m_netnum.Decode(strm))
7985 return FALSE;
7986 if (!m_port.Decode(strm))
7987 return FALSE;
7989 return UnknownExtensionsDecode(strm);
7993 void H225_TransportAddress_ipxAddress::Encode(PASN_Stream & strm) const
7995 PreambleEncode(strm);
7997 m_node.Encode(strm);
7998 m_netnum.Encode(strm);
7999 m_port.Encode(strm);
8001 UnknownExtensionsEncode(strm);
8005 PObject * H225_TransportAddress_ipxAddress::Clone() const
8007 #ifndef PASN_LEANANDMEAN
8008 PAssert(IsClass(H225_TransportAddress_ipxAddress::Class()), PInvalidCast);
8009 #endif
8010 return new H225_TransportAddress_ipxAddress(*this);
8015 // TransportAddress_ip6Address
8018 H225_TransportAddress_ip6Address::H225_TransportAddress_ip6Address(unsigned tag, PASN_Object::TagClass tagClass)
8019 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
8021 m_ip.SetConstraints(PASN_Object::FixedConstraint, 16);
8022 m_port.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
8026 #ifndef PASN_NOPRINTON
8027 void H225_TransportAddress_ip6Address::PrintOn(ostream & strm) const
8029 int indent = strm.precision() + 2;
8030 strm << "{\n";
8031 strm << setw(indent+5) << "ip = " << setprecision(indent) << m_ip << '\n';
8032 strm << setw(indent+7) << "port = " << setprecision(indent) << m_port << '\n';
8033 strm << setw(indent-1) << setprecision(indent-2) << "}";
8035 #endif
8038 PObject::Comparison H225_TransportAddress_ip6Address::Compare(const PObject & obj) const
8040 #ifndef PASN_LEANANDMEAN
8041 PAssert(PIsDescendant(&obj, H225_TransportAddress_ip6Address), PInvalidCast);
8042 #endif
8043 const H225_TransportAddress_ip6Address & other = (const H225_TransportAddress_ip6Address &)obj;
8045 Comparison result;
8047 if ((result = m_ip.Compare(other.m_ip)) != EqualTo)
8048 return result;
8049 if ((result = m_port.Compare(other.m_port)) != EqualTo)
8050 return result;
8052 return PASN_Sequence::Compare(other);
8056 PINDEX H225_TransportAddress_ip6Address::GetDataLength() const
8058 PINDEX length = 0;
8059 length += m_ip.GetObjectLength();
8060 length += m_port.GetObjectLength();
8061 return length;
8065 BOOL H225_TransportAddress_ip6Address::Decode(PASN_Stream & strm)
8067 if (!PreambleDecode(strm))
8068 return FALSE;
8070 if (!m_ip.Decode(strm))
8071 return FALSE;
8072 if (!m_port.Decode(strm))
8073 return FALSE;
8075 return UnknownExtensionsDecode(strm);
8079 void H225_TransportAddress_ip6Address::Encode(PASN_Stream & strm) const
8081 PreambleEncode(strm);
8083 m_ip.Encode(strm);
8084 m_port.Encode(strm);
8086 UnknownExtensionsEncode(strm);
8090 PObject * H225_TransportAddress_ip6Address::Clone() const
8092 #ifndef PASN_LEANANDMEAN
8093 PAssert(IsClass(H225_TransportAddress_ip6Address::Class()), PInvalidCast);
8094 #endif
8095 return new H225_TransportAddress_ip6Address(*this);
8100 // ArrayOf_TunnelledProtocol
8103 H225_ArrayOf_TunnelledProtocol::H225_ArrayOf_TunnelledProtocol(unsigned tag, PASN_Object::TagClass tagClass)
8104 : PASN_Array(tag, tagClass)
8109 PASN_Object * H225_ArrayOf_TunnelledProtocol::CreateObject() const
8111 return new H225_TunnelledProtocol;
8115 H225_TunnelledProtocol & H225_ArrayOf_TunnelledProtocol::operator[](PINDEX i) const
8117 return (H225_TunnelledProtocol &)array[i];
8121 PObject * H225_ArrayOf_TunnelledProtocol::Clone() const
8123 #ifndef PASN_LEANANDMEAN
8124 PAssert(IsClass(H225_ArrayOf_TunnelledProtocol::Class()), PInvalidCast);
8125 #endif
8126 return new H225_ArrayOf_TunnelledProtocol(*this);
8131 // ArrayOf_DataRate
8134 H225_ArrayOf_DataRate::H225_ArrayOf_DataRate(unsigned tag, PASN_Object::TagClass tagClass)
8135 : PASN_Array(tag, tagClass)
8140 PASN_Object * H225_ArrayOf_DataRate::CreateObject() const
8142 return new H225_DataRate;
8146 H225_DataRate & H225_ArrayOf_DataRate::operator[](PINDEX i) const
8148 return (H225_DataRate &)array[i];
8152 PObject * H225_ArrayOf_DataRate::Clone() const
8154 #ifndef PASN_LEANANDMEAN
8155 PAssert(IsClass(H225_ArrayOf_DataRate::Class()), PInvalidCast);
8156 #endif
8157 return new H225_ArrayOf_DataRate(*this);
8162 // ArrayOf_SupportedPrefix
8165 H225_ArrayOf_SupportedPrefix::H225_ArrayOf_SupportedPrefix(unsigned tag, PASN_Object::TagClass tagClass)
8166 : PASN_Array(tag, tagClass)
8171 PASN_Object * H225_ArrayOf_SupportedPrefix::CreateObject() const
8173 return new H225_SupportedPrefix;
8177 H225_SupportedPrefix & H225_ArrayOf_SupportedPrefix::operator[](PINDEX i) const
8179 return (H225_SupportedPrefix &)array[i];
8183 PObject * H225_ArrayOf_SupportedPrefix::Clone() const
8185 #ifndef PASN_LEANANDMEAN
8186 PAssert(IsClass(H225_ArrayOf_SupportedPrefix::Class()), PInvalidCast);
8187 #endif
8188 return new H225_ArrayOf_SupportedPrefix(*this);
8193 #ifndef PASN_NOPRINTON
8194 const static PASN_Names Names_H225_TunnelledProtocol_id[]={
8195 {"tunnelledProtocolObjectID",0}
8196 ,{"tunnelledProtocolAlternateID",1}
8198 #endif
8200 // TunnelledProtocol_id
8203 H225_TunnelledProtocol_id::H225_TunnelledProtocol_id(unsigned tag, PASN_Object::TagClass tagClass)
8204 : PASN_Choice(tag, tagClass, 2, TRUE
8205 #ifndef PASN_NOPRINTON
8206 ,(const PASN_Names *)Names_H225_TunnelledProtocol_id,2
8207 #endif
8213 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8214 H225_TunnelledProtocol_id::operator H225_TunnelledProtocolAlternateIdentifier &() const
8215 #else
8216 H225_TunnelledProtocol_id::operator H225_TunnelledProtocolAlternateIdentifier &()
8218 #ifndef PASN_LEANANDMEAN
8219 PAssert(PIsDescendant(PAssertNULL(choice), H225_TunnelledProtocolAlternateIdentifier), PInvalidCast);
8220 #endif
8221 return *(H225_TunnelledProtocolAlternateIdentifier *)choice;
8225 H225_TunnelledProtocol_id::operator const H225_TunnelledProtocolAlternateIdentifier &() const
8226 #endif
8228 #ifndef PASN_LEANANDMEAN
8229 PAssert(PIsDescendant(PAssertNULL(choice), H225_TunnelledProtocolAlternateIdentifier), PInvalidCast);
8230 #endif
8231 return *(H225_TunnelledProtocolAlternateIdentifier *)choice;
8235 BOOL H225_TunnelledProtocol_id::CreateObject()
8237 switch (tag) {
8238 case e_tunnelledProtocolObjectID :
8239 choice = new PASN_ObjectId();
8240 return TRUE;
8241 case e_tunnelledProtocolAlternateID :
8242 choice = new H225_TunnelledProtocolAlternateIdentifier();
8243 return TRUE;
8246 choice = NULL;
8247 return FALSE;
8251 PObject * H225_TunnelledProtocol_id::Clone() const
8253 #ifndef PASN_LEANANDMEAN
8254 PAssert(IsClass(H225_TunnelledProtocol_id::Class()), PInvalidCast);
8255 #endif
8256 return new H225_TunnelledProtocol_id(*this);
8261 // AddressPattern_range
8264 H225_AddressPattern_range::H225_AddressPattern_range(unsigned tag, PASN_Object::TagClass tagClass)
8265 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
8270 #ifndef PASN_NOPRINTON
8271 void H225_AddressPattern_range::PrintOn(ostream & strm) const
8273 int indent = strm.precision() + 2;
8274 strm << "{\n";
8275 strm << setw(indent+15) << "startOfRange = " << setprecision(indent) << m_startOfRange << '\n';
8276 strm << setw(indent+13) << "endOfRange = " << setprecision(indent) << m_endOfRange << '\n';
8277 strm << setw(indent-1) << setprecision(indent-2) << "}";
8279 #endif
8282 PObject::Comparison H225_AddressPattern_range::Compare(const PObject & obj) const
8284 #ifndef PASN_LEANANDMEAN
8285 PAssert(PIsDescendant(&obj, H225_AddressPattern_range), PInvalidCast);
8286 #endif
8287 const H225_AddressPattern_range & other = (const H225_AddressPattern_range &)obj;
8289 Comparison result;
8291 if ((result = m_startOfRange.Compare(other.m_startOfRange)) != EqualTo)
8292 return result;
8293 if ((result = m_endOfRange.Compare(other.m_endOfRange)) != EqualTo)
8294 return result;
8296 return PASN_Sequence::Compare(other);
8300 PINDEX H225_AddressPattern_range::GetDataLength() const
8302 PINDEX length = 0;
8303 length += m_startOfRange.GetObjectLength();
8304 length += m_endOfRange.GetObjectLength();
8305 return length;
8309 BOOL H225_AddressPattern_range::Decode(PASN_Stream & strm)
8311 if (!PreambleDecode(strm))
8312 return FALSE;
8314 if (!m_startOfRange.Decode(strm))
8315 return FALSE;
8316 if (!m_endOfRange.Decode(strm))
8317 return FALSE;
8319 return UnknownExtensionsDecode(strm);
8323 void H225_AddressPattern_range::Encode(PASN_Stream & strm) const
8325 PreambleEncode(strm);
8327 m_startOfRange.Encode(strm);
8328 m_endOfRange.Encode(strm);
8330 UnknownExtensionsEncode(strm);
8334 PObject * H225_AddressPattern_range::Clone() const
8336 #ifndef PASN_LEANANDMEAN
8337 PAssert(IsClass(H225_AddressPattern_range::Class()), PInvalidCast);
8338 #endif
8339 return new H225_AddressPattern_range(*this);
8344 #ifndef PASN_NOPRINTON
8345 const static PASN_Names Names_H225_ANSI_41_UIM_system_id[]={
8346 {"sid",0}
8347 ,{"mid",1}
8349 #endif
8351 // ANSI-41-UIM_system-id
8354 H225_ANSI_41_UIM_system_id::H225_ANSI_41_UIM_system_id(unsigned tag, PASN_Object::TagClass tagClass)
8355 : PASN_Choice(tag, tagClass, 2, TRUE
8356 #ifndef PASN_NOPRINTON
8357 ,(const PASN_Names *)Names_H225_ANSI_41_UIM_system_id,2
8358 #endif
8364 BOOL H225_ANSI_41_UIM_system_id::CreateObject()
8366 switch (tag) {
8367 case e_sid :
8368 choice = new PASN_IA5String();
8369 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 4);
8370 return TRUE;
8371 case e_mid :
8372 choice = new PASN_IA5String();
8373 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 4);
8374 return TRUE;
8377 choice = NULL;
8378 return FALSE;
8382 PObject * H225_ANSI_41_UIM_system_id::Clone() const
8384 #ifndef PASN_LEANANDMEAN
8385 PAssert(IsClass(H225_ANSI_41_UIM_system_id::Class()), PInvalidCast);
8386 #endif
8387 return new H225_ANSI_41_UIM_system_id(*this);
8392 // ArrayOf_TransportAddress
8395 H225_ArrayOf_TransportAddress::H225_ArrayOf_TransportAddress(unsigned tag, PASN_Object::TagClass tagClass)
8396 : PASN_Array(tag, tagClass)
8401 PASN_Object * H225_ArrayOf_TransportAddress::CreateObject() const
8403 return new H225_TransportAddress;
8407 H225_TransportAddress & H225_ArrayOf_TransportAddress::operator[](PINDEX i) const
8409 return (H225_TransportAddress &)array[i];
8413 PObject * H225_ArrayOf_TransportAddress::Clone() const
8415 #ifndef PASN_LEANANDMEAN
8416 PAssert(IsClass(H225_ArrayOf_TransportAddress::Class()), PInvalidCast);
8417 #endif
8418 return new H225_ArrayOf_TransportAddress(*this);
8423 // ArrayOf_AlternateGK
8426 H225_ArrayOf_AlternateGK::H225_ArrayOf_AlternateGK(unsigned tag, PASN_Object::TagClass tagClass)
8427 : PASN_Array(tag, tagClass)
8432 PASN_Object * H225_ArrayOf_AlternateGK::CreateObject() const
8434 return new H225_AlternateGK;
8438 H225_AlternateGK & H225_ArrayOf_AlternateGK::operator[](PINDEX i) const
8440 return (H225_AlternateGK &)array[i];
8444 PObject * H225_ArrayOf_AlternateGK::Clone() const
8446 #ifndef PASN_LEANANDMEAN
8447 PAssert(IsClass(H225_ArrayOf_AlternateGK::Class()), PInvalidCast);
8448 #endif
8449 return new H225_ArrayOf_AlternateGK(*this);
8454 // CryptoH323Token_cryptoEPPwdHash
8457 H225_CryptoH323Token_cryptoEPPwdHash::H225_CryptoH323Token_cryptoEPPwdHash(unsigned tag, PASN_Object::TagClass tagClass)
8458 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
8463 #ifndef PASN_NOPRINTON
8464 void H225_CryptoH323Token_cryptoEPPwdHash::PrintOn(ostream & strm) const
8466 int indent = strm.precision() + 2;
8467 strm << "{\n";
8468 strm << setw(indent+8) << "alias = " << setprecision(indent) << m_alias << '\n';
8469 strm << setw(indent+12) << "timeStamp = " << setprecision(indent) << m_timeStamp << '\n';
8470 strm << setw(indent+8) << "token = " << setprecision(indent) << m_token << '\n';
8471 strm << setw(indent-1) << setprecision(indent-2) << "}";
8473 #endif
8476 PObject::Comparison H225_CryptoH323Token_cryptoEPPwdHash::Compare(const PObject & obj) const
8478 #ifndef PASN_LEANANDMEAN
8479 PAssert(PIsDescendant(&obj, H225_CryptoH323Token_cryptoEPPwdHash), PInvalidCast);
8480 #endif
8481 const H225_CryptoH323Token_cryptoEPPwdHash & other = (const H225_CryptoH323Token_cryptoEPPwdHash &)obj;
8483 Comparison result;
8485 if ((result = m_alias.Compare(other.m_alias)) != EqualTo)
8486 return result;
8487 if ((result = m_timeStamp.Compare(other.m_timeStamp)) != EqualTo)
8488 return result;
8489 if ((result = m_token.Compare(other.m_token)) != EqualTo)
8490 return result;
8492 return PASN_Sequence::Compare(other);
8496 PINDEX H225_CryptoH323Token_cryptoEPPwdHash::GetDataLength() const
8498 PINDEX length = 0;
8499 length += m_alias.GetObjectLength();
8500 length += m_timeStamp.GetObjectLength();
8501 length += m_token.GetObjectLength();
8502 return length;
8506 BOOL H225_CryptoH323Token_cryptoEPPwdHash::Decode(PASN_Stream & strm)
8508 if (!PreambleDecode(strm))
8509 return FALSE;
8511 if (!m_alias.Decode(strm))
8512 return FALSE;
8513 if (!m_timeStamp.Decode(strm))
8514 return FALSE;
8515 if (!m_token.Decode(strm))
8516 return FALSE;
8518 return UnknownExtensionsDecode(strm);
8522 void H225_CryptoH323Token_cryptoEPPwdHash::Encode(PASN_Stream & strm) const
8524 PreambleEncode(strm);
8526 m_alias.Encode(strm);
8527 m_timeStamp.Encode(strm);
8528 m_token.Encode(strm);
8530 UnknownExtensionsEncode(strm);
8534 PObject * H225_CryptoH323Token_cryptoEPPwdHash::Clone() const
8536 #ifndef PASN_LEANANDMEAN
8537 PAssert(IsClass(H225_CryptoH323Token_cryptoEPPwdHash::Class()), PInvalidCast);
8538 #endif
8539 return new H225_CryptoH323Token_cryptoEPPwdHash(*this);
8544 // CryptoH323Token_cryptoGKPwdHash
8547 H225_CryptoH323Token_cryptoGKPwdHash::H225_CryptoH323Token_cryptoGKPwdHash(unsigned tag, PASN_Object::TagClass tagClass)
8548 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
8553 #ifndef PASN_NOPRINTON
8554 void H225_CryptoH323Token_cryptoGKPwdHash::PrintOn(ostream & strm) const
8556 int indent = strm.precision() + 2;
8557 strm << "{\n";
8558 strm << setw(indent+15) << "gatekeeperId = " << setprecision(indent) << m_gatekeeperId << '\n';
8559 strm << setw(indent+12) << "timeStamp = " << setprecision(indent) << m_timeStamp << '\n';
8560 strm << setw(indent+8) << "token = " << setprecision(indent) << m_token << '\n';
8561 strm << setw(indent-1) << setprecision(indent-2) << "}";
8563 #endif
8566 PObject::Comparison H225_CryptoH323Token_cryptoGKPwdHash::Compare(const PObject & obj) const
8568 #ifndef PASN_LEANANDMEAN
8569 PAssert(PIsDescendant(&obj, H225_CryptoH323Token_cryptoGKPwdHash), PInvalidCast);
8570 #endif
8571 const H225_CryptoH323Token_cryptoGKPwdHash & other = (const H225_CryptoH323Token_cryptoGKPwdHash &)obj;
8573 Comparison result;
8575 if ((result = m_gatekeeperId.Compare(other.m_gatekeeperId)) != EqualTo)
8576 return result;
8577 if ((result = m_timeStamp.Compare(other.m_timeStamp)) != EqualTo)
8578 return result;
8579 if ((result = m_token.Compare(other.m_token)) != EqualTo)
8580 return result;
8582 return PASN_Sequence::Compare(other);
8586 PINDEX H225_CryptoH323Token_cryptoGKPwdHash::GetDataLength() const
8588 PINDEX length = 0;
8589 length += m_gatekeeperId.GetObjectLength();
8590 length += m_timeStamp.GetObjectLength();
8591 length += m_token.GetObjectLength();
8592 return length;
8596 BOOL H225_CryptoH323Token_cryptoGKPwdHash::Decode(PASN_Stream & strm)
8598 if (!PreambleDecode(strm))
8599 return FALSE;
8601 if (!m_gatekeeperId.Decode(strm))
8602 return FALSE;
8603 if (!m_timeStamp.Decode(strm))
8604 return FALSE;
8605 if (!m_token.Decode(strm))
8606 return FALSE;
8608 return UnknownExtensionsDecode(strm);
8612 void H225_CryptoH323Token_cryptoGKPwdHash::Encode(PASN_Stream & strm) const
8614 PreambleEncode(strm);
8616 m_gatekeeperId.Encode(strm);
8617 m_timeStamp.Encode(strm);
8618 m_token.Encode(strm);
8620 UnknownExtensionsEncode(strm);
8624 PObject * H225_CryptoH323Token_cryptoGKPwdHash::Clone() const
8626 #ifndef PASN_LEANANDMEAN
8627 PAssert(IsClass(H225_CryptoH323Token_cryptoGKPwdHash::Class()), PInvalidCast);
8628 #endif
8629 return new H225_CryptoH323Token_cryptoGKPwdHash(*this);
8634 // CapacityReportingSpecification_when
8637 H225_CapacityReportingSpecification_when::H225_CapacityReportingSpecification_when(unsigned tag, PASN_Object::TagClass tagClass)
8638 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
8643 #ifndef PASN_NOPRINTON
8644 void H225_CapacityReportingSpecification_when::PrintOn(ostream & strm) const
8646 int indent = strm.precision() + 2;
8647 strm << "{\n";
8648 if (HasOptionalField(e_callStart))
8649 strm << setw(indent+12) << "callStart = " << setprecision(indent) << m_callStart << '\n';
8650 if (HasOptionalField(e_callEnd))
8651 strm << setw(indent+10) << "callEnd = " << setprecision(indent) << m_callEnd << '\n';
8652 strm << setw(indent-1) << setprecision(indent-2) << "}";
8654 #endif
8657 PObject::Comparison H225_CapacityReportingSpecification_when::Compare(const PObject & obj) const
8659 #ifndef PASN_LEANANDMEAN
8660 PAssert(PIsDescendant(&obj, H225_CapacityReportingSpecification_when), PInvalidCast);
8661 #endif
8662 const H225_CapacityReportingSpecification_when & other = (const H225_CapacityReportingSpecification_when &)obj;
8664 Comparison result;
8666 if ((result = m_callStart.Compare(other.m_callStart)) != EqualTo)
8667 return result;
8668 if ((result = m_callEnd.Compare(other.m_callEnd)) != EqualTo)
8669 return result;
8671 return PASN_Sequence::Compare(other);
8675 PINDEX H225_CapacityReportingSpecification_when::GetDataLength() const
8677 PINDEX length = 0;
8678 if (HasOptionalField(e_callStart))
8679 length += m_callStart.GetObjectLength();
8680 if (HasOptionalField(e_callEnd))
8681 length += m_callEnd.GetObjectLength();
8682 return length;
8686 BOOL H225_CapacityReportingSpecification_when::Decode(PASN_Stream & strm)
8688 if (!PreambleDecode(strm))
8689 return FALSE;
8691 if (HasOptionalField(e_callStart) && !m_callStart.Decode(strm))
8692 return FALSE;
8693 if (HasOptionalField(e_callEnd) && !m_callEnd.Decode(strm))
8694 return FALSE;
8696 return UnknownExtensionsDecode(strm);
8700 void H225_CapacityReportingSpecification_when::Encode(PASN_Stream & strm) const
8702 PreambleEncode(strm);
8704 if (HasOptionalField(e_callStart))
8705 m_callStart.Encode(strm);
8706 if (HasOptionalField(e_callEnd))
8707 m_callEnd.Encode(strm);
8709 UnknownExtensionsEncode(strm);
8713 PObject * H225_CapacityReportingSpecification_when::Clone() const
8715 #ifndef PASN_LEANANDMEAN
8716 PAssert(IsClass(H225_CapacityReportingSpecification_when::Class()), PInvalidCast);
8717 #endif
8718 return new H225_CapacityReportingSpecification_when(*this);
8723 // ArrayOf_CallsAvailable
8726 H225_ArrayOf_CallsAvailable::H225_ArrayOf_CallsAvailable(unsigned tag, PASN_Object::TagClass tagClass)
8727 : PASN_Array(tag, tagClass)
8732 PASN_Object * H225_ArrayOf_CallsAvailable::CreateObject() const
8734 return new H225_CallsAvailable;
8738 H225_CallsAvailable & H225_ArrayOf_CallsAvailable::operator[](PINDEX i) const
8740 return (H225_CallsAvailable &)array[i];
8744 PObject * H225_ArrayOf_CallsAvailable::Clone() const
8746 #ifndef PASN_LEANANDMEAN
8747 PAssert(IsClass(H225_ArrayOf_CallsAvailable::Class()), PInvalidCast);
8748 #endif
8749 return new H225_ArrayOf_CallsAvailable(*this);
8754 // CicInfo_cic
8757 H225_CicInfo_cic::H225_CicInfo_cic(unsigned tag, PASN_Object::TagClass tagClass)
8758 : PASN_Array(tag, tagClass)
8763 PASN_Object * H225_CicInfo_cic::CreateObject() const
8765 PASN_OctetString * obj = new PASN_OctetString;
8766 obj->SetConstraints(PASN_Object::FixedConstraint, 2, 4);
8767 return obj;
8771 PASN_OctetString & H225_CicInfo_cic::operator[](PINDEX i) const
8773 return (PASN_OctetString &)array[i];
8777 PObject * H225_CicInfo_cic::Clone() const
8779 #ifndef PASN_LEANANDMEAN
8780 PAssert(IsClass(H225_CicInfo_cic::Class()), PInvalidCast);
8781 #endif
8782 return new H225_CicInfo_cic(*this);
8787 // GroupID_member
8790 H225_GroupID_member::H225_GroupID_member(unsigned tag, PASN_Object::TagClass tagClass)
8791 : PASN_Array(tag, tagClass)
8796 PASN_Object * H225_GroupID_member::CreateObject() const
8798 PASN_Integer * obj = new PASN_Integer;
8799 obj->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
8800 return obj;
8804 PASN_Integer & H225_GroupID_member::operator[](PINDEX i) const
8806 return (PASN_Integer &)array[i];
8810 PObject * H225_GroupID_member::Clone() const
8812 #ifndef PASN_LEANANDMEAN
8813 PAssert(IsClass(H225_GroupID_member::Class()), PInvalidCast);
8814 #endif
8815 return new H225_GroupID_member(*this);
8820 #ifndef PASN_NOPRINTON
8821 const static PASN_Names Names_H225_ServiceControlSession_reason[]={
8822 {"open",0}
8823 ,{"refresh",1}
8824 ,{"close",2}
8826 #endif
8828 // ServiceControlSession_reason
8831 H225_ServiceControlSession_reason::H225_ServiceControlSession_reason(unsigned tag, PASN_Object::TagClass tagClass)
8832 : PASN_Choice(tag, tagClass, 3, TRUE
8833 #ifndef PASN_NOPRINTON
8834 ,(const PASN_Names *)Names_H225_ServiceControlSession_reason,3
8835 #endif
8841 BOOL H225_ServiceControlSession_reason::CreateObject()
8843 choice = (tag <= e_close) ? new PASN_Null() : NULL;
8844 return choice != NULL;
8848 PObject * H225_ServiceControlSession_reason::Clone() const
8850 #ifndef PASN_LEANANDMEAN
8851 PAssert(IsClass(H225_ServiceControlSession_reason::Class()), PInvalidCast);
8852 #endif
8853 return new H225_ServiceControlSession_reason(*this);
8858 // RasUsageSpecification_when
8861 H225_RasUsageSpecification_when::H225_RasUsageSpecification_when(unsigned tag, PASN_Object::TagClass tagClass)
8862 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
8867 #ifndef PASN_NOPRINTON
8868 void H225_RasUsageSpecification_when::PrintOn(ostream & strm) const
8870 int indent = strm.precision() + 2;
8871 strm << "{\n";
8872 if (HasOptionalField(e_start))
8873 strm << setw(indent+8) << "start = " << setprecision(indent) << m_start << '\n';
8874 if (HasOptionalField(e_end))
8875 strm << setw(indent+6) << "end = " << setprecision(indent) << m_end << '\n';
8876 if (HasOptionalField(e_inIrr))
8877 strm << setw(indent+8) << "inIrr = " << setprecision(indent) << m_inIrr << '\n';
8878 strm << setw(indent-1) << setprecision(indent-2) << "}";
8880 #endif
8883 PObject::Comparison H225_RasUsageSpecification_when::Compare(const PObject & obj) const
8885 #ifndef PASN_LEANANDMEAN
8886 PAssert(PIsDescendant(&obj, H225_RasUsageSpecification_when), PInvalidCast);
8887 #endif
8888 const H225_RasUsageSpecification_when & other = (const H225_RasUsageSpecification_when &)obj;
8890 Comparison result;
8892 if ((result = m_start.Compare(other.m_start)) != EqualTo)
8893 return result;
8894 if ((result = m_end.Compare(other.m_end)) != EqualTo)
8895 return result;
8896 if ((result = m_inIrr.Compare(other.m_inIrr)) != EqualTo)
8897 return result;
8899 return PASN_Sequence::Compare(other);
8903 PINDEX H225_RasUsageSpecification_when::GetDataLength() const
8905 PINDEX length = 0;
8906 if (HasOptionalField(e_start))
8907 length += m_start.GetObjectLength();
8908 if (HasOptionalField(e_end))
8909 length += m_end.GetObjectLength();
8910 if (HasOptionalField(e_inIrr))
8911 length += m_inIrr.GetObjectLength();
8912 return length;
8916 BOOL H225_RasUsageSpecification_when::Decode(PASN_Stream & strm)
8918 if (!PreambleDecode(strm))
8919 return FALSE;
8921 if (HasOptionalField(e_start) && !m_start.Decode(strm))
8922 return FALSE;
8923 if (HasOptionalField(e_end) && !m_end.Decode(strm))
8924 return FALSE;
8925 if (HasOptionalField(e_inIrr) && !m_inIrr.Decode(strm))
8926 return FALSE;
8928 return UnknownExtensionsDecode(strm);
8932 void H225_RasUsageSpecification_when::Encode(PASN_Stream & strm) const
8934 PreambleEncode(strm);
8936 if (HasOptionalField(e_start))
8937 m_start.Encode(strm);
8938 if (HasOptionalField(e_end))
8939 m_end.Encode(strm);
8940 if (HasOptionalField(e_inIrr))
8941 m_inIrr.Encode(strm);
8943 UnknownExtensionsEncode(strm);
8947 PObject * H225_RasUsageSpecification_when::Clone() const
8949 #ifndef PASN_LEANANDMEAN
8950 PAssert(IsClass(H225_RasUsageSpecification_when::Class()), PInvalidCast);
8951 #endif
8952 return new H225_RasUsageSpecification_when(*this);
8957 // RasUsageSpecification_callStartingPoint
8960 H225_RasUsageSpecification_callStartingPoint::H225_RasUsageSpecification_callStartingPoint(unsigned tag, PASN_Object::TagClass tagClass)
8961 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
8966 #ifndef PASN_NOPRINTON
8967 void H225_RasUsageSpecification_callStartingPoint::PrintOn(ostream & strm) const
8969 int indent = strm.precision() + 2;
8970 strm << "{\n";
8971 if (HasOptionalField(e_alerting))
8972 strm << setw(indent+11) << "alerting = " << setprecision(indent) << m_alerting << '\n';
8973 if (HasOptionalField(e_connect))
8974 strm << setw(indent+10) << "connect = " << setprecision(indent) << m_connect << '\n';
8975 strm << setw(indent-1) << setprecision(indent-2) << "}";
8977 #endif
8980 PObject::Comparison H225_RasUsageSpecification_callStartingPoint::Compare(const PObject & obj) const
8982 #ifndef PASN_LEANANDMEAN
8983 PAssert(PIsDescendant(&obj, H225_RasUsageSpecification_callStartingPoint), PInvalidCast);
8984 #endif
8985 const H225_RasUsageSpecification_callStartingPoint & other = (const H225_RasUsageSpecification_callStartingPoint &)obj;
8987 Comparison result;
8989 if ((result = m_alerting.Compare(other.m_alerting)) != EqualTo)
8990 return result;
8991 if ((result = m_connect.Compare(other.m_connect)) != EqualTo)
8992 return result;
8994 return PASN_Sequence::Compare(other);
8998 PINDEX H225_RasUsageSpecification_callStartingPoint::GetDataLength() const
9000 PINDEX length = 0;
9001 if (HasOptionalField(e_alerting))
9002 length += m_alerting.GetObjectLength();
9003 if (HasOptionalField(e_connect))
9004 length += m_connect.GetObjectLength();
9005 return length;
9009 BOOL H225_RasUsageSpecification_callStartingPoint::Decode(PASN_Stream & strm)
9011 if (!PreambleDecode(strm))
9012 return FALSE;
9014 if (HasOptionalField(e_alerting) && !m_alerting.Decode(strm))
9015 return FALSE;
9016 if (HasOptionalField(e_connect) && !m_connect.Decode(strm))
9017 return FALSE;
9019 return UnknownExtensionsDecode(strm);
9023 void H225_RasUsageSpecification_callStartingPoint::Encode(PASN_Stream & strm) const
9025 PreambleEncode(strm);
9027 if (HasOptionalField(e_alerting))
9028 m_alerting.Encode(strm);
9029 if (HasOptionalField(e_connect))
9030 m_connect.Encode(strm);
9032 UnknownExtensionsEncode(strm);
9036 PObject * H225_RasUsageSpecification_callStartingPoint::Clone() const
9038 #ifndef PASN_LEANANDMEAN
9039 PAssert(IsClass(H225_RasUsageSpecification_callStartingPoint::Class()), PInvalidCast);
9040 #endif
9041 return new H225_RasUsageSpecification_callStartingPoint(*this);
9046 #ifndef PASN_NOPRINTON
9047 const static PASN_Names Names_H225_CallCreditServiceControl_billingMode[]={
9048 {"credit",0}
9049 ,{"debit",1}
9051 #endif
9053 // CallCreditServiceControl_billingMode
9056 H225_CallCreditServiceControl_billingMode::H225_CallCreditServiceControl_billingMode(unsigned tag, PASN_Object::TagClass tagClass)
9057 : PASN_Choice(tag, tagClass, 2, TRUE
9058 #ifndef PASN_NOPRINTON
9059 ,(const PASN_Names *)Names_H225_CallCreditServiceControl_billingMode,2
9060 #endif
9066 BOOL H225_CallCreditServiceControl_billingMode::CreateObject()
9068 choice = (tag <= e_debit) ? new PASN_Null() : NULL;
9069 return choice != NULL;
9073 PObject * H225_CallCreditServiceControl_billingMode::Clone() const
9075 #ifndef PASN_LEANANDMEAN
9076 PAssert(IsClass(H225_CallCreditServiceControl_billingMode::Class()), PInvalidCast);
9077 #endif
9078 return new H225_CallCreditServiceControl_billingMode(*this);
9083 #ifndef PASN_NOPRINTON
9084 const static PASN_Names Names_H225_CallCreditServiceControl_callStartingPoint[]={
9085 {"alerting",0}
9086 ,{"connect",1}
9088 #endif
9090 // CallCreditServiceControl_callStartingPoint
9093 H225_CallCreditServiceControl_callStartingPoint::H225_CallCreditServiceControl_callStartingPoint(unsigned tag, PASN_Object::TagClass tagClass)
9094 : PASN_Choice(tag, tagClass, 2, TRUE
9095 #ifndef PASN_NOPRINTON
9096 ,(const PASN_Names *)Names_H225_CallCreditServiceControl_callStartingPoint,2
9097 #endif
9103 BOOL H225_CallCreditServiceControl_callStartingPoint::CreateObject()
9105 choice = (tag <= e_connect) ? new PASN_Null() : NULL;
9106 return choice != NULL;
9110 PObject * H225_CallCreditServiceControl_callStartingPoint::Clone() const
9112 #ifndef PASN_LEANANDMEAN
9113 PAssert(IsClass(H225_CallCreditServiceControl_callStartingPoint::Class()), PInvalidCast);
9114 #endif
9115 return new H225_CallCreditServiceControl_callStartingPoint(*this);
9119 #endif // if ! H323_DISABLE_H225
9122 // End of h225_1.cxx