Added volume controls
[opal.git] / src / asn / h245_1.cxx
blob706f56e2683a9cd535205f9a7ca83ce422f66613
1 //
2 // h245_1.cxx
3 //
4 // Code automatically generated by asnparse.
5 //
7 #ifdef P_USE_PRAGMA
8 #pragma implementation "h245.h"
9 #endif
11 #include <ptlib.h>
12 #include "asn/h245.h"
14 #define new PNEW
17 #if ! H323_DISABLE_H245
20 #ifndef PASN_NOPRINTON
21 const static PASN_Names Names_H245_MultimediaSystemControlMessage[]={
22 {"request",0}
23 ,{"response",1}
24 ,{"command",2}
25 ,{"indication",3}
27 #endif
29 // MultimediaSystemControlMessage
32 H245_MultimediaSystemControlMessage::H245_MultimediaSystemControlMessage(unsigned tag, PASN_Object::TagClass tagClass)
33 : PASN_Choice(tag, tagClass, 4, TRUE
34 #ifndef PASN_NOPRINTON
35 ,(const PASN_Names *)Names_H245_MultimediaSystemControlMessage,4
36 #endif
42 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
43 H245_MultimediaSystemControlMessage::operator H245_RequestMessage &() const
44 #else
45 H245_MultimediaSystemControlMessage::operator H245_RequestMessage &()
47 #ifndef PASN_LEANANDMEAN
48 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMessage), PInvalidCast);
49 #endif
50 return *(H245_RequestMessage *)choice;
54 H245_MultimediaSystemControlMessage::operator const H245_RequestMessage &() const
55 #endif
57 #ifndef PASN_LEANANDMEAN
58 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMessage), PInvalidCast);
59 #endif
60 return *(H245_RequestMessage *)choice;
64 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
65 H245_MultimediaSystemControlMessage::operator H245_ResponseMessage &() const
66 #else
67 H245_MultimediaSystemControlMessage::operator H245_ResponseMessage &()
69 #ifndef PASN_LEANANDMEAN
70 PAssert(PIsDescendant(PAssertNULL(choice), H245_ResponseMessage), PInvalidCast);
71 #endif
72 return *(H245_ResponseMessage *)choice;
76 H245_MultimediaSystemControlMessage::operator const H245_ResponseMessage &() const
77 #endif
79 #ifndef PASN_LEANANDMEAN
80 PAssert(PIsDescendant(PAssertNULL(choice), H245_ResponseMessage), PInvalidCast);
81 #endif
82 return *(H245_ResponseMessage *)choice;
86 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
87 H245_MultimediaSystemControlMessage::operator H245_CommandMessage &() const
88 #else
89 H245_MultimediaSystemControlMessage::operator H245_CommandMessage &()
91 #ifndef PASN_LEANANDMEAN
92 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommandMessage), PInvalidCast);
93 #endif
94 return *(H245_CommandMessage *)choice;
98 H245_MultimediaSystemControlMessage::operator const H245_CommandMessage &() const
99 #endif
101 #ifndef PASN_LEANANDMEAN
102 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommandMessage), PInvalidCast);
103 #endif
104 return *(H245_CommandMessage *)choice;
108 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
109 H245_MultimediaSystemControlMessage::operator H245_IndicationMessage &() const
110 #else
111 H245_MultimediaSystemControlMessage::operator H245_IndicationMessage &()
113 #ifndef PASN_LEANANDMEAN
114 PAssert(PIsDescendant(PAssertNULL(choice), H245_IndicationMessage), PInvalidCast);
115 #endif
116 return *(H245_IndicationMessage *)choice;
120 H245_MultimediaSystemControlMessage::operator const H245_IndicationMessage &() const
121 #endif
123 #ifndef PASN_LEANANDMEAN
124 PAssert(PIsDescendant(PAssertNULL(choice), H245_IndicationMessage), PInvalidCast);
125 #endif
126 return *(H245_IndicationMessage *)choice;
130 BOOL H245_MultimediaSystemControlMessage::CreateObject()
132 switch (tag) {
133 case e_request :
134 choice = new H245_RequestMessage();
135 return TRUE;
136 case e_response :
137 choice = new H245_ResponseMessage();
138 return TRUE;
139 case e_command :
140 choice = new H245_CommandMessage();
141 return TRUE;
142 case e_indication :
143 choice = new H245_IndicationMessage();
144 return TRUE;
147 choice = NULL;
148 return FALSE;
152 PObject * H245_MultimediaSystemControlMessage::Clone() const
154 #ifndef PASN_LEANANDMEAN
155 PAssert(IsClass(H245_MultimediaSystemControlMessage::Class()), PInvalidCast);
156 #endif
157 return new H245_MultimediaSystemControlMessage(*this);
162 #ifndef PASN_NOPRINTON
163 const static PASN_Names Names_H245_RequestMessage[]={
164 {"nonStandard",0}
165 ,{"masterSlaveDetermination",1}
166 ,{"terminalCapabilitySet",2}
167 ,{"openLogicalChannel",3}
168 ,{"closeLogicalChannel",4}
169 ,{"requestChannelClose",5}
170 ,{"multiplexEntrySend",6}
171 ,{"requestMultiplexEntry",7}
172 ,{"requestMode",8}
173 ,{"roundTripDelayRequest",9}
174 ,{"maintenanceLoopRequest",10}
175 ,{"communicationModeRequest",11}
176 ,{"conferenceRequest",12}
177 ,{"multilinkRequest",13}
178 ,{"logicalChannelRateRequest",14}
179 ,{"genericRequest",15}
181 #endif
183 // RequestMessage
186 H245_RequestMessage::H245_RequestMessage(unsigned tag, PASN_Object::TagClass tagClass)
187 : PASN_Choice(tag, tagClass, 11, TRUE
188 #ifndef PASN_NOPRINTON
189 ,(const PASN_Names *)Names_H245_RequestMessage,16
190 #endif
196 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
197 H245_RequestMessage::operator H245_NonStandardMessage &() const
198 #else
199 H245_RequestMessage::operator H245_NonStandardMessage &()
201 #ifndef PASN_LEANANDMEAN
202 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
203 #endif
204 return *(H245_NonStandardMessage *)choice;
208 H245_RequestMessage::operator const H245_NonStandardMessage &() const
209 #endif
211 #ifndef PASN_LEANANDMEAN
212 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
213 #endif
214 return *(H245_NonStandardMessage *)choice;
218 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
219 H245_RequestMessage::operator H245_MasterSlaveDetermination &() const
220 #else
221 H245_RequestMessage::operator H245_MasterSlaveDetermination &()
223 #ifndef PASN_LEANANDMEAN
224 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDetermination), PInvalidCast);
225 #endif
226 return *(H245_MasterSlaveDetermination *)choice;
230 H245_RequestMessage::operator const H245_MasterSlaveDetermination &() const
231 #endif
233 #ifndef PASN_LEANANDMEAN
234 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDetermination), PInvalidCast);
235 #endif
236 return *(H245_MasterSlaveDetermination *)choice;
240 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
241 H245_RequestMessage::operator H245_TerminalCapabilitySet &() const
242 #else
243 H245_RequestMessage::operator H245_TerminalCapabilitySet &()
245 #ifndef PASN_LEANANDMEAN
246 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySet), PInvalidCast);
247 #endif
248 return *(H245_TerminalCapabilitySet *)choice;
252 H245_RequestMessage::operator const H245_TerminalCapabilitySet &() const
253 #endif
255 #ifndef PASN_LEANANDMEAN
256 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySet), PInvalidCast);
257 #endif
258 return *(H245_TerminalCapabilitySet *)choice;
262 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
263 H245_RequestMessage::operator H245_OpenLogicalChannel &() const
264 #else
265 H245_RequestMessage::operator H245_OpenLogicalChannel &()
267 #ifndef PASN_LEANANDMEAN
268 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannel), PInvalidCast);
269 #endif
270 return *(H245_OpenLogicalChannel *)choice;
274 H245_RequestMessage::operator const H245_OpenLogicalChannel &() const
275 #endif
277 #ifndef PASN_LEANANDMEAN
278 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannel), PInvalidCast);
279 #endif
280 return *(H245_OpenLogicalChannel *)choice;
284 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
285 H245_RequestMessage::operator H245_CloseLogicalChannel &() const
286 #else
287 H245_RequestMessage::operator H245_CloseLogicalChannel &()
289 #ifndef PASN_LEANANDMEAN
290 PAssert(PIsDescendant(PAssertNULL(choice), H245_CloseLogicalChannel), PInvalidCast);
291 #endif
292 return *(H245_CloseLogicalChannel *)choice;
296 H245_RequestMessage::operator const H245_CloseLogicalChannel &() const
297 #endif
299 #ifndef PASN_LEANANDMEAN
300 PAssert(PIsDescendant(PAssertNULL(choice), H245_CloseLogicalChannel), PInvalidCast);
301 #endif
302 return *(H245_CloseLogicalChannel *)choice;
306 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
307 H245_RequestMessage::operator H245_RequestChannelClose &() const
308 #else
309 H245_RequestMessage::operator H245_RequestChannelClose &()
311 #ifndef PASN_LEANANDMEAN
312 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelClose), PInvalidCast);
313 #endif
314 return *(H245_RequestChannelClose *)choice;
318 H245_RequestMessage::operator const H245_RequestChannelClose &() const
319 #endif
321 #ifndef PASN_LEANANDMEAN
322 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelClose), PInvalidCast);
323 #endif
324 return *(H245_RequestChannelClose *)choice;
328 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
329 H245_RequestMessage::operator H245_MultiplexEntrySend &() const
330 #else
331 H245_RequestMessage::operator H245_MultiplexEntrySend &()
333 #ifndef PASN_LEANANDMEAN
334 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySend), PInvalidCast);
335 #endif
336 return *(H245_MultiplexEntrySend *)choice;
340 H245_RequestMessage::operator const H245_MultiplexEntrySend &() const
341 #endif
343 #ifndef PASN_LEANANDMEAN
344 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySend), PInvalidCast);
345 #endif
346 return *(H245_MultiplexEntrySend *)choice;
350 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
351 H245_RequestMessage::operator H245_RequestMultiplexEntry &() const
352 #else
353 H245_RequestMessage::operator H245_RequestMultiplexEntry &()
355 #ifndef PASN_LEANANDMEAN
356 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntry), PInvalidCast);
357 #endif
358 return *(H245_RequestMultiplexEntry *)choice;
362 H245_RequestMessage::operator const H245_RequestMultiplexEntry &() const
363 #endif
365 #ifndef PASN_LEANANDMEAN
366 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntry), PInvalidCast);
367 #endif
368 return *(H245_RequestMultiplexEntry *)choice;
372 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
373 H245_RequestMessage::operator H245_RequestMode &() const
374 #else
375 H245_RequestMessage::operator H245_RequestMode &()
377 #ifndef PASN_LEANANDMEAN
378 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMode), PInvalidCast);
379 #endif
380 return *(H245_RequestMode *)choice;
384 H245_RequestMessage::operator const H245_RequestMode &() const
385 #endif
387 #ifndef PASN_LEANANDMEAN
388 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMode), PInvalidCast);
389 #endif
390 return *(H245_RequestMode *)choice;
394 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
395 H245_RequestMessage::operator H245_RoundTripDelayRequest &() const
396 #else
397 H245_RequestMessage::operator H245_RoundTripDelayRequest &()
399 #ifndef PASN_LEANANDMEAN
400 PAssert(PIsDescendant(PAssertNULL(choice), H245_RoundTripDelayRequest), PInvalidCast);
401 #endif
402 return *(H245_RoundTripDelayRequest *)choice;
406 H245_RequestMessage::operator const H245_RoundTripDelayRequest &() const
407 #endif
409 #ifndef PASN_LEANANDMEAN
410 PAssert(PIsDescendant(PAssertNULL(choice), H245_RoundTripDelayRequest), PInvalidCast);
411 #endif
412 return *(H245_RoundTripDelayRequest *)choice;
416 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
417 H245_RequestMessage::operator H245_MaintenanceLoopRequest &() const
418 #else
419 H245_RequestMessage::operator H245_MaintenanceLoopRequest &()
421 #ifndef PASN_LEANANDMEAN
422 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopRequest), PInvalidCast);
423 #endif
424 return *(H245_MaintenanceLoopRequest *)choice;
428 H245_RequestMessage::operator const H245_MaintenanceLoopRequest &() const
429 #endif
431 #ifndef PASN_LEANANDMEAN
432 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopRequest), PInvalidCast);
433 #endif
434 return *(H245_MaintenanceLoopRequest *)choice;
438 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
439 H245_RequestMessage::operator H245_CommunicationModeRequest &() const
440 #else
441 H245_RequestMessage::operator H245_CommunicationModeRequest &()
443 #ifndef PASN_LEANANDMEAN
444 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommunicationModeRequest), PInvalidCast);
445 #endif
446 return *(H245_CommunicationModeRequest *)choice;
450 H245_RequestMessage::operator const H245_CommunicationModeRequest &() const
451 #endif
453 #ifndef PASN_LEANANDMEAN
454 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommunicationModeRequest), PInvalidCast);
455 #endif
456 return *(H245_CommunicationModeRequest *)choice;
460 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
461 H245_RequestMessage::operator H245_ConferenceRequest &() const
462 #else
463 H245_RequestMessage::operator H245_ConferenceRequest &()
465 #ifndef PASN_LEANANDMEAN
466 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceRequest), PInvalidCast);
467 #endif
468 return *(H245_ConferenceRequest *)choice;
472 H245_RequestMessage::operator const H245_ConferenceRequest &() const
473 #endif
475 #ifndef PASN_LEANANDMEAN
476 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceRequest), PInvalidCast);
477 #endif
478 return *(H245_ConferenceRequest *)choice;
482 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
483 H245_RequestMessage::operator H245_MultilinkRequest &() const
484 #else
485 H245_RequestMessage::operator H245_MultilinkRequest &()
487 #ifndef PASN_LEANANDMEAN
488 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest), PInvalidCast);
489 #endif
490 return *(H245_MultilinkRequest *)choice;
494 H245_RequestMessage::operator const H245_MultilinkRequest &() const
495 #endif
497 #ifndef PASN_LEANANDMEAN
498 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest), PInvalidCast);
499 #endif
500 return *(H245_MultilinkRequest *)choice;
504 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
505 H245_RequestMessage::operator H245_LogicalChannelRateRequest &() const
506 #else
507 H245_RequestMessage::operator H245_LogicalChannelRateRequest &()
509 #ifndef PASN_LEANANDMEAN
510 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateRequest), PInvalidCast);
511 #endif
512 return *(H245_LogicalChannelRateRequest *)choice;
516 H245_RequestMessage::operator const H245_LogicalChannelRateRequest &() const
517 #endif
519 #ifndef PASN_LEANANDMEAN
520 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateRequest), PInvalidCast);
521 #endif
522 return *(H245_LogicalChannelRateRequest *)choice;
526 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
527 H245_RequestMessage::operator H245_GenericMessage &() const
528 #else
529 H245_RequestMessage::operator H245_GenericMessage &()
531 #ifndef PASN_LEANANDMEAN
532 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
533 #endif
534 return *(H245_GenericMessage *)choice;
538 H245_RequestMessage::operator const H245_GenericMessage &() const
539 #endif
541 #ifndef PASN_LEANANDMEAN
542 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
543 #endif
544 return *(H245_GenericMessage *)choice;
548 BOOL H245_RequestMessage::CreateObject()
550 switch (tag) {
551 case e_nonStandard :
552 choice = new H245_NonStandardMessage();
553 return TRUE;
554 case e_masterSlaveDetermination :
555 choice = new H245_MasterSlaveDetermination();
556 return TRUE;
557 case e_terminalCapabilitySet :
558 choice = new H245_TerminalCapabilitySet();
559 return TRUE;
560 case e_openLogicalChannel :
561 choice = new H245_OpenLogicalChannel();
562 return TRUE;
563 case e_closeLogicalChannel :
564 choice = new H245_CloseLogicalChannel();
565 return TRUE;
566 case e_requestChannelClose :
567 choice = new H245_RequestChannelClose();
568 return TRUE;
569 case e_multiplexEntrySend :
570 choice = new H245_MultiplexEntrySend();
571 return TRUE;
572 case e_requestMultiplexEntry :
573 choice = new H245_RequestMultiplexEntry();
574 return TRUE;
575 case e_requestMode :
576 choice = new H245_RequestMode();
577 return TRUE;
578 case e_roundTripDelayRequest :
579 choice = new H245_RoundTripDelayRequest();
580 return TRUE;
581 case e_maintenanceLoopRequest :
582 choice = new H245_MaintenanceLoopRequest();
583 return TRUE;
584 case e_communicationModeRequest :
585 choice = new H245_CommunicationModeRequest();
586 return TRUE;
587 case e_conferenceRequest :
588 choice = new H245_ConferenceRequest();
589 return TRUE;
590 case e_multilinkRequest :
591 choice = new H245_MultilinkRequest();
592 return TRUE;
593 case e_logicalChannelRateRequest :
594 choice = new H245_LogicalChannelRateRequest();
595 return TRUE;
596 case e_genericRequest :
597 choice = new H245_GenericMessage();
598 return TRUE;
601 choice = NULL;
602 return FALSE;
606 PObject * H245_RequestMessage::Clone() const
608 #ifndef PASN_LEANANDMEAN
609 PAssert(IsClass(H245_RequestMessage::Class()), PInvalidCast);
610 #endif
611 return new H245_RequestMessage(*this);
616 #ifndef PASN_NOPRINTON
617 const static PASN_Names Names_H245_ResponseMessage[]={
618 {"nonStandard",0}
619 ,{"masterSlaveDeterminationAck",1}
620 ,{"masterSlaveDeterminationReject",2}
621 ,{"terminalCapabilitySetAck",3}
622 ,{"terminalCapabilitySetReject",4}
623 ,{"openLogicalChannelAck",5}
624 ,{"openLogicalChannelReject",6}
625 ,{"closeLogicalChannelAck",7}
626 ,{"requestChannelCloseAck",8}
627 ,{"requestChannelCloseReject",9}
628 ,{"multiplexEntrySendAck",10}
629 ,{"multiplexEntrySendReject",11}
630 ,{"requestMultiplexEntryAck",12}
631 ,{"requestMultiplexEntryReject",13}
632 ,{"requestModeAck",14}
633 ,{"requestModeReject",15}
634 ,{"roundTripDelayResponse",16}
635 ,{"maintenanceLoopAck",17}
636 ,{"maintenanceLoopReject",18}
637 ,{"communicationModeResponse",19}
638 ,{"conferenceResponse",20}
639 ,{"multilinkResponse",21}
640 ,{"logicalChannelRateAcknowledge",22}
641 ,{"logicalChannelRateReject",23}
642 ,{"genericResponse",24}
644 #endif
646 // ResponseMessage
649 H245_ResponseMessage::H245_ResponseMessage(unsigned tag, PASN_Object::TagClass tagClass)
650 : PASN_Choice(tag, tagClass, 19, TRUE
651 #ifndef PASN_NOPRINTON
652 ,(const PASN_Names *)Names_H245_ResponseMessage,25
653 #endif
659 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
660 H245_ResponseMessage::operator H245_NonStandardMessage &() const
661 #else
662 H245_ResponseMessage::operator H245_NonStandardMessage &()
664 #ifndef PASN_LEANANDMEAN
665 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
666 #endif
667 return *(H245_NonStandardMessage *)choice;
671 H245_ResponseMessage::operator const H245_NonStandardMessage &() const
672 #endif
674 #ifndef PASN_LEANANDMEAN
675 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
676 #endif
677 return *(H245_NonStandardMessage *)choice;
681 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
682 H245_ResponseMessage::operator H245_MasterSlaveDeterminationAck &() const
683 #else
684 H245_ResponseMessage::operator H245_MasterSlaveDeterminationAck &()
686 #ifndef PASN_LEANANDMEAN
687 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDeterminationAck), PInvalidCast);
688 #endif
689 return *(H245_MasterSlaveDeterminationAck *)choice;
693 H245_ResponseMessage::operator const H245_MasterSlaveDeterminationAck &() const
694 #endif
696 #ifndef PASN_LEANANDMEAN
697 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDeterminationAck), PInvalidCast);
698 #endif
699 return *(H245_MasterSlaveDeterminationAck *)choice;
703 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
704 H245_ResponseMessage::operator H245_MasterSlaveDeterminationReject &() const
705 #else
706 H245_ResponseMessage::operator H245_MasterSlaveDeterminationReject &()
708 #ifndef PASN_LEANANDMEAN
709 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDeterminationReject), PInvalidCast);
710 #endif
711 return *(H245_MasterSlaveDeterminationReject *)choice;
715 H245_ResponseMessage::operator const H245_MasterSlaveDeterminationReject &() const
716 #endif
718 #ifndef PASN_LEANANDMEAN
719 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDeterminationReject), PInvalidCast);
720 #endif
721 return *(H245_MasterSlaveDeterminationReject *)choice;
725 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
726 H245_ResponseMessage::operator H245_TerminalCapabilitySetAck &() const
727 #else
728 H245_ResponseMessage::operator H245_TerminalCapabilitySetAck &()
730 #ifndef PASN_LEANANDMEAN
731 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetAck), PInvalidCast);
732 #endif
733 return *(H245_TerminalCapabilitySetAck *)choice;
737 H245_ResponseMessage::operator const H245_TerminalCapabilitySetAck &() const
738 #endif
740 #ifndef PASN_LEANANDMEAN
741 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetAck), PInvalidCast);
742 #endif
743 return *(H245_TerminalCapabilitySetAck *)choice;
747 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
748 H245_ResponseMessage::operator H245_TerminalCapabilitySetReject &() const
749 #else
750 H245_ResponseMessage::operator H245_TerminalCapabilitySetReject &()
752 #ifndef PASN_LEANANDMEAN
753 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetReject), PInvalidCast);
754 #endif
755 return *(H245_TerminalCapabilitySetReject *)choice;
759 H245_ResponseMessage::operator const H245_TerminalCapabilitySetReject &() const
760 #endif
762 #ifndef PASN_LEANANDMEAN
763 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetReject), PInvalidCast);
764 #endif
765 return *(H245_TerminalCapabilitySetReject *)choice;
769 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
770 H245_ResponseMessage::operator H245_OpenLogicalChannelAck &() const
771 #else
772 H245_ResponseMessage::operator H245_OpenLogicalChannelAck &()
774 #ifndef PASN_LEANANDMEAN
775 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannelAck), PInvalidCast);
776 #endif
777 return *(H245_OpenLogicalChannelAck *)choice;
781 H245_ResponseMessage::operator const H245_OpenLogicalChannelAck &() const
782 #endif
784 #ifndef PASN_LEANANDMEAN
785 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannelAck), PInvalidCast);
786 #endif
787 return *(H245_OpenLogicalChannelAck *)choice;
791 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
792 H245_ResponseMessage::operator H245_OpenLogicalChannelReject &() const
793 #else
794 H245_ResponseMessage::operator H245_OpenLogicalChannelReject &()
796 #ifndef PASN_LEANANDMEAN
797 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannelReject), PInvalidCast);
798 #endif
799 return *(H245_OpenLogicalChannelReject *)choice;
803 H245_ResponseMessage::operator const H245_OpenLogicalChannelReject &() const
804 #endif
806 #ifndef PASN_LEANANDMEAN
807 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannelReject), PInvalidCast);
808 #endif
809 return *(H245_OpenLogicalChannelReject *)choice;
813 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
814 H245_ResponseMessage::operator H245_CloseLogicalChannelAck &() const
815 #else
816 H245_ResponseMessage::operator H245_CloseLogicalChannelAck &()
818 #ifndef PASN_LEANANDMEAN
819 PAssert(PIsDescendant(PAssertNULL(choice), H245_CloseLogicalChannelAck), PInvalidCast);
820 #endif
821 return *(H245_CloseLogicalChannelAck *)choice;
825 H245_ResponseMessage::operator const H245_CloseLogicalChannelAck &() const
826 #endif
828 #ifndef PASN_LEANANDMEAN
829 PAssert(PIsDescendant(PAssertNULL(choice), H245_CloseLogicalChannelAck), PInvalidCast);
830 #endif
831 return *(H245_CloseLogicalChannelAck *)choice;
835 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
836 H245_ResponseMessage::operator H245_RequestChannelCloseAck &() const
837 #else
838 H245_ResponseMessage::operator H245_RequestChannelCloseAck &()
840 #ifndef PASN_LEANANDMEAN
841 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelCloseAck), PInvalidCast);
842 #endif
843 return *(H245_RequestChannelCloseAck *)choice;
847 H245_ResponseMessage::operator const H245_RequestChannelCloseAck &() const
848 #endif
850 #ifndef PASN_LEANANDMEAN
851 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelCloseAck), PInvalidCast);
852 #endif
853 return *(H245_RequestChannelCloseAck *)choice;
857 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
858 H245_ResponseMessage::operator H245_RequestChannelCloseReject &() const
859 #else
860 H245_ResponseMessage::operator H245_RequestChannelCloseReject &()
862 #ifndef PASN_LEANANDMEAN
863 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelCloseReject), PInvalidCast);
864 #endif
865 return *(H245_RequestChannelCloseReject *)choice;
869 H245_ResponseMessage::operator const H245_RequestChannelCloseReject &() const
870 #endif
872 #ifndef PASN_LEANANDMEAN
873 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelCloseReject), PInvalidCast);
874 #endif
875 return *(H245_RequestChannelCloseReject *)choice;
879 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
880 H245_ResponseMessage::operator H245_MultiplexEntrySendAck &() const
881 #else
882 H245_ResponseMessage::operator H245_MultiplexEntrySendAck &()
884 #ifndef PASN_LEANANDMEAN
885 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySendAck), PInvalidCast);
886 #endif
887 return *(H245_MultiplexEntrySendAck *)choice;
891 H245_ResponseMessage::operator const H245_MultiplexEntrySendAck &() const
892 #endif
894 #ifndef PASN_LEANANDMEAN
895 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySendAck), PInvalidCast);
896 #endif
897 return *(H245_MultiplexEntrySendAck *)choice;
901 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
902 H245_ResponseMessage::operator H245_MultiplexEntrySendReject &() const
903 #else
904 H245_ResponseMessage::operator H245_MultiplexEntrySendReject &()
906 #ifndef PASN_LEANANDMEAN
907 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySendReject), PInvalidCast);
908 #endif
909 return *(H245_MultiplexEntrySendReject *)choice;
913 H245_ResponseMessage::operator const H245_MultiplexEntrySendReject &() const
914 #endif
916 #ifndef PASN_LEANANDMEAN
917 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySendReject), PInvalidCast);
918 #endif
919 return *(H245_MultiplexEntrySendReject *)choice;
923 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
924 H245_ResponseMessage::operator H245_RequestMultiplexEntryAck &() const
925 #else
926 H245_ResponseMessage::operator H245_RequestMultiplexEntryAck &()
928 #ifndef PASN_LEANANDMEAN
929 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntryAck), PInvalidCast);
930 #endif
931 return *(H245_RequestMultiplexEntryAck *)choice;
935 H245_ResponseMessage::operator const H245_RequestMultiplexEntryAck &() const
936 #endif
938 #ifndef PASN_LEANANDMEAN
939 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntryAck), PInvalidCast);
940 #endif
941 return *(H245_RequestMultiplexEntryAck *)choice;
945 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
946 H245_ResponseMessage::operator H245_RequestMultiplexEntryReject &() const
947 #else
948 H245_ResponseMessage::operator H245_RequestMultiplexEntryReject &()
950 #ifndef PASN_LEANANDMEAN
951 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntryReject), PInvalidCast);
952 #endif
953 return *(H245_RequestMultiplexEntryReject *)choice;
957 H245_ResponseMessage::operator const H245_RequestMultiplexEntryReject &() const
958 #endif
960 #ifndef PASN_LEANANDMEAN
961 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntryReject), PInvalidCast);
962 #endif
963 return *(H245_RequestMultiplexEntryReject *)choice;
967 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
968 H245_ResponseMessage::operator H245_RequestModeAck &() const
969 #else
970 H245_ResponseMessage::operator H245_RequestModeAck &()
972 #ifndef PASN_LEANANDMEAN
973 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestModeAck), PInvalidCast);
974 #endif
975 return *(H245_RequestModeAck *)choice;
979 H245_ResponseMessage::operator const H245_RequestModeAck &() const
980 #endif
982 #ifndef PASN_LEANANDMEAN
983 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestModeAck), PInvalidCast);
984 #endif
985 return *(H245_RequestModeAck *)choice;
989 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
990 H245_ResponseMessage::operator H245_RequestModeReject &() const
991 #else
992 H245_ResponseMessage::operator H245_RequestModeReject &()
994 #ifndef PASN_LEANANDMEAN
995 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestModeReject), PInvalidCast);
996 #endif
997 return *(H245_RequestModeReject *)choice;
1001 H245_ResponseMessage::operator const H245_RequestModeReject &() const
1002 #endif
1004 #ifndef PASN_LEANANDMEAN
1005 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestModeReject), PInvalidCast);
1006 #endif
1007 return *(H245_RequestModeReject *)choice;
1011 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1012 H245_ResponseMessage::operator H245_RoundTripDelayResponse &() const
1013 #else
1014 H245_ResponseMessage::operator H245_RoundTripDelayResponse &()
1016 #ifndef PASN_LEANANDMEAN
1017 PAssert(PIsDescendant(PAssertNULL(choice), H245_RoundTripDelayResponse), PInvalidCast);
1018 #endif
1019 return *(H245_RoundTripDelayResponse *)choice;
1023 H245_ResponseMessage::operator const H245_RoundTripDelayResponse &() const
1024 #endif
1026 #ifndef PASN_LEANANDMEAN
1027 PAssert(PIsDescendant(PAssertNULL(choice), H245_RoundTripDelayResponse), PInvalidCast);
1028 #endif
1029 return *(H245_RoundTripDelayResponse *)choice;
1033 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1034 H245_ResponseMessage::operator H245_MaintenanceLoopAck &() const
1035 #else
1036 H245_ResponseMessage::operator H245_MaintenanceLoopAck &()
1038 #ifndef PASN_LEANANDMEAN
1039 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopAck), PInvalidCast);
1040 #endif
1041 return *(H245_MaintenanceLoopAck *)choice;
1045 H245_ResponseMessage::operator const H245_MaintenanceLoopAck &() const
1046 #endif
1048 #ifndef PASN_LEANANDMEAN
1049 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopAck), PInvalidCast);
1050 #endif
1051 return *(H245_MaintenanceLoopAck *)choice;
1055 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1056 H245_ResponseMessage::operator H245_MaintenanceLoopReject &() const
1057 #else
1058 H245_ResponseMessage::operator H245_MaintenanceLoopReject &()
1060 #ifndef PASN_LEANANDMEAN
1061 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopReject), PInvalidCast);
1062 #endif
1063 return *(H245_MaintenanceLoopReject *)choice;
1067 H245_ResponseMessage::operator const H245_MaintenanceLoopReject &() const
1068 #endif
1070 #ifndef PASN_LEANANDMEAN
1071 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopReject), PInvalidCast);
1072 #endif
1073 return *(H245_MaintenanceLoopReject *)choice;
1077 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1078 H245_ResponseMessage::operator H245_CommunicationModeResponse &() const
1079 #else
1080 H245_ResponseMessage::operator H245_CommunicationModeResponse &()
1082 #ifndef PASN_LEANANDMEAN
1083 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommunicationModeResponse), PInvalidCast);
1084 #endif
1085 return *(H245_CommunicationModeResponse *)choice;
1089 H245_ResponseMessage::operator const H245_CommunicationModeResponse &() const
1090 #endif
1092 #ifndef PASN_LEANANDMEAN
1093 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommunicationModeResponse), PInvalidCast);
1094 #endif
1095 return *(H245_CommunicationModeResponse *)choice;
1099 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1100 H245_ResponseMessage::operator H245_ConferenceResponse &() const
1101 #else
1102 H245_ResponseMessage::operator H245_ConferenceResponse &()
1104 #ifndef PASN_LEANANDMEAN
1105 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse), PInvalidCast);
1106 #endif
1107 return *(H245_ConferenceResponse *)choice;
1111 H245_ResponseMessage::operator const H245_ConferenceResponse &() const
1112 #endif
1114 #ifndef PASN_LEANANDMEAN
1115 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse), PInvalidCast);
1116 #endif
1117 return *(H245_ConferenceResponse *)choice;
1121 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1122 H245_ResponseMessage::operator H245_MultilinkResponse &() const
1123 #else
1124 H245_ResponseMessage::operator H245_MultilinkResponse &()
1126 #ifndef PASN_LEANANDMEAN
1127 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse), PInvalidCast);
1128 #endif
1129 return *(H245_MultilinkResponse *)choice;
1133 H245_ResponseMessage::operator const H245_MultilinkResponse &() const
1134 #endif
1136 #ifndef PASN_LEANANDMEAN
1137 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse), PInvalidCast);
1138 #endif
1139 return *(H245_MultilinkResponse *)choice;
1143 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1144 H245_ResponseMessage::operator H245_LogicalChannelRateAcknowledge &() const
1145 #else
1146 H245_ResponseMessage::operator H245_LogicalChannelRateAcknowledge &()
1148 #ifndef PASN_LEANANDMEAN
1149 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateAcknowledge), PInvalidCast);
1150 #endif
1151 return *(H245_LogicalChannelRateAcknowledge *)choice;
1155 H245_ResponseMessage::operator const H245_LogicalChannelRateAcknowledge &() const
1156 #endif
1158 #ifndef PASN_LEANANDMEAN
1159 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateAcknowledge), PInvalidCast);
1160 #endif
1161 return *(H245_LogicalChannelRateAcknowledge *)choice;
1165 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1166 H245_ResponseMessage::operator H245_LogicalChannelRateReject &() const
1167 #else
1168 H245_ResponseMessage::operator H245_LogicalChannelRateReject &()
1170 #ifndef PASN_LEANANDMEAN
1171 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateReject), PInvalidCast);
1172 #endif
1173 return *(H245_LogicalChannelRateReject *)choice;
1177 H245_ResponseMessage::operator const H245_LogicalChannelRateReject &() const
1178 #endif
1180 #ifndef PASN_LEANANDMEAN
1181 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateReject), PInvalidCast);
1182 #endif
1183 return *(H245_LogicalChannelRateReject *)choice;
1187 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1188 H245_ResponseMessage::operator H245_GenericMessage &() const
1189 #else
1190 H245_ResponseMessage::operator H245_GenericMessage &()
1192 #ifndef PASN_LEANANDMEAN
1193 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
1194 #endif
1195 return *(H245_GenericMessage *)choice;
1199 H245_ResponseMessage::operator const H245_GenericMessage &() const
1200 #endif
1202 #ifndef PASN_LEANANDMEAN
1203 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
1204 #endif
1205 return *(H245_GenericMessage *)choice;
1209 BOOL H245_ResponseMessage::CreateObject()
1211 switch (tag) {
1212 case e_nonStandard :
1213 choice = new H245_NonStandardMessage();
1214 return TRUE;
1215 case e_masterSlaveDeterminationAck :
1216 choice = new H245_MasterSlaveDeterminationAck();
1217 return TRUE;
1218 case e_masterSlaveDeterminationReject :
1219 choice = new H245_MasterSlaveDeterminationReject();
1220 return TRUE;
1221 case e_terminalCapabilitySetAck :
1222 choice = new H245_TerminalCapabilitySetAck();
1223 return TRUE;
1224 case e_terminalCapabilitySetReject :
1225 choice = new H245_TerminalCapabilitySetReject();
1226 return TRUE;
1227 case e_openLogicalChannelAck :
1228 choice = new H245_OpenLogicalChannelAck();
1229 return TRUE;
1230 case e_openLogicalChannelReject :
1231 choice = new H245_OpenLogicalChannelReject();
1232 return TRUE;
1233 case e_closeLogicalChannelAck :
1234 choice = new H245_CloseLogicalChannelAck();
1235 return TRUE;
1236 case e_requestChannelCloseAck :
1237 choice = new H245_RequestChannelCloseAck();
1238 return TRUE;
1239 case e_requestChannelCloseReject :
1240 choice = new H245_RequestChannelCloseReject();
1241 return TRUE;
1242 case e_multiplexEntrySendAck :
1243 choice = new H245_MultiplexEntrySendAck();
1244 return TRUE;
1245 case e_multiplexEntrySendReject :
1246 choice = new H245_MultiplexEntrySendReject();
1247 return TRUE;
1248 case e_requestMultiplexEntryAck :
1249 choice = new H245_RequestMultiplexEntryAck();
1250 return TRUE;
1251 case e_requestMultiplexEntryReject :
1252 choice = new H245_RequestMultiplexEntryReject();
1253 return TRUE;
1254 case e_requestModeAck :
1255 choice = new H245_RequestModeAck();
1256 return TRUE;
1257 case e_requestModeReject :
1258 choice = new H245_RequestModeReject();
1259 return TRUE;
1260 case e_roundTripDelayResponse :
1261 choice = new H245_RoundTripDelayResponse();
1262 return TRUE;
1263 case e_maintenanceLoopAck :
1264 choice = new H245_MaintenanceLoopAck();
1265 return TRUE;
1266 case e_maintenanceLoopReject :
1267 choice = new H245_MaintenanceLoopReject();
1268 return TRUE;
1269 case e_communicationModeResponse :
1270 choice = new H245_CommunicationModeResponse();
1271 return TRUE;
1272 case e_conferenceResponse :
1273 choice = new H245_ConferenceResponse();
1274 return TRUE;
1275 case e_multilinkResponse :
1276 choice = new H245_MultilinkResponse();
1277 return TRUE;
1278 case e_logicalChannelRateAcknowledge :
1279 choice = new H245_LogicalChannelRateAcknowledge();
1280 return TRUE;
1281 case e_logicalChannelRateReject :
1282 choice = new H245_LogicalChannelRateReject();
1283 return TRUE;
1284 case e_genericResponse :
1285 choice = new H245_GenericMessage();
1286 return TRUE;
1289 choice = NULL;
1290 return FALSE;
1294 PObject * H245_ResponseMessage::Clone() const
1296 #ifndef PASN_LEANANDMEAN
1297 PAssert(IsClass(H245_ResponseMessage::Class()), PInvalidCast);
1298 #endif
1299 return new H245_ResponseMessage(*this);
1304 #ifndef PASN_NOPRINTON
1305 const static PASN_Names Names_H245_CommandMessage[]={
1306 {"nonStandard",0}
1307 ,{"maintenanceLoopOffCommand",1}
1308 ,{"sendTerminalCapabilitySet",2}
1309 ,{"encryptionCommand",3}
1310 ,{"flowControlCommand",4}
1311 ,{"endSessionCommand",5}
1312 ,{"miscellaneousCommand",6}
1313 ,{"communicationModeCommand",7}
1314 ,{"conferenceCommand",8}
1315 ,{"h223MultiplexReconfiguration",9}
1316 ,{"newATMVCCommand",10}
1317 ,{"mobileMultilinkReconfigurationCommand",11}
1318 ,{"genericCommand",12}
1320 #endif
1322 // CommandMessage
1325 H245_CommandMessage::H245_CommandMessage(unsigned tag, PASN_Object::TagClass tagClass)
1326 : PASN_Choice(tag, tagClass, 7, TRUE
1327 #ifndef PASN_NOPRINTON
1328 ,(const PASN_Names *)Names_H245_CommandMessage,13
1329 #endif
1335 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1336 H245_CommandMessage::operator H245_NonStandardMessage &() const
1337 #else
1338 H245_CommandMessage::operator H245_NonStandardMessage &()
1340 #ifndef PASN_LEANANDMEAN
1341 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
1342 #endif
1343 return *(H245_NonStandardMessage *)choice;
1347 H245_CommandMessage::operator const H245_NonStandardMessage &() const
1348 #endif
1350 #ifndef PASN_LEANANDMEAN
1351 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
1352 #endif
1353 return *(H245_NonStandardMessage *)choice;
1357 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1358 H245_CommandMessage::operator H245_MaintenanceLoopOffCommand &() const
1359 #else
1360 H245_CommandMessage::operator H245_MaintenanceLoopOffCommand &()
1362 #ifndef PASN_LEANANDMEAN
1363 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopOffCommand), PInvalidCast);
1364 #endif
1365 return *(H245_MaintenanceLoopOffCommand *)choice;
1369 H245_CommandMessage::operator const H245_MaintenanceLoopOffCommand &() const
1370 #endif
1372 #ifndef PASN_LEANANDMEAN
1373 PAssert(PIsDescendant(PAssertNULL(choice), H245_MaintenanceLoopOffCommand), PInvalidCast);
1374 #endif
1375 return *(H245_MaintenanceLoopOffCommand *)choice;
1379 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1380 H245_CommandMessage::operator H245_SendTerminalCapabilitySet &() const
1381 #else
1382 H245_CommandMessage::operator H245_SendTerminalCapabilitySet &()
1384 #ifndef PASN_LEANANDMEAN
1385 PAssert(PIsDescendant(PAssertNULL(choice), H245_SendTerminalCapabilitySet), PInvalidCast);
1386 #endif
1387 return *(H245_SendTerminalCapabilitySet *)choice;
1391 H245_CommandMessage::operator const H245_SendTerminalCapabilitySet &() const
1392 #endif
1394 #ifndef PASN_LEANANDMEAN
1395 PAssert(PIsDescendant(PAssertNULL(choice), H245_SendTerminalCapabilitySet), PInvalidCast);
1396 #endif
1397 return *(H245_SendTerminalCapabilitySet *)choice;
1401 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1402 H245_CommandMessage::operator H245_EncryptionCommand &() const
1403 #else
1404 H245_CommandMessage::operator H245_EncryptionCommand &()
1406 #ifndef PASN_LEANANDMEAN
1407 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionCommand), PInvalidCast);
1408 #endif
1409 return *(H245_EncryptionCommand *)choice;
1413 H245_CommandMessage::operator const H245_EncryptionCommand &() const
1414 #endif
1416 #ifndef PASN_LEANANDMEAN
1417 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionCommand), PInvalidCast);
1418 #endif
1419 return *(H245_EncryptionCommand *)choice;
1423 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1424 H245_CommandMessage::operator H245_FlowControlCommand &() const
1425 #else
1426 H245_CommandMessage::operator H245_FlowControlCommand &()
1428 #ifndef PASN_LEANANDMEAN
1429 PAssert(PIsDescendant(PAssertNULL(choice), H245_FlowControlCommand), PInvalidCast);
1430 #endif
1431 return *(H245_FlowControlCommand *)choice;
1435 H245_CommandMessage::operator const H245_FlowControlCommand &() const
1436 #endif
1438 #ifndef PASN_LEANANDMEAN
1439 PAssert(PIsDescendant(PAssertNULL(choice), H245_FlowControlCommand), PInvalidCast);
1440 #endif
1441 return *(H245_FlowControlCommand *)choice;
1445 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1446 H245_CommandMessage::operator H245_EndSessionCommand &() const
1447 #else
1448 H245_CommandMessage::operator H245_EndSessionCommand &()
1450 #ifndef PASN_LEANANDMEAN
1451 PAssert(PIsDescendant(PAssertNULL(choice), H245_EndSessionCommand), PInvalidCast);
1452 #endif
1453 return *(H245_EndSessionCommand *)choice;
1457 H245_CommandMessage::operator const H245_EndSessionCommand &() const
1458 #endif
1460 #ifndef PASN_LEANANDMEAN
1461 PAssert(PIsDescendant(PAssertNULL(choice), H245_EndSessionCommand), PInvalidCast);
1462 #endif
1463 return *(H245_EndSessionCommand *)choice;
1467 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1468 H245_CommandMessage::operator H245_MiscellaneousCommand &() const
1469 #else
1470 H245_CommandMessage::operator H245_MiscellaneousCommand &()
1472 #ifndef PASN_LEANANDMEAN
1473 PAssert(PIsDescendant(PAssertNULL(choice), H245_MiscellaneousCommand), PInvalidCast);
1474 #endif
1475 return *(H245_MiscellaneousCommand *)choice;
1479 H245_CommandMessage::operator const H245_MiscellaneousCommand &() const
1480 #endif
1482 #ifndef PASN_LEANANDMEAN
1483 PAssert(PIsDescendant(PAssertNULL(choice), H245_MiscellaneousCommand), PInvalidCast);
1484 #endif
1485 return *(H245_MiscellaneousCommand *)choice;
1489 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1490 H245_CommandMessage::operator H245_CommunicationModeCommand &() const
1491 #else
1492 H245_CommandMessage::operator H245_CommunicationModeCommand &()
1494 #ifndef PASN_LEANANDMEAN
1495 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommunicationModeCommand), PInvalidCast);
1496 #endif
1497 return *(H245_CommunicationModeCommand *)choice;
1501 H245_CommandMessage::operator const H245_CommunicationModeCommand &() const
1502 #endif
1504 #ifndef PASN_LEANANDMEAN
1505 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommunicationModeCommand), PInvalidCast);
1506 #endif
1507 return *(H245_CommunicationModeCommand *)choice;
1511 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1512 H245_CommandMessage::operator H245_ConferenceCommand &() const
1513 #else
1514 H245_CommandMessage::operator H245_ConferenceCommand &()
1516 #ifndef PASN_LEANANDMEAN
1517 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceCommand), PInvalidCast);
1518 #endif
1519 return *(H245_ConferenceCommand *)choice;
1523 H245_CommandMessage::operator const H245_ConferenceCommand &() const
1524 #endif
1526 #ifndef PASN_LEANANDMEAN
1527 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceCommand), PInvalidCast);
1528 #endif
1529 return *(H245_ConferenceCommand *)choice;
1533 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1534 H245_CommandMessage::operator H245_H223MultiplexReconfiguration &() const
1535 #else
1536 H245_CommandMessage::operator H245_H223MultiplexReconfiguration &()
1538 #ifndef PASN_LEANANDMEAN
1539 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223MultiplexReconfiguration), PInvalidCast);
1540 #endif
1541 return *(H245_H223MultiplexReconfiguration *)choice;
1545 H245_CommandMessage::operator const H245_H223MultiplexReconfiguration &() const
1546 #endif
1548 #ifndef PASN_LEANANDMEAN
1549 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223MultiplexReconfiguration), PInvalidCast);
1550 #endif
1551 return *(H245_H223MultiplexReconfiguration *)choice;
1555 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1556 H245_CommandMessage::operator H245_NewATMVCCommand &() const
1557 #else
1558 H245_CommandMessage::operator H245_NewATMVCCommand &()
1560 #ifndef PASN_LEANANDMEAN
1561 PAssert(PIsDescendant(PAssertNULL(choice), H245_NewATMVCCommand), PInvalidCast);
1562 #endif
1563 return *(H245_NewATMVCCommand *)choice;
1567 H245_CommandMessage::operator const H245_NewATMVCCommand &() const
1568 #endif
1570 #ifndef PASN_LEANANDMEAN
1571 PAssert(PIsDescendant(PAssertNULL(choice), H245_NewATMVCCommand), PInvalidCast);
1572 #endif
1573 return *(H245_NewATMVCCommand *)choice;
1577 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1578 H245_CommandMessage::operator H245_MobileMultilinkReconfigurationCommand &() const
1579 #else
1580 H245_CommandMessage::operator H245_MobileMultilinkReconfigurationCommand &()
1582 #ifndef PASN_LEANANDMEAN
1583 PAssert(PIsDescendant(PAssertNULL(choice), H245_MobileMultilinkReconfigurationCommand), PInvalidCast);
1584 #endif
1585 return *(H245_MobileMultilinkReconfigurationCommand *)choice;
1589 H245_CommandMessage::operator const H245_MobileMultilinkReconfigurationCommand &() const
1590 #endif
1592 #ifndef PASN_LEANANDMEAN
1593 PAssert(PIsDescendant(PAssertNULL(choice), H245_MobileMultilinkReconfigurationCommand), PInvalidCast);
1594 #endif
1595 return *(H245_MobileMultilinkReconfigurationCommand *)choice;
1599 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1600 H245_CommandMessage::operator H245_GenericMessage &() const
1601 #else
1602 H245_CommandMessage::operator H245_GenericMessage &()
1604 #ifndef PASN_LEANANDMEAN
1605 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
1606 #endif
1607 return *(H245_GenericMessage *)choice;
1611 H245_CommandMessage::operator const H245_GenericMessage &() const
1612 #endif
1614 #ifndef PASN_LEANANDMEAN
1615 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
1616 #endif
1617 return *(H245_GenericMessage *)choice;
1621 BOOL H245_CommandMessage::CreateObject()
1623 switch (tag) {
1624 case e_nonStandard :
1625 choice = new H245_NonStandardMessage();
1626 return TRUE;
1627 case e_maintenanceLoopOffCommand :
1628 choice = new H245_MaintenanceLoopOffCommand();
1629 return TRUE;
1630 case e_sendTerminalCapabilitySet :
1631 choice = new H245_SendTerminalCapabilitySet();
1632 return TRUE;
1633 case e_encryptionCommand :
1634 choice = new H245_EncryptionCommand();
1635 return TRUE;
1636 case e_flowControlCommand :
1637 choice = new H245_FlowControlCommand();
1638 return TRUE;
1639 case e_endSessionCommand :
1640 choice = new H245_EndSessionCommand();
1641 return TRUE;
1642 case e_miscellaneousCommand :
1643 choice = new H245_MiscellaneousCommand();
1644 return TRUE;
1645 case e_communicationModeCommand :
1646 choice = new H245_CommunicationModeCommand();
1647 return TRUE;
1648 case e_conferenceCommand :
1649 choice = new H245_ConferenceCommand();
1650 return TRUE;
1651 case e_h223MultiplexReconfiguration :
1652 choice = new H245_H223MultiplexReconfiguration();
1653 return TRUE;
1654 case e_newATMVCCommand :
1655 choice = new H245_NewATMVCCommand();
1656 return TRUE;
1657 case e_mobileMultilinkReconfigurationCommand :
1658 choice = new H245_MobileMultilinkReconfigurationCommand();
1659 return TRUE;
1660 case e_genericCommand :
1661 choice = new H245_GenericMessage();
1662 return TRUE;
1665 choice = NULL;
1666 return FALSE;
1670 PObject * H245_CommandMessage::Clone() const
1672 #ifndef PASN_LEANANDMEAN
1673 PAssert(IsClass(H245_CommandMessage::Class()), PInvalidCast);
1674 #endif
1675 return new H245_CommandMessage(*this);
1680 #ifndef PASN_NOPRINTON
1681 const static PASN_Names Names_H245_IndicationMessage[]={
1682 {"nonStandard",0}
1683 ,{"functionNotUnderstood",1}
1684 ,{"masterSlaveDeterminationRelease",2}
1685 ,{"terminalCapabilitySetRelease",3}
1686 ,{"openLogicalChannelConfirm",4}
1687 ,{"requestChannelCloseRelease",5}
1688 ,{"multiplexEntrySendRelease",6}
1689 ,{"requestMultiplexEntryRelease",7}
1690 ,{"requestModeRelease",8}
1691 ,{"miscellaneousIndication",9}
1692 ,{"jitterIndication",10}
1693 ,{"h223SkewIndication",11}
1694 ,{"newATMVCIndication",12}
1695 ,{"userInput",13}
1696 ,{"h2250MaximumSkewIndication",14}
1697 ,{"mcLocationIndication",15}
1698 ,{"conferenceIndication",16}
1699 ,{"vendorIdentification",17}
1700 ,{"functionNotSupported",18}
1701 ,{"multilinkIndication",19}
1702 ,{"logicalChannelRateRelease",20}
1703 ,{"flowControlIndication",21}
1704 ,{"mobileMultilinkReconfigurationIndication",22}
1705 ,{"genericIndication",23}
1707 #endif
1709 // IndicationMessage
1712 H245_IndicationMessage::H245_IndicationMessage(unsigned tag, PASN_Object::TagClass tagClass)
1713 : PASN_Choice(tag, tagClass, 14, TRUE
1714 #ifndef PASN_NOPRINTON
1715 ,(const PASN_Names *)Names_H245_IndicationMessage,24
1716 #endif
1722 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1723 H245_IndicationMessage::operator H245_NonStandardMessage &() const
1724 #else
1725 H245_IndicationMessage::operator H245_NonStandardMessage &()
1727 #ifndef PASN_LEANANDMEAN
1728 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
1729 #endif
1730 return *(H245_NonStandardMessage *)choice;
1734 H245_IndicationMessage::operator const H245_NonStandardMessage &() const
1735 #endif
1737 #ifndef PASN_LEANANDMEAN
1738 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
1739 #endif
1740 return *(H245_NonStandardMessage *)choice;
1744 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1745 H245_IndicationMessage::operator H245_FunctionNotUnderstood &() const
1746 #else
1747 H245_IndicationMessage::operator H245_FunctionNotUnderstood &()
1749 #ifndef PASN_LEANANDMEAN
1750 PAssert(PIsDescendant(PAssertNULL(choice), H245_FunctionNotUnderstood), PInvalidCast);
1751 #endif
1752 return *(H245_FunctionNotUnderstood *)choice;
1756 H245_IndicationMessage::operator const H245_FunctionNotUnderstood &() const
1757 #endif
1759 #ifndef PASN_LEANANDMEAN
1760 PAssert(PIsDescendant(PAssertNULL(choice), H245_FunctionNotUnderstood), PInvalidCast);
1761 #endif
1762 return *(H245_FunctionNotUnderstood *)choice;
1766 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1767 H245_IndicationMessage::operator H245_MasterSlaveDeterminationRelease &() const
1768 #else
1769 H245_IndicationMessage::operator H245_MasterSlaveDeterminationRelease &()
1771 #ifndef PASN_LEANANDMEAN
1772 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDeterminationRelease), PInvalidCast);
1773 #endif
1774 return *(H245_MasterSlaveDeterminationRelease *)choice;
1778 H245_IndicationMessage::operator const H245_MasterSlaveDeterminationRelease &() const
1779 #endif
1781 #ifndef PASN_LEANANDMEAN
1782 PAssert(PIsDescendant(PAssertNULL(choice), H245_MasterSlaveDeterminationRelease), PInvalidCast);
1783 #endif
1784 return *(H245_MasterSlaveDeterminationRelease *)choice;
1788 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1789 H245_IndicationMessage::operator H245_TerminalCapabilitySetRelease &() const
1790 #else
1791 H245_IndicationMessage::operator H245_TerminalCapabilitySetRelease &()
1793 #ifndef PASN_LEANANDMEAN
1794 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetRelease), PInvalidCast);
1795 #endif
1796 return *(H245_TerminalCapabilitySetRelease *)choice;
1800 H245_IndicationMessage::operator const H245_TerminalCapabilitySetRelease &() const
1801 #endif
1803 #ifndef PASN_LEANANDMEAN
1804 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetRelease), PInvalidCast);
1805 #endif
1806 return *(H245_TerminalCapabilitySetRelease *)choice;
1810 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1811 H245_IndicationMessage::operator H245_OpenLogicalChannelConfirm &() const
1812 #else
1813 H245_IndicationMessage::operator H245_OpenLogicalChannelConfirm &()
1815 #ifndef PASN_LEANANDMEAN
1816 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannelConfirm), PInvalidCast);
1817 #endif
1818 return *(H245_OpenLogicalChannelConfirm *)choice;
1822 H245_IndicationMessage::operator const H245_OpenLogicalChannelConfirm &() const
1823 #endif
1825 #ifndef PASN_LEANANDMEAN
1826 PAssert(PIsDescendant(PAssertNULL(choice), H245_OpenLogicalChannelConfirm), PInvalidCast);
1827 #endif
1828 return *(H245_OpenLogicalChannelConfirm *)choice;
1832 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1833 H245_IndicationMessage::operator H245_RequestChannelCloseRelease &() const
1834 #else
1835 H245_IndicationMessage::operator H245_RequestChannelCloseRelease &()
1837 #ifndef PASN_LEANANDMEAN
1838 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelCloseRelease), PInvalidCast);
1839 #endif
1840 return *(H245_RequestChannelCloseRelease *)choice;
1844 H245_IndicationMessage::operator const H245_RequestChannelCloseRelease &() const
1845 #endif
1847 #ifndef PASN_LEANANDMEAN
1848 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestChannelCloseRelease), PInvalidCast);
1849 #endif
1850 return *(H245_RequestChannelCloseRelease *)choice;
1854 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1855 H245_IndicationMessage::operator H245_MultiplexEntrySendRelease &() const
1856 #else
1857 H245_IndicationMessage::operator H245_MultiplexEntrySendRelease &()
1859 #ifndef PASN_LEANANDMEAN
1860 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySendRelease), PInvalidCast);
1861 #endif
1862 return *(H245_MultiplexEntrySendRelease *)choice;
1866 H245_IndicationMessage::operator const H245_MultiplexEntrySendRelease &() const
1867 #endif
1869 #ifndef PASN_LEANANDMEAN
1870 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexEntrySendRelease), PInvalidCast);
1871 #endif
1872 return *(H245_MultiplexEntrySendRelease *)choice;
1876 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1877 H245_IndicationMessage::operator H245_RequestMultiplexEntryRelease &() const
1878 #else
1879 H245_IndicationMessage::operator H245_RequestMultiplexEntryRelease &()
1881 #ifndef PASN_LEANANDMEAN
1882 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntryRelease), PInvalidCast);
1883 #endif
1884 return *(H245_RequestMultiplexEntryRelease *)choice;
1888 H245_IndicationMessage::operator const H245_RequestMultiplexEntryRelease &() const
1889 #endif
1891 #ifndef PASN_LEANANDMEAN
1892 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMultiplexEntryRelease), PInvalidCast);
1893 #endif
1894 return *(H245_RequestMultiplexEntryRelease *)choice;
1898 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1899 H245_IndicationMessage::operator H245_RequestModeRelease &() const
1900 #else
1901 H245_IndicationMessage::operator H245_RequestModeRelease &()
1903 #ifndef PASN_LEANANDMEAN
1904 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestModeRelease), PInvalidCast);
1905 #endif
1906 return *(H245_RequestModeRelease *)choice;
1910 H245_IndicationMessage::operator const H245_RequestModeRelease &() const
1911 #endif
1913 #ifndef PASN_LEANANDMEAN
1914 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestModeRelease), PInvalidCast);
1915 #endif
1916 return *(H245_RequestModeRelease *)choice;
1920 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1921 H245_IndicationMessage::operator H245_MiscellaneousIndication &() const
1922 #else
1923 H245_IndicationMessage::operator H245_MiscellaneousIndication &()
1925 #ifndef PASN_LEANANDMEAN
1926 PAssert(PIsDescendant(PAssertNULL(choice), H245_MiscellaneousIndication), PInvalidCast);
1927 #endif
1928 return *(H245_MiscellaneousIndication *)choice;
1932 H245_IndicationMessage::operator const H245_MiscellaneousIndication &() const
1933 #endif
1935 #ifndef PASN_LEANANDMEAN
1936 PAssert(PIsDescendant(PAssertNULL(choice), H245_MiscellaneousIndication), PInvalidCast);
1937 #endif
1938 return *(H245_MiscellaneousIndication *)choice;
1942 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1943 H245_IndicationMessage::operator H245_JitterIndication &() const
1944 #else
1945 H245_IndicationMessage::operator H245_JitterIndication &()
1947 #ifndef PASN_LEANANDMEAN
1948 PAssert(PIsDescendant(PAssertNULL(choice), H245_JitterIndication), PInvalidCast);
1949 #endif
1950 return *(H245_JitterIndication *)choice;
1954 H245_IndicationMessage::operator const H245_JitterIndication &() const
1955 #endif
1957 #ifndef PASN_LEANANDMEAN
1958 PAssert(PIsDescendant(PAssertNULL(choice), H245_JitterIndication), PInvalidCast);
1959 #endif
1960 return *(H245_JitterIndication *)choice;
1964 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1965 H245_IndicationMessage::operator H245_H223SkewIndication &() const
1966 #else
1967 H245_IndicationMessage::operator H245_H223SkewIndication &()
1969 #ifndef PASN_LEANANDMEAN
1970 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223SkewIndication), PInvalidCast);
1971 #endif
1972 return *(H245_H223SkewIndication *)choice;
1976 H245_IndicationMessage::operator const H245_H223SkewIndication &() const
1977 #endif
1979 #ifndef PASN_LEANANDMEAN
1980 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223SkewIndication), PInvalidCast);
1981 #endif
1982 return *(H245_H223SkewIndication *)choice;
1986 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1987 H245_IndicationMessage::operator H245_NewATMVCIndication &() const
1988 #else
1989 H245_IndicationMessage::operator H245_NewATMVCIndication &()
1991 #ifndef PASN_LEANANDMEAN
1992 PAssert(PIsDescendant(PAssertNULL(choice), H245_NewATMVCIndication), PInvalidCast);
1993 #endif
1994 return *(H245_NewATMVCIndication *)choice;
1998 H245_IndicationMessage::operator const H245_NewATMVCIndication &() const
1999 #endif
2001 #ifndef PASN_LEANANDMEAN
2002 PAssert(PIsDescendant(PAssertNULL(choice), H245_NewATMVCIndication), PInvalidCast);
2003 #endif
2004 return *(H245_NewATMVCIndication *)choice;
2008 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2009 H245_IndicationMessage::operator H245_UserInputIndication &() const
2010 #else
2011 H245_IndicationMessage::operator H245_UserInputIndication &()
2013 #ifndef PASN_LEANANDMEAN
2014 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication), PInvalidCast);
2015 #endif
2016 return *(H245_UserInputIndication *)choice;
2020 H245_IndicationMessage::operator const H245_UserInputIndication &() const
2021 #endif
2023 #ifndef PASN_LEANANDMEAN
2024 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication), PInvalidCast);
2025 #endif
2026 return *(H245_UserInputIndication *)choice;
2030 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2031 H245_IndicationMessage::operator H245_H2250MaximumSkewIndication &() const
2032 #else
2033 H245_IndicationMessage::operator H245_H2250MaximumSkewIndication &()
2035 #ifndef PASN_LEANANDMEAN
2036 PAssert(PIsDescendant(PAssertNULL(choice), H245_H2250MaximumSkewIndication), PInvalidCast);
2037 #endif
2038 return *(H245_H2250MaximumSkewIndication *)choice;
2042 H245_IndicationMessage::operator const H245_H2250MaximumSkewIndication &() const
2043 #endif
2045 #ifndef PASN_LEANANDMEAN
2046 PAssert(PIsDescendant(PAssertNULL(choice), H245_H2250MaximumSkewIndication), PInvalidCast);
2047 #endif
2048 return *(H245_H2250MaximumSkewIndication *)choice;
2052 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2053 H245_IndicationMessage::operator H245_MCLocationIndication &() const
2054 #else
2055 H245_IndicationMessage::operator H245_MCLocationIndication &()
2057 #ifndef PASN_LEANANDMEAN
2058 PAssert(PIsDescendant(PAssertNULL(choice), H245_MCLocationIndication), PInvalidCast);
2059 #endif
2060 return *(H245_MCLocationIndication *)choice;
2064 H245_IndicationMessage::operator const H245_MCLocationIndication &() const
2065 #endif
2067 #ifndef PASN_LEANANDMEAN
2068 PAssert(PIsDescendant(PAssertNULL(choice), H245_MCLocationIndication), PInvalidCast);
2069 #endif
2070 return *(H245_MCLocationIndication *)choice;
2074 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2075 H245_IndicationMessage::operator H245_ConferenceIndication &() const
2076 #else
2077 H245_IndicationMessage::operator H245_ConferenceIndication &()
2079 #ifndef PASN_LEANANDMEAN
2080 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceIndication), PInvalidCast);
2081 #endif
2082 return *(H245_ConferenceIndication *)choice;
2086 H245_IndicationMessage::operator const H245_ConferenceIndication &() const
2087 #endif
2089 #ifndef PASN_LEANANDMEAN
2090 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceIndication), PInvalidCast);
2091 #endif
2092 return *(H245_ConferenceIndication *)choice;
2096 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2097 H245_IndicationMessage::operator H245_VendorIdentification &() const
2098 #else
2099 H245_IndicationMessage::operator H245_VendorIdentification &()
2101 #ifndef PASN_LEANANDMEAN
2102 PAssert(PIsDescendant(PAssertNULL(choice), H245_VendorIdentification), PInvalidCast);
2103 #endif
2104 return *(H245_VendorIdentification *)choice;
2108 H245_IndicationMessage::operator const H245_VendorIdentification &() const
2109 #endif
2111 #ifndef PASN_LEANANDMEAN
2112 PAssert(PIsDescendant(PAssertNULL(choice), H245_VendorIdentification), PInvalidCast);
2113 #endif
2114 return *(H245_VendorIdentification *)choice;
2118 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2119 H245_IndicationMessage::operator H245_FunctionNotSupported &() const
2120 #else
2121 H245_IndicationMessage::operator H245_FunctionNotSupported &()
2123 #ifndef PASN_LEANANDMEAN
2124 PAssert(PIsDescendant(PAssertNULL(choice), H245_FunctionNotSupported), PInvalidCast);
2125 #endif
2126 return *(H245_FunctionNotSupported *)choice;
2130 H245_IndicationMessage::operator const H245_FunctionNotSupported &() const
2131 #endif
2133 #ifndef PASN_LEANANDMEAN
2134 PAssert(PIsDescendant(PAssertNULL(choice), H245_FunctionNotSupported), PInvalidCast);
2135 #endif
2136 return *(H245_FunctionNotSupported *)choice;
2140 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2141 H245_IndicationMessage::operator H245_MultilinkIndication &() const
2142 #else
2143 H245_IndicationMessage::operator H245_MultilinkIndication &()
2145 #ifndef PASN_LEANANDMEAN
2146 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkIndication), PInvalidCast);
2147 #endif
2148 return *(H245_MultilinkIndication *)choice;
2152 H245_IndicationMessage::operator const H245_MultilinkIndication &() const
2153 #endif
2155 #ifndef PASN_LEANANDMEAN
2156 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkIndication), PInvalidCast);
2157 #endif
2158 return *(H245_MultilinkIndication *)choice;
2162 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2163 H245_IndicationMessage::operator H245_LogicalChannelRateRelease &() const
2164 #else
2165 H245_IndicationMessage::operator H245_LogicalChannelRateRelease &()
2167 #ifndef PASN_LEANANDMEAN
2168 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateRelease), PInvalidCast);
2169 #endif
2170 return *(H245_LogicalChannelRateRelease *)choice;
2174 H245_IndicationMessage::operator const H245_LogicalChannelRateRelease &() const
2175 #endif
2177 #ifndef PASN_LEANANDMEAN
2178 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelRateRelease), PInvalidCast);
2179 #endif
2180 return *(H245_LogicalChannelRateRelease *)choice;
2184 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2185 H245_IndicationMessage::operator H245_FlowControlIndication &() const
2186 #else
2187 H245_IndicationMessage::operator H245_FlowControlIndication &()
2189 #ifndef PASN_LEANANDMEAN
2190 PAssert(PIsDescendant(PAssertNULL(choice), H245_FlowControlIndication), PInvalidCast);
2191 #endif
2192 return *(H245_FlowControlIndication *)choice;
2196 H245_IndicationMessage::operator const H245_FlowControlIndication &() const
2197 #endif
2199 #ifndef PASN_LEANANDMEAN
2200 PAssert(PIsDescendant(PAssertNULL(choice), H245_FlowControlIndication), PInvalidCast);
2201 #endif
2202 return *(H245_FlowControlIndication *)choice;
2206 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2207 H245_IndicationMessage::operator H245_MobileMultilinkReconfigurationIndication &() const
2208 #else
2209 H245_IndicationMessage::operator H245_MobileMultilinkReconfigurationIndication &()
2211 #ifndef PASN_LEANANDMEAN
2212 PAssert(PIsDescendant(PAssertNULL(choice), H245_MobileMultilinkReconfigurationIndication), PInvalidCast);
2213 #endif
2214 return *(H245_MobileMultilinkReconfigurationIndication *)choice;
2218 H245_IndicationMessage::operator const H245_MobileMultilinkReconfigurationIndication &() const
2219 #endif
2221 #ifndef PASN_LEANANDMEAN
2222 PAssert(PIsDescendant(PAssertNULL(choice), H245_MobileMultilinkReconfigurationIndication), PInvalidCast);
2223 #endif
2224 return *(H245_MobileMultilinkReconfigurationIndication *)choice;
2228 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2229 H245_IndicationMessage::operator H245_GenericMessage &() const
2230 #else
2231 H245_IndicationMessage::operator H245_GenericMessage &()
2233 #ifndef PASN_LEANANDMEAN
2234 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
2235 #endif
2236 return *(H245_GenericMessage *)choice;
2240 H245_IndicationMessage::operator const H245_GenericMessage &() const
2241 #endif
2243 #ifndef PASN_LEANANDMEAN
2244 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericMessage), PInvalidCast);
2245 #endif
2246 return *(H245_GenericMessage *)choice;
2250 BOOL H245_IndicationMessage::CreateObject()
2252 switch (tag) {
2253 case e_nonStandard :
2254 choice = new H245_NonStandardMessage();
2255 return TRUE;
2256 case e_functionNotUnderstood :
2257 choice = new H245_FunctionNotUnderstood();
2258 return TRUE;
2259 case e_masterSlaveDeterminationRelease :
2260 choice = new H245_MasterSlaveDeterminationRelease();
2261 return TRUE;
2262 case e_terminalCapabilitySetRelease :
2263 choice = new H245_TerminalCapabilitySetRelease();
2264 return TRUE;
2265 case e_openLogicalChannelConfirm :
2266 choice = new H245_OpenLogicalChannelConfirm();
2267 return TRUE;
2268 case e_requestChannelCloseRelease :
2269 choice = new H245_RequestChannelCloseRelease();
2270 return TRUE;
2271 case e_multiplexEntrySendRelease :
2272 choice = new H245_MultiplexEntrySendRelease();
2273 return TRUE;
2274 case e_requestMultiplexEntryRelease :
2275 choice = new H245_RequestMultiplexEntryRelease();
2276 return TRUE;
2277 case e_requestModeRelease :
2278 choice = new H245_RequestModeRelease();
2279 return TRUE;
2280 case e_miscellaneousIndication :
2281 choice = new H245_MiscellaneousIndication();
2282 return TRUE;
2283 case e_jitterIndication :
2284 choice = new H245_JitterIndication();
2285 return TRUE;
2286 case e_h223SkewIndication :
2287 choice = new H245_H223SkewIndication();
2288 return TRUE;
2289 case e_newATMVCIndication :
2290 choice = new H245_NewATMVCIndication();
2291 return TRUE;
2292 case e_userInput :
2293 choice = new H245_UserInputIndication();
2294 return TRUE;
2295 case e_h2250MaximumSkewIndication :
2296 choice = new H245_H2250MaximumSkewIndication();
2297 return TRUE;
2298 case e_mcLocationIndication :
2299 choice = new H245_MCLocationIndication();
2300 return TRUE;
2301 case e_conferenceIndication :
2302 choice = new H245_ConferenceIndication();
2303 return TRUE;
2304 case e_vendorIdentification :
2305 choice = new H245_VendorIdentification();
2306 return TRUE;
2307 case e_functionNotSupported :
2308 choice = new H245_FunctionNotSupported();
2309 return TRUE;
2310 case e_multilinkIndication :
2311 choice = new H245_MultilinkIndication();
2312 return TRUE;
2313 case e_logicalChannelRateRelease :
2314 choice = new H245_LogicalChannelRateRelease();
2315 return TRUE;
2316 case e_flowControlIndication :
2317 choice = new H245_FlowControlIndication();
2318 return TRUE;
2319 case e_mobileMultilinkReconfigurationIndication :
2320 choice = new H245_MobileMultilinkReconfigurationIndication();
2321 return TRUE;
2322 case e_genericIndication :
2323 choice = new H245_GenericMessage();
2324 return TRUE;
2327 choice = NULL;
2328 return FALSE;
2332 PObject * H245_IndicationMessage::Clone() const
2334 #ifndef PASN_LEANANDMEAN
2335 PAssert(IsClass(H245_IndicationMessage::Class()), PInvalidCast);
2336 #endif
2337 return new H245_IndicationMessage(*this);
2342 // SequenceNumber
2345 H245_SequenceNumber::H245_SequenceNumber(unsigned tag, PASN_Object::TagClass tagClass)
2346 : PASN_Integer(tag, tagClass)
2348 SetConstraints(PASN_Object::FixedConstraint, 0, 255);
2352 H245_SequenceNumber & H245_SequenceNumber::operator=(int v)
2354 SetValue(v);
2355 return *this;
2359 H245_SequenceNumber & H245_SequenceNumber::operator=(unsigned v)
2361 SetValue(v);
2362 return *this;
2366 PObject * H245_SequenceNumber::Clone() const
2368 #ifndef PASN_LEANANDMEAN
2369 PAssert(IsClass(H245_SequenceNumber::Class()), PInvalidCast);
2370 #endif
2371 return new H245_SequenceNumber(*this);
2376 #ifndef PASN_NOPRINTON
2377 const static PASN_Names Names_H245_NonStandardIdentifier[]={
2378 {"object",0}
2379 ,{"h221NonStandard",1}
2381 #endif
2383 // NonStandardIdentifier
2386 H245_NonStandardIdentifier::H245_NonStandardIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
2387 : PASN_Choice(tag, tagClass, 2, FALSE
2388 #ifndef PASN_NOPRINTON
2389 ,(const PASN_Names *)Names_H245_NonStandardIdentifier,2
2390 #endif
2396 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2397 H245_NonStandardIdentifier::operator H245_NonStandardIdentifier_h221NonStandard &() const
2398 #else
2399 H245_NonStandardIdentifier::operator H245_NonStandardIdentifier_h221NonStandard &()
2401 #ifndef PASN_LEANANDMEAN
2402 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardIdentifier_h221NonStandard), PInvalidCast);
2403 #endif
2404 return *(H245_NonStandardIdentifier_h221NonStandard *)choice;
2408 H245_NonStandardIdentifier::operator const H245_NonStandardIdentifier_h221NonStandard &() const
2409 #endif
2411 #ifndef PASN_LEANANDMEAN
2412 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardIdentifier_h221NonStandard), PInvalidCast);
2413 #endif
2414 return *(H245_NonStandardIdentifier_h221NonStandard *)choice;
2418 BOOL H245_NonStandardIdentifier::CreateObject()
2420 switch (tag) {
2421 case e_object :
2422 choice = new PASN_ObjectId();
2423 return TRUE;
2424 case e_h221NonStandard :
2425 choice = new H245_NonStandardIdentifier_h221NonStandard();
2426 return TRUE;
2429 choice = NULL;
2430 return FALSE;
2434 PObject * H245_NonStandardIdentifier::Clone() const
2436 #ifndef PASN_LEANANDMEAN
2437 PAssert(IsClass(H245_NonStandardIdentifier::Class()), PInvalidCast);
2438 #endif
2439 return new H245_NonStandardIdentifier(*this);
2444 // MasterSlaveDetermination
2447 H245_MasterSlaveDetermination::H245_MasterSlaveDetermination(unsigned tag, PASN_Object::TagClass tagClass)
2448 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
2450 m_terminalType.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
2451 m_statusDeterminationNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 16777215);
2455 #ifndef PASN_NOPRINTON
2456 void H245_MasterSlaveDetermination::PrintOn(ostream & strm) const
2458 int indent = strm.precision() + 2;
2459 strm << "{\n";
2460 strm << setw(indent+15) << "terminalType = " << setprecision(indent) << m_terminalType << '\n';
2461 strm << setw(indent+28) << "statusDeterminationNumber = " << setprecision(indent) << m_statusDeterminationNumber << '\n';
2462 strm << setw(indent-1) << setprecision(indent-2) << "}";
2464 #endif
2467 PObject::Comparison H245_MasterSlaveDetermination::Compare(const PObject & obj) const
2469 #ifndef PASN_LEANANDMEAN
2470 PAssert(PIsDescendant(&obj, H245_MasterSlaveDetermination), PInvalidCast);
2471 #endif
2472 const H245_MasterSlaveDetermination & other = (const H245_MasterSlaveDetermination &)obj;
2474 Comparison result;
2476 if ((result = m_terminalType.Compare(other.m_terminalType)) != EqualTo)
2477 return result;
2478 if ((result = m_statusDeterminationNumber.Compare(other.m_statusDeterminationNumber)) != EqualTo)
2479 return result;
2481 return PASN_Sequence::Compare(other);
2485 PINDEX H245_MasterSlaveDetermination::GetDataLength() const
2487 PINDEX length = 0;
2488 length += m_terminalType.GetObjectLength();
2489 length += m_statusDeterminationNumber.GetObjectLength();
2490 return length;
2494 BOOL H245_MasterSlaveDetermination::Decode(PASN_Stream & strm)
2496 if (!PreambleDecode(strm))
2497 return FALSE;
2499 if (!m_terminalType.Decode(strm))
2500 return FALSE;
2501 if (!m_statusDeterminationNumber.Decode(strm))
2502 return FALSE;
2504 return UnknownExtensionsDecode(strm);
2508 void H245_MasterSlaveDetermination::Encode(PASN_Stream & strm) const
2510 PreambleEncode(strm);
2512 m_terminalType.Encode(strm);
2513 m_statusDeterminationNumber.Encode(strm);
2515 UnknownExtensionsEncode(strm);
2519 PObject * H245_MasterSlaveDetermination::Clone() const
2521 #ifndef PASN_LEANANDMEAN
2522 PAssert(IsClass(H245_MasterSlaveDetermination::Class()), PInvalidCast);
2523 #endif
2524 return new H245_MasterSlaveDetermination(*this);
2529 // MasterSlaveDeterminationRelease
2532 H245_MasterSlaveDeterminationRelease::H245_MasterSlaveDeterminationRelease(unsigned tag, PASN_Object::TagClass tagClass)
2533 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
2538 #ifndef PASN_NOPRINTON
2539 void H245_MasterSlaveDeterminationRelease::PrintOn(ostream & strm) const
2541 int indent = strm.precision() + 2;
2542 strm << "{\n";
2543 strm << setw(indent-1) << setprecision(indent-2) << "}";
2545 #endif
2548 PINDEX H245_MasterSlaveDeterminationRelease::GetDataLength() const
2550 PINDEX length = 0;
2551 return length;
2555 BOOL H245_MasterSlaveDeterminationRelease::Decode(PASN_Stream & strm)
2557 if (!PreambleDecode(strm))
2558 return FALSE;
2561 return UnknownExtensionsDecode(strm);
2565 void H245_MasterSlaveDeterminationRelease::Encode(PASN_Stream & strm) const
2567 PreambleEncode(strm);
2570 UnknownExtensionsEncode(strm);
2574 PObject * H245_MasterSlaveDeterminationRelease::Clone() const
2576 #ifndef PASN_LEANANDMEAN
2577 PAssert(IsClass(H245_MasterSlaveDeterminationRelease::Class()), PInvalidCast);
2578 #endif
2579 return new H245_MasterSlaveDeterminationRelease(*this);
2584 // AlternativeCapabilitySet
2587 H245_AlternativeCapabilitySet::H245_AlternativeCapabilitySet(unsigned tag, PASN_Object::TagClass tagClass)
2588 : PASN_Array(tag, tagClass)
2590 SetConstraints(PASN_Object::FixedConstraint, 1, 256);
2594 PASN_Object * H245_AlternativeCapabilitySet::CreateObject() const
2596 return new H245_CapabilityTableEntryNumber;
2600 H245_CapabilityTableEntryNumber & H245_AlternativeCapabilitySet::operator[](PINDEX i) const
2602 return (H245_CapabilityTableEntryNumber &)array[i];
2606 PObject * H245_AlternativeCapabilitySet::Clone() const
2608 #ifndef PASN_LEANANDMEAN
2609 PAssert(IsClass(H245_AlternativeCapabilitySet::Class()), PInvalidCast);
2610 #endif
2611 return new H245_AlternativeCapabilitySet(*this);
2616 // CapabilityTableEntryNumber
2619 H245_CapabilityTableEntryNumber::H245_CapabilityTableEntryNumber(unsigned tag, PASN_Object::TagClass tagClass)
2620 : PASN_Integer(tag, tagClass)
2622 SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
2626 H245_CapabilityTableEntryNumber & H245_CapabilityTableEntryNumber::operator=(int v)
2628 SetValue(v);
2629 return *this;
2633 H245_CapabilityTableEntryNumber & H245_CapabilityTableEntryNumber::operator=(unsigned v)
2635 SetValue(v);
2636 return *this;
2640 PObject * H245_CapabilityTableEntryNumber::Clone() const
2642 #ifndef PASN_LEANANDMEAN
2643 PAssert(IsClass(H245_CapabilityTableEntryNumber::Class()), PInvalidCast);
2644 #endif
2645 return new H245_CapabilityTableEntryNumber(*this);
2650 // CapabilityDescriptorNumber
2653 H245_CapabilityDescriptorNumber::H245_CapabilityDescriptorNumber(unsigned tag, PASN_Object::TagClass tagClass)
2654 : PASN_Integer(tag, tagClass)
2656 SetConstraints(PASN_Object::FixedConstraint, 0, 255);
2660 H245_CapabilityDescriptorNumber & H245_CapabilityDescriptorNumber::operator=(int v)
2662 SetValue(v);
2663 return *this;
2667 H245_CapabilityDescriptorNumber & H245_CapabilityDescriptorNumber::operator=(unsigned v)
2669 SetValue(v);
2670 return *this;
2674 PObject * H245_CapabilityDescriptorNumber::Clone() const
2676 #ifndef PASN_LEANANDMEAN
2677 PAssert(IsClass(H245_CapabilityDescriptorNumber::Class()), PInvalidCast);
2678 #endif
2679 return new H245_CapabilityDescriptorNumber(*this);
2684 #ifndef PASN_NOPRINTON
2685 const static PASN_Names Names_H245_Capability[]={
2686 {"nonStandard",0}
2687 ,{"receiveVideoCapability",1}
2688 ,{"transmitVideoCapability",2}
2689 ,{"receiveAndTransmitVideoCapability",3}
2690 ,{"receiveAudioCapability",4}
2691 ,{"transmitAudioCapability",5}
2692 ,{"receiveAndTransmitAudioCapability",6}
2693 ,{"receiveDataApplicationCapability",7}
2694 ,{"transmitDataApplicationCapability",8}
2695 ,{"receiveAndTransmitDataApplicationCapability",9}
2696 ,{"h233EncryptionTransmitCapability",10}
2697 ,{"h233EncryptionReceiveCapability",11}
2698 ,{"conferenceCapability",12}
2699 ,{"h235SecurityCapability",13}
2700 ,{"maxPendingReplacementFor",14}
2701 ,{"receiveUserInputCapability",15}
2702 ,{"transmitUserInputCapability",16}
2703 ,{"receiveAndTransmitUserInputCapability",17}
2704 ,{"genericControlCapability",18}
2705 ,{"receiveMultiplexedStreamCapability",19}
2706 ,{"transmitMultiplexedStreamCapability",20}
2707 ,{"receiveAndTransmitMultiplexedStreamCapability",21}
2708 ,{"receiveRTPAudioTelephonyEventCapability",22}
2709 ,{"receiveRTPAudioToneCapability",23}
2710 ,{"depFecCapability",24}
2711 ,{"multiplePayloadStreamCapability",25}
2712 ,{"fecCapability",26}
2713 ,{"redundancyEncodingCap",27}
2714 ,{"oneOfCapabilities",28}
2716 #endif
2718 // Capability
2721 H245_Capability::H245_Capability(unsigned tag, PASN_Object::TagClass tagClass)
2722 : PASN_Choice(tag, tagClass, 12, TRUE
2723 #ifndef PASN_NOPRINTON
2724 ,(const PASN_Names *)Names_H245_Capability,29
2725 #endif
2731 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2732 H245_Capability::operator H245_NonStandardParameter &() const
2733 #else
2734 H245_Capability::operator H245_NonStandardParameter &()
2736 #ifndef PASN_LEANANDMEAN
2737 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
2738 #endif
2739 return *(H245_NonStandardParameter *)choice;
2743 H245_Capability::operator const H245_NonStandardParameter &() const
2744 #endif
2746 #ifndef PASN_LEANANDMEAN
2747 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
2748 #endif
2749 return *(H245_NonStandardParameter *)choice;
2753 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2754 H245_Capability::operator H245_VideoCapability &() const
2755 #else
2756 H245_Capability::operator H245_VideoCapability &()
2758 #ifndef PASN_LEANANDMEAN
2759 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoCapability), PInvalidCast);
2760 #endif
2761 return *(H245_VideoCapability *)choice;
2765 H245_Capability::operator const H245_VideoCapability &() const
2766 #endif
2768 #ifndef PASN_LEANANDMEAN
2769 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoCapability), PInvalidCast);
2770 #endif
2771 return *(H245_VideoCapability *)choice;
2775 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2776 H245_Capability::operator H245_AudioCapability &() const
2777 #else
2778 H245_Capability::operator H245_AudioCapability &()
2780 #ifndef PASN_LEANANDMEAN
2781 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioCapability), PInvalidCast);
2782 #endif
2783 return *(H245_AudioCapability *)choice;
2787 H245_Capability::operator const H245_AudioCapability &() const
2788 #endif
2790 #ifndef PASN_LEANANDMEAN
2791 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioCapability), PInvalidCast);
2792 #endif
2793 return *(H245_AudioCapability *)choice;
2797 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2798 H245_Capability::operator H245_DataApplicationCapability &() const
2799 #else
2800 H245_Capability::operator H245_DataApplicationCapability &()
2802 #ifndef PASN_LEANANDMEAN
2803 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataApplicationCapability), PInvalidCast);
2804 #endif
2805 return *(H245_DataApplicationCapability *)choice;
2809 H245_Capability::operator const H245_DataApplicationCapability &() const
2810 #endif
2812 #ifndef PASN_LEANANDMEAN
2813 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataApplicationCapability), PInvalidCast);
2814 #endif
2815 return *(H245_DataApplicationCapability *)choice;
2819 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2820 H245_Capability::operator H245_Capability_h233EncryptionReceiveCapability &() const
2821 #else
2822 H245_Capability::operator H245_Capability_h233EncryptionReceiveCapability &()
2824 #ifndef PASN_LEANANDMEAN
2825 PAssert(PIsDescendant(PAssertNULL(choice), H245_Capability_h233EncryptionReceiveCapability), PInvalidCast);
2826 #endif
2827 return *(H245_Capability_h233EncryptionReceiveCapability *)choice;
2831 H245_Capability::operator const H245_Capability_h233EncryptionReceiveCapability &() const
2832 #endif
2834 #ifndef PASN_LEANANDMEAN
2835 PAssert(PIsDescendant(PAssertNULL(choice), H245_Capability_h233EncryptionReceiveCapability), PInvalidCast);
2836 #endif
2837 return *(H245_Capability_h233EncryptionReceiveCapability *)choice;
2841 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2842 H245_Capability::operator H245_ConferenceCapability &() const
2843 #else
2844 H245_Capability::operator H245_ConferenceCapability &()
2846 #ifndef PASN_LEANANDMEAN
2847 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceCapability), PInvalidCast);
2848 #endif
2849 return *(H245_ConferenceCapability *)choice;
2853 H245_Capability::operator const H245_ConferenceCapability &() const
2854 #endif
2856 #ifndef PASN_LEANANDMEAN
2857 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceCapability), PInvalidCast);
2858 #endif
2859 return *(H245_ConferenceCapability *)choice;
2863 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2864 H245_Capability::operator H245_H235SecurityCapability &() const
2865 #else
2866 H245_Capability::operator H245_H235SecurityCapability &()
2868 #ifndef PASN_LEANANDMEAN
2869 PAssert(PIsDescendant(PAssertNULL(choice), H245_H235SecurityCapability), PInvalidCast);
2870 #endif
2871 return *(H245_H235SecurityCapability *)choice;
2875 H245_Capability::operator const H245_H235SecurityCapability &() const
2876 #endif
2878 #ifndef PASN_LEANANDMEAN
2879 PAssert(PIsDescendant(PAssertNULL(choice), H245_H235SecurityCapability), PInvalidCast);
2880 #endif
2881 return *(H245_H235SecurityCapability *)choice;
2885 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2886 H245_Capability::operator H245_UserInputCapability &() const
2887 #else
2888 H245_Capability::operator H245_UserInputCapability &()
2890 #ifndef PASN_LEANANDMEAN
2891 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputCapability), PInvalidCast);
2892 #endif
2893 return *(H245_UserInputCapability *)choice;
2897 H245_Capability::operator const H245_UserInputCapability &() const
2898 #endif
2900 #ifndef PASN_LEANANDMEAN
2901 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputCapability), PInvalidCast);
2902 #endif
2903 return *(H245_UserInputCapability *)choice;
2907 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2908 H245_Capability::operator H245_GenericCapability &() const
2909 #else
2910 H245_Capability::operator H245_GenericCapability &()
2912 #ifndef PASN_LEANANDMEAN
2913 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
2914 #endif
2915 return *(H245_GenericCapability *)choice;
2919 H245_Capability::operator const H245_GenericCapability &() const
2920 #endif
2922 #ifndef PASN_LEANANDMEAN
2923 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
2924 #endif
2925 return *(H245_GenericCapability *)choice;
2929 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2930 H245_Capability::operator H245_MultiplexedStreamCapability &() const
2931 #else
2932 H245_Capability::operator H245_MultiplexedStreamCapability &()
2934 #ifndef PASN_LEANANDMEAN
2935 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexedStreamCapability), PInvalidCast);
2936 #endif
2937 return *(H245_MultiplexedStreamCapability *)choice;
2941 H245_Capability::operator const H245_MultiplexedStreamCapability &() const
2942 #endif
2944 #ifndef PASN_LEANANDMEAN
2945 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexedStreamCapability), PInvalidCast);
2946 #endif
2947 return *(H245_MultiplexedStreamCapability *)choice;
2951 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2952 H245_Capability::operator H245_AudioTelephonyEventCapability &() const
2953 #else
2954 H245_Capability::operator H245_AudioTelephonyEventCapability &()
2956 #ifndef PASN_LEANANDMEAN
2957 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioTelephonyEventCapability), PInvalidCast);
2958 #endif
2959 return *(H245_AudioTelephonyEventCapability *)choice;
2963 H245_Capability::operator const H245_AudioTelephonyEventCapability &() const
2964 #endif
2966 #ifndef PASN_LEANANDMEAN
2967 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioTelephonyEventCapability), PInvalidCast);
2968 #endif
2969 return *(H245_AudioTelephonyEventCapability *)choice;
2973 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2974 H245_Capability::operator H245_AudioToneCapability &() const
2975 #else
2976 H245_Capability::operator H245_AudioToneCapability &()
2978 #ifndef PASN_LEANANDMEAN
2979 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioToneCapability), PInvalidCast);
2980 #endif
2981 return *(H245_AudioToneCapability *)choice;
2985 H245_Capability::operator const H245_AudioToneCapability &() const
2986 #endif
2988 #ifndef PASN_LEANANDMEAN
2989 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioToneCapability), PInvalidCast);
2990 #endif
2991 return *(H245_AudioToneCapability *)choice;
2995 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2996 H245_Capability::operator H245_DepFECCapability &() const
2997 #else
2998 H245_Capability::operator H245_DepFECCapability &()
3000 #ifndef PASN_LEANANDMEAN
3001 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECCapability), PInvalidCast);
3002 #endif
3003 return *(H245_DepFECCapability *)choice;
3007 H245_Capability::operator const H245_DepFECCapability &() const
3008 #endif
3010 #ifndef PASN_LEANANDMEAN
3011 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECCapability), PInvalidCast);
3012 #endif
3013 return *(H245_DepFECCapability *)choice;
3017 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3018 H245_Capability::operator H245_MultiplePayloadStreamCapability &() const
3019 #else
3020 H245_Capability::operator H245_MultiplePayloadStreamCapability &()
3022 #ifndef PASN_LEANANDMEAN
3023 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplePayloadStreamCapability), PInvalidCast);
3024 #endif
3025 return *(H245_MultiplePayloadStreamCapability *)choice;
3029 H245_Capability::operator const H245_MultiplePayloadStreamCapability &() const
3030 #endif
3032 #ifndef PASN_LEANANDMEAN
3033 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplePayloadStreamCapability), PInvalidCast);
3034 #endif
3035 return *(H245_MultiplePayloadStreamCapability *)choice;
3039 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3040 H245_Capability::operator H245_FECCapability &() const
3041 #else
3042 H245_Capability::operator H245_FECCapability &()
3044 #ifndef PASN_LEANANDMEAN
3045 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECCapability), PInvalidCast);
3046 #endif
3047 return *(H245_FECCapability *)choice;
3051 H245_Capability::operator const H245_FECCapability &() const
3052 #endif
3054 #ifndef PASN_LEANANDMEAN
3055 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECCapability), PInvalidCast);
3056 #endif
3057 return *(H245_FECCapability *)choice;
3061 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3062 H245_Capability::operator H245_RedundancyEncodingCapability &() const
3063 #else
3064 H245_Capability::operator H245_RedundancyEncodingCapability &()
3066 #ifndef PASN_LEANANDMEAN
3067 PAssert(PIsDescendant(PAssertNULL(choice), H245_RedundancyEncodingCapability), PInvalidCast);
3068 #endif
3069 return *(H245_RedundancyEncodingCapability *)choice;
3073 H245_Capability::operator const H245_RedundancyEncodingCapability &() const
3074 #endif
3076 #ifndef PASN_LEANANDMEAN
3077 PAssert(PIsDescendant(PAssertNULL(choice), H245_RedundancyEncodingCapability), PInvalidCast);
3078 #endif
3079 return *(H245_RedundancyEncodingCapability *)choice;
3083 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3084 H245_Capability::operator H245_AlternativeCapabilitySet &() const
3085 #else
3086 H245_Capability::operator H245_AlternativeCapabilitySet &()
3088 #ifndef PASN_LEANANDMEAN
3089 PAssert(PIsDescendant(PAssertNULL(choice), H245_AlternativeCapabilitySet), PInvalidCast);
3090 #endif
3091 return *(H245_AlternativeCapabilitySet *)choice;
3095 H245_Capability::operator const H245_AlternativeCapabilitySet &() const
3096 #endif
3098 #ifndef PASN_LEANANDMEAN
3099 PAssert(PIsDescendant(PAssertNULL(choice), H245_AlternativeCapabilitySet), PInvalidCast);
3100 #endif
3101 return *(H245_AlternativeCapabilitySet *)choice;
3105 BOOL H245_Capability::CreateObject()
3107 switch (tag) {
3108 case e_nonStandard :
3109 choice = new H245_NonStandardParameter();
3110 return TRUE;
3111 case e_receiveVideoCapability :
3112 case e_transmitVideoCapability :
3113 case e_receiveAndTransmitVideoCapability :
3114 choice = new H245_VideoCapability();
3115 return TRUE;
3116 case e_receiveAudioCapability :
3117 case e_transmitAudioCapability :
3118 case e_receiveAndTransmitAudioCapability :
3119 choice = new H245_AudioCapability();
3120 return TRUE;
3121 case e_receiveDataApplicationCapability :
3122 case e_transmitDataApplicationCapability :
3123 case e_receiveAndTransmitDataApplicationCapability :
3124 choice = new H245_DataApplicationCapability();
3125 return TRUE;
3126 case e_h233EncryptionTransmitCapability :
3127 choice = new PASN_Boolean();
3128 return TRUE;
3129 case e_h233EncryptionReceiveCapability :
3130 choice = new H245_Capability_h233EncryptionReceiveCapability();
3131 return TRUE;
3132 case e_conferenceCapability :
3133 choice = new H245_ConferenceCapability();
3134 return TRUE;
3135 case e_h235SecurityCapability :
3136 choice = new H245_H235SecurityCapability();
3137 return TRUE;
3138 case e_maxPendingReplacementFor :
3139 choice = new PASN_Integer();
3140 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 255);
3141 return TRUE;
3142 case e_receiveUserInputCapability :
3143 case e_transmitUserInputCapability :
3144 case e_receiveAndTransmitUserInputCapability :
3145 choice = new H245_UserInputCapability();
3146 return TRUE;
3147 case e_genericControlCapability :
3148 choice = new H245_GenericCapability();
3149 return TRUE;
3150 case e_receiveMultiplexedStreamCapability :
3151 case e_transmitMultiplexedStreamCapability :
3152 case e_receiveAndTransmitMultiplexedStreamCapability :
3153 choice = new H245_MultiplexedStreamCapability();
3154 return TRUE;
3155 case e_receiveRTPAudioTelephonyEventCapability :
3156 choice = new H245_AudioTelephonyEventCapability();
3157 return TRUE;
3158 case e_receiveRTPAudioToneCapability :
3159 choice = new H245_AudioToneCapability();
3160 return TRUE;
3161 case e_depFecCapability :
3162 choice = new H245_DepFECCapability();
3163 return TRUE;
3164 case e_multiplePayloadStreamCapability :
3165 choice = new H245_MultiplePayloadStreamCapability();
3166 return TRUE;
3167 case e_fecCapability :
3168 choice = new H245_FECCapability();
3169 return TRUE;
3170 case e_redundancyEncodingCap :
3171 choice = new H245_RedundancyEncodingCapability();
3172 return TRUE;
3173 case e_oneOfCapabilities :
3174 choice = new H245_AlternativeCapabilitySet();
3175 return TRUE;
3178 choice = NULL;
3179 return FALSE;
3183 PObject * H245_Capability::Clone() const
3185 #ifndef PASN_LEANANDMEAN
3186 PAssert(IsClass(H245_Capability::Class()), PInvalidCast);
3187 #endif
3188 return new H245_Capability(*this);
3193 #ifndef PASN_NOPRINTON
3194 const static PASN_Names Names_H245_MultiplexCapability[]={
3195 {"nonStandard",0}
3196 ,{"h222Capability",1}
3197 ,{"h223Capability",2}
3198 ,{"v76Capability",3}
3199 ,{"h2250Capability",4}
3200 ,{"genericMultiplexCapability",5}
3202 #endif
3204 // MultiplexCapability
3207 H245_MultiplexCapability::H245_MultiplexCapability(unsigned tag, PASN_Object::TagClass tagClass)
3208 : PASN_Choice(tag, tagClass, 4, TRUE
3209 #ifndef PASN_NOPRINTON
3210 ,(const PASN_Names *)Names_H245_MultiplexCapability,6
3211 #endif
3217 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3218 H245_MultiplexCapability::operator H245_NonStandardParameter &() const
3219 #else
3220 H245_MultiplexCapability::operator H245_NonStandardParameter &()
3222 #ifndef PASN_LEANANDMEAN
3223 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
3224 #endif
3225 return *(H245_NonStandardParameter *)choice;
3229 H245_MultiplexCapability::operator const H245_NonStandardParameter &() const
3230 #endif
3232 #ifndef PASN_LEANANDMEAN
3233 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
3234 #endif
3235 return *(H245_NonStandardParameter *)choice;
3239 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3240 H245_MultiplexCapability::operator H245_H222Capability &() const
3241 #else
3242 H245_MultiplexCapability::operator H245_H222Capability &()
3244 #ifndef PASN_LEANANDMEAN
3245 PAssert(PIsDescendant(PAssertNULL(choice), H245_H222Capability), PInvalidCast);
3246 #endif
3247 return *(H245_H222Capability *)choice;
3251 H245_MultiplexCapability::operator const H245_H222Capability &() const
3252 #endif
3254 #ifndef PASN_LEANANDMEAN
3255 PAssert(PIsDescendant(PAssertNULL(choice), H245_H222Capability), PInvalidCast);
3256 #endif
3257 return *(H245_H222Capability *)choice;
3261 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3262 H245_MultiplexCapability::operator H245_H223Capability &() const
3263 #else
3264 H245_MultiplexCapability::operator H245_H223Capability &()
3266 #ifndef PASN_LEANANDMEAN
3267 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223Capability), PInvalidCast);
3268 #endif
3269 return *(H245_H223Capability *)choice;
3273 H245_MultiplexCapability::operator const H245_H223Capability &() const
3274 #endif
3276 #ifndef PASN_LEANANDMEAN
3277 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223Capability), PInvalidCast);
3278 #endif
3279 return *(H245_H223Capability *)choice;
3283 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3284 H245_MultiplexCapability::operator H245_V76Capability &() const
3285 #else
3286 H245_MultiplexCapability::operator H245_V76Capability &()
3288 #ifndef PASN_LEANANDMEAN
3289 PAssert(PIsDescendant(PAssertNULL(choice), H245_V76Capability), PInvalidCast);
3290 #endif
3291 return *(H245_V76Capability *)choice;
3295 H245_MultiplexCapability::operator const H245_V76Capability &() const
3296 #endif
3298 #ifndef PASN_LEANANDMEAN
3299 PAssert(PIsDescendant(PAssertNULL(choice), H245_V76Capability), PInvalidCast);
3300 #endif
3301 return *(H245_V76Capability *)choice;
3305 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3306 H245_MultiplexCapability::operator H245_H2250Capability &() const
3307 #else
3308 H245_MultiplexCapability::operator H245_H2250Capability &()
3310 #ifndef PASN_LEANANDMEAN
3311 PAssert(PIsDescendant(PAssertNULL(choice), H245_H2250Capability), PInvalidCast);
3312 #endif
3313 return *(H245_H2250Capability *)choice;
3317 H245_MultiplexCapability::operator const H245_H2250Capability &() const
3318 #endif
3320 #ifndef PASN_LEANANDMEAN
3321 PAssert(PIsDescendant(PAssertNULL(choice), H245_H2250Capability), PInvalidCast);
3322 #endif
3323 return *(H245_H2250Capability *)choice;
3327 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3328 H245_MultiplexCapability::operator H245_GenericCapability &() const
3329 #else
3330 H245_MultiplexCapability::operator H245_GenericCapability &()
3332 #ifndef PASN_LEANANDMEAN
3333 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
3334 #endif
3335 return *(H245_GenericCapability *)choice;
3339 H245_MultiplexCapability::operator const H245_GenericCapability &() const
3340 #endif
3342 #ifndef PASN_LEANANDMEAN
3343 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
3344 #endif
3345 return *(H245_GenericCapability *)choice;
3349 BOOL H245_MultiplexCapability::CreateObject()
3351 switch (tag) {
3352 case e_nonStandard :
3353 choice = new H245_NonStandardParameter();
3354 return TRUE;
3355 case e_h222Capability :
3356 choice = new H245_H222Capability();
3357 return TRUE;
3358 case e_h223Capability :
3359 choice = new H245_H223Capability();
3360 return TRUE;
3361 case e_v76Capability :
3362 choice = new H245_V76Capability();
3363 return TRUE;
3364 case e_h2250Capability :
3365 choice = new H245_H2250Capability();
3366 return TRUE;
3367 case e_genericMultiplexCapability :
3368 choice = new H245_GenericCapability();
3369 return TRUE;
3372 choice = NULL;
3373 return FALSE;
3377 PObject * H245_MultiplexCapability::Clone() const
3379 #ifndef PASN_LEANANDMEAN
3380 PAssert(IsClass(H245_MultiplexCapability::Class()), PInvalidCast);
3381 #endif
3382 return new H245_MultiplexCapability(*this);
3387 // H223AnnexCCapability
3390 H245_H223AnnexCCapability::H245_H223AnnexCCapability(unsigned tag, PASN_Object::TagClass tagClass)
3391 : PASN_Sequence(tag, tagClass, 0, TRUE, 1)
3393 m_maximumAL1MPDUSize.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
3394 m_maximumAL2MSDUSize.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
3395 m_maximumAL3MSDUSize.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
3399 #ifndef PASN_NOPRINTON
3400 void H245_H223AnnexCCapability::PrintOn(ostream & strm) const
3402 int indent = strm.precision() + 2;
3403 strm << "{\n";
3404 strm << setw(indent+16) << "videoWithAL1M = " << setprecision(indent) << m_videoWithAL1M << '\n';
3405 strm << setw(indent+16) << "videoWithAL2M = " << setprecision(indent) << m_videoWithAL2M << '\n';
3406 strm << setw(indent+16) << "videoWithAL3M = " << setprecision(indent) << m_videoWithAL3M << '\n';
3407 strm << setw(indent+16) << "audioWithAL1M = " << setprecision(indent) << m_audioWithAL1M << '\n';
3408 strm << setw(indent+16) << "audioWithAL2M = " << setprecision(indent) << m_audioWithAL2M << '\n';
3409 strm << setw(indent+16) << "audioWithAL3M = " << setprecision(indent) << m_audioWithAL3M << '\n';
3410 strm << setw(indent+15) << "dataWithAL1M = " << setprecision(indent) << m_dataWithAL1M << '\n';
3411 strm << setw(indent+15) << "dataWithAL2M = " << setprecision(indent) << m_dataWithAL2M << '\n';
3412 strm << setw(indent+15) << "dataWithAL3M = " << setprecision(indent) << m_dataWithAL3M << '\n';
3413 strm << setw(indent+20) << "alpduInterleaving = " << setprecision(indent) << m_alpduInterleaving << '\n';
3414 strm << setw(indent+21) << "maximumAL1MPDUSize = " << setprecision(indent) << m_maximumAL1MPDUSize << '\n';
3415 strm << setw(indent+21) << "maximumAL2MSDUSize = " << setprecision(indent) << m_maximumAL2MSDUSize << '\n';
3416 strm << setw(indent+21) << "maximumAL3MSDUSize = " << setprecision(indent) << m_maximumAL3MSDUSize << '\n';
3417 if (HasOptionalField(e_rsCodeCapability))
3418 strm << setw(indent+19) << "rsCodeCapability = " << setprecision(indent) << m_rsCodeCapability << '\n';
3419 strm << setw(indent-1) << setprecision(indent-2) << "}";
3421 #endif
3424 PObject::Comparison H245_H223AnnexCCapability::Compare(const PObject & obj) const
3426 #ifndef PASN_LEANANDMEAN
3427 PAssert(PIsDescendant(&obj, H245_H223AnnexCCapability), PInvalidCast);
3428 #endif
3429 const H245_H223AnnexCCapability & other = (const H245_H223AnnexCCapability &)obj;
3431 Comparison result;
3433 if ((result = m_videoWithAL1M.Compare(other.m_videoWithAL1M)) != EqualTo)
3434 return result;
3435 if ((result = m_videoWithAL2M.Compare(other.m_videoWithAL2M)) != EqualTo)
3436 return result;
3437 if ((result = m_videoWithAL3M.Compare(other.m_videoWithAL3M)) != EqualTo)
3438 return result;
3439 if ((result = m_audioWithAL1M.Compare(other.m_audioWithAL1M)) != EqualTo)
3440 return result;
3441 if ((result = m_audioWithAL2M.Compare(other.m_audioWithAL2M)) != EqualTo)
3442 return result;
3443 if ((result = m_audioWithAL3M.Compare(other.m_audioWithAL3M)) != EqualTo)
3444 return result;
3445 if ((result = m_dataWithAL1M.Compare(other.m_dataWithAL1M)) != EqualTo)
3446 return result;
3447 if ((result = m_dataWithAL2M.Compare(other.m_dataWithAL2M)) != EqualTo)
3448 return result;
3449 if ((result = m_dataWithAL3M.Compare(other.m_dataWithAL3M)) != EqualTo)
3450 return result;
3451 if ((result = m_alpduInterleaving.Compare(other.m_alpduInterleaving)) != EqualTo)
3452 return result;
3453 if ((result = m_maximumAL1MPDUSize.Compare(other.m_maximumAL1MPDUSize)) != EqualTo)
3454 return result;
3455 if ((result = m_maximumAL2MSDUSize.Compare(other.m_maximumAL2MSDUSize)) != EqualTo)
3456 return result;
3457 if ((result = m_maximumAL3MSDUSize.Compare(other.m_maximumAL3MSDUSize)) != EqualTo)
3458 return result;
3460 return PASN_Sequence::Compare(other);
3464 PINDEX H245_H223AnnexCCapability::GetDataLength() const
3466 PINDEX length = 0;
3467 length += m_videoWithAL1M.GetObjectLength();
3468 length += m_videoWithAL2M.GetObjectLength();
3469 length += m_videoWithAL3M.GetObjectLength();
3470 length += m_audioWithAL1M.GetObjectLength();
3471 length += m_audioWithAL2M.GetObjectLength();
3472 length += m_audioWithAL3M.GetObjectLength();
3473 length += m_dataWithAL1M.GetObjectLength();
3474 length += m_dataWithAL2M.GetObjectLength();
3475 length += m_dataWithAL3M.GetObjectLength();
3476 length += m_alpduInterleaving.GetObjectLength();
3477 length += m_maximumAL1MPDUSize.GetObjectLength();
3478 length += m_maximumAL2MSDUSize.GetObjectLength();
3479 length += m_maximumAL3MSDUSize.GetObjectLength();
3480 return length;
3484 BOOL H245_H223AnnexCCapability::Decode(PASN_Stream & strm)
3486 if (!PreambleDecode(strm))
3487 return FALSE;
3489 if (!m_videoWithAL1M.Decode(strm))
3490 return FALSE;
3491 if (!m_videoWithAL2M.Decode(strm))
3492 return FALSE;
3493 if (!m_videoWithAL3M.Decode(strm))
3494 return FALSE;
3495 if (!m_audioWithAL1M.Decode(strm))
3496 return FALSE;
3497 if (!m_audioWithAL2M.Decode(strm))
3498 return FALSE;
3499 if (!m_audioWithAL3M.Decode(strm))
3500 return FALSE;
3501 if (!m_dataWithAL1M.Decode(strm))
3502 return FALSE;
3503 if (!m_dataWithAL2M.Decode(strm))
3504 return FALSE;
3505 if (!m_dataWithAL3M.Decode(strm))
3506 return FALSE;
3507 if (!m_alpduInterleaving.Decode(strm))
3508 return FALSE;
3509 if (!m_maximumAL1MPDUSize.Decode(strm))
3510 return FALSE;
3511 if (!m_maximumAL2MSDUSize.Decode(strm))
3512 return FALSE;
3513 if (!m_maximumAL3MSDUSize.Decode(strm))
3514 return FALSE;
3515 if (!KnownExtensionDecode(strm, e_rsCodeCapability, m_rsCodeCapability))
3516 return FALSE;
3518 return UnknownExtensionsDecode(strm);
3522 void H245_H223AnnexCCapability::Encode(PASN_Stream & strm) const
3524 PreambleEncode(strm);
3526 m_videoWithAL1M.Encode(strm);
3527 m_videoWithAL2M.Encode(strm);
3528 m_videoWithAL3M.Encode(strm);
3529 m_audioWithAL1M.Encode(strm);
3530 m_audioWithAL2M.Encode(strm);
3531 m_audioWithAL3M.Encode(strm);
3532 m_dataWithAL1M.Encode(strm);
3533 m_dataWithAL2M.Encode(strm);
3534 m_dataWithAL3M.Encode(strm);
3535 m_alpduInterleaving.Encode(strm);
3536 m_maximumAL1MPDUSize.Encode(strm);
3537 m_maximumAL2MSDUSize.Encode(strm);
3538 m_maximumAL3MSDUSize.Encode(strm);
3539 KnownExtensionEncode(strm, e_rsCodeCapability, m_rsCodeCapability);
3541 UnknownExtensionsEncode(strm);
3545 PObject * H245_H223AnnexCCapability::Clone() const
3547 #ifndef PASN_LEANANDMEAN
3548 PAssert(IsClass(H245_H223AnnexCCapability::Class()), PInvalidCast);
3549 #endif
3550 return new H245_H223AnnexCCapability(*this);
3555 // V75Capability
3558 H245_V75Capability::H245_V75Capability(unsigned tag, PASN_Object::TagClass tagClass)
3559 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
3564 #ifndef PASN_NOPRINTON
3565 void H245_V75Capability::PrintOn(ostream & strm) const
3567 int indent = strm.precision() + 2;
3568 strm << "{\n";
3569 strm << setw(indent+14) << "audioHeader = " << setprecision(indent) << m_audioHeader << '\n';
3570 strm << setw(indent-1) << setprecision(indent-2) << "}";
3572 #endif
3575 PObject::Comparison H245_V75Capability::Compare(const PObject & obj) const
3577 #ifndef PASN_LEANANDMEAN
3578 PAssert(PIsDescendant(&obj, H245_V75Capability), PInvalidCast);
3579 #endif
3580 const H245_V75Capability & other = (const H245_V75Capability &)obj;
3582 Comparison result;
3584 if ((result = m_audioHeader.Compare(other.m_audioHeader)) != EqualTo)
3585 return result;
3587 return PASN_Sequence::Compare(other);
3591 PINDEX H245_V75Capability::GetDataLength() const
3593 PINDEX length = 0;
3594 length += m_audioHeader.GetObjectLength();
3595 return length;
3599 BOOL H245_V75Capability::Decode(PASN_Stream & strm)
3601 if (!PreambleDecode(strm))
3602 return FALSE;
3604 if (!m_audioHeader.Decode(strm))
3605 return FALSE;
3607 return UnknownExtensionsDecode(strm);
3611 void H245_V75Capability::Encode(PASN_Stream & strm) const
3613 PreambleEncode(strm);
3615 m_audioHeader.Encode(strm);
3617 UnknownExtensionsEncode(strm);
3621 PObject * H245_V75Capability::Clone() const
3623 #ifndef PASN_LEANANDMEAN
3624 PAssert(IsClass(H245_V75Capability::Class()), PInvalidCast);
3625 #endif
3626 return new H245_V75Capability(*this);
3631 #ifndef PASN_NOPRINTON
3632 const static PASN_Names Names_H245_QOSMode[]={
3633 {"guaranteedQOS",0}
3634 ,{"controlledLoad",1}
3636 #endif
3638 // QOSMode
3641 H245_QOSMode::H245_QOSMode(unsigned tag, PASN_Object::TagClass tagClass)
3642 : PASN_Choice(tag, tagClass, 2, TRUE
3643 #ifndef PASN_NOPRINTON
3644 ,(const PASN_Names *)Names_H245_QOSMode,2
3645 #endif
3651 BOOL H245_QOSMode::CreateObject()
3653 choice = (tag <= e_controlledLoad) ? new PASN_Null() : NULL;
3654 return choice != NULL;
3658 PObject * H245_QOSMode::Clone() const
3660 #ifndef PASN_LEANANDMEAN
3661 PAssert(IsClass(H245_QOSMode::Class()), PInvalidCast);
3662 #endif
3663 return new H245_QOSMode(*this);
3668 // ATMParameters
3671 H245_ATMParameters::H245_ATMParameters(unsigned tag, PASN_Object::TagClass tagClass)
3672 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
3674 m_maxNTUSize.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
3678 #ifndef PASN_NOPRINTON
3679 void H245_ATMParameters::PrintOn(ostream & strm) const
3681 int indent = strm.precision() + 2;
3682 strm << "{\n";
3683 strm << setw(indent+13) << "maxNTUSize = " << setprecision(indent) << m_maxNTUSize << '\n';
3684 strm << setw(indent+9) << "atmUBR = " << setprecision(indent) << m_atmUBR << '\n';
3685 strm << setw(indent+11) << "atmrtVBR = " << setprecision(indent) << m_atmrtVBR << '\n';
3686 strm << setw(indent+12) << "atmnrtVBR = " << setprecision(indent) << m_atmnrtVBR << '\n';
3687 strm << setw(indent+9) << "atmABR = " << setprecision(indent) << m_atmABR << '\n';
3688 strm << setw(indent+9) << "atmCBR = " << setprecision(indent) << m_atmCBR << '\n';
3689 strm << setw(indent-1) << setprecision(indent-2) << "}";
3691 #endif
3694 PObject::Comparison H245_ATMParameters::Compare(const PObject & obj) const
3696 #ifndef PASN_LEANANDMEAN
3697 PAssert(PIsDescendant(&obj, H245_ATMParameters), PInvalidCast);
3698 #endif
3699 const H245_ATMParameters & other = (const H245_ATMParameters &)obj;
3701 Comparison result;
3703 if ((result = m_maxNTUSize.Compare(other.m_maxNTUSize)) != EqualTo)
3704 return result;
3705 if ((result = m_atmUBR.Compare(other.m_atmUBR)) != EqualTo)
3706 return result;
3707 if ((result = m_atmrtVBR.Compare(other.m_atmrtVBR)) != EqualTo)
3708 return result;
3709 if ((result = m_atmnrtVBR.Compare(other.m_atmnrtVBR)) != EqualTo)
3710 return result;
3711 if ((result = m_atmABR.Compare(other.m_atmABR)) != EqualTo)
3712 return result;
3713 if ((result = m_atmCBR.Compare(other.m_atmCBR)) != EqualTo)
3714 return result;
3716 return PASN_Sequence::Compare(other);
3720 PINDEX H245_ATMParameters::GetDataLength() const
3722 PINDEX length = 0;
3723 length += m_maxNTUSize.GetObjectLength();
3724 length += m_atmUBR.GetObjectLength();
3725 length += m_atmrtVBR.GetObjectLength();
3726 length += m_atmnrtVBR.GetObjectLength();
3727 length += m_atmABR.GetObjectLength();
3728 length += m_atmCBR.GetObjectLength();
3729 return length;
3733 BOOL H245_ATMParameters::Decode(PASN_Stream & strm)
3735 if (!PreambleDecode(strm))
3736 return FALSE;
3738 if (!m_maxNTUSize.Decode(strm))
3739 return FALSE;
3740 if (!m_atmUBR.Decode(strm))
3741 return FALSE;
3742 if (!m_atmrtVBR.Decode(strm))
3743 return FALSE;
3744 if (!m_atmnrtVBR.Decode(strm))
3745 return FALSE;
3746 if (!m_atmABR.Decode(strm))
3747 return FALSE;
3748 if (!m_atmCBR.Decode(strm))
3749 return FALSE;
3751 return UnknownExtensionsDecode(strm);
3755 void H245_ATMParameters::Encode(PASN_Stream & strm) const
3757 PreambleEncode(strm);
3759 m_maxNTUSize.Encode(strm);
3760 m_atmUBR.Encode(strm);
3761 m_atmrtVBR.Encode(strm);
3762 m_atmnrtVBR.Encode(strm);
3763 m_atmABR.Encode(strm);
3764 m_atmCBR.Encode(strm);
3766 UnknownExtensionsEncode(strm);
3770 PObject * H245_ATMParameters::Clone() const
3772 #ifndef PASN_LEANANDMEAN
3773 PAssert(IsClass(H245_ATMParameters::Class()), PInvalidCast);
3774 #endif
3775 return new H245_ATMParameters(*this);
3780 #ifndef PASN_NOPRINTON
3781 const static PASN_Names Names_H245_QOSType[]={
3782 {"desired",0}
3783 ,{"required",1}
3785 #endif
3787 // QOSType
3790 H245_QOSType::H245_QOSType(unsigned tag, PASN_Object::TagClass tagClass)
3791 : PASN_Choice(tag, tagClass, 2, TRUE
3792 #ifndef PASN_NOPRINTON
3793 ,(const PASN_Names *)Names_H245_QOSType,2
3794 #endif
3800 BOOL H245_QOSType::CreateObject()
3802 choice = (tag <= e_required) ? new PASN_Null() : NULL;
3803 return choice != NULL;
3807 PObject * H245_QOSType::Clone() const
3809 #ifndef PASN_LEANANDMEAN
3810 PAssert(IsClass(H245_QOSType::Class()), PInvalidCast);
3811 #endif
3812 return new H245_QOSType(*this);
3817 #ifndef PASN_NOPRINTON
3818 const static PASN_Names Names_H245_QOSClass[]={
3819 {"class0",0}
3820 ,{"class1",1}
3821 ,{"class2",2}
3822 ,{"class3",3}
3823 ,{"class4",4}
3824 ,{"class5",5}
3826 #endif
3828 // QOSClass
3831 H245_QOSClass::H245_QOSClass(unsigned tag, PASN_Object::TagClass tagClass)
3832 : PASN_Choice(tag, tagClass, 6, TRUE
3833 #ifndef PASN_NOPRINTON
3834 ,(const PASN_Names *)Names_H245_QOSClass,6
3835 #endif
3841 BOOL H245_QOSClass::CreateObject()
3843 choice = (tag <= e_class5) ? new PASN_Null() : NULL;
3844 return choice != NULL;
3848 PObject * H245_QOSClass::Clone() const
3850 #ifndef PASN_LEANANDMEAN
3851 PAssert(IsClass(H245_QOSClass::Class()), PInvalidCast);
3852 #endif
3853 return new H245_QOSClass(*this);
3858 #ifndef PASN_NOPRINTON
3859 const static PASN_Names Names_H245_MediaTransportType[]={
3860 {"ip_UDP",0}
3861 ,{"ip_TCP",1}
3862 ,{"atm_AAL5_UNIDIR",2}
3863 ,{"atm_AAL5_BIDIR",3}
3864 ,{"atm_AAL5_compressed",4}
3866 #endif
3868 // MediaTransportType
3871 H245_MediaTransportType::H245_MediaTransportType(unsigned tag, PASN_Object::TagClass tagClass)
3872 : PASN_Choice(tag, tagClass, 4, TRUE
3873 #ifndef PASN_NOPRINTON
3874 ,(const PASN_Names *)Names_H245_MediaTransportType,5
3875 #endif
3881 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3882 H245_MediaTransportType::operator H245_MediaTransportType_atm_AAL5_compressed &() const
3883 #else
3884 H245_MediaTransportType::operator H245_MediaTransportType_atm_AAL5_compressed &()
3886 #ifndef PASN_LEANANDMEAN
3887 PAssert(PIsDescendant(PAssertNULL(choice), H245_MediaTransportType_atm_AAL5_compressed), PInvalidCast);
3888 #endif
3889 return *(H245_MediaTransportType_atm_AAL5_compressed *)choice;
3893 H245_MediaTransportType::operator const H245_MediaTransportType_atm_AAL5_compressed &() const
3894 #endif
3896 #ifndef PASN_LEANANDMEAN
3897 PAssert(PIsDescendant(PAssertNULL(choice), H245_MediaTransportType_atm_AAL5_compressed), PInvalidCast);
3898 #endif
3899 return *(H245_MediaTransportType_atm_AAL5_compressed *)choice;
3903 BOOL H245_MediaTransportType::CreateObject()
3905 switch (tag) {
3906 case e_ip_UDP :
3907 case e_ip_TCP :
3908 case e_atm_AAL5_UNIDIR :
3909 case e_atm_AAL5_BIDIR :
3910 choice = new PASN_Null();
3911 return TRUE;
3912 case e_atm_AAL5_compressed :
3913 choice = new H245_MediaTransportType_atm_AAL5_compressed();
3914 return TRUE;
3917 choice = NULL;
3918 return FALSE;
3922 PObject * H245_MediaTransportType::Clone() const
3924 #ifndef PASN_LEANANDMEAN
3925 PAssert(IsClass(H245_MediaTransportType::Class()), PInvalidCast);
3926 #endif
3927 return new H245_MediaTransportType(*this);
3932 // MediaChannelCapability
3935 H245_MediaChannelCapability::H245_MediaChannelCapability(unsigned tag, PASN_Object::TagClass tagClass)
3936 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
3941 #ifndef PASN_NOPRINTON
3942 void H245_MediaChannelCapability::PrintOn(ostream & strm) const
3944 int indent = strm.precision() + 2;
3945 strm << "{\n";
3946 if (HasOptionalField(e_mediaTransport))
3947 strm << setw(indent+17) << "mediaTransport = " << setprecision(indent) << m_mediaTransport << '\n';
3948 strm << setw(indent-1) << setprecision(indent-2) << "}";
3950 #endif
3953 PObject::Comparison H245_MediaChannelCapability::Compare(const PObject & obj) const
3955 #ifndef PASN_LEANANDMEAN
3956 PAssert(PIsDescendant(&obj, H245_MediaChannelCapability), PInvalidCast);
3957 #endif
3958 const H245_MediaChannelCapability & other = (const H245_MediaChannelCapability &)obj;
3960 Comparison result;
3962 if ((result = m_mediaTransport.Compare(other.m_mediaTransport)) != EqualTo)
3963 return result;
3965 return PASN_Sequence::Compare(other);
3969 PINDEX H245_MediaChannelCapability::GetDataLength() const
3971 PINDEX length = 0;
3972 if (HasOptionalField(e_mediaTransport))
3973 length += m_mediaTransport.GetObjectLength();
3974 return length;
3978 BOOL H245_MediaChannelCapability::Decode(PASN_Stream & strm)
3980 if (!PreambleDecode(strm))
3981 return FALSE;
3983 if (HasOptionalField(e_mediaTransport) && !m_mediaTransport.Decode(strm))
3984 return FALSE;
3986 return UnknownExtensionsDecode(strm);
3990 void H245_MediaChannelCapability::Encode(PASN_Stream & strm) const
3992 PreambleEncode(strm);
3994 if (HasOptionalField(e_mediaTransport))
3995 m_mediaTransport.Encode(strm);
3997 UnknownExtensionsEncode(strm);
4001 PObject * H245_MediaChannelCapability::Clone() const
4003 #ifndef PASN_LEANANDMEAN
4004 PAssert(IsClass(H245_MediaChannelCapability::Class()), PInvalidCast);
4005 #endif
4006 return new H245_MediaChannelCapability(*this);
4011 #ifndef PASN_NOPRINTON
4012 const static PASN_Names Names_H245_RedundancyEncodingMethod[]={
4013 {"nonStandard",0}
4014 ,{"rtpAudioRedundancyEncoding",1}
4015 ,{"rtpH263VideoRedundancyEncoding",2}
4017 #endif
4019 // RedundancyEncodingMethod
4022 H245_RedundancyEncodingMethod::H245_RedundancyEncodingMethod(unsigned tag, PASN_Object::TagClass tagClass)
4023 : PASN_Choice(tag, tagClass, 2, TRUE
4024 #ifndef PASN_NOPRINTON
4025 ,(const PASN_Names *)Names_H245_RedundancyEncodingMethod,3
4026 #endif
4032 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4033 H245_RedundancyEncodingMethod::operator H245_NonStandardParameter &() const
4034 #else
4035 H245_RedundancyEncodingMethod::operator H245_NonStandardParameter &()
4037 #ifndef PASN_LEANANDMEAN
4038 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
4039 #endif
4040 return *(H245_NonStandardParameter *)choice;
4044 H245_RedundancyEncodingMethod::operator const H245_NonStandardParameter &() const
4045 #endif
4047 #ifndef PASN_LEANANDMEAN
4048 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
4049 #endif
4050 return *(H245_NonStandardParameter *)choice;
4054 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4055 H245_RedundancyEncodingMethod::operator H245_RTPH263VideoRedundancyEncoding &() const
4056 #else
4057 H245_RedundancyEncodingMethod::operator H245_RTPH263VideoRedundancyEncoding &()
4059 #ifndef PASN_LEANANDMEAN
4060 PAssert(PIsDescendant(PAssertNULL(choice), H245_RTPH263VideoRedundancyEncoding), PInvalidCast);
4061 #endif
4062 return *(H245_RTPH263VideoRedundancyEncoding *)choice;
4066 H245_RedundancyEncodingMethod::operator const H245_RTPH263VideoRedundancyEncoding &() const
4067 #endif
4069 #ifndef PASN_LEANANDMEAN
4070 PAssert(PIsDescendant(PAssertNULL(choice), H245_RTPH263VideoRedundancyEncoding), PInvalidCast);
4071 #endif
4072 return *(H245_RTPH263VideoRedundancyEncoding *)choice;
4076 BOOL H245_RedundancyEncodingMethod::CreateObject()
4078 switch (tag) {
4079 case e_nonStandard :
4080 choice = new H245_NonStandardParameter();
4081 return TRUE;
4082 case e_rtpAudioRedundancyEncoding :
4083 choice = new PASN_Null();
4084 return TRUE;
4085 case e_rtpH263VideoRedundancyEncoding :
4086 choice = new H245_RTPH263VideoRedundancyEncoding();
4087 return TRUE;
4090 choice = NULL;
4091 return FALSE;
4095 PObject * H245_RedundancyEncodingMethod::Clone() const
4097 #ifndef PASN_LEANANDMEAN
4098 PAssert(IsClass(H245_RedundancyEncodingMethod::Class()), PInvalidCast);
4099 #endif
4100 return new H245_RedundancyEncodingMethod(*this);
4105 #ifndef PASN_NOPRINTON
4106 const static PASN_Names Names_H245_VideoCapability[]={
4107 {"nonStandard",0}
4108 ,{"h261VideoCapability",1}
4109 ,{"h262VideoCapability",2}
4110 ,{"h263VideoCapability",3}
4111 ,{"is11172VideoCapability",4}
4112 ,{"genericVideoCapability",5}
4113 ,{"extendedVideoCapability",6}
4115 #endif
4117 // VideoCapability
4120 H245_VideoCapability::H245_VideoCapability(unsigned tag, PASN_Object::TagClass tagClass)
4121 : PASN_Choice(tag, tagClass, 5, TRUE
4122 #ifndef PASN_NOPRINTON
4123 ,(const PASN_Names *)Names_H245_VideoCapability,7
4124 #endif
4130 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4131 H245_VideoCapability::operator H245_NonStandardParameter &() const
4132 #else
4133 H245_VideoCapability::operator H245_NonStandardParameter &()
4135 #ifndef PASN_LEANANDMEAN
4136 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
4137 #endif
4138 return *(H245_NonStandardParameter *)choice;
4142 H245_VideoCapability::operator const H245_NonStandardParameter &() const
4143 #endif
4145 #ifndef PASN_LEANANDMEAN
4146 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
4147 #endif
4148 return *(H245_NonStandardParameter *)choice;
4152 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4153 H245_VideoCapability::operator H245_H261VideoCapability &() const
4154 #else
4155 H245_VideoCapability::operator H245_H261VideoCapability &()
4157 #ifndef PASN_LEANANDMEAN
4158 PAssert(PIsDescendant(PAssertNULL(choice), H245_H261VideoCapability), PInvalidCast);
4159 #endif
4160 return *(H245_H261VideoCapability *)choice;
4164 H245_VideoCapability::operator const H245_H261VideoCapability &() const
4165 #endif
4167 #ifndef PASN_LEANANDMEAN
4168 PAssert(PIsDescendant(PAssertNULL(choice), H245_H261VideoCapability), PInvalidCast);
4169 #endif
4170 return *(H245_H261VideoCapability *)choice;
4174 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4175 H245_VideoCapability::operator H245_H262VideoCapability &() const
4176 #else
4177 H245_VideoCapability::operator H245_H262VideoCapability &()
4179 #ifndef PASN_LEANANDMEAN
4180 PAssert(PIsDescendant(PAssertNULL(choice), H245_H262VideoCapability), PInvalidCast);
4181 #endif
4182 return *(H245_H262VideoCapability *)choice;
4186 H245_VideoCapability::operator const H245_H262VideoCapability &() const
4187 #endif
4189 #ifndef PASN_LEANANDMEAN
4190 PAssert(PIsDescendant(PAssertNULL(choice), H245_H262VideoCapability), PInvalidCast);
4191 #endif
4192 return *(H245_H262VideoCapability *)choice;
4196 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4197 H245_VideoCapability::operator H245_H263VideoCapability &() const
4198 #else
4199 H245_VideoCapability::operator H245_H263VideoCapability &()
4201 #ifndef PASN_LEANANDMEAN
4202 PAssert(PIsDescendant(PAssertNULL(choice), H245_H263VideoCapability), PInvalidCast);
4203 #endif
4204 return *(H245_H263VideoCapability *)choice;
4208 H245_VideoCapability::operator const H245_H263VideoCapability &() const
4209 #endif
4211 #ifndef PASN_LEANANDMEAN
4212 PAssert(PIsDescendant(PAssertNULL(choice), H245_H263VideoCapability), PInvalidCast);
4213 #endif
4214 return *(H245_H263VideoCapability *)choice;
4218 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4219 H245_VideoCapability::operator H245_IS11172VideoCapability &() const
4220 #else
4221 H245_VideoCapability::operator H245_IS11172VideoCapability &()
4223 #ifndef PASN_LEANANDMEAN
4224 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172VideoCapability), PInvalidCast);
4225 #endif
4226 return *(H245_IS11172VideoCapability *)choice;
4230 H245_VideoCapability::operator const H245_IS11172VideoCapability &() const
4231 #endif
4233 #ifndef PASN_LEANANDMEAN
4234 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172VideoCapability), PInvalidCast);
4235 #endif
4236 return *(H245_IS11172VideoCapability *)choice;
4240 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4241 H245_VideoCapability::operator H245_GenericCapability &() const
4242 #else
4243 H245_VideoCapability::operator H245_GenericCapability &()
4245 #ifndef PASN_LEANANDMEAN
4246 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
4247 #endif
4248 return *(H245_GenericCapability *)choice;
4252 H245_VideoCapability::operator const H245_GenericCapability &() const
4253 #endif
4255 #ifndef PASN_LEANANDMEAN
4256 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
4257 #endif
4258 return *(H245_GenericCapability *)choice;
4262 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4263 H245_VideoCapability::operator H245_ExtendedVideoCapability &() const
4264 #else
4265 H245_VideoCapability::operator H245_ExtendedVideoCapability &()
4267 #ifndef PASN_LEANANDMEAN
4268 PAssert(PIsDescendant(PAssertNULL(choice), H245_ExtendedVideoCapability), PInvalidCast);
4269 #endif
4270 return *(H245_ExtendedVideoCapability *)choice;
4274 H245_VideoCapability::operator const H245_ExtendedVideoCapability &() const
4275 #endif
4277 #ifndef PASN_LEANANDMEAN
4278 PAssert(PIsDescendant(PAssertNULL(choice), H245_ExtendedVideoCapability), PInvalidCast);
4279 #endif
4280 return *(H245_ExtendedVideoCapability *)choice;
4284 BOOL H245_VideoCapability::CreateObject()
4286 switch (tag) {
4287 case e_nonStandard :
4288 choice = new H245_NonStandardParameter();
4289 return TRUE;
4290 case e_h261VideoCapability :
4291 choice = new H245_H261VideoCapability();
4292 return TRUE;
4293 case e_h262VideoCapability :
4294 choice = new H245_H262VideoCapability();
4295 return TRUE;
4296 case e_h263VideoCapability :
4297 choice = new H245_H263VideoCapability();
4298 return TRUE;
4299 case e_is11172VideoCapability :
4300 choice = new H245_IS11172VideoCapability();
4301 return TRUE;
4302 case e_genericVideoCapability :
4303 choice = new H245_GenericCapability();
4304 return TRUE;
4305 case e_extendedVideoCapability :
4306 choice = new H245_ExtendedVideoCapability();
4307 return TRUE;
4310 choice = NULL;
4311 return FALSE;
4315 PObject * H245_VideoCapability::Clone() const
4317 #ifndef PASN_LEANANDMEAN
4318 PAssert(IsClass(H245_VideoCapability::Class()), PInvalidCast);
4319 #endif
4320 return new H245_VideoCapability(*this);
4325 // H261VideoCapability
4328 H245_H261VideoCapability::H245_H261VideoCapability(unsigned tag, PASN_Object::TagClass tagClass)
4329 : PASN_Sequence(tag, tagClass, 2, TRUE, 1)
4331 m_qcifMPI.SetConstraints(PASN_Object::FixedConstraint, 1, 4);
4332 m_cifMPI.SetConstraints(PASN_Object::FixedConstraint, 1, 4);
4333 m_maxBitRate.SetConstraints(PASN_Object::FixedConstraint, 1, 19200);
4334 IncludeOptionalField(e_videoBadMBsCap);
4338 #ifndef PASN_NOPRINTON
4339 void H245_H261VideoCapability::PrintOn(ostream & strm) const
4341 int indent = strm.precision() + 2;
4342 strm << "{\n";
4343 if (HasOptionalField(e_qcifMPI))
4344 strm << setw(indent+10) << "qcifMPI = " << setprecision(indent) << m_qcifMPI << '\n';
4345 if (HasOptionalField(e_cifMPI))
4346 strm << setw(indent+9) << "cifMPI = " << setprecision(indent) << m_cifMPI << '\n';
4347 strm << setw(indent+36) << "temporalSpatialTradeOffCapability = " << setprecision(indent) << m_temporalSpatialTradeOffCapability << '\n';
4348 strm << setw(indent+13) << "maxBitRate = " << setprecision(indent) << m_maxBitRate << '\n';
4349 strm << setw(indent+25) << "stillImageTransmission = " << setprecision(indent) << m_stillImageTransmission << '\n';
4350 if (HasOptionalField(e_videoBadMBsCap))
4351 strm << setw(indent+17) << "videoBadMBsCap = " << setprecision(indent) << m_videoBadMBsCap << '\n';
4352 strm << setw(indent-1) << setprecision(indent-2) << "}";
4354 #endif
4357 PObject::Comparison H245_H261VideoCapability::Compare(const PObject & obj) const
4359 #ifndef PASN_LEANANDMEAN
4360 PAssert(PIsDescendant(&obj, H245_H261VideoCapability), PInvalidCast);
4361 #endif
4362 const H245_H261VideoCapability & other = (const H245_H261VideoCapability &)obj;
4364 Comparison result;
4366 if ((result = m_qcifMPI.Compare(other.m_qcifMPI)) != EqualTo)
4367 return result;
4368 if ((result = m_cifMPI.Compare(other.m_cifMPI)) != EqualTo)
4369 return result;
4370 if ((result = m_temporalSpatialTradeOffCapability.Compare(other.m_temporalSpatialTradeOffCapability)) != EqualTo)
4371 return result;
4372 if ((result = m_maxBitRate.Compare(other.m_maxBitRate)) != EqualTo)
4373 return result;
4374 if ((result = m_stillImageTransmission.Compare(other.m_stillImageTransmission)) != EqualTo)
4375 return result;
4377 return PASN_Sequence::Compare(other);
4381 PINDEX H245_H261VideoCapability::GetDataLength() const
4383 PINDEX length = 0;
4384 if (HasOptionalField(e_qcifMPI))
4385 length += m_qcifMPI.GetObjectLength();
4386 if (HasOptionalField(e_cifMPI))
4387 length += m_cifMPI.GetObjectLength();
4388 length += m_temporalSpatialTradeOffCapability.GetObjectLength();
4389 length += m_maxBitRate.GetObjectLength();
4390 length += m_stillImageTransmission.GetObjectLength();
4391 return length;
4395 BOOL H245_H261VideoCapability::Decode(PASN_Stream & strm)
4397 if (!PreambleDecode(strm))
4398 return FALSE;
4400 if (HasOptionalField(e_qcifMPI) && !m_qcifMPI.Decode(strm))
4401 return FALSE;
4402 if (HasOptionalField(e_cifMPI) && !m_cifMPI.Decode(strm))
4403 return FALSE;
4404 if (!m_temporalSpatialTradeOffCapability.Decode(strm))
4405 return FALSE;
4406 if (!m_maxBitRate.Decode(strm))
4407 return FALSE;
4408 if (!m_stillImageTransmission.Decode(strm))
4409 return FALSE;
4410 if (!KnownExtensionDecode(strm, e_videoBadMBsCap, m_videoBadMBsCap))
4411 return FALSE;
4413 return UnknownExtensionsDecode(strm);
4417 void H245_H261VideoCapability::Encode(PASN_Stream & strm) const
4419 PreambleEncode(strm);
4421 if (HasOptionalField(e_qcifMPI))
4422 m_qcifMPI.Encode(strm);
4423 if (HasOptionalField(e_cifMPI))
4424 m_cifMPI.Encode(strm);
4425 m_temporalSpatialTradeOffCapability.Encode(strm);
4426 m_maxBitRate.Encode(strm);
4427 m_stillImageTransmission.Encode(strm);
4428 KnownExtensionEncode(strm, e_videoBadMBsCap, m_videoBadMBsCap);
4430 UnknownExtensionsEncode(strm);
4434 PObject * H245_H261VideoCapability::Clone() const
4436 #ifndef PASN_LEANANDMEAN
4437 PAssert(IsClass(H245_H261VideoCapability::Class()), PInvalidCast);
4438 #endif
4439 return new H245_H261VideoCapability(*this);
4444 // H262VideoCapability
4447 H245_H262VideoCapability::H245_H262VideoCapability(unsigned tag, PASN_Object::TagClass tagClass)
4448 : PASN_Sequence(tag, tagClass, 6, FALSE, 0)
4450 m_videoBitRate.SetConstraints(PASN_Object::FixedConstraint, 0, 1073741823);
4451 m_vbvBufferSize.SetConstraints(PASN_Object::FixedConstraint, 0, 262143);
4452 m_samplesPerLine.SetConstraints(PASN_Object::FixedConstraint, 0, 16383);
4453 m_linesPerFrame.SetConstraints(PASN_Object::FixedConstraint, 0, 16383);
4454 m_framesPerSecond.SetConstraints(PASN_Object::FixedConstraint, 0, 15);
4455 m_luminanceSampleRate.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
4459 #ifndef PASN_NOPRINTON
4460 void H245_H262VideoCapability::PrintOn(ostream & strm) const
4462 int indent = strm.precision() + 2;
4463 strm << "{\n";
4464 strm << setw(indent+25) << "profileAndLevel_SPatML = " << setprecision(indent) << m_profileAndLevel_SPatML << '\n';
4465 strm << setw(indent+25) << "profileAndLevel_MPatLL = " << setprecision(indent) << m_profileAndLevel_MPatLL << '\n';
4466 strm << setw(indent+25) << "profileAndLevel_MPatML = " << setprecision(indent) << m_profileAndLevel_MPatML << '\n';
4467 strm << setw(indent+27) << "profileAndLevel_MPatH_14 = " << setprecision(indent) << m_profileAndLevel_MPatH_14 << '\n';
4468 strm << setw(indent+25) << "profileAndLevel_MPatHL = " << setprecision(indent) << m_profileAndLevel_MPatHL << '\n';
4469 strm << setw(indent+26) << "profileAndLevel_SNRatLL = " << setprecision(indent) << m_profileAndLevel_SNRatLL << '\n';
4470 strm << setw(indent+26) << "profileAndLevel_SNRatML = " << setprecision(indent) << m_profileAndLevel_SNRatML << '\n';
4471 strm << setw(indent+32) << "profileAndLevel_SpatialatH_14 = " << setprecision(indent) << m_profileAndLevel_SpatialatH_14 << '\n';
4472 strm << setw(indent+25) << "profileAndLevel_HPatML = " << setprecision(indent) << m_profileAndLevel_HPatML << '\n';
4473 strm << setw(indent+27) << "profileAndLevel_HPatH_14 = " << setprecision(indent) << m_profileAndLevel_HPatH_14 << '\n';
4474 strm << setw(indent+25) << "profileAndLevel_HPatHL = " << setprecision(indent) << m_profileAndLevel_HPatHL << '\n';
4475 if (HasOptionalField(e_videoBitRate))
4476 strm << setw(indent+15) << "videoBitRate = " << setprecision(indent) << m_videoBitRate << '\n';
4477 if (HasOptionalField(e_vbvBufferSize))
4478 strm << setw(indent+16) << "vbvBufferSize = " << setprecision(indent) << m_vbvBufferSize << '\n';
4479 if (HasOptionalField(e_samplesPerLine))
4480 strm << setw(indent+17) << "samplesPerLine = " << setprecision(indent) << m_samplesPerLine << '\n';
4481 if (HasOptionalField(e_linesPerFrame))
4482 strm << setw(indent+16) << "linesPerFrame = " << setprecision(indent) << m_linesPerFrame << '\n';
4483 if (HasOptionalField(e_framesPerSecond))
4484 strm << setw(indent+18) << "framesPerSecond = " << setprecision(indent) << m_framesPerSecond << '\n';
4485 if (HasOptionalField(e_luminanceSampleRate))
4486 strm << setw(indent+22) << "luminanceSampleRate = " << setprecision(indent) << m_luminanceSampleRate << '\n';
4487 strm << setw(indent+17) << "videoBadMBsCap = " << setprecision(indent) << m_videoBadMBsCap << '\n';
4488 strm << setw(indent-1) << setprecision(indent-2) << "}";
4490 #endif
4493 PObject::Comparison H245_H262VideoCapability::Compare(const PObject & obj) const
4495 #ifndef PASN_LEANANDMEAN
4496 PAssert(PIsDescendant(&obj, H245_H262VideoCapability), PInvalidCast);
4497 #endif
4498 const H245_H262VideoCapability & other = (const H245_H262VideoCapability &)obj;
4500 Comparison result;
4502 if ((result = m_profileAndLevel_SPatML.Compare(other.m_profileAndLevel_SPatML)) != EqualTo)
4503 return result;
4504 if ((result = m_profileAndLevel_MPatLL.Compare(other.m_profileAndLevel_MPatLL)) != EqualTo)
4505 return result;
4506 if ((result = m_profileAndLevel_MPatML.Compare(other.m_profileAndLevel_MPatML)) != EqualTo)
4507 return result;
4508 if ((result = m_profileAndLevel_MPatH_14.Compare(other.m_profileAndLevel_MPatH_14)) != EqualTo)
4509 return result;
4510 if ((result = m_profileAndLevel_MPatHL.Compare(other.m_profileAndLevel_MPatHL)) != EqualTo)
4511 return result;
4512 if ((result = m_profileAndLevel_SNRatLL.Compare(other.m_profileAndLevel_SNRatLL)) != EqualTo)
4513 return result;
4514 if ((result = m_profileAndLevel_SNRatML.Compare(other.m_profileAndLevel_SNRatML)) != EqualTo)
4515 return result;
4516 if ((result = m_profileAndLevel_SpatialatH_14.Compare(other.m_profileAndLevel_SpatialatH_14)) != EqualTo)
4517 return result;
4518 if ((result = m_profileAndLevel_HPatML.Compare(other.m_profileAndLevel_HPatML)) != EqualTo)
4519 return result;
4520 if ((result = m_profileAndLevel_HPatH_14.Compare(other.m_profileAndLevel_HPatH_14)) != EqualTo)
4521 return result;
4522 if ((result = m_profileAndLevel_HPatHL.Compare(other.m_profileAndLevel_HPatHL)) != EqualTo)
4523 return result;
4524 if ((result = m_videoBitRate.Compare(other.m_videoBitRate)) != EqualTo)
4525 return result;
4526 if ((result = m_vbvBufferSize.Compare(other.m_vbvBufferSize)) != EqualTo)
4527 return result;
4528 if ((result = m_samplesPerLine.Compare(other.m_samplesPerLine)) != EqualTo)
4529 return result;
4530 if ((result = m_linesPerFrame.Compare(other.m_linesPerFrame)) != EqualTo)
4531 return result;
4532 if ((result = m_framesPerSecond.Compare(other.m_framesPerSecond)) != EqualTo)
4533 return result;
4534 if ((result = m_luminanceSampleRate.Compare(other.m_luminanceSampleRate)) != EqualTo)
4535 return result;
4536 if ((result = m_videoBadMBsCap.Compare(other.m_videoBadMBsCap)) != EqualTo)
4537 return result;
4539 return PASN_Sequence::Compare(other);
4543 PINDEX H245_H262VideoCapability::GetDataLength() const
4545 PINDEX length = 0;
4546 length += m_profileAndLevel_SPatML.GetObjectLength();
4547 length += m_profileAndLevel_MPatLL.GetObjectLength();
4548 length += m_profileAndLevel_MPatML.GetObjectLength();
4549 length += m_profileAndLevel_MPatH_14.GetObjectLength();
4550 length += m_profileAndLevel_MPatHL.GetObjectLength();
4551 length += m_profileAndLevel_SNRatLL.GetObjectLength();
4552 length += m_profileAndLevel_SNRatML.GetObjectLength();
4553 length += m_profileAndLevel_SpatialatH_14.GetObjectLength();
4554 length += m_profileAndLevel_HPatML.GetObjectLength();
4555 length += m_profileAndLevel_HPatH_14.GetObjectLength();
4556 length += m_profileAndLevel_HPatHL.GetObjectLength();
4557 if (HasOptionalField(e_videoBitRate))
4558 length += m_videoBitRate.GetObjectLength();
4559 if (HasOptionalField(e_vbvBufferSize))
4560 length += m_vbvBufferSize.GetObjectLength();
4561 if (HasOptionalField(e_samplesPerLine))
4562 length += m_samplesPerLine.GetObjectLength();
4563 if (HasOptionalField(e_linesPerFrame))
4564 length += m_linesPerFrame.GetObjectLength();
4565 if (HasOptionalField(e_framesPerSecond))
4566 length += m_framesPerSecond.GetObjectLength();
4567 if (HasOptionalField(e_luminanceSampleRate))
4568 length += m_luminanceSampleRate.GetObjectLength();
4569 length += m_videoBadMBsCap.GetObjectLength();
4570 return length;
4574 BOOL H245_H262VideoCapability::Decode(PASN_Stream & strm)
4576 if (!PreambleDecode(strm))
4577 return FALSE;
4579 if (!m_profileAndLevel_SPatML.Decode(strm))
4580 return FALSE;
4581 if (!m_profileAndLevel_MPatLL.Decode(strm))
4582 return FALSE;
4583 if (!m_profileAndLevel_MPatML.Decode(strm))
4584 return FALSE;
4585 if (!m_profileAndLevel_MPatH_14.Decode(strm))
4586 return FALSE;
4587 if (!m_profileAndLevel_MPatHL.Decode(strm))
4588 return FALSE;
4589 if (!m_profileAndLevel_SNRatLL.Decode(strm))
4590 return FALSE;
4591 if (!m_profileAndLevel_SNRatML.Decode(strm))
4592 return FALSE;
4593 if (!m_profileAndLevel_SpatialatH_14.Decode(strm))
4594 return FALSE;
4595 if (!m_profileAndLevel_HPatML.Decode(strm))
4596 return FALSE;
4597 if (!m_profileAndLevel_HPatH_14.Decode(strm))
4598 return FALSE;
4599 if (!m_profileAndLevel_HPatHL.Decode(strm))
4600 return FALSE;
4601 if (HasOptionalField(e_videoBitRate) && !m_videoBitRate.Decode(strm))
4602 return FALSE;
4603 if (HasOptionalField(e_vbvBufferSize) && !m_vbvBufferSize.Decode(strm))
4604 return FALSE;
4605 if (HasOptionalField(e_samplesPerLine) && !m_samplesPerLine.Decode(strm))
4606 return FALSE;
4607 if (HasOptionalField(e_linesPerFrame) && !m_linesPerFrame.Decode(strm))
4608 return FALSE;
4609 if (HasOptionalField(e_framesPerSecond) && !m_framesPerSecond.Decode(strm))
4610 return FALSE;
4611 if (HasOptionalField(e_luminanceSampleRate) && !m_luminanceSampleRate.Decode(strm))
4612 return FALSE;
4613 if (!m_videoBadMBsCap.Decode(strm))
4614 return FALSE;
4616 return UnknownExtensionsDecode(strm);
4620 void H245_H262VideoCapability::Encode(PASN_Stream & strm) const
4622 PreambleEncode(strm);
4624 m_profileAndLevel_SPatML.Encode(strm);
4625 m_profileAndLevel_MPatLL.Encode(strm);
4626 m_profileAndLevel_MPatML.Encode(strm);
4627 m_profileAndLevel_MPatH_14.Encode(strm);
4628 m_profileAndLevel_MPatHL.Encode(strm);
4629 m_profileAndLevel_SNRatLL.Encode(strm);
4630 m_profileAndLevel_SNRatML.Encode(strm);
4631 m_profileAndLevel_SpatialatH_14.Encode(strm);
4632 m_profileAndLevel_HPatML.Encode(strm);
4633 m_profileAndLevel_HPatH_14.Encode(strm);
4634 m_profileAndLevel_HPatHL.Encode(strm);
4635 if (HasOptionalField(e_videoBitRate))
4636 m_videoBitRate.Encode(strm);
4637 if (HasOptionalField(e_vbvBufferSize))
4638 m_vbvBufferSize.Encode(strm);
4639 if (HasOptionalField(e_samplesPerLine))
4640 m_samplesPerLine.Encode(strm);
4641 if (HasOptionalField(e_linesPerFrame))
4642 m_linesPerFrame.Encode(strm);
4643 if (HasOptionalField(e_framesPerSecond))
4644 m_framesPerSecond.Encode(strm);
4645 if (HasOptionalField(e_luminanceSampleRate))
4646 m_luminanceSampleRate.Encode(strm);
4647 m_videoBadMBsCap.Encode(strm);
4649 UnknownExtensionsEncode(strm);
4653 PObject * H245_H262VideoCapability::Clone() const
4655 #ifndef PASN_LEANANDMEAN
4656 PAssert(IsClass(H245_H262VideoCapability::Class()), PInvalidCast);
4657 #endif
4658 return new H245_H262VideoCapability(*this);
4663 // TransparencyParameters
4666 H245_TransparencyParameters::H245_TransparencyParameters(unsigned tag, PASN_Object::TagClass tagClass)
4667 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
4669 m_presentationOrder.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
4670 m_offset_x.SetConstraints(PASN_Object::FixedConstraint, -262144, 262143);
4671 m_offset_y.SetConstraints(PASN_Object::FixedConstraint, -262144, 262143);
4672 m_scale_x.SetConstraints(PASN_Object::FixedConstraint, 1, 255);
4673 m_scale_y.SetConstraints(PASN_Object::FixedConstraint, 1, 255);
4677 #ifndef PASN_NOPRINTON
4678 void H245_TransparencyParameters::PrintOn(ostream & strm) const
4680 int indent = strm.precision() + 2;
4681 strm << "{\n";
4682 strm << setw(indent+20) << "presentationOrder = " << setprecision(indent) << m_presentationOrder << '\n';
4683 strm << setw(indent+11) << "offset_x = " << setprecision(indent) << m_offset_x << '\n';
4684 strm << setw(indent+11) << "offset_y = " << setprecision(indent) << m_offset_y << '\n';
4685 strm << setw(indent+10) << "scale_x = " << setprecision(indent) << m_scale_x << '\n';
4686 strm << setw(indent+10) << "scale_y = " << setprecision(indent) << m_scale_y << '\n';
4687 strm << setw(indent-1) << setprecision(indent-2) << "}";
4689 #endif
4692 PObject::Comparison H245_TransparencyParameters::Compare(const PObject & obj) const
4694 #ifndef PASN_LEANANDMEAN
4695 PAssert(PIsDescendant(&obj, H245_TransparencyParameters), PInvalidCast);
4696 #endif
4697 const H245_TransparencyParameters & other = (const H245_TransparencyParameters &)obj;
4699 Comparison result;
4701 if ((result = m_presentationOrder.Compare(other.m_presentationOrder)) != EqualTo)
4702 return result;
4703 if ((result = m_offset_x.Compare(other.m_offset_x)) != EqualTo)
4704 return result;
4705 if ((result = m_offset_y.Compare(other.m_offset_y)) != EqualTo)
4706 return result;
4707 if ((result = m_scale_x.Compare(other.m_scale_x)) != EqualTo)
4708 return result;
4709 if ((result = m_scale_y.Compare(other.m_scale_y)) != EqualTo)
4710 return result;
4712 return PASN_Sequence::Compare(other);
4716 PINDEX H245_TransparencyParameters::GetDataLength() const
4718 PINDEX length = 0;
4719 length += m_presentationOrder.GetObjectLength();
4720 length += m_offset_x.GetObjectLength();
4721 length += m_offset_y.GetObjectLength();
4722 length += m_scale_x.GetObjectLength();
4723 length += m_scale_y.GetObjectLength();
4724 return length;
4728 BOOL H245_TransparencyParameters::Decode(PASN_Stream & strm)
4730 if (!PreambleDecode(strm))
4731 return FALSE;
4733 if (!m_presentationOrder.Decode(strm))
4734 return FALSE;
4735 if (!m_offset_x.Decode(strm))
4736 return FALSE;
4737 if (!m_offset_y.Decode(strm))
4738 return FALSE;
4739 if (!m_scale_x.Decode(strm))
4740 return FALSE;
4741 if (!m_scale_y.Decode(strm))
4742 return FALSE;
4744 return UnknownExtensionsDecode(strm);
4748 void H245_TransparencyParameters::Encode(PASN_Stream & strm) const
4750 PreambleEncode(strm);
4752 m_presentationOrder.Encode(strm);
4753 m_offset_x.Encode(strm);
4754 m_offset_y.Encode(strm);
4755 m_scale_x.Encode(strm);
4756 m_scale_y.Encode(strm);
4758 UnknownExtensionsEncode(strm);
4762 PObject * H245_TransparencyParameters::Clone() const
4764 #ifndef PASN_LEANANDMEAN
4765 PAssert(IsClass(H245_TransparencyParameters::Class()), PInvalidCast);
4766 #endif
4767 return new H245_TransparencyParameters(*this);
4772 // CustomPictureClockFrequency
4775 H245_CustomPictureClockFrequency::H245_CustomPictureClockFrequency(unsigned tag, PASN_Object::TagClass tagClass)
4776 : PASN_Sequence(tag, tagClass, 5, TRUE, 0)
4778 m_clockConversionCode.SetConstraints(PASN_Object::FixedConstraint, 1000, 1001);
4779 m_clockDivisor.SetConstraints(PASN_Object::FixedConstraint, 1, 127);
4780 m_sqcifMPI.SetConstraints(PASN_Object::FixedConstraint, 1, 2048);
4781 m_qcifMPI.SetConstraints(PASN_Object::FixedConstraint, 1, 2048);
4782 m_cifMPI.SetConstraints(PASN_Object::FixedConstraint, 1, 2048);
4783 m_cif4MPI.SetConstraints(PASN_Object::FixedConstraint, 1, 2048);
4784 m_cif16MPI.SetConstraints(PASN_Object::FixedConstraint, 1, 2048);
4788 #ifndef PASN_NOPRINTON
4789 void H245_CustomPictureClockFrequency::PrintOn(ostream & strm) const
4791 int indent = strm.precision() + 2;
4792 strm << "{\n";
4793 strm << setw(indent+22) << "clockConversionCode = " << setprecision(indent) << m_clockConversionCode << '\n';
4794 strm << setw(indent+15) << "clockDivisor = " << setprecision(indent) << m_clockDivisor << '\n';
4795 if (HasOptionalField(e_sqcifMPI))
4796 strm << setw(indent+11) << "sqcifMPI = " << setprecision(indent) << m_sqcifMPI << '\n';
4797 if (HasOptionalField(e_qcifMPI))
4798 strm << setw(indent+10) << "qcifMPI = " << setprecision(indent) << m_qcifMPI << '\n';
4799 if (HasOptionalField(e_cifMPI))
4800 strm << setw(indent+9) << "cifMPI = " << setprecision(indent) << m_cifMPI << '\n';
4801 if (HasOptionalField(e_cif4MPI))
4802 strm << setw(indent+10) << "cif4MPI = " << setprecision(indent) << m_cif4MPI << '\n';
4803 if (HasOptionalField(e_cif16MPI))
4804 strm << setw(indent+11) << "cif16MPI = " << setprecision(indent) << m_cif16MPI << '\n';
4805 strm << setw(indent-1) << setprecision(indent-2) << "}";
4807 #endif
4810 PObject::Comparison H245_CustomPictureClockFrequency::Compare(const PObject & obj) const
4812 #ifndef PASN_LEANANDMEAN
4813 PAssert(PIsDescendant(&obj, H245_CustomPictureClockFrequency), PInvalidCast);
4814 #endif
4815 const H245_CustomPictureClockFrequency & other = (const H245_CustomPictureClockFrequency &)obj;
4817 Comparison result;
4819 if ((result = m_clockConversionCode.Compare(other.m_clockConversionCode)) != EqualTo)
4820 return result;
4821 if ((result = m_clockDivisor.Compare(other.m_clockDivisor)) != EqualTo)
4822 return result;
4823 if ((result = m_sqcifMPI.Compare(other.m_sqcifMPI)) != EqualTo)
4824 return result;
4825 if ((result = m_qcifMPI.Compare(other.m_qcifMPI)) != EqualTo)
4826 return result;
4827 if ((result = m_cifMPI.Compare(other.m_cifMPI)) != EqualTo)
4828 return result;
4829 if ((result = m_cif4MPI.Compare(other.m_cif4MPI)) != EqualTo)
4830 return result;
4831 if ((result = m_cif16MPI.Compare(other.m_cif16MPI)) != EqualTo)
4832 return result;
4834 return PASN_Sequence::Compare(other);
4838 PINDEX H245_CustomPictureClockFrequency::GetDataLength() const
4840 PINDEX length = 0;
4841 length += m_clockConversionCode.GetObjectLength();
4842 length += m_clockDivisor.GetObjectLength();
4843 if (HasOptionalField(e_sqcifMPI))
4844 length += m_sqcifMPI.GetObjectLength();
4845 if (HasOptionalField(e_qcifMPI))
4846 length += m_qcifMPI.GetObjectLength();
4847 if (HasOptionalField(e_cifMPI))
4848 length += m_cifMPI.GetObjectLength();
4849 if (HasOptionalField(e_cif4MPI))
4850 length += m_cif4MPI.GetObjectLength();
4851 if (HasOptionalField(e_cif16MPI))
4852 length += m_cif16MPI.GetObjectLength();
4853 return length;
4857 BOOL H245_CustomPictureClockFrequency::Decode(PASN_Stream & strm)
4859 if (!PreambleDecode(strm))
4860 return FALSE;
4862 if (!m_clockConversionCode.Decode(strm))
4863 return FALSE;
4864 if (!m_clockDivisor.Decode(strm))
4865 return FALSE;
4866 if (HasOptionalField(e_sqcifMPI) && !m_sqcifMPI.Decode(strm))
4867 return FALSE;
4868 if (HasOptionalField(e_qcifMPI) && !m_qcifMPI.Decode(strm))
4869 return FALSE;
4870 if (HasOptionalField(e_cifMPI) && !m_cifMPI.Decode(strm))
4871 return FALSE;
4872 if (HasOptionalField(e_cif4MPI) && !m_cif4MPI.Decode(strm))
4873 return FALSE;
4874 if (HasOptionalField(e_cif16MPI) && !m_cif16MPI.Decode(strm))
4875 return FALSE;
4877 return UnknownExtensionsDecode(strm);
4881 void H245_CustomPictureClockFrequency::Encode(PASN_Stream & strm) const
4883 PreambleEncode(strm);
4885 m_clockConversionCode.Encode(strm);
4886 m_clockDivisor.Encode(strm);
4887 if (HasOptionalField(e_sqcifMPI))
4888 m_sqcifMPI.Encode(strm);
4889 if (HasOptionalField(e_qcifMPI))
4890 m_qcifMPI.Encode(strm);
4891 if (HasOptionalField(e_cifMPI))
4892 m_cifMPI.Encode(strm);
4893 if (HasOptionalField(e_cif4MPI))
4894 m_cif4MPI.Encode(strm);
4895 if (HasOptionalField(e_cif16MPI))
4896 m_cif16MPI.Encode(strm);
4898 UnknownExtensionsEncode(strm);
4902 PObject * H245_CustomPictureClockFrequency::Clone() const
4904 #ifndef PASN_LEANANDMEAN
4905 PAssert(IsClass(H245_CustomPictureClockFrequency::Class()), PInvalidCast);
4906 #endif
4907 return new H245_CustomPictureClockFrequency(*this);
4912 // H263Version3Options
4915 H245_H263Version3Options::H245_H263Version3Options(unsigned tag, PASN_Object::TagClass tagClass)
4916 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
4921 #ifndef PASN_NOPRINTON
4922 void H245_H263Version3Options::PrintOn(ostream & strm) const
4924 int indent = strm.precision() + 2;
4925 strm << "{\n";
4926 strm << setw(indent+24) << "dataPartitionedSlices = " << setprecision(indent) << m_dataPartitionedSlices << '\n';
4927 strm << setw(indent+18) << "fixedPointIDCT0 = " << setprecision(indent) << m_fixedPointIDCT0 << '\n';
4928 strm << setw(indent+19) << "interlacedFields = " << setprecision(indent) << m_interlacedFields << '\n';
4929 strm << setw(indent+33) << "currentPictureHeaderRepetition = " << setprecision(indent) << m_currentPictureHeaderRepetition << '\n';
4930 strm << setw(indent+34) << "previousPictureHeaderRepetition = " << setprecision(indent) << m_previousPictureHeaderRepetition << '\n';
4931 strm << setw(indent+30) << "nextPictureHeaderRepetition = " << setprecision(indent) << m_nextPictureHeaderRepetition << '\n';
4932 strm << setw(indent+16) << "pictureNumber = " << setprecision(indent) << m_pictureNumber << '\n';
4933 strm << setw(indent+25) << "spareReferencePictures = " << setprecision(indent) << m_spareReferencePictures << '\n';
4934 strm << setw(indent-1) << setprecision(indent-2) << "}";
4936 #endif
4939 PObject::Comparison H245_H263Version3Options::Compare(const PObject & obj) const
4941 #ifndef PASN_LEANANDMEAN
4942 PAssert(PIsDescendant(&obj, H245_H263Version3Options), PInvalidCast);
4943 #endif
4944 const H245_H263Version3Options & other = (const H245_H263Version3Options &)obj;
4946 Comparison result;
4948 if ((result = m_dataPartitionedSlices.Compare(other.m_dataPartitionedSlices)) != EqualTo)
4949 return result;
4950 if ((result = m_fixedPointIDCT0.Compare(other.m_fixedPointIDCT0)) != EqualTo)
4951 return result;
4952 if ((result = m_interlacedFields.Compare(other.m_interlacedFields)) != EqualTo)
4953 return result;
4954 if ((result = m_currentPictureHeaderRepetition.Compare(other.m_currentPictureHeaderRepetition)) != EqualTo)
4955 return result;
4956 if ((result = m_previousPictureHeaderRepetition.Compare(other.m_previousPictureHeaderRepetition)) != EqualTo)
4957 return result;
4958 if ((result = m_nextPictureHeaderRepetition.Compare(other.m_nextPictureHeaderRepetition)) != EqualTo)
4959 return result;
4960 if ((result = m_pictureNumber.Compare(other.m_pictureNumber)) != EqualTo)
4961 return result;
4962 if ((result = m_spareReferencePictures.Compare(other.m_spareReferencePictures)) != EqualTo)
4963 return result;
4965 return PASN_Sequence::Compare(other);
4969 PINDEX H245_H263Version3Options::GetDataLength() const
4971 PINDEX length = 0;
4972 length += m_dataPartitionedSlices.GetObjectLength();
4973 length += m_fixedPointIDCT0.GetObjectLength();
4974 length += m_interlacedFields.GetObjectLength();
4975 length += m_currentPictureHeaderRepetition.GetObjectLength();
4976 length += m_previousPictureHeaderRepetition.GetObjectLength();
4977 length += m_nextPictureHeaderRepetition.GetObjectLength();
4978 length += m_pictureNumber.GetObjectLength();
4979 length += m_spareReferencePictures.GetObjectLength();
4980 return length;
4984 BOOL H245_H263Version3Options::Decode(PASN_Stream & strm)
4986 if (!PreambleDecode(strm))
4987 return FALSE;
4989 if (!m_dataPartitionedSlices.Decode(strm))
4990 return FALSE;
4991 if (!m_fixedPointIDCT0.Decode(strm))
4992 return FALSE;
4993 if (!m_interlacedFields.Decode(strm))
4994 return FALSE;
4995 if (!m_currentPictureHeaderRepetition.Decode(strm))
4996 return FALSE;
4997 if (!m_previousPictureHeaderRepetition.Decode(strm))
4998 return FALSE;
4999 if (!m_nextPictureHeaderRepetition.Decode(strm))
5000 return FALSE;
5001 if (!m_pictureNumber.Decode(strm))
5002 return FALSE;
5003 if (!m_spareReferencePictures.Decode(strm))
5004 return FALSE;
5006 return UnknownExtensionsDecode(strm);
5010 void H245_H263Version3Options::Encode(PASN_Stream & strm) const
5012 PreambleEncode(strm);
5014 m_dataPartitionedSlices.Encode(strm);
5015 m_fixedPointIDCT0.Encode(strm);
5016 m_interlacedFields.Encode(strm);
5017 m_currentPictureHeaderRepetition.Encode(strm);
5018 m_previousPictureHeaderRepetition.Encode(strm);
5019 m_nextPictureHeaderRepetition.Encode(strm);
5020 m_pictureNumber.Encode(strm);
5021 m_spareReferencePictures.Encode(strm);
5023 UnknownExtensionsEncode(strm);
5027 PObject * H245_H263Version3Options::Clone() const
5029 #ifndef PASN_LEANANDMEAN
5030 PAssert(IsClass(H245_H263Version3Options::Class()), PInvalidCast);
5031 #endif
5032 return new H245_H263Version3Options(*this);
5037 // IS11172VideoCapability
5040 H245_IS11172VideoCapability::H245_IS11172VideoCapability(unsigned tag, PASN_Object::TagClass tagClass)
5041 : PASN_Sequence(tag, tagClass, 6, TRUE, 1)
5043 m_videoBitRate.SetConstraints(PASN_Object::FixedConstraint, 0, 1073741823);
5044 m_vbvBufferSize.SetConstraints(PASN_Object::FixedConstraint, 0, 262143);
5045 m_samplesPerLine.SetConstraints(PASN_Object::FixedConstraint, 0, 16383);
5046 m_linesPerFrame.SetConstraints(PASN_Object::FixedConstraint, 0, 16383);
5047 m_pictureRate.SetConstraints(PASN_Object::FixedConstraint, 0, 15);
5048 m_luminanceSampleRate.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
5049 IncludeOptionalField(e_videoBadMBsCap);
5053 #ifndef PASN_NOPRINTON
5054 void H245_IS11172VideoCapability::PrintOn(ostream & strm) const
5056 int indent = strm.precision() + 2;
5057 strm << "{\n";
5058 strm << setw(indent+23) << "constrainedBitstream = " << setprecision(indent) << m_constrainedBitstream << '\n';
5059 if (HasOptionalField(e_videoBitRate))
5060 strm << setw(indent+15) << "videoBitRate = " << setprecision(indent) << m_videoBitRate << '\n';
5061 if (HasOptionalField(e_vbvBufferSize))
5062 strm << setw(indent+16) << "vbvBufferSize = " << setprecision(indent) << m_vbvBufferSize << '\n';
5063 if (HasOptionalField(e_samplesPerLine))
5064 strm << setw(indent+17) << "samplesPerLine = " << setprecision(indent) << m_samplesPerLine << '\n';
5065 if (HasOptionalField(e_linesPerFrame))
5066 strm << setw(indent+16) << "linesPerFrame = " << setprecision(indent) << m_linesPerFrame << '\n';
5067 if (HasOptionalField(e_pictureRate))
5068 strm << setw(indent+14) << "pictureRate = " << setprecision(indent) << m_pictureRate << '\n';
5069 if (HasOptionalField(e_luminanceSampleRate))
5070 strm << setw(indent+22) << "luminanceSampleRate = " << setprecision(indent) << m_luminanceSampleRate << '\n';
5071 if (HasOptionalField(e_videoBadMBsCap))
5072 strm << setw(indent+17) << "videoBadMBsCap = " << setprecision(indent) << m_videoBadMBsCap << '\n';
5073 strm << setw(indent-1) << setprecision(indent-2) << "}";
5075 #endif
5078 PObject::Comparison H245_IS11172VideoCapability::Compare(const PObject & obj) const
5080 #ifndef PASN_LEANANDMEAN
5081 PAssert(PIsDescendant(&obj, H245_IS11172VideoCapability), PInvalidCast);
5082 #endif
5083 const H245_IS11172VideoCapability & other = (const H245_IS11172VideoCapability &)obj;
5085 Comparison result;
5087 if ((result = m_constrainedBitstream.Compare(other.m_constrainedBitstream)) != EqualTo)
5088 return result;
5089 if ((result = m_videoBitRate.Compare(other.m_videoBitRate)) != EqualTo)
5090 return result;
5091 if ((result = m_vbvBufferSize.Compare(other.m_vbvBufferSize)) != EqualTo)
5092 return result;
5093 if ((result = m_samplesPerLine.Compare(other.m_samplesPerLine)) != EqualTo)
5094 return result;
5095 if ((result = m_linesPerFrame.Compare(other.m_linesPerFrame)) != EqualTo)
5096 return result;
5097 if ((result = m_pictureRate.Compare(other.m_pictureRate)) != EqualTo)
5098 return result;
5099 if ((result = m_luminanceSampleRate.Compare(other.m_luminanceSampleRate)) != EqualTo)
5100 return result;
5102 return PASN_Sequence::Compare(other);
5106 PINDEX H245_IS11172VideoCapability::GetDataLength() const
5108 PINDEX length = 0;
5109 length += m_constrainedBitstream.GetObjectLength();
5110 if (HasOptionalField(e_videoBitRate))
5111 length += m_videoBitRate.GetObjectLength();
5112 if (HasOptionalField(e_vbvBufferSize))
5113 length += m_vbvBufferSize.GetObjectLength();
5114 if (HasOptionalField(e_samplesPerLine))
5115 length += m_samplesPerLine.GetObjectLength();
5116 if (HasOptionalField(e_linesPerFrame))
5117 length += m_linesPerFrame.GetObjectLength();
5118 if (HasOptionalField(e_pictureRate))
5119 length += m_pictureRate.GetObjectLength();
5120 if (HasOptionalField(e_luminanceSampleRate))
5121 length += m_luminanceSampleRate.GetObjectLength();
5122 return length;
5126 BOOL H245_IS11172VideoCapability::Decode(PASN_Stream & strm)
5128 if (!PreambleDecode(strm))
5129 return FALSE;
5131 if (!m_constrainedBitstream.Decode(strm))
5132 return FALSE;
5133 if (HasOptionalField(e_videoBitRate) && !m_videoBitRate.Decode(strm))
5134 return FALSE;
5135 if (HasOptionalField(e_vbvBufferSize) && !m_vbvBufferSize.Decode(strm))
5136 return FALSE;
5137 if (HasOptionalField(e_samplesPerLine) && !m_samplesPerLine.Decode(strm))
5138 return FALSE;
5139 if (HasOptionalField(e_linesPerFrame) && !m_linesPerFrame.Decode(strm))
5140 return FALSE;
5141 if (HasOptionalField(e_pictureRate) && !m_pictureRate.Decode(strm))
5142 return FALSE;
5143 if (HasOptionalField(e_luminanceSampleRate) && !m_luminanceSampleRate.Decode(strm))
5144 return FALSE;
5145 if (!KnownExtensionDecode(strm, e_videoBadMBsCap, m_videoBadMBsCap))
5146 return FALSE;
5148 return UnknownExtensionsDecode(strm);
5152 void H245_IS11172VideoCapability::Encode(PASN_Stream & strm) const
5154 PreambleEncode(strm);
5156 m_constrainedBitstream.Encode(strm);
5157 if (HasOptionalField(e_videoBitRate))
5158 m_videoBitRate.Encode(strm);
5159 if (HasOptionalField(e_vbvBufferSize))
5160 m_vbvBufferSize.Encode(strm);
5161 if (HasOptionalField(e_samplesPerLine))
5162 m_samplesPerLine.Encode(strm);
5163 if (HasOptionalField(e_linesPerFrame))
5164 m_linesPerFrame.Encode(strm);
5165 if (HasOptionalField(e_pictureRate))
5166 m_pictureRate.Encode(strm);
5167 if (HasOptionalField(e_luminanceSampleRate))
5168 m_luminanceSampleRate.Encode(strm);
5169 KnownExtensionEncode(strm, e_videoBadMBsCap, m_videoBadMBsCap);
5171 UnknownExtensionsEncode(strm);
5175 PObject * H245_IS11172VideoCapability::Clone() const
5177 #ifndef PASN_LEANANDMEAN
5178 PAssert(IsClass(H245_IS11172VideoCapability::Class()), PInvalidCast);
5179 #endif
5180 return new H245_IS11172VideoCapability(*this);
5185 #ifndef PASN_NOPRINTON
5186 const static PASN_Names Names_H245_AudioCapability[]={
5187 {"nonStandard",0}
5188 ,{"g711Alaw64k",1}
5189 ,{"g711Alaw56k",2}
5190 ,{"g711Ulaw64k",3}
5191 ,{"g711Ulaw56k",4}
5192 ,{"g722_64k",5}
5193 ,{"g722_56k",6}
5194 ,{"g722_48k",7}
5195 ,{"g7231",8}
5196 ,{"g728",9}
5197 ,{"g729",10}
5198 ,{"g729AnnexA",11}
5199 ,{"is11172AudioCapability",12}
5200 ,{"is13818AudioCapability",13}
5201 ,{"g729wAnnexB",14}
5202 ,{"g729AnnexAwAnnexB",15}
5203 ,{"g7231AnnexCCapability",16}
5204 ,{"gsmFullRate",17}
5205 ,{"gsmHalfRate",18}
5206 ,{"gsmEnhancedFullRate",19}
5207 ,{"genericAudioCapability",20}
5208 ,{"g729Extensions",21}
5209 ,{"vbd",22}
5210 ,{"audioTelephonyEvent",23}
5211 ,{"audioTone",24}
5213 #endif
5215 // AudioCapability
5218 H245_AudioCapability::H245_AudioCapability(unsigned tag, PASN_Object::TagClass tagClass)
5219 : PASN_Choice(tag, tagClass, 14, TRUE
5220 #ifndef PASN_NOPRINTON
5221 ,(const PASN_Names *)Names_H245_AudioCapability,25
5222 #endif
5228 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5229 H245_AudioCapability::operator H245_NonStandardParameter &() const
5230 #else
5231 H245_AudioCapability::operator H245_NonStandardParameter &()
5233 #ifndef PASN_LEANANDMEAN
5234 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
5235 #endif
5236 return *(H245_NonStandardParameter *)choice;
5240 H245_AudioCapability::operator const H245_NonStandardParameter &() const
5241 #endif
5243 #ifndef PASN_LEANANDMEAN
5244 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
5245 #endif
5246 return *(H245_NonStandardParameter *)choice;
5250 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5251 H245_AudioCapability::operator H245_AudioCapability_g7231 &() const
5252 #else
5253 H245_AudioCapability::operator H245_AudioCapability_g7231 &()
5255 #ifndef PASN_LEANANDMEAN
5256 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioCapability_g7231), PInvalidCast);
5257 #endif
5258 return *(H245_AudioCapability_g7231 *)choice;
5262 H245_AudioCapability::operator const H245_AudioCapability_g7231 &() const
5263 #endif
5265 #ifndef PASN_LEANANDMEAN
5266 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioCapability_g7231), PInvalidCast);
5267 #endif
5268 return *(H245_AudioCapability_g7231 *)choice;
5272 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5273 H245_AudioCapability::operator H245_IS11172AudioCapability &() const
5274 #else
5275 H245_AudioCapability::operator H245_IS11172AudioCapability &()
5277 #ifndef PASN_LEANANDMEAN
5278 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172AudioCapability), PInvalidCast);
5279 #endif
5280 return *(H245_IS11172AudioCapability *)choice;
5284 H245_AudioCapability::operator const H245_IS11172AudioCapability &() const
5285 #endif
5287 #ifndef PASN_LEANANDMEAN
5288 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172AudioCapability), PInvalidCast);
5289 #endif
5290 return *(H245_IS11172AudioCapability *)choice;
5294 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5295 H245_AudioCapability::operator H245_IS13818AudioCapability &() const
5296 #else
5297 H245_AudioCapability::operator H245_IS13818AudioCapability &()
5299 #ifndef PASN_LEANANDMEAN
5300 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS13818AudioCapability), PInvalidCast);
5301 #endif
5302 return *(H245_IS13818AudioCapability *)choice;
5306 H245_AudioCapability::operator const H245_IS13818AudioCapability &() const
5307 #endif
5309 #ifndef PASN_LEANANDMEAN
5310 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS13818AudioCapability), PInvalidCast);
5311 #endif
5312 return *(H245_IS13818AudioCapability *)choice;
5316 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5317 H245_AudioCapability::operator H245_G7231AnnexCCapability &() const
5318 #else
5319 H245_AudioCapability::operator H245_G7231AnnexCCapability &()
5321 #ifndef PASN_LEANANDMEAN
5322 PAssert(PIsDescendant(PAssertNULL(choice), H245_G7231AnnexCCapability), PInvalidCast);
5323 #endif
5324 return *(H245_G7231AnnexCCapability *)choice;
5328 H245_AudioCapability::operator const H245_G7231AnnexCCapability &() const
5329 #endif
5331 #ifndef PASN_LEANANDMEAN
5332 PAssert(PIsDescendant(PAssertNULL(choice), H245_G7231AnnexCCapability), PInvalidCast);
5333 #endif
5334 return *(H245_G7231AnnexCCapability *)choice;
5338 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5339 H245_AudioCapability::operator H245_GSMAudioCapability &() const
5340 #else
5341 H245_AudioCapability::operator H245_GSMAudioCapability &()
5343 #ifndef PASN_LEANANDMEAN
5344 PAssert(PIsDescendant(PAssertNULL(choice), H245_GSMAudioCapability), PInvalidCast);
5345 #endif
5346 return *(H245_GSMAudioCapability *)choice;
5350 H245_AudioCapability::operator const H245_GSMAudioCapability &() const
5351 #endif
5353 #ifndef PASN_LEANANDMEAN
5354 PAssert(PIsDescendant(PAssertNULL(choice), H245_GSMAudioCapability), PInvalidCast);
5355 #endif
5356 return *(H245_GSMAudioCapability *)choice;
5360 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5361 H245_AudioCapability::operator H245_GenericCapability &() const
5362 #else
5363 H245_AudioCapability::operator H245_GenericCapability &()
5365 #ifndef PASN_LEANANDMEAN
5366 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
5367 #endif
5368 return *(H245_GenericCapability *)choice;
5372 H245_AudioCapability::operator const H245_GenericCapability &() const
5373 #endif
5375 #ifndef PASN_LEANANDMEAN
5376 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
5377 #endif
5378 return *(H245_GenericCapability *)choice;
5382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5383 H245_AudioCapability::operator H245_G729Extensions &() const
5384 #else
5385 H245_AudioCapability::operator H245_G729Extensions &()
5387 #ifndef PASN_LEANANDMEAN
5388 PAssert(PIsDescendant(PAssertNULL(choice), H245_G729Extensions), PInvalidCast);
5389 #endif
5390 return *(H245_G729Extensions *)choice;
5394 H245_AudioCapability::operator const H245_G729Extensions &() const
5395 #endif
5397 #ifndef PASN_LEANANDMEAN
5398 PAssert(PIsDescendant(PAssertNULL(choice), H245_G729Extensions), PInvalidCast);
5399 #endif
5400 return *(H245_G729Extensions *)choice;
5404 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5405 H245_AudioCapability::operator H245_VBDCapability &() const
5406 #else
5407 H245_AudioCapability::operator H245_VBDCapability &()
5409 #ifndef PASN_LEANANDMEAN
5410 PAssert(PIsDescendant(PAssertNULL(choice), H245_VBDCapability), PInvalidCast);
5411 #endif
5412 return *(H245_VBDCapability *)choice;
5416 H245_AudioCapability::operator const H245_VBDCapability &() const
5417 #endif
5419 #ifndef PASN_LEANANDMEAN
5420 PAssert(PIsDescendant(PAssertNULL(choice), H245_VBDCapability), PInvalidCast);
5421 #endif
5422 return *(H245_VBDCapability *)choice;
5426 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5427 H245_AudioCapability::operator H245_NoPTAudioTelephonyEventCapability &() const
5428 #else
5429 H245_AudioCapability::operator H245_NoPTAudioTelephonyEventCapability &()
5431 #ifndef PASN_LEANANDMEAN
5432 PAssert(PIsDescendant(PAssertNULL(choice), H245_NoPTAudioTelephonyEventCapability), PInvalidCast);
5433 #endif
5434 return *(H245_NoPTAudioTelephonyEventCapability *)choice;
5438 H245_AudioCapability::operator const H245_NoPTAudioTelephonyEventCapability &() const
5439 #endif
5441 #ifndef PASN_LEANANDMEAN
5442 PAssert(PIsDescendant(PAssertNULL(choice), H245_NoPTAudioTelephonyEventCapability), PInvalidCast);
5443 #endif
5444 return *(H245_NoPTAudioTelephonyEventCapability *)choice;
5448 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5449 H245_AudioCapability::operator H245_NoPTAudioToneCapability &() const
5450 #else
5451 H245_AudioCapability::operator H245_NoPTAudioToneCapability &()
5453 #ifndef PASN_LEANANDMEAN
5454 PAssert(PIsDescendant(PAssertNULL(choice), H245_NoPTAudioToneCapability), PInvalidCast);
5455 #endif
5456 return *(H245_NoPTAudioToneCapability *)choice;
5460 H245_AudioCapability::operator const H245_NoPTAudioToneCapability &() const
5461 #endif
5463 #ifndef PASN_LEANANDMEAN
5464 PAssert(PIsDescendant(PAssertNULL(choice), H245_NoPTAudioToneCapability), PInvalidCast);
5465 #endif
5466 return *(H245_NoPTAudioToneCapability *)choice;
5470 BOOL H245_AudioCapability::CreateObject()
5472 switch (tag) {
5473 case e_nonStandard :
5474 choice = new H245_NonStandardParameter();
5475 return TRUE;
5476 case e_g711Alaw64k :
5477 choice = new PASN_Integer();
5478 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5479 return TRUE;
5480 case e_g711Alaw56k :
5481 choice = new PASN_Integer();
5482 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5483 return TRUE;
5484 case e_g711Ulaw64k :
5485 choice = new PASN_Integer();
5486 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5487 return TRUE;
5488 case e_g711Ulaw56k :
5489 choice = new PASN_Integer();
5490 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5491 return TRUE;
5492 case e_g722_64k :
5493 choice = new PASN_Integer();
5494 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5495 return TRUE;
5496 case e_g722_56k :
5497 choice = new PASN_Integer();
5498 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5499 return TRUE;
5500 case e_g722_48k :
5501 choice = new PASN_Integer();
5502 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5503 return TRUE;
5504 case e_g7231 :
5505 choice = new H245_AudioCapability_g7231();
5506 return TRUE;
5507 case e_g728 :
5508 choice = new PASN_Integer();
5509 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5510 return TRUE;
5511 case e_g729 :
5512 choice = new PASN_Integer();
5513 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5514 return TRUE;
5515 case e_g729AnnexA :
5516 choice = new PASN_Integer();
5517 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5518 return TRUE;
5519 case e_is11172AudioCapability :
5520 choice = new H245_IS11172AudioCapability();
5521 return TRUE;
5522 case e_is13818AudioCapability :
5523 choice = new H245_IS13818AudioCapability();
5524 return TRUE;
5525 case e_g729wAnnexB :
5526 choice = new PASN_Integer();
5527 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5528 return TRUE;
5529 case e_g729AnnexAwAnnexB :
5530 choice = new PASN_Integer();
5531 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5532 return TRUE;
5533 case e_g7231AnnexCCapability :
5534 choice = new H245_G7231AnnexCCapability();
5535 return TRUE;
5536 case e_gsmFullRate :
5537 case e_gsmHalfRate :
5538 case e_gsmEnhancedFullRate :
5539 choice = new H245_GSMAudioCapability();
5540 return TRUE;
5541 case e_genericAudioCapability :
5542 choice = new H245_GenericCapability();
5543 return TRUE;
5544 case e_g729Extensions :
5545 choice = new H245_G729Extensions();
5546 return TRUE;
5547 case e_vbd :
5548 choice = new H245_VBDCapability();
5549 return TRUE;
5550 case e_audioTelephonyEvent :
5551 choice = new H245_NoPTAudioTelephonyEventCapability();
5552 return TRUE;
5553 case e_audioTone :
5554 choice = new H245_NoPTAudioToneCapability();
5555 return TRUE;
5558 choice = NULL;
5559 return FALSE;
5563 PObject * H245_AudioCapability::Clone() const
5565 #ifndef PASN_LEANANDMEAN
5566 PAssert(IsClass(H245_AudioCapability::Class()), PInvalidCast);
5567 #endif
5568 return new H245_AudioCapability(*this);
5573 // G729Extensions
5576 H245_G729Extensions::H245_G729Extensions(unsigned tag, PASN_Object::TagClass tagClass)
5577 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
5579 m_audioUnit.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
5583 #ifndef PASN_NOPRINTON
5584 void H245_G729Extensions::PrintOn(ostream & strm) const
5586 int indent = strm.precision() + 2;
5587 strm << "{\n";
5588 if (HasOptionalField(e_audioUnit))
5589 strm << setw(indent+12) << "audioUnit = " << setprecision(indent) << m_audioUnit << '\n';
5590 strm << setw(indent+9) << "annexA = " << setprecision(indent) << m_annexA << '\n';
5591 strm << setw(indent+9) << "annexB = " << setprecision(indent) << m_annexB << '\n';
5592 strm << setw(indent+9) << "annexD = " << setprecision(indent) << m_annexD << '\n';
5593 strm << setw(indent+9) << "annexE = " << setprecision(indent) << m_annexE << '\n';
5594 strm << setw(indent+9) << "annexF = " << setprecision(indent) << m_annexF << '\n';
5595 strm << setw(indent+9) << "annexG = " << setprecision(indent) << m_annexG << '\n';
5596 strm << setw(indent+9) << "annexH = " << setprecision(indent) << m_annexH << '\n';
5597 strm << setw(indent-1) << setprecision(indent-2) << "}";
5599 #endif
5602 PObject::Comparison H245_G729Extensions::Compare(const PObject & obj) const
5604 #ifndef PASN_LEANANDMEAN
5605 PAssert(PIsDescendant(&obj, H245_G729Extensions), PInvalidCast);
5606 #endif
5607 const H245_G729Extensions & other = (const H245_G729Extensions &)obj;
5609 Comparison result;
5611 if ((result = m_audioUnit.Compare(other.m_audioUnit)) != EqualTo)
5612 return result;
5613 if ((result = m_annexA.Compare(other.m_annexA)) != EqualTo)
5614 return result;
5615 if ((result = m_annexB.Compare(other.m_annexB)) != EqualTo)
5616 return result;
5617 if ((result = m_annexD.Compare(other.m_annexD)) != EqualTo)
5618 return result;
5619 if ((result = m_annexE.Compare(other.m_annexE)) != EqualTo)
5620 return result;
5621 if ((result = m_annexF.Compare(other.m_annexF)) != EqualTo)
5622 return result;
5623 if ((result = m_annexG.Compare(other.m_annexG)) != EqualTo)
5624 return result;
5625 if ((result = m_annexH.Compare(other.m_annexH)) != EqualTo)
5626 return result;
5628 return PASN_Sequence::Compare(other);
5632 PINDEX H245_G729Extensions::GetDataLength() const
5634 PINDEX length = 0;
5635 if (HasOptionalField(e_audioUnit))
5636 length += m_audioUnit.GetObjectLength();
5637 length += m_annexA.GetObjectLength();
5638 length += m_annexB.GetObjectLength();
5639 length += m_annexD.GetObjectLength();
5640 length += m_annexE.GetObjectLength();
5641 length += m_annexF.GetObjectLength();
5642 length += m_annexG.GetObjectLength();
5643 length += m_annexH.GetObjectLength();
5644 return length;
5648 BOOL H245_G729Extensions::Decode(PASN_Stream & strm)
5650 if (!PreambleDecode(strm))
5651 return FALSE;
5653 if (HasOptionalField(e_audioUnit) && !m_audioUnit.Decode(strm))
5654 return FALSE;
5655 if (!m_annexA.Decode(strm))
5656 return FALSE;
5657 if (!m_annexB.Decode(strm))
5658 return FALSE;
5659 if (!m_annexD.Decode(strm))
5660 return FALSE;
5661 if (!m_annexE.Decode(strm))
5662 return FALSE;
5663 if (!m_annexF.Decode(strm))
5664 return FALSE;
5665 if (!m_annexG.Decode(strm))
5666 return FALSE;
5667 if (!m_annexH.Decode(strm))
5668 return FALSE;
5670 return UnknownExtensionsDecode(strm);
5674 void H245_G729Extensions::Encode(PASN_Stream & strm) const
5676 PreambleEncode(strm);
5678 if (HasOptionalField(e_audioUnit))
5679 m_audioUnit.Encode(strm);
5680 m_annexA.Encode(strm);
5681 m_annexB.Encode(strm);
5682 m_annexD.Encode(strm);
5683 m_annexE.Encode(strm);
5684 m_annexF.Encode(strm);
5685 m_annexG.Encode(strm);
5686 m_annexH.Encode(strm);
5688 UnknownExtensionsEncode(strm);
5692 PObject * H245_G729Extensions::Clone() const
5694 #ifndef PASN_LEANANDMEAN
5695 PAssert(IsClass(H245_G729Extensions::Class()), PInvalidCast);
5696 #endif
5697 return new H245_G729Extensions(*this);
5702 // IS11172AudioCapability
5705 H245_IS11172AudioCapability::H245_IS11172AudioCapability(unsigned tag, PASN_Object::TagClass tagClass)
5706 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
5708 m_bitRate.SetConstraints(PASN_Object::FixedConstraint, 1, 448);
5712 #ifndef PASN_NOPRINTON
5713 void H245_IS11172AudioCapability::PrintOn(ostream & strm) const
5715 int indent = strm.precision() + 2;
5716 strm << "{\n";
5717 strm << setw(indent+14) << "audioLayer1 = " << setprecision(indent) << m_audioLayer1 << '\n';
5718 strm << setw(indent+14) << "audioLayer2 = " << setprecision(indent) << m_audioLayer2 << '\n';
5719 strm << setw(indent+14) << "audioLayer3 = " << setprecision(indent) << m_audioLayer3 << '\n';
5720 strm << setw(indent+19) << "audioSampling32k = " << setprecision(indent) << m_audioSampling32k << '\n';
5721 strm << setw(indent+20) << "audioSampling44k1 = " << setprecision(indent) << m_audioSampling44k1 << '\n';
5722 strm << setw(indent+19) << "audioSampling48k = " << setprecision(indent) << m_audioSampling48k << '\n';
5723 strm << setw(indent+16) << "singleChannel = " << setprecision(indent) << m_singleChannel << '\n';
5724 strm << setw(indent+14) << "twoChannels = " << setprecision(indent) << m_twoChannels << '\n';
5725 strm << setw(indent+10) << "bitRate = " << setprecision(indent) << m_bitRate << '\n';
5726 strm << setw(indent-1) << setprecision(indent-2) << "}";
5728 #endif
5731 PObject::Comparison H245_IS11172AudioCapability::Compare(const PObject & obj) const
5733 #ifndef PASN_LEANANDMEAN
5734 PAssert(PIsDescendant(&obj, H245_IS11172AudioCapability), PInvalidCast);
5735 #endif
5736 const H245_IS11172AudioCapability & other = (const H245_IS11172AudioCapability &)obj;
5738 Comparison result;
5740 if ((result = m_audioLayer1.Compare(other.m_audioLayer1)) != EqualTo)
5741 return result;
5742 if ((result = m_audioLayer2.Compare(other.m_audioLayer2)) != EqualTo)
5743 return result;
5744 if ((result = m_audioLayer3.Compare(other.m_audioLayer3)) != EqualTo)
5745 return result;
5746 if ((result = m_audioSampling32k.Compare(other.m_audioSampling32k)) != EqualTo)
5747 return result;
5748 if ((result = m_audioSampling44k1.Compare(other.m_audioSampling44k1)) != EqualTo)
5749 return result;
5750 if ((result = m_audioSampling48k.Compare(other.m_audioSampling48k)) != EqualTo)
5751 return result;
5752 if ((result = m_singleChannel.Compare(other.m_singleChannel)) != EqualTo)
5753 return result;
5754 if ((result = m_twoChannels.Compare(other.m_twoChannels)) != EqualTo)
5755 return result;
5756 if ((result = m_bitRate.Compare(other.m_bitRate)) != EqualTo)
5757 return result;
5759 return PASN_Sequence::Compare(other);
5763 PINDEX H245_IS11172AudioCapability::GetDataLength() const
5765 PINDEX length = 0;
5766 length += m_audioLayer1.GetObjectLength();
5767 length += m_audioLayer2.GetObjectLength();
5768 length += m_audioLayer3.GetObjectLength();
5769 length += m_audioSampling32k.GetObjectLength();
5770 length += m_audioSampling44k1.GetObjectLength();
5771 length += m_audioSampling48k.GetObjectLength();
5772 length += m_singleChannel.GetObjectLength();
5773 length += m_twoChannels.GetObjectLength();
5774 length += m_bitRate.GetObjectLength();
5775 return length;
5779 BOOL H245_IS11172AudioCapability::Decode(PASN_Stream & strm)
5781 if (!PreambleDecode(strm))
5782 return FALSE;
5784 if (!m_audioLayer1.Decode(strm))
5785 return FALSE;
5786 if (!m_audioLayer2.Decode(strm))
5787 return FALSE;
5788 if (!m_audioLayer3.Decode(strm))
5789 return FALSE;
5790 if (!m_audioSampling32k.Decode(strm))
5791 return FALSE;
5792 if (!m_audioSampling44k1.Decode(strm))
5793 return FALSE;
5794 if (!m_audioSampling48k.Decode(strm))
5795 return FALSE;
5796 if (!m_singleChannel.Decode(strm))
5797 return FALSE;
5798 if (!m_twoChannels.Decode(strm))
5799 return FALSE;
5800 if (!m_bitRate.Decode(strm))
5801 return FALSE;
5803 return UnknownExtensionsDecode(strm);
5807 void H245_IS11172AudioCapability::Encode(PASN_Stream & strm) const
5809 PreambleEncode(strm);
5811 m_audioLayer1.Encode(strm);
5812 m_audioLayer2.Encode(strm);
5813 m_audioLayer3.Encode(strm);
5814 m_audioSampling32k.Encode(strm);
5815 m_audioSampling44k1.Encode(strm);
5816 m_audioSampling48k.Encode(strm);
5817 m_singleChannel.Encode(strm);
5818 m_twoChannels.Encode(strm);
5819 m_bitRate.Encode(strm);
5821 UnknownExtensionsEncode(strm);
5825 PObject * H245_IS11172AudioCapability::Clone() const
5827 #ifndef PASN_LEANANDMEAN
5828 PAssert(IsClass(H245_IS11172AudioCapability::Class()), PInvalidCast);
5829 #endif
5830 return new H245_IS11172AudioCapability(*this);
5835 // IS13818AudioCapability
5838 H245_IS13818AudioCapability::H245_IS13818AudioCapability(unsigned tag, PASN_Object::TagClass tagClass)
5839 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
5841 m_bitRate.SetConstraints(PASN_Object::FixedConstraint, 1, 1130);
5845 #ifndef PASN_NOPRINTON
5846 void H245_IS13818AudioCapability::PrintOn(ostream & strm) const
5848 int indent = strm.precision() + 2;
5849 strm << "{\n";
5850 strm << setw(indent+14) << "audioLayer1 = " << setprecision(indent) << m_audioLayer1 << '\n';
5851 strm << setw(indent+14) << "audioLayer2 = " << setprecision(indent) << m_audioLayer2 << '\n';
5852 strm << setw(indent+14) << "audioLayer3 = " << setprecision(indent) << m_audioLayer3 << '\n';
5853 strm << setw(indent+19) << "audioSampling16k = " << setprecision(indent) << m_audioSampling16k << '\n';
5854 strm << setw(indent+21) << "audioSampling22k05 = " << setprecision(indent) << m_audioSampling22k05 << '\n';
5855 strm << setw(indent+19) << "audioSampling24k = " << setprecision(indent) << m_audioSampling24k << '\n';
5856 strm << setw(indent+19) << "audioSampling32k = " << setprecision(indent) << m_audioSampling32k << '\n';
5857 strm << setw(indent+20) << "audioSampling44k1 = " << setprecision(indent) << m_audioSampling44k1 << '\n';
5858 strm << setw(indent+19) << "audioSampling48k = " << setprecision(indent) << m_audioSampling48k << '\n';
5859 strm << setw(indent+16) << "singleChannel = " << setprecision(indent) << m_singleChannel << '\n';
5860 strm << setw(indent+14) << "twoChannels = " << setprecision(indent) << m_twoChannels << '\n';
5861 strm << setw(indent+19) << "threeChannels2_1 = " << setprecision(indent) << m_threeChannels2_1 << '\n';
5862 strm << setw(indent+19) << "threeChannels3_0 = " << setprecision(indent) << m_threeChannels3_0 << '\n';
5863 strm << setw(indent+22) << "fourChannels2_0_2_0 = " << setprecision(indent) << m_fourChannels2_0_2_0 << '\n';
5864 strm << setw(indent+18) << "fourChannels2_2 = " << setprecision(indent) << m_fourChannels2_2 << '\n';
5865 strm << setw(indent+18) << "fourChannels3_1 = " << setprecision(indent) << m_fourChannels3_1 << '\n';
5866 strm << setw(indent+22) << "fiveChannels3_0_2_0 = " << setprecision(indent) << m_fiveChannels3_0_2_0 << '\n';
5867 strm << setw(indent+18) << "fiveChannels3_2 = " << setprecision(indent) << m_fiveChannels3_2 << '\n';
5868 strm << setw(indent+26) << "lowFrequencyEnhancement = " << setprecision(indent) << m_lowFrequencyEnhancement << '\n';
5869 strm << setw(indent+15) << "multilingual = " << setprecision(indent) << m_multilingual << '\n';
5870 strm << setw(indent+10) << "bitRate = " << setprecision(indent) << m_bitRate << '\n';
5871 strm << setw(indent-1) << setprecision(indent-2) << "}";
5873 #endif
5876 PObject::Comparison H245_IS13818AudioCapability::Compare(const PObject & obj) const
5878 #ifndef PASN_LEANANDMEAN
5879 PAssert(PIsDescendant(&obj, H245_IS13818AudioCapability), PInvalidCast);
5880 #endif
5881 const H245_IS13818AudioCapability & other = (const H245_IS13818AudioCapability &)obj;
5883 Comparison result;
5885 if ((result = m_audioLayer1.Compare(other.m_audioLayer1)) != EqualTo)
5886 return result;
5887 if ((result = m_audioLayer2.Compare(other.m_audioLayer2)) != EqualTo)
5888 return result;
5889 if ((result = m_audioLayer3.Compare(other.m_audioLayer3)) != EqualTo)
5890 return result;
5891 if ((result = m_audioSampling16k.Compare(other.m_audioSampling16k)) != EqualTo)
5892 return result;
5893 if ((result = m_audioSampling22k05.Compare(other.m_audioSampling22k05)) != EqualTo)
5894 return result;
5895 if ((result = m_audioSampling24k.Compare(other.m_audioSampling24k)) != EqualTo)
5896 return result;
5897 if ((result = m_audioSampling32k.Compare(other.m_audioSampling32k)) != EqualTo)
5898 return result;
5899 if ((result = m_audioSampling44k1.Compare(other.m_audioSampling44k1)) != EqualTo)
5900 return result;
5901 if ((result = m_audioSampling48k.Compare(other.m_audioSampling48k)) != EqualTo)
5902 return result;
5903 if ((result = m_singleChannel.Compare(other.m_singleChannel)) != EqualTo)
5904 return result;
5905 if ((result = m_twoChannels.Compare(other.m_twoChannels)) != EqualTo)
5906 return result;
5907 if ((result = m_threeChannels2_1.Compare(other.m_threeChannels2_1)) != EqualTo)
5908 return result;
5909 if ((result = m_threeChannels3_0.Compare(other.m_threeChannels3_0)) != EqualTo)
5910 return result;
5911 if ((result = m_fourChannels2_0_2_0.Compare(other.m_fourChannels2_0_2_0)) != EqualTo)
5912 return result;
5913 if ((result = m_fourChannels2_2.Compare(other.m_fourChannels2_2)) != EqualTo)
5914 return result;
5915 if ((result = m_fourChannels3_1.Compare(other.m_fourChannels3_1)) != EqualTo)
5916 return result;
5917 if ((result = m_fiveChannels3_0_2_0.Compare(other.m_fiveChannels3_0_2_0)) != EqualTo)
5918 return result;
5919 if ((result = m_fiveChannels3_2.Compare(other.m_fiveChannels3_2)) != EqualTo)
5920 return result;
5921 if ((result = m_lowFrequencyEnhancement.Compare(other.m_lowFrequencyEnhancement)) != EqualTo)
5922 return result;
5923 if ((result = m_multilingual.Compare(other.m_multilingual)) != EqualTo)
5924 return result;
5925 if ((result = m_bitRate.Compare(other.m_bitRate)) != EqualTo)
5926 return result;
5928 return PASN_Sequence::Compare(other);
5932 PINDEX H245_IS13818AudioCapability::GetDataLength() const
5934 PINDEX length = 0;
5935 length += m_audioLayer1.GetObjectLength();
5936 length += m_audioLayer2.GetObjectLength();
5937 length += m_audioLayer3.GetObjectLength();
5938 length += m_audioSampling16k.GetObjectLength();
5939 length += m_audioSampling22k05.GetObjectLength();
5940 length += m_audioSampling24k.GetObjectLength();
5941 length += m_audioSampling32k.GetObjectLength();
5942 length += m_audioSampling44k1.GetObjectLength();
5943 length += m_audioSampling48k.GetObjectLength();
5944 length += m_singleChannel.GetObjectLength();
5945 length += m_twoChannels.GetObjectLength();
5946 length += m_threeChannels2_1.GetObjectLength();
5947 length += m_threeChannels3_0.GetObjectLength();
5948 length += m_fourChannels2_0_2_0.GetObjectLength();
5949 length += m_fourChannels2_2.GetObjectLength();
5950 length += m_fourChannels3_1.GetObjectLength();
5951 length += m_fiveChannels3_0_2_0.GetObjectLength();
5952 length += m_fiveChannels3_2.GetObjectLength();
5953 length += m_lowFrequencyEnhancement.GetObjectLength();
5954 length += m_multilingual.GetObjectLength();
5955 length += m_bitRate.GetObjectLength();
5956 return length;
5960 BOOL H245_IS13818AudioCapability::Decode(PASN_Stream & strm)
5962 if (!PreambleDecode(strm))
5963 return FALSE;
5965 if (!m_audioLayer1.Decode(strm))
5966 return FALSE;
5967 if (!m_audioLayer2.Decode(strm))
5968 return FALSE;
5969 if (!m_audioLayer3.Decode(strm))
5970 return FALSE;
5971 if (!m_audioSampling16k.Decode(strm))
5972 return FALSE;
5973 if (!m_audioSampling22k05.Decode(strm))
5974 return FALSE;
5975 if (!m_audioSampling24k.Decode(strm))
5976 return FALSE;
5977 if (!m_audioSampling32k.Decode(strm))
5978 return FALSE;
5979 if (!m_audioSampling44k1.Decode(strm))
5980 return FALSE;
5981 if (!m_audioSampling48k.Decode(strm))
5982 return FALSE;
5983 if (!m_singleChannel.Decode(strm))
5984 return FALSE;
5985 if (!m_twoChannels.Decode(strm))
5986 return FALSE;
5987 if (!m_threeChannels2_1.Decode(strm))
5988 return FALSE;
5989 if (!m_threeChannels3_0.Decode(strm))
5990 return FALSE;
5991 if (!m_fourChannels2_0_2_0.Decode(strm))
5992 return FALSE;
5993 if (!m_fourChannels2_2.Decode(strm))
5994 return FALSE;
5995 if (!m_fourChannels3_1.Decode(strm))
5996 return FALSE;
5997 if (!m_fiveChannels3_0_2_0.Decode(strm))
5998 return FALSE;
5999 if (!m_fiveChannels3_2.Decode(strm))
6000 return FALSE;
6001 if (!m_lowFrequencyEnhancement.Decode(strm))
6002 return FALSE;
6003 if (!m_multilingual.Decode(strm))
6004 return FALSE;
6005 if (!m_bitRate.Decode(strm))
6006 return FALSE;
6008 return UnknownExtensionsDecode(strm);
6012 void H245_IS13818AudioCapability::Encode(PASN_Stream & strm) const
6014 PreambleEncode(strm);
6016 m_audioLayer1.Encode(strm);
6017 m_audioLayer2.Encode(strm);
6018 m_audioLayer3.Encode(strm);
6019 m_audioSampling16k.Encode(strm);
6020 m_audioSampling22k05.Encode(strm);
6021 m_audioSampling24k.Encode(strm);
6022 m_audioSampling32k.Encode(strm);
6023 m_audioSampling44k1.Encode(strm);
6024 m_audioSampling48k.Encode(strm);
6025 m_singleChannel.Encode(strm);
6026 m_twoChannels.Encode(strm);
6027 m_threeChannels2_1.Encode(strm);
6028 m_threeChannels3_0.Encode(strm);
6029 m_fourChannels2_0_2_0.Encode(strm);
6030 m_fourChannels2_2.Encode(strm);
6031 m_fourChannels3_1.Encode(strm);
6032 m_fiveChannels3_0_2_0.Encode(strm);
6033 m_fiveChannels3_2.Encode(strm);
6034 m_lowFrequencyEnhancement.Encode(strm);
6035 m_multilingual.Encode(strm);
6036 m_bitRate.Encode(strm);
6038 UnknownExtensionsEncode(strm);
6042 PObject * H245_IS13818AudioCapability::Clone() const
6044 #ifndef PASN_LEANANDMEAN
6045 PAssert(IsClass(H245_IS13818AudioCapability::Class()), PInvalidCast);
6046 #endif
6047 return new H245_IS13818AudioCapability(*this);
6052 // GSMAudioCapability
6055 H245_GSMAudioCapability::H245_GSMAudioCapability(unsigned tag, PASN_Object::TagClass tagClass)
6056 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6058 m_audioUnitSize.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
6062 #ifndef PASN_NOPRINTON
6063 void H245_GSMAudioCapability::PrintOn(ostream & strm) const
6065 int indent = strm.precision() + 2;
6066 strm << "{\n";
6067 strm << setw(indent+16) << "audioUnitSize = " << setprecision(indent) << m_audioUnitSize << '\n';
6068 strm << setw(indent+15) << "comfortNoise = " << setprecision(indent) << m_comfortNoise << '\n';
6069 strm << setw(indent+12) << "scrambled = " << setprecision(indent) << m_scrambled << '\n';
6070 strm << setw(indent-1) << setprecision(indent-2) << "}";
6072 #endif
6075 PObject::Comparison H245_GSMAudioCapability::Compare(const PObject & obj) const
6077 #ifndef PASN_LEANANDMEAN
6078 PAssert(PIsDescendant(&obj, H245_GSMAudioCapability), PInvalidCast);
6079 #endif
6080 const H245_GSMAudioCapability & other = (const H245_GSMAudioCapability &)obj;
6082 Comparison result;
6084 if ((result = m_audioUnitSize.Compare(other.m_audioUnitSize)) != EqualTo)
6085 return result;
6086 if ((result = m_comfortNoise.Compare(other.m_comfortNoise)) != EqualTo)
6087 return result;
6088 if ((result = m_scrambled.Compare(other.m_scrambled)) != EqualTo)
6089 return result;
6091 return PASN_Sequence::Compare(other);
6095 PINDEX H245_GSMAudioCapability::GetDataLength() const
6097 PINDEX length = 0;
6098 length += m_audioUnitSize.GetObjectLength();
6099 length += m_comfortNoise.GetObjectLength();
6100 length += m_scrambled.GetObjectLength();
6101 return length;
6105 BOOL H245_GSMAudioCapability::Decode(PASN_Stream & strm)
6107 if (!PreambleDecode(strm))
6108 return FALSE;
6110 if (!m_audioUnitSize.Decode(strm))
6111 return FALSE;
6112 if (!m_comfortNoise.Decode(strm))
6113 return FALSE;
6114 if (!m_scrambled.Decode(strm))
6115 return FALSE;
6117 return UnknownExtensionsDecode(strm);
6121 void H245_GSMAudioCapability::Encode(PASN_Stream & strm) const
6123 PreambleEncode(strm);
6125 m_audioUnitSize.Encode(strm);
6126 m_comfortNoise.Encode(strm);
6127 m_scrambled.Encode(strm);
6129 UnknownExtensionsEncode(strm);
6133 PObject * H245_GSMAudioCapability::Clone() const
6135 #ifndef PASN_LEANANDMEAN
6136 PAssert(IsClass(H245_GSMAudioCapability::Class()), PInvalidCast);
6137 #endif
6138 return new H245_GSMAudioCapability(*this);
6143 // VBDCapability
6146 H245_VBDCapability::H245_VBDCapability(unsigned tag, PASN_Object::TagClass tagClass)
6147 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6152 #ifndef PASN_NOPRINTON
6153 void H245_VBDCapability::PrintOn(ostream & strm) const
6155 int indent = strm.precision() + 2;
6156 strm << "{\n";
6157 strm << setw(indent+7) << "type = " << setprecision(indent) << m_type << '\n';
6158 strm << setw(indent-1) << setprecision(indent-2) << "}";
6160 #endif
6163 PObject::Comparison H245_VBDCapability::Compare(const PObject & obj) const
6165 #ifndef PASN_LEANANDMEAN
6166 PAssert(PIsDescendant(&obj, H245_VBDCapability), PInvalidCast);
6167 #endif
6168 const H245_VBDCapability & other = (const H245_VBDCapability &)obj;
6170 Comparison result;
6172 if ((result = m_type.Compare(other.m_type)) != EqualTo)
6173 return result;
6175 return PASN_Sequence::Compare(other);
6179 PINDEX H245_VBDCapability::GetDataLength() const
6181 PINDEX length = 0;
6182 length += m_type.GetObjectLength();
6183 return length;
6187 BOOL H245_VBDCapability::Decode(PASN_Stream & strm)
6189 if (!PreambleDecode(strm))
6190 return FALSE;
6192 if (!m_type.Decode(strm))
6193 return FALSE;
6195 return UnknownExtensionsDecode(strm);
6199 void H245_VBDCapability::Encode(PASN_Stream & strm) const
6201 PreambleEncode(strm);
6203 m_type.Encode(strm);
6205 UnknownExtensionsEncode(strm);
6209 PObject * H245_VBDCapability::Clone() const
6211 #ifndef PASN_LEANANDMEAN
6212 PAssert(IsClass(H245_VBDCapability::Class()), PInvalidCast);
6213 #endif
6214 return new H245_VBDCapability(*this);
6219 #ifndef PASN_NOPRINTON
6220 const static PASN_Names Names_H245_DataProtocolCapability[]={
6221 {"nonStandard",0}
6222 ,{"v14buffered",1}
6223 ,{"v42lapm",2}
6224 ,{"hdlcFrameTunnelling",3}
6225 ,{"h310SeparateVCStack",4}
6226 ,{"h310SingleVCStack",5}
6227 ,{"transparent",6}
6228 ,{"segmentationAndReassembly",7}
6229 ,{"hdlcFrameTunnelingwSAR",8}
6230 ,{"v120",9}
6231 ,{"separateLANStack",10}
6232 ,{"v76wCompression",11}
6233 ,{"tcp",12}
6234 ,{"udp",13}
6236 #endif
6238 // DataProtocolCapability
6241 H245_DataProtocolCapability::H245_DataProtocolCapability(unsigned tag, PASN_Object::TagClass tagClass)
6242 : PASN_Choice(tag, tagClass, 7, TRUE
6243 #ifndef PASN_NOPRINTON
6244 ,(const PASN_Names *)Names_H245_DataProtocolCapability,14
6245 #endif
6251 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6252 H245_DataProtocolCapability::operator H245_NonStandardParameter &() const
6253 #else
6254 H245_DataProtocolCapability::operator H245_NonStandardParameter &()
6256 #ifndef PASN_LEANANDMEAN
6257 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6258 #endif
6259 return *(H245_NonStandardParameter *)choice;
6263 H245_DataProtocolCapability::operator const H245_NonStandardParameter &() const
6264 #endif
6266 #ifndef PASN_LEANANDMEAN
6267 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6268 #endif
6269 return *(H245_NonStandardParameter *)choice;
6273 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6274 H245_DataProtocolCapability::operator H245_DataProtocolCapability_v76wCompression &() const
6275 #else
6276 H245_DataProtocolCapability::operator H245_DataProtocolCapability_v76wCompression &()
6278 #ifndef PASN_LEANANDMEAN
6279 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataProtocolCapability_v76wCompression), PInvalidCast);
6280 #endif
6281 return *(H245_DataProtocolCapability_v76wCompression *)choice;
6285 H245_DataProtocolCapability::operator const H245_DataProtocolCapability_v76wCompression &() const
6286 #endif
6288 #ifndef PASN_LEANANDMEAN
6289 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataProtocolCapability_v76wCompression), PInvalidCast);
6290 #endif
6291 return *(H245_DataProtocolCapability_v76wCompression *)choice;
6295 BOOL H245_DataProtocolCapability::CreateObject()
6297 switch (tag) {
6298 case e_nonStandard :
6299 choice = new H245_NonStandardParameter();
6300 return TRUE;
6301 case e_v14buffered :
6302 case e_v42lapm :
6303 case e_hdlcFrameTunnelling :
6304 case e_h310SeparateVCStack :
6305 case e_h310SingleVCStack :
6306 case e_transparent :
6307 case e_segmentationAndReassembly :
6308 case e_hdlcFrameTunnelingwSAR :
6309 case e_v120 :
6310 case e_separateLANStack :
6311 case e_tcp :
6312 case e_udp :
6313 choice = new PASN_Null();
6314 return TRUE;
6315 case e_v76wCompression :
6316 choice = new H245_DataProtocolCapability_v76wCompression();
6317 return TRUE;
6320 choice = NULL;
6321 return FALSE;
6325 PObject * H245_DataProtocolCapability::Clone() const
6327 #ifndef PASN_LEANANDMEAN
6328 PAssert(IsClass(H245_DataProtocolCapability::Class()), PInvalidCast);
6329 #endif
6330 return new H245_DataProtocolCapability(*this);
6335 #ifndef PASN_NOPRINTON
6336 const static PASN_Names Names_H245_CompressionType[]={
6337 {"v42bis",0}
6339 #endif
6341 // CompressionType
6344 H245_CompressionType::H245_CompressionType(unsigned tag, PASN_Object::TagClass tagClass)
6345 : PASN_Choice(tag, tagClass, 1, TRUE
6346 #ifndef PASN_NOPRINTON
6347 ,(const PASN_Names *)Names_H245_CompressionType,1
6348 #endif
6354 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6355 H245_CompressionType::operator H245_V42bis &() const
6356 #else
6357 H245_CompressionType::operator H245_V42bis &()
6359 #ifndef PASN_LEANANDMEAN
6360 PAssert(PIsDescendant(PAssertNULL(choice), H245_V42bis), PInvalidCast);
6361 #endif
6362 return *(H245_V42bis *)choice;
6366 H245_CompressionType::operator const H245_V42bis &() const
6367 #endif
6369 #ifndef PASN_LEANANDMEAN
6370 PAssert(PIsDescendant(PAssertNULL(choice), H245_V42bis), PInvalidCast);
6371 #endif
6372 return *(H245_V42bis *)choice;
6376 BOOL H245_CompressionType::CreateObject()
6378 switch (tag) {
6379 case e_v42bis :
6380 choice = new H245_V42bis();
6381 return TRUE;
6384 choice = NULL;
6385 return FALSE;
6389 PObject * H245_CompressionType::Clone() const
6391 #ifndef PASN_LEANANDMEAN
6392 PAssert(IsClass(H245_CompressionType::Class()), PInvalidCast);
6393 #endif
6394 return new H245_CompressionType(*this);
6399 // V42bis
6402 H245_V42bis::H245_V42bis(unsigned tag, PASN_Object::TagClass tagClass)
6403 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6405 m_numberOfCodewords.SetConstraints(PASN_Object::FixedConstraint, 1, 65536);
6406 m_maximumStringLength.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
6410 #ifndef PASN_NOPRINTON
6411 void H245_V42bis::PrintOn(ostream & strm) const
6413 int indent = strm.precision() + 2;
6414 strm << "{\n";
6415 strm << setw(indent+20) << "numberOfCodewords = " << setprecision(indent) << m_numberOfCodewords << '\n';
6416 strm << setw(indent+22) << "maximumStringLength = " << setprecision(indent) << m_maximumStringLength << '\n';
6417 strm << setw(indent-1) << setprecision(indent-2) << "}";
6419 #endif
6422 PObject::Comparison H245_V42bis::Compare(const PObject & obj) const
6424 #ifndef PASN_LEANANDMEAN
6425 PAssert(PIsDescendant(&obj, H245_V42bis), PInvalidCast);
6426 #endif
6427 const H245_V42bis & other = (const H245_V42bis &)obj;
6429 Comparison result;
6431 if ((result = m_numberOfCodewords.Compare(other.m_numberOfCodewords)) != EqualTo)
6432 return result;
6433 if ((result = m_maximumStringLength.Compare(other.m_maximumStringLength)) != EqualTo)
6434 return result;
6436 return PASN_Sequence::Compare(other);
6440 PINDEX H245_V42bis::GetDataLength() const
6442 PINDEX length = 0;
6443 length += m_numberOfCodewords.GetObjectLength();
6444 length += m_maximumStringLength.GetObjectLength();
6445 return length;
6449 BOOL H245_V42bis::Decode(PASN_Stream & strm)
6451 if (!PreambleDecode(strm))
6452 return FALSE;
6454 if (!m_numberOfCodewords.Decode(strm))
6455 return FALSE;
6456 if (!m_maximumStringLength.Decode(strm))
6457 return FALSE;
6459 return UnknownExtensionsDecode(strm);
6463 void H245_V42bis::Encode(PASN_Stream & strm) const
6465 PreambleEncode(strm);
6467 m_numberOfCodewords.Encode(strm);
6468 m_maximumStringLength.Encode(strm);
6470 UnknownExtensionsEncode(strm);
6474 PObject * H245_V42bis::Clone() const
6476 #ifndef PASN_LEANANDMEAN
6477 PAssert(IsClass(H245_V42bis::Class()), PInvalidCast);
6478 #endif
6479 return new H245_V42bis(*this);
6484 #ifndef PASN_NOPRINTON
6485 const static PASN_Names Names_H245_T84Profile[]={
6486 {"t84Unrestricted",0}
6487 ,{"t84Restricted",1}
6489 #endif
6491 // T84Profile
6494 H245_T84Profile::H245_T84Profile(unsigned tag, PASN_Object::TagClass tagClass)
6495 : PASN_Choice(tag, tagClass, 2, FALSE
6496 #ifndef PASN_NOPRINTON
6497 ,(const PASN_Names *)Names_H245_T84Profile,2
6498 #endif
6504 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6505 H245_T84Profile::operator H245_T84Profile_t84Restricted &() const
6506 #else
6507 H245_T84Profile::operator H245_T84Profile_t84Restricted &()
6509 #ifndef PASN_LEANANDMEAN
6510 PAssert(PIsDescendant(PAssertNULL(choice), H245_T84Profile_t84Restricted), PInvalidCast);
6511 #endif
6512 return *(H245_T84Profile_t84Restricted *)choice;
6516 H245_T84Profile::operator const H245_T84Profile_t84Restricted &() const
6517 #endif
6519 #ifndef PASN_LEANANDMEAN
6520 PAssert(PIsDescendant(PAssertNULL(choice), H245_T84Profile_t84Restricted), PInvalidCast);
6521 #endif
6522 return *(H245_T84Profile_t84Restricted *)choice;
6526 BOOL H245_T84Profile::CreateObject()
6528 switch (tag) {
6529 case e_t84Unrestricted :
6530 choice = new PASN_Null();
6531 return TRUE;
6532 case e_t84Restricted :
6533 choice = new H245_T84Profile_t84Restricted();
6534 return TRUE;
6537 choice = NULL;
6538 return FALSE;
6542 PObject * H245_T84Profile::Clone() const
6544 #ifndef PASN_LEANANDMEAN
6545 PAssert(IsClass(H245_T84Profile::Class()), PInvalidCast);
6546 #endif
6547 return new H245_T84Profile(*this);
6552 #ifndef PASN_NOPRINTON
6553 const static PASN_Names Names_H245_T38FaxRateManagement[]={
6554 {"localTCF",0}
6555 ,{"transferredTCF",1}
6557 #endif
6559 // T38FaxRateManagement
6562 H245_T38FaxRateManagement::H245_T38FaxRateManagement(unsigned tag, PASN_Object::TagClass tagClass)
6563 : PASN_Choice(tag, tagClass, 2, TRUE
6564 #ifndef PASN_NOPRINTON
6565 ,(const PASN_Names *)Names_H245_T38FaxRateManagement,2
6566 #endif
6572 BOOL H245_T38FaxRateManagement::CreateObject()
6574 choice = (tag <= e_transferredTCF) ? new PASN_Null() : NULL;
6575 return choice != NULL;
6579 PObject * H245_T38FaxRateManagement::Clone() const
6581 #ifndef PASN_LEANANDMEAN
6582 PAssert(IsClass(H245_T38FaxRateManagement::Class()), PInvalidCast);
6583 #endif
6584 return new H245_T38FaxRateManagement(*this);
6589 // T38FaxTcpOptions
6592 H245_T38FaxTcpOptions::H245_T38FaxTcpOptions(unsigned tag, PASN_Object::TagClass tagClass)
6593 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6598 #ifndef PASN_NOPRINTON
6599 void H245_T38FaxTcpOptions::PrintOn(ostream & strm) const
6601 int indent = strm.precision() + 2;
6602 strm << "{\n";
6603 strm << setw(indent+26) << "t38TCPBidirectionalMode = " << setprecision(indent) << m_t38TCPBidirectionalMode << '\n';
6604 strm << setw(indent-1) << setprecision(indent-2) << "}";
6606 #endif
6609 PObject::Comparison H245_T38FaxTcpOptions::Compare(const PObject & obj) const
6611 #ifndef PASN_LEANANDMEAN
6612 PAssert(PIsDescendant(&obj, H245_T38FaxTcpOptions), PInvalidCast);
6613 #endif
6614 const H245_T38FaxTcpOptions & other = (const H245_T38FaxTcpOptions &)obj;
6616 Comparison result;
6618 if ((result = m_t38TCPBidirectionalMode.Compare(other.m_t38TCPBidirectionalMode)) != EqualTo)
6619 return result;
6621 return PASN_Sequence::Compare(other);
6625 PINDEX H245_T38FaxTcpOptions::GetDataLength() const
6627 PINDEX length = 0;
6628 length += m_t38TCPBidirectionalMode.GetObjectLength();
6629 return length;
6633 BOOL H245_T38FaxTcpOptions::Decode(PASN_Stream & strm)
6635 if (!PreambleDecode(strm))
6636 return FALSE;
6638 if (!m_t38TCPBidirectionalMode.Decode(strm))
6639 return FALSE;
6641 return UnknownExtensionsDecode(strm);
6645 void H245_T38FaxTcpOptions::Encode(PASN_Stream & strm) const
6647 PreambleEncode(strm);
6649 m_t38TCPBidirectionalMode.Encode(strm);
6651 UnknownExtensionsEncode(strm);
6655 PObject * H245_T38FaxTcpOptions::Clone() const
6657 #ifndef PASN_LEANANDMEAN
6658 PAssert(IsClass(H245_T38FaxTcpOptions::Class()), PInvalidCast);
6659 #endif
6660 return new H245_T38FaxTcpOptions(*this);
6665 // EncryptionCapability
6668 H245_EncryptionCapability::H245_EncryptionCapability(unsigned tag, PASN_Object::TagClass tagClass)
6669 : PASN_Array(tag, tagClass)
6671 SetConstraints(PASN_Object::FixedConstraint, 1, 256);
6675 PASN_Object * H245_EncryptionCapability::CreateObject() const
6677 return new H245_MediaEncryptionAlgorithm;
6681 H245_MediaEncryptionAlgorithm & H245_EncryptionCapability::operator[](PINDEX i) const
6683 return (H245_MediaEncryptionAlgorithm &)array[i];
6687 PObject * H245_EncryptionCapability::Clone() const
6689 #ifndef PASN_LEANANDMEAN
6690 PAssert(IsClass(H245_EncryptionCapability::Class()), PInvalidCast);
6691 #endif
6692 return new H245_EncryptionCapability(*this);
6697 #ifndef PASN_NOPRINTON
6698 const static PASN_Names Names_H245_MediaEncryptionAlgorithm[]={
6699 {"nonStandard",0}
6700 ,{"algorithm",1}
6702 #endif
6704 // MediaEncryptionAlgorithm
6707 H245_MediaEncryptionAlgorithm::H245_MediaEncryptionAlgorithm(unsigned tag, PASN_Object::TagClass tagClass)
6708 : PASN_Choice(tag, tagClass, 2, TRUE
6709 #ifndef PASN_NOPRINTON
6710 ,(const PASN_Names *)Names_H245_MediaEncryptionAlgorithm,2
6711 #endif
6717 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6718 H245_MediaEncryptionAlgorithm::operator H245_NonStandardParameter &() const
6719 #else
6720 H245_MediaEncryptionAlgorithm::operator H245_NonStandardParameter &()
6722 #ifndef PASN_LEANANDMEAN
6723 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6724 #endif
6725 return *(H245_NonStandardParameter *)choice;
6729 H245_MediaEncryptionAlgorithm::operator const H245_NonStandardParameter &() const
6730 #endif
6732 #ifndef PASN_LEANANDMEAN
6733 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6734 #endif
6735 return *(H245_NonStandardParameter *)choice;
6739 BOOL H245_MediaEncryptionAlgorithm::CreateObject()
6741 switch (tag) {
6742 case e_nonStandard :
6743 choice = new H245_NonStandardParameter();
6744 return TRUE;
6745 case e_algorithm :
6746 choice = new PASN_ObjectId();
6747 return TRUE;
6750 choice = NULL;
6751 return FALSE;
6755 PObject * H245_MediaEncryptionAlgorithm::Clone() const
6757 #ifndef PASN_LEANANDMEAN
6758 PAssert(IsClass(H245_MediaEncryptionAlgorithm::Class()), PInvalidCast);
6759 #endif
6760 return new H245_MediaEncryptionAlgorithm(*this);
6765 #ifndef PASN_NOPRINTON
6766 const static PASN_Names Names_H245_UserInputCapability[]={
6767 {"nonStandard",0}
6768 ,{"basicString",1}
6769 ,{"iA5String",2}
6770 ,{"generalString",3}
6771 ,{"dtmf",4}
6772 ,{"hookflash",5}
6773 ,{"extendedAlphanumeric",6}
6774 ,{"encryptedBasicString",7}
6775 ,{"encryptedIA5String",8}
6776 ,{"encryptedGeneralString",9}
6777 ,{"secureDTMF",10}
6778 ,{"genericUserInputCapability",11}
6780 #endif
6782 // UserInputCapability
6785 H245_UserInputCapability::H245_UserInputCapability(unsigned tag, PASN_Object::TagClass tagClass)
6786 : PASN_Choice(tag, tagClass, 6, TRUE
6787 #ifndef PASN_NOPRINTON
6788 ,(const PASN_Names *)Names_H245_UserInputCapability,12
6789 #endif
6795 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6796 H245_UserInputCapability::operator H245_ArrayOf_NonStandardParameter &() const
6797 #else
6798 H245_UserInputCapability::operator H245_ArrayOf_NonStandardParameter &()
6800 #ifndef PASN_LEANANDMEAN
6801 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_NonStandardParameter), PInvalidCast);
6802 #endif
6803 return *(H245_ArrayOf_NonStandardParameter *)choice;
6807 H245_UserInputCapability::operator const H245_ArrayOf_NonStandardParameter &() const
6808 #endif
6810 #ifndef PASN_LEANANDMEAN
6811 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_NonStandardParameter), PInvalidCast);
6812 #endif
6813 return *(H245_ArrayOf_NonStandardParameter *)choice;
6817 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6818 H245_UserInputCapability::operator H245_GenericCapability &() const
6819 #else
6820 H245_UserInputCapability::operator H245_GenericCapability &()
6822 #ifndef PASN_LEANANDMEAN
6823 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
6824 #endif
6825 return *(H245_GenericCapability *)choice;
6829 H245_UserInputCapability::operator const H245_GenericCapability &() const
6830 #endif
6832 #ifndef PASN_LEANANDMEAN
6833 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
6834 #endif
6835 return *(H245_GenericCapability *)choice;
6839 BOOL H245_UserInputCapability::CreateObject()
6841 switch (tag) {
6842 case e_nonStandard :
6843 choice = new H245_ArrayOf_NonStandardParameter();
6844 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 16);
6845 return TRUE;
6846 case e_basicString :
6847 case e_iA5String :
6848 case e_generalString :
6849 case e_dtmf :
6850 case e_hookflash :
6851 case e_extendedAlphanumeric :
6852 case e_encryptedBasicString :
6853 case e_encryptedIA5String :
6854 case e_encryptedGeneralString :
6855 case e_secureDTMF :
6856 choice = new PASN_Null();
6857 return TRUE;
6858 case e_genericUserInputCapability :
6859 choice = new H245_GenericCapability();
6860 return TRUE;
6863 choice = NULL;
6864 return FALSE;
6868 PObject * H245_UserInputCapability::Clone() const
6870 #ifndef PASN_LEANANDMEAN
6871 PAssert(IsClass(H245_UserInputCapability::Class()), PInvalidCast);
6872 #endif
6873 return new H245_UserInputCapability(*this);
6878 #ifndef PASN_NOPRINTON
6879 const static PASN_Names Names_H245_CapabilityIdentifier[]={
6880 {"standard",0}
6881 ,{"h221NonStandard",1}
6882 ,{"uuid",2}
6883 ,{"domainBased",3}
6885 #endif
6887 // CapabilityIdentifier
6890 H245_CapabilityIdentifier::H245_CapabilityIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
6891 : PASN_Choice(tag, tagClass, 4, TRUE
6892 #ifndef PASN_NOPRINTON
6893 ,(const PASN_Names *)Names_H245_CapabilityIdentifier,4
6894 #endif
6900 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6901 H245_CapabilityIdentifier::operator H245_NonStandardParameter &() const
6902 #else
6903 H245_CapabilityIdentifier::operator H245_NonStandardParameter &()
6905 #ifndef PASN_LEANANDMEAN
6906 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6907 #endif
6908 return *(H245_NonStandardParameter *)choice;
6912 H245_CapabilityIdentifier::operator const H245_NonStandardParameter &() const
6913 #endif
6915 #ifndef PASN_LEANANDMEAN
6916 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6917 #endif
6918 return *(H245_NonStandardParameter *)choice;
6922 BOOL H245_CapabilityIdentifier::CreateObject()
6924 switch (tag) {
6925 case e_standard :
6926 choice = new PASN_ObjectId();
6927 return TRUE;
6928 case e_h221NonStandard :
6929 choice = new H245_NonStandardParameter();
6930 return TRUE;
6931 case e_uuid :
6932 choice = new PASN_OctetString();
6933 choice->SetConstraints(PASN_Object::FixedConstraint, 16);
6934 return TRUE;
6935 case e_domainBased :
6936 choice = new PASN_IA5String();
6937 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 64);
6938 return TRUE;
6941 choice = NULL;
6942 return FALSE;
6946 PObject * H245_CapabilityIdentifier::Clone() const
6948 #ifndef PASN_LEANANDMEAN
6949 PAssert(IsClass(H245_CapabilityIdentifier::Class()), PInvalidCast);
6950 #endif
6951 return new H245_CapabilityIdentifier(*this);
6956 #ifndef PASN_NOPRINTON
6957 const static PASN_Names Names_H245_ParameterIdentifier[]={
6958 {"standard",0}
6959 ,{"h221NonStandard",1}
6960 ,{"uuid",2}
6961 ,{"domainBased",3}
6963 #endif
6965 // ParameterIdentifier
6968 H245_ParameterIdentifier::H245_ParameterIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
6969 : PASN_Choice(tag, tagClass, 4, TRUE
6970 #ifndef PASN_NOPRINTON
6971 ,(const PASN_Names *)Names_H245_ParameterIdentifier,4
6972 #endif
6978 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
6979 H245_ParameterIdentifier::operator H245_NonStandardParameter &() const
6980 #else
6981 H245_ParameterIdentifier::operator H245_NonStandardParameter &()
6983 #ifndef PASN_LEANANDMEAN
6984 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6985 #endif
6986 return *(H245_NonStandardParameter *)choice;
6990 H245_ParameterIdentifier::operator const H245_NonStandardParameter &() const
6991 #endif
6993 #ifndef PASN_LEANANDMEAN
6994 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
6995 #endif
6996 return *(H245_NonStandardParameter *)choice;
7000 BOOL H245_ParameterIdentifier::CreateObject()
7002 switch (tag) {
7003 case e_standard :
7004 choice = new PASN_Integer();
7005 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 127);
7006 return TRUE;
7007 case e_h221NonStandard :
7008 choice = new H245_NonStandardParameter();
7009 return TRUE;
7010 case e_uuid :
7011 choice = new PASN_OctetString();
7012 choice->SetConstraints(PASN_Object::FixedConstraint, 16);
7013 return TRUE;
7014 case e_domainBased :
7015 choice = new PASN_IA5String();
7016 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 64);
7017 return TRUE;
7020 choice = NULL;
7021 return FALSE;
7025 PObject * H245_ParameterIdentifier::Clone() const
7027 #ifndef PASN_LEANANDMEAN
7028 PAssert(IsClass(H245_ParameterIdentifier::Class()), PInvalidCast);
7029 #endif
7030 return new H245_ParameterIdentifier(*this);
7035 #ifndef PASN_NOPRINTON
7036 const static PASN_Names Names_H245_ParameterValue[]={
7037 {"logical",0}
7038 ,{"booleanArray",1}
7039 ,{"unsignedMin",2}
7040 ,{"unsignedMax",3}
7041 ,{"unsigned32Min",4}
7042 ,{"unsigned32Max",5}
7043 ,{"octetString",6}
7044 ,{"genericParameter",7}
7046 #endif
7048 // ParameterValue
7051 H245_ParameterValue::H245_ParameterValue(unsigned tag, PASN_Object::TagClass tagClass)
7052 : PASN_Choice(tag, tagClass, 8, TRUE
7053 #ifndef PASN_NOPRINTON
7054 ,(const PASN_Names *)Names_H245_ParameterValue,8
7055 #endif
7061 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7062 H245_ParameterValue::operator H245_ArrayOf_GenericParameter &() const
7063 #else
7064 H245_ParameterValue::operator H245_ArrayOf_GenericParameter &()
7066 #ifndef PASN_LEANANDMEAN
7067 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_GenericParameter), PInvalidCast);
7068 #endif
7069 return *(H245_ArrayOf_GenericParameter *)choice;
7073 H245_ParameterValue::operator const H245_ArrayOf_GenericParameter &() const
7074 #endif
7076 #ifndef PASN_LEANANDMEAN
7077 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_GenericParameter), PInvalidCast);
7078 #endif
7079 return *(H245_ArrayOf_GenericParameter *)choice;
7083 BOOL H245_ParameterValue::CreateObject()
7085 switch (tag) {
7086 case e_logical :
7087 choice = new PASN_Null();
7088 return TRUE;
7089 case e_booleanArray :
7090 choice = new PASN_Integer();
7091 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 255);
7092 return TRUE;
7093 case e_unsignedMin :
7094 choice = new PASN_Integer();
7095 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
7096 return TRUE;
7097 case e_unsignedMax :
7098 choice = new PASN_Integer();
7099 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
7100 return TRUE;
7101 case e_unsigned32Min :
7102 choice = new PASN_Integer();
7103 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
7104 return TRUE;
7105 case e_unsigned32Max :
7106 choice = new PASN_Integer();
7107 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
7108 return TRUE;
7109 case e_octetString :
7110 choice = new PASN_OctetString();
7111 return TRUE;
7112 case e_genericParameter :
7113 choice = new H245_ArrayOf_GenericParameter();
7114 return TRUE;
7117 choice = NULL;
7118 return FALSE;
7122 PObject * H245_ParameterValue::Clone() const
7124 #ifndef PASN_LEANANDMEAN
7125 PAssert(IsClass(H245_ParameterValue::Class()), PInvalidCast);
7126 #endif
7127 return new H245_ParameterValue(*this);
7132 #ifndef PASN_NOPRINTON
7133 const static PASN_Names Names_H245_MultiplexFormat[]={
7134 {"nonStandard",0}
7135 ,{"h222Capability",1}
7136 ,{"h223Capability",2}
7138 #endif
7140 // MultiplexFormat
7143 H245_MultiplexFormat::H245_MultiplexFormat(unsigned tag, PASN_Object::TagClass tagClass)
7144 : PASN_Choice(tag, tagClass, 3, TRUE
7145 #ifndef PASN_NOPRINTON
7146 ,(const PASN_Names *)Names_H245_MultiplexFormat,3
7147 #endif
7153 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7154 H245_MultiplexFormat::operator H245_NonStandardParameter &() const
7155 #else
7156 H245_MultiplexFormat::operator H245_NonStandardParameter &()
7158 #ifndef PASN_LEANANDMEAN
7159 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
7160 #endif
7161 return *(H245_NonStandardParameter *)choice;
7165 H245_MultiplexFormat::operator const H245_NonStandardParameter &() const
7166 #endif
7168 #ifndef PASN_LEANANDMEAN
7169 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
7170 #endif
7171 return *(H245_NonStandardParameter *)choice;
7175 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7176 H245_MultiplexFormat::operator H245_H222Capability &() const
7177 #else
7178 H245_MultiplexFormat::operator H245_H222Capability &()
7180 #ifndef PASN_LEANANDMEAN
7181 PAssert(PIsDescendant(PAssertNULL(choice), H245_H222Capability), PInvalidCast);
7182 #endif
7183 return *(H245_H222Capability *)choice;
7187 H245_MultiplexFormat::operator const H245_H222Capability &() const
7188 #endif
7190 #ifndef PASN_LEANANDMEAN
7191 PAssert(PIsDescendant(PAssertNULL(choice), H245_H222Capability), PInvalidCast);
7192 #endif
7193 return *(H245_H222Capability *)choice;
7197 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7198 H245_MultiplexFormat::operator H245_H223Capability &() const
7199 #else
7200 H245_MultiplexFormat::operator H245_H223Capability &()
7202 #ifndef PASN_LEANANDMEAN
7203 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223Capability), PInvalidCast);
7204 #endif
7205 return *(H245_H223Capability *)choice;
7209 H245_MultiplexFormat::operator const H245_H223Capability &() const
7210 #endif
7212 #ifndef PASN_LEANANDMEAN
7213 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223Capability), PInvalidCast);
7214 #endif
7215 return *(H245_H223Capability *)choice;
7219 BOOL H245_MultiplexFormat::CreateObject()
7221 switch (tag) {
7222 case e_nonStandard :
7223 choice = new H245_NonStandardParameter();
7224 return TRUE;
7225 case e_h222Capability :
7226 choice = new H245_H222Capability();
7227 return TRUE;
7228 case e_h223Capability :
7229 choice = new H245_H223Capability();
7230 return TRUE;
7233 choice = NULL;
7234 return FALSE;
7238 PObject * H245_MultiplexFormat::Clone() const
7240 #ifndef PASN_LEANANDMEAN
7241 PAssert(IsClass(H245_MultiplexFormat::Class()), PInvalidCast);
7242 #endif
7243 return new H245_MultiplexFormat(*this);
7248 // AudioTelephonyEventCapability
7251 H245_AudioTelephonyEventCapability::H245_AudioTelephonyEventCapability(unsigned tag, PASN_Object::TagClass tagClass)
7252 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7254 m_dynamicRTPPayloadType.SetConstraints(PASN_Object::FixedConstraint, 96, 127);
7258 #ifndef PASN_NOPRINTON
7259 void H245_AudioTelephonyEventCapability::PrintOn(ostream & strm) const
7261 int indent = strm.precision() + 2;
7262 strm << "{\n";
7263 strm << setw(indent+24) << "dynamicRTPPayloadType = " << setprecision(indent) << m_dynamicRTPPayloadType << '\n';
7264 strm << setw(indent+22) << "audioTelephoneEvent = " << setprecision(indent) << m_audioTelephoneEvent << '\n';
7265 strm << setw(indent-1) << setprecision(indent-2) << "}";
7267 #endif
7270 PObject::Comparison H245_AudioTelephonyEventCapability::Compare(const PObject & obj) const
7272 #ifndef PASN_LEANANDMEAN
7273 PAssert(PIsDescendant(&obj, H245_AudioTelephonyEventCapability), PInvalidCast);
7274 #endif
7275 const H245_AudioTelephonyEventCapability & other = (const H245_AudioTelephonyEventCapability &)obj;
7277 Comparison result;
7279 if ((result = m_dynamicRTPPayloadType.Compare(other.m_dynamicRTPPayloadType)) != EqualTo)
7280 return result;
7281 if ((result = m_audioTelephoneEvent.Compare(other.m_audioTelephoneEvent)) != EqualTo)
7282 return result;
7284 return PASN_Sequence::Compare(other);
7288 PINDEX H245_AudioTelephonyEventCapability::GetDataLength() const
7290 PINDEX length = 0;
7291 length += m_dynamicRTPPayloadType.GetObjectLength();
7292 length += m_audioTelephoneEvent.GetObjectLength();
7293 return length;
7297 BOOL H245_AudioTelephonyEventCapability::Decode(PASN_Stream & strm)
7299 if (!PreambleDecode(strm))
7300 return FALSE;
7302 if (!m_dynamicRTPPayloadType.Decode(strm))
7303 return FALSE;
7304 if (!m_audioTelephoneEvent.Decode(strm))
7305 return FALSE;
7307 return UnknownExtensionsDecode(strm);
7311 void H245_AudioTelephonyEventCapability::Encode(PASN_Stream & strm) const
7313 PreambleEncode(strm);
7315 m_dynamicRTPPayloadType.Encode(strm);
7316 m_audioTelephoneEvent.Encode(strm);
7318 UnknownExtensionsEncode(strm);
7322 PObject * H245_AudioTelephonyEventCapability::Clone() const
7324 #ifndef PASN_LEANANDMEAN
7325 PAssert(IsClass(H245_AudioTelephonyEventCapability::Class()), PInvalidCast);
7326 #endif
7327 return new H245_AudioTelephonyEventCapability(*this);
7332 // AudioToneCapability
7335 H245_AudioToneCapability::H245_AudioToneCapability(unsigned tag, PASN_Object::TagClass tagClass)
7336 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7338 m_dynamicRTPPayloadType.SetConstraints(PASN_Object::FixedConstraint, 96, 127);
7342 #ifndef PASN_NOPRINTON
7343 void H245_AudioToneCapability::PrintOn(ostream & strm) const
7345 int indent = strm.precision() + 2;
7346 strm << "{\n";
7347 strm << setw(indent+24) << "dynamicRTPPayloadType = " << setprecision(indent) << m_dynamicRTPPayloadType << '\n';
7348 strm << setw(indent-1) << setprecision(indent-2) << "}";
7350 #endif
7353 PObject::Comparison H245_AudioToneCapability::Compare(const PObject & obj) const
7355 #ifndef PASN_LEANANDMEAN
7356 PAssert(PIsDescendant(&obj, H245_AudioToneCapability), PInvalidCast);
7357 #endif
7358 const H245_AudioToneCapability & other = (const H245_AudioToneCapability &)obj;
7360 Comparison result;
7362 if ((result = m_dynamicRTPPayloadType.Compare(other.m_dynamicRTPPayloadType)) != EqualTo)
7363 return result;
7365 return PASN_Sequence::Compare(other);
7369 PINDEX H245_AudioToneCapability::GetDataLength() const
7371 PINDEX length = 0;
7372 length += m_dynamicRTPPayloadType.GetObjectLength();
7373 return length;
7377 BOOL H245_AudioToneCapability::Decode(PASN_Stream & strm)
7379 if (!PreambleDecode(strm))
7380 return FALSE;
7382 if (!m_dynamicRTPPayloadType.Decode(strm))
7383 return FALSE;
7385 return UnknownExtensionsDecode(strm);
7389 void H245_AudioToneCapability::Encode(PASN_Stream & strm) const
7391 PreambleEncode(strm);
7393 m_dynamicRTPPayloadType.Encode(strm);
7395 UnknownExtensionsEncode(strm);
7399 PObject * H245_AudioToneCapability::Clone() const
7401 #ifndef PASN_LEANANDMEAN
7402 PAssert(IsClass(H245_AudioToneCapability::Class()), PInvalidCast);
7403 #endif
7404 return new H245_AudioToneCapability(*this);
7409 // NoPTAudioTelephonyEventCapability
7412 H245_NoPTAudioTelephonyEventCapability::H245_NoPTAudioTelephonyEventCapability(unsigned tag, PASN_Object::TagClass tagClass)
7413 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7418 #ifndef PASN_NOPRINTON
7419 void H245_NoPTAudioTelephonyEventCapability::PrintOn(ostream & strm) const
7421 int indent = strm.precision() + 2;
7422 strm << "{\n";
7423 strm << setw(indent+22) << "audioTelephoneEvent = " << setprecision(indent) << m_audioTelephoneEvent << '\n';
7424 strm << setw(indent-1) << setprecision(indent-2) << "}";
7426 #endif
7429 PObject::Comparison H245_NoPTAudioTelephonyEventCapability::Compare(const PObject & obj) const
7431 #ifndef PASN_LEANANDMEAN
7432 PAssert(PIsDescendant(&obj, H245_NoPTAudioTelephonyEventCapability), PInvalidCast);
7433 #endif
7434 const H245_NoPTAudioTelephonyEventCapability & other = (const H245_NoPTAudioTelephonyEventCapability &)obj;
7436 Comparison result;
7438 if ((result = m_audioTelephoneEvent.Compare(other.m_audioTelephoneEvent)) != EqualTo)
7439 return result;
7441 return PASN_Sequence::Compare(other);
7445 PINDEX H245_NoPTAudioTelephonyEventCapability::GetDataLength() const
7447 PINDEX length = 0;
7448 length += m_audioTelephoneEvent.GetObjectLength();
7449 return length;
7453 BOOL H245_NoPTAudioTelephonyEventCapability::Decode(PASN_Stream & strm)
7455 if (!PreambleDecode(strm))
7456 return FALSE;
7458 if (!m_audioTelephoneEvent.Decode(strm))
7459 return FALSE;
7461 return UnknownExtensionsDecode(strm);
7465 void H245_NoPTAudioTelephonyEventCapability::Encode(PASN_Stream & strm) const
7467 PreambleEncode(strm);
7469 m_audioTelephoneEvent.Encode(strm);
7471 UnknownExtensionsEncode(strm);
7475 PObject * H245_NoPTAudioTelephonyEventCapability::Clone() const
7477 #ifndef PASN_LEANANDMEAN
7478 PAssert(IsClass(H245_NoPTAudioTelephonyEventCapability::Class()), PInvalidCast);
7479 #endif
7480 return new H245_NoPTAudioTelephonyEventCapability(*this);
7485 // NoPTAudioToneCapability
7488 H245_NoPTAudioToneCapability::H245_NoPTAudioToneCapability(unsigned tag, PASN_Object::TagClass tagClass)
7489 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7494 #ifndef PASN_NOPRINTON
7495 void H245_NoPTAudioToneCapability::PrintOn(ostream & strm) const
7497 int indent = strm.precision() + 2;
7498 strm << "{\n";
7499 strm << setw(indent-1) << setprecision(indent-2) << "}";
7501 #endif
7504 PINDEX H245_NoPTAudioToneCapability::GetDataLength() const
7506 PINDEX length = 0;
7507 return length;
7511 BOOL H245_NoPTAudioToneCapability::Decode(PASN_Stream & strm)
7513 if (!PreambleDecode(strm))
7514 return FALSE;
7517 return UnknownExtensionsDecode(strm);
7521 void H245_NoPTAudioToneCapability::Encode(PASN_Stream & strm) const
7523 PreambleEncode(strm);
7526 UnknownExtensionsEncode(strm);
7530 PObject * H245_NoPTAudioToneCapability::Clone() const
7532 #ifndef PASN_LEANANDMEAN
7533 PAssert(IsClass(H245_NoPTAudioToneCapability::Class()), PInvalidCast);
7534 #endif
7535 return new H245_NoPTAudioToneCapability(*this);
7540 #ifndef PASN_NOPRINTON
7541 const static PASN_Names Names_H245_DepFECCapability[]={
7542 {"rfc2733",0}
7544 #endif
7546 // DepFECCapability
7549 H245_DepFECCapability::H245_DepFECCapability(unsigned tag, PASN_Object::TagClass tagClass)
7550 : PASN_Choice(tag, tagClass, 1, TRUE
7551 #ifndef PASN_NOPRINTON
7552 ,(const PASN_Names *)Names_H245_DepFECCapability,1
7553 #endif
7559 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7560 H245_DepFECCapability::operator H245_DepFECCapability_rfc2733 &() const
7561 #else
7562 H245_DepFECCapability::operator H245_DepFECCapability_rfc2733 &()
7564 #ifndef PASN_LEANANDMEAN
7565 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECCapability_rfc2733), PInvalidCast);
7566 #endif
7567 return *(H245_DepFECCapability_rfc2733 *)choice;
7571 H245_DepFECCapability::operator const H245_DepFECCapability_rfc2733 &() const
7572 #endif
7574 #ifndef PASN_LEANANDMEAN
7575 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECCapability_rfc2733), PInvalidCast);
7576 #endif
7577 return *(H245_DepFECCapability_rfc2733 *)choice;
7581 BOOL H245_DepFECCapability::CreateObject()
7583 switch (tag) {
7584 case e_rfc2733 :
7585 choice = new H245_DepFECCapability_rfc2733();
7586 return TRUE;
7589 choice = NULL;
7590 return FALSE;
7594 PObject * H245_DepFECCapability::Clone() const
7596 #ifndef PASN_LEANANDMEAN
7597 PAssert(IsClass(H245_DepFECCapability::Class()), PInvalidCast);
7598 #endif
7599 return new H245_DepFECCapability(*this);
7604 // MaxRedundancy
7607 H245_MaxRedundancy::H245_MaxRedundancy(unsigned tag, PASN_Object::TagClass tagClass)
7608 : PASN_Integer(tag, tagClass)
7610 SetConstraints(PASN_Object::FixedConstraint, 1, MaximumValue);
7614 H245_MaxRedundancy & H245_MaxRedundancy::operator=(int v)
7616 SetValue(v);
7617 return *this;
7621 H245_MaxRedundancy & H245_MaxRedundancy::operator=(unsigned v)
7623 SetValue(v);
7624 return *this;
7628 PObject * H245_MaxRedundancy::Clone() const
7630 #ifndef PASN_LEANANDMEAN
7631 PAssert(IsClass(H245_MaxRedundancy::Class()), PInvalidCast);
7632 #endif
7633 return new H245_MaxRedundancy(*this);
7638 // LogicalChannelNumber
7641 H245_LogicalChannelNumber::H245_LogicalChannelNumber(unsigned tag, PASN_Object::TagClass tagClass)
7642 : PASN_Integer(tag, tagClass)
7644 SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
7648 H245_LogicalChannelNumber & H245_LogicalChannelNumber::operator=(int v)
7650 SetValue(v);
7651 return *this;
7655 H245_LogicalChannelNumber & H245_LogicalChannelNumber::operator=(unsigned v)
7657 SetValue(v);
7658 return *this;
7662 PObject * H245_LogicalChannelNumber::Clone() const
7664 #ifndef PASN_LEANANDMEAN
7665 PAssert(IsClass(H245_LogicalChannelNumber::Class()), PInvalidCast);
7666 #endif
7667 return new H245_LogicalChannelNumber(*this);
7672 // V75Parameters
7675 H245_V75Parameters::H245_V75Parameters(unsigned tag, PASN_Object::TagClass tagClass)
7676 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7681 #ifndef PASN_NOPRINTON
7682 void H245_V75Parameters::PrintOn(ostream & strm) const
7684 int indent = strm.precision() + 2;
7685 strm << "{\n";
7686 strm << setw(indent+21) << "audioHeaderPresent = " << setprecision(indent) << m_audioHeaderPresent << '\n';
7687 strm << setw(indent-1) << setprecision(indent-2) << "}";
7689 #endif
7692 PObject::Comparison H245_V75Parameters::Compare(const PObject & obj) const
7694 #ifndef PASN_LEANANDMEAN
7695 PAssert(PIsDescendant(&obj, H245_V75Parameters), PInvalidCast);
7696 #endif
7697 const H245_V75Parameters & other = (const H245_V75Parameters &)obj;
7699 Comparison result;
7701 if ((result = m_audioHeaderPresent.Compare(other.m_audioHeaderPresent)) != EqualTo)
7702 return result;
7704 return PASN_Sequence::Compare(other);
7708 PINDEX H245_V75Parameters::GetDataLength() const
7710 PINDEX length = 0;
7711 length += m_audioHeaderPresent.GetObjectLength();
7712 return length;
7716 BOOL H245_V75Parameters::Decode(PASN_Stream & strm)
7718 if (!PreambleDecode(strm))
7719 return FALSE;
7721 if (!m_audioHeaderPresent.Decode(strm))
7722 return FALSE;
7724 return UnknownExtensionsDecode(strm);
7728 void H245_V75Parameters::Encode(PASN_Stream & strm) const
7730 PreambleEncode(strm);
7732 m_audioHeaderPresent.Encode(strm);
7734 UnknownExtensionsEncode(strm);
7738 PObject * H245_V75Parameters::Clone() const
7740 #ifndef PASN_LEANANDMEAN
7741 PAssert(IsClass(H245_V75Parameters::Class()), PInvalidCast);
7742 #endif
7743 return new H245_V75Parameters(*this);
7748 #ifndef PASN_NOPRINTON
7749 const static PASN_Names Names_H245_DataType[]={
7750 {"nonStandard",0}
7751 ,{"nullData",1}
7752 ,{"videoData",2}
7753 ,{"audioData",3}
7754 ,{"data",4}
7755 ,{"encryptionData",5}
7756 ,{"h235Control",6}
7757 ,{"h235Media",7}
7758 ,{"multiplexedStream",8}
7759 ,{"redundancyEncoding",9}
7760 ,{"multiplePayloadStream",10}
7761 ,{"depFec",11}
7762 ,{"fec",12}
7764 #endif
7766 // DataType
7769 H245_DataType::H245_DataType(unsigned tag, PASN_Object::TagClass tagClass)
7770 : PASN_Choice(tag, tagClass, 6, TRUE
7771 #ifndef PASN_NOPRINTON
7772 ,(const PASN_Names *)Names_H245_DataType,13
7773 #endif
7779 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7780 H245_DataType::operator H245_NonStandardParameter &() const
7781 #else
7782 H245_DataType::operator H245_NonStandardParameter &()
7784 #ifndef PASN_LEANANDMEAN
7785 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
7786 #endif
7787 return *(H245_NonStandardParameter *)choice;
7791 H245_DataType::operator const H245_NonStandardParameter &() const
7792 #endif
7794 #ifndef PASN_LEANANDMEAN
7795 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
7796 #endif
7797 return *(H245_NonStandardParameter *)choice;
7801 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7802 H245_DataType::operator H245_VideoCapability &() const
7803 #else
7804 H245_DataType::operator H245_VideoCapability &()
7806 #ifndef PASN_LEANANDMEAN
7807 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoCapability), PInvalidCast);
7808 #endif
7809 return *(H245_VideoCapability *)choice;
7813 H245_DataType::operator const H245_VideoCapability &() const
7814 #endif
7816 #ifndef PASN_LEANANDMEAN
7817 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoCapability), PInvalidCast);
7818 #endif
7819 return *(H245_VideoCapability *)choice;
7823 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7824 H245_DataType::operator H245_AudioCapability &() const
7825 #else
7826 H245_DataType::operator H245_AudioCapability &()
7828 #ifndef PASN_LEANANDMEAN
7829 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioCapability), PInvalidCast);
7830 #endif
7831 return *(H245_AudioCapability *)choice;
7835 H245_DataType::operator const H245_AudioCapability &() const
7836 #endif
7838 #ifndef PASN_LEANANDMEAN
7839 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioCapability), PInvalidCast);
7840 #endif
7841 return *(H245_AudioCapability *)choice;
7845 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7846 H245_DataType::operator H245_DataApplicationCapability &() const
7847 #else
7848 H245_DataType::operator H245_DataApplicationCapability &()
7850 #ifndef PASN_LEANANDMEAN
7851 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataApplicationCapability), PInvalidCast);
7852 #endif
7853 return *(H245_DataApplicationCapability *)choice;
7857 H245_DataType::operator const H245_DataApplicationCapability &() const
7858 #endif
7860 #ifndef PASN_LEANANDMEAN
7861 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataApplicationCapability), PInvalidCast);
7862 #endif
7863 return *(H245_DataApplicationCapability *)choice;
7867 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7868 H245_DataType::operator H245_EncryptionMode &() const
7869 #else
7870 H245_DataType::operator H245_EncryptionMode &()
7872 #ifndef PASN_LEANANDMEAN
7873 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionMode), PInvalidCast);
7874 #endif
7875 return *(H245_EncryptionMode *)choice;
7879 H245_DataType::operator const H245_EncryptionMode &() const
7880 #endif
7882 #ifndef PASN_LEANANDMEAN
7883 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionMode), PInvalidCast);
7884 #endif
7885 return *(H245_EncryptionMode *)choice;
7889 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7890 H245_DataType::operator H245_H235Media &() const
7891 #else
7892 H245_DataType::operator H245_H235Media &()
7894 #ifndef PASN_LEANANDMEAN
7895 PAssert(PIsDescendant(PAssertNULL(choice), H245_H235Media), PInvalidCast);
7896 #endif
7897 return *(H245_H235Media *)choice;
7901 H245_DataType::operator const H245_H235Media &() const
7902 #endif
7904 #ifndef PASN_LEANANDMEAN
7905 PAssert(PIsDescendant(PAssertNULL(choice), H245_H235Media), PInvalidCast);
7906 #endif
7907 return *(H245_H235Media *)choice;
7911 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7912 H245_DataType::operator H245_MultiplexedStreamParameter &() const
7913 #else
7914 H245_DataType::operator H245_MultiplexedStreamParameter &()
7916 #ifndef PASN_LEANANDMEAN
7917 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexedStreamParameter), PInvalidCast);
7918 #endif
7919 return *(H245_MultiplexedStreamParameter *)choice;
7923 H245_DataType::operator const H245_MultiplexedStreamParameter &() const
7924 #endif
7926 #ifndef PASN_LEANANDMEAN
7927 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexedStreamParameter), PInvalidCast);
7928 #endif
7929 return *(H245_MultiplexedStreamParameter *)choice;
7933 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7934 H245_DataType::operator H245_RedundancyEncoding &() const
7935 #else
7936 H245_DataType::operator H245_RedundancyEncoding &()
7938 #ifndef PASN_LEANANDMEAN
7939 PAssert(PIsDescendant(PAssertNULL(choice), H245_RedundancyEncoding), PInvalidCast);
7940 #endif
7941 return *(H245_RedundancyEncoding *)choice;
7945 H245_DataType::operator const H245_RedundancyEncoding &() const
7946 #endif
7948 #ifndef PASN_LEANANDMEAN
7949 PAssert(PIsDescendant(PAssertNULL(choice), H245_RedundancyEncoding), PInvalidCast);
7950 #endif
7951 return *(H245_RedundancyEncoding *)choice;
7955 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7956 H245_DataType::operator H245_MultiplePayloadStream &() const
7957 #else
7958 H245_DataType::operator H245_MultiplePayloadStream &()
7960 #ifndef PASN_LEANANDMEAN
7961 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplePayloadStream), PInvalidCast);
7962 #endif
7963 return *(H245_MultiplePayloadStream *)choice;
7967 H245_DataType::operator const H245_MultiplePayloadStream &() const
7968 #endif
7970 #ifndef PASN_LEANANDMEAN
7971 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplePayloadStream), PInvalidCast);
7972 #endif
7973 return *(H245_MultiplePayloadStream *)choice;
7977 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
7978 H245_DataType::operator H245_DepFECData &() const
7979 #else
7980 H245_DataType::operator H245_DepFECData &()
7982 #ifndef PASN_LEANANDMEAN
7983 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECData), PInvalidCast);
7984 #endif
7985 return *(H245_DepFECData *)choice;
7989 H245_DataType::operator const H245_DepFECData &() const
7990 #endif
7992 #ifndef PASN_LEANANDMEAN
7993 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECData), PInvalidCast);
7994 #endif
7995 return *(H245_DepFECData *)choice;
7999 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8000 H245_DataType::operator H245_FECData &() const
8001 #else
8002 H245_DataType::operator H245_FECData &()
8004 #ifndef PASN_LEANANDMEAN
8005 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECData), PInvalidCast);
8006 #endif
8007 return *(H245_FECData *)choice;
8011 H245_DataType::operator const H245_FECData &() const
8012 #endif
8014 #ifndef PASN_LEANANDMEAN
8015 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECData), PInvalidCast);
8016 #endif
8017 return *(H245_FECData *)choice;
8021 BOOL H245_DataType::CreateObject()
8023 switch (tag) {
8024 case e_nonStandard :
8025 case e_h235Control :
8026 choice = new H245_NonStandardParameter();
8027 return TRUE;
8028 case e_nullData :
8029 choice = new PASN_Null();
8030 return TRUE;
8031 case e_videoData :
8032 choice = new H245_VideoCapability();
8033 return TRUE;
8034 case e_audioData :
8035 choice = new H245_AudioCapability();
8036 return TRUE;
8037 case e_data :
8038 choice = new H245_DataApplicationCapability();
8039 return TRUE;
8040 case e_encryptionData :
8041 choice = new H245_EncryptionMode();
8042 return TRUE;
8043 case e_h235Media :
8044 choice = new H245_H235Media();
8045 return TRUE;
8046 case e_multiplexedStream :
8047 choice = new H245_MultiplexedStreamParameter();
8048 return TRUE;
8049 case e_redundancyEncoding :
8050 choice = new H245_RedundancyEncoding();
8051 return TRUE;
8052 case e_multiplePayloadStream :
8053 choice = new H245_MultiplePayloadStream();
8054 return TRUE;
8055 case e_depFec :
8056 choice = new H245_DepFECData();
8057 return TRUE;
8058 case e_fec :
8059 choice = new H245_FECData();
8060 return TRUE;
8063 choice = NULL;
8064 return FALSE;
8068 PObject * H245_DataType::Clone() const
8070 #ifndef PASN_LEANANDMEAN
8071 PAssert(IsClass(H245_DataType::Class()), PInvalidCast);
8072 #endif
8073 return new H245_DataType(*this);
8078 // MultiplexedStreamParameter
8081 H245_MultiplexedStreamParameter::H245_MultiplexedStreamParameter(unsigned tag, PASN_Object::TagClass tagClass)
8082 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
8087 #ifndef PASN_NOPRINTON
8088 void H245_MultiplexedStreamParameter::PrintOn(ostream & strm) const
8090 int indent = strm.precision() + 2;
8091 strm << "{\n";
8092 strm << setw(indent+18) << "multiplexFormat = " << setprecision(indent) << m_multiplexFormat << '\n';
8093 strm << setw(indent+21) << "controlOnMuxStream = " << setprecision(indent) << m_controlOnMuxStream << '\n';
8094 strm << setw(indent-1) << setprecision(indent-2) << "}";
8096 #endif
8099 PObject::Comparison H245_MultiplexedStreamParameter::Compare(const PObject & obj) const
8101 #ifndef PASN_LEANANDMEAN
8102 PAssert(PIsDescendant(&obj, H245_MultiplexedStreamParameter), PInvalidCast);
8103 #endif
8104 const H245_MultiplexedStreamParameter & other = (const H245_MultiplexedStreamParameter &)obj;
8106 Comparison result;
8108 if ((result = m_multiplexFormat.Compare(other.m_multiplexFormat)) != EqualTo)
8109 return result;
8110 if ((result = m_controlOnMuxStream.Compare(other.m_controlOnMuxStream)) != EqualTo)
8111 return result;
8113 return PASN_Sequence::Compare(other);
8117 PINDEX H245_MultiplexedStreamParameter::GetDataLength() const
8119 PINDEX length = 0;
8120 length += m_multiplexFormat.GetObjectLength();
8121 length += m_controlOnMuxStream.GetObjectLength();
8122 return length;
8126 BOOL H245_MultiplexedStreamParameter::Decode(PASN_Stream & strm)
8128 if (!PreambleDecode(strm))
8129 return FALSE;
8131 if (!m_multiplexFormat.Decode(strm))
8132 return FALSE;
8133 if (!m_controlOnMuxStream.Decode(strm))
8134 return FALSE;
8136 return UnknownExtensionsDecode(strm);
8140 void H245_MultiplexedStreamParameter::Encode(PASN_Stream & strm) const
8142 PreambleEncode(strm);
8144 m_multiplexFormat.Encode(strm);
8145 m_controlOnMuxStream.Encode(strm);
8147 UnknownExtensionsEncode(strm);
8151 PObject * H245_MultiplexedStreamParameter::Clone() const
8153 #ifndef PASN_LEANANDMEAN
8154 PAssert(IsClass(H245_MultiplexedStreamParameter::Class()), PInvalidCast);
8155 #endif
8156 return new H245_MultiplexedStreamParameter(*this);
8161 // H222LogicalChannelParameters
8164 H245_H222LogicalChannelParameters::H245_H222LogicalChannelParameters(unsigned tag, PASN_Object::TagClass tagClass)
8165 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
8167 m_resourceID.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
8168 m_subChannelID.SetConstraints(PASN_Object::FixedConstraint, 0, 8191);
8169 m_pcr_pid.SetConstraints(PASN_Object::FixedConstraint, 0, 8191);
8173 #ifndef PASN_NOPRINTON
8174 void H245_H222LogicalChannelParameters::PrintOn(ostream & strm) const
8176 int indent = strm.precision() + 2;
8177 strm << "{\n";
8178 strm << setw(indent+13) << "resourceID = " << setprecision(indent) << m_resourceID << '\n';
8179 strm << setw(indent+15) << "subChannelID = " << setprecision(indent) << m_subChannelID << '\n';
8180 if (HasOptionalField(e_pcr_pid))
8181 strm << setw(indent+10) << "pcr_pid = " << setprecision(indent) << m_pcr_pid << '\n';
8182 if (HasOptionalField(e_programDescriptors))
8183 strm << setw(indent+21) << "programDescriptors = " << setprecision(indent) << m_programDescriptors << '\n';
8184 if (HasOptionalField(e_streamDescriptors))
8185 strm << setw(indent+20) << "streamDescriptors = " << setprecision(indent) << m_streamDescriptors << '\n';
8186 strm << setw(indent-1) << setprecision(indent-2) << "}";
8188 #endif
8191 PObject::Comparison H245_H222LogicalChannelParameters::Compare(const PObject & obj) const
8193 #ifndef PASN_LEANANDMEAN
8194 PAssert(PIsDescendant(&obj, H245_H222LogicalChannelParameters), PInvalidCast);
8195 #endif
8196 const H245_H222LogicalChannelParameters & other = (const H245_H222LogicalChannelParameters &)obj;
8198 Comparison result;
8200 if ((result = m_resourceID.Compare(other.m_resourceID)) != EqualTo)
8201 return result;
8202 if ((result = m_subChannelID.Compare(other.m_subChannelID)) != EqualTo)
8203 return result;
8204 if ((result = m_pcr_pid.Compare(other.m_pcr_pid)) != EqualTo)
8205 return result;
8206 if ((result = m_programDescriptors.Compare(other.m_programDescriptors)) != EqualTo)
8207 return result;
8208 if ((result = m_streamDescriptors.Compare(other.m_streamDescriptors)) != EqualTo)
8209 return result;
8211 return PASN_Sequence::Compare(other);
8215 PINDEX H245_H222LogicalChannelParameters::GetDataLength() const
8217 PINDEX length = 0;
8218 length += m_resourceID.GetObjectLength();
8219 length += m_subChannelID.GetObjectLength();
8220 if (HasOptionalField(e_pcr_pid))
8221 length += m_pcr_pid.GetObjectLength();
8222 if (HasOptionalField(e_programDescriptors))
8223 length += m_programDescriptors.GetObjectLength();
8224 if (HasOptionalField(e_streamDescriptors))
8225 length += m_streamDescriptors.GetObjectLength();
8226 return length;
8230 BOOL H245_H222LogicalChannelParameters::Decode(PASN_Stream & strm)
8232 if (!PreambleDecode(strm))
8233 return FALSE;
8235 if (!m_resourceID.Decode(strm))
8236 return FALSE;
8237 if (!m_subChannelID.Decode(strm))
8238 return FALSE;
8239 if (HasOptionalField(e_pcr_pid) && !m_pcr_pid.Decode(strm))
8240 return FALSE;
8241 if (HasOptionalField(e_programDescriptors) && !m_programDescriptors.Decode(strm))
8242 return FALSE;
8243 if (HasOptionalField(e_streamDescriptors) && !m_streamDescriptors.Decode(strm))
8244 return FALSE;
8246 return UnknownExtensionsDecode(strm);
8250 void H245_H222LogicalChannelParameters::Encode(PASN_Stream & strm) const
8252 PreambleEncode(strm);
8254 m_resourceID.Encode(strm);
8255 m_subChannelID.Encode(strm);
8256 if (HasOptionalField(e_pcr_pid))
8257 m_pcr_pid.Encode(strm);
8258 if (HasOptionalField(e_programDescriptors))
8259 m_programDescriptors.Encode(strm);
8260 if (HasOptionalField(e_streamDescriptors))
8261 m_streamDescriptors.Encode(strm);
8263 UnknownExtensionsEncode(strm);
8267 PObject * H245_H222LogicalChannelParameters::Clone() const
8269 #ifndef PASN_LEANANDMEAN
8270 PAssert(IsClass(H245_H222LogicalChannelParameters::Class()), PInvalidCast);
8271 #endif
8272 return new H245_H222LogicalChannelParameters(*this);
8277 #ifndef PASN_NOPRINTON
8278 const static PASN_Names Names_H245_CRCLength[]={
8279 {"crc8bit",0}
8280 ,{"crc16bit",1}
8281 ,{"crc32bit",2}
8283 #endif
8285 // CRCLength
8288 H245_CRCLength::H245_CRCLength(unsigned tag, PASN_Object::TagClass tagClass)
8289 : PASN_Choice(tag, tagClass, 3, TRUE
8290 #ifndef PASN_NOPRINTON
8291 ,(const PASN_Names *)Names_H245_CRCLength,3
8292 #endif
8298 BOOL H245_CRCLength::CreateObject()
8300 choice = (tag <= e_crc32bit) ? new PASN_Null() : NULL;
8301 return choice != NULL;
8305 PObject * H245_CRCLength::Clone() const
8307 #ifndef PASN_LEANANDMEAN
8308 PAssert(IsClass(H245_CRCLength::Class()), PInvalidCast);
8309 #endif
8310 return new H245_CRCLength(*this);
8315 // RedundancyEncodingElement
8318 H245_RedundancyEncodingElement::H245_RedundancyEncodingElement(unsigned tag, PASN_Object::TagClass tagClass)
8319 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
8321 m_payloadType.SetConstraints(PASN_Object::FixedConstraint, 0, 127);
8325 #ifndef PASN_NOPRINTON
8326 void H245_RedundancyEncodingElement::PrintOn(ostream & strm) const
8328 int indent = strm.precision() + 2;
8329 strm << "{\n";
8330 strm << setw(indent+11) << "dataType = " << setprecision(indent) << m_dataType << '\n';
8331 if (HasOptionalField(e_payloadType))
8332 strm << setw(indent+14) << "payloadType = " << setprecision(indent) << m_payloadType << '\n';
8333 strm << setw(indent-1) << setprecision(indent-2) << "}";
8335 #endif
8338 PObject::Comparison H245_RedundancyEncodingElement::Compare(const PObject & obj) const
8340 #ifndef PASN_LEANANDMEAN
8341 PAssert(PIsDescendant(&obj, H245_RedundancyEncodingElement), PInvalidCast);
8342 #endif
8343 const H245_RedundancyEncodingElement & other = (const H245_RedundancyEncodingElement &)obj;
8345 Comparison result;
8347 if ((result = m_dataType.Compare(other.m_dataType)) != EqualTo)
8348 return result;
8349 if ((result = m_payloadType.Compare(other.m_payloadType)) != EqualTo)
8350 return result;
8352 return PASN_Sequence::Compare(other);
8356 PINDEX H245_RedundancyEncodingElement::GetDataLength() const
8358 PINDEX length = 0;
8359 length += m_dataType.GetObjectLength();
8360 if (HasOptionalField(e_payloadType))
8361 length += m_payloadType.GetObjectLength();
8362 return length;
8366 BOOL H245_RedundancyEncodingElement::Decode(PASN_Stream & strm)
8368 if (!PreambleDecode(strm))
8369 return FALSE;
8371 if (!m_dataType.Decode(strm))
8372 return FALSE;
8373 if (HasOptionalField(e_payloadType) && !m_payloadType.Decode(strm))
8374 return FALSE;
8376 return UnknownExtensionsDecode(strm);
8380 void H245_RedundancyEncodingElement::Encode(PASN_Stream & strm) const
8382 PreambleEncode(strm);
8384 m_dataType.Encode(strm);
8385 if (HasOptionalField(e_payloadType))
8386 m_payloadType.Encode(strm);
8388 UnknownExtensionsEncode(strm);
8392 PObject * H245_RedundancyEncodingElement::Clone() const
8394 #ifndef PASN_LEANANDMEAN
8395 PAssert(IsClass(H245_RedundancyEncodingElement::Class()), PInvalidCast);
8396 #endif
8397 return new H245_RedundancyEncodingElement(*this);
8402 // MultiplePayloadStreamElement
8405 H245_MultiplePayloadStreamElement::H245_MultiplePayloadStreamElement(unsigned tag, PASN_Object::TagClass tagClass)
8406 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
8408 m_payloadType.SetConstraints(PASN_Object::FixedConstraint, 0, 127);
8412 #ifndef PASN_NOPRINTON
8413 void H245_MultiplePayloadStreamElement::PrintOn(ostream & strm) const
8415 int indent = strm.precision() + 2;
8416 strm << "{\n";
8417 strm << setw(indent+11) << "dataType = " << setprecision(indent) << m_dataType << '\n';
8418 if (HasOptionalField(e_payloadType))
8419 strm << setw(indent+14) << "payloadType = " << setprecision(indent) << m_payloadType << '\n';
8420 strm << setw(indent-1) << setprecision(indent-2) << "}";
8422 #endif
8425 PObject::Comparison H245_MultiplePayloadStreamElement::Compare(const PObject & obj) const
8427 #ifndef PASN_LEANANDMEAN
8428 PAssert(PIsDescendant(&obj, H245_MultiplePayloadStreamElement), PInvalidCast);
8429 #endif
8430 const H245_MultiplePayloadStreamElement & other = (const H245_MultiplePayloadStreamElement &)obj;
8432 Comparison result;
8434 if ((result = m_dataType.Compare(other.m_dataType)) != EqualTo)
8435 return result;
8436 if ((result = m_payloadType.Compare(other.m_payloadType)) != EqualTo)
8437 return result;
8439 return PASN_Sequence::Compare(other);
8443 PINDEX H245_MultiplePayloadStreamElement::GetDataLength() const
8445 PINDEX length = 0;
8446 length += m_dataType.GetObjectLength();
8447 if (HasOptionalField(e_payloadType))
8448 length += m_payloadType.GetObjectLength();
8449 return length;
8453 BOOL H245_MultiplePayloadStreamElement::Decode(PASN_Stream & strm)
8455 if (!PreambleDecode(strm))
8456 return FALSE;
8458 if (!m_dataType.Decode(strm))
8459 return FALSE;
8460 if (HasOptionalField(e_payloadType) && !m_payloadType.Decode(strm))
8461 return FALSE;
8463 return UnknownExtensionsDecode(strm);
8467 void H245_MultiplePayloadStreamElement::Encode(PASN_Stream & strm) const
8469 PreambleEncode(strm);
8471 m_dataType.Encode(strm);
8472 if (HasOptionalField(e_payloadType))
8473 m_payloadType.Encode(strm);
8475 UnknownExtensionsEncode(strm);
8479 PObject * H245_MultiplePayloadStreamElement::Clone() const
8481 #ifndef PASN_LEANANDMEAN
8482 PAssert(IsClass(H245_MultiplePayloadStreamElement::Class()), PInvalidCast);
8483 #endif
8484 return new H245_MultiplePayloadStreamElement(*this);
8489 #ifndef PASN_NOPRINTON
8490 const static PASN_Names Names_H245_DepFECData[]={
8491 {"rfc2733",0}
8493 #endif
8495 // DepFECData
8498 H245_DepFECData::H245_DepFECData(unsigned tag, PASN_Object::TagClass tagClass)
8499 : PASN_Choice(tag, tagClass, 1, FALSE
8500 #ifndef PASN_NOPRINTON
8501 ,(const PASN_Names *)Names_H245_DepFECData,1
8502 #endif
8508 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8509 H245_DepFECData::operator H245_DepFECData_rfc2733 &() const
8510 #else
8511 H245_DepFECData::operator H245_DepFECData_rfc2733 &()
8513 #ifndef PASN_LEANANDMEAN
8514 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECData_rfc2733), PInvalidCast);
8515 #endif
8516 return *(H245_DepFECData_rfc2733 *)choice;
8520 H245_DepFECData::operator const H245_DepFECData_rfc2733 &() const
8521 #endif
8523 #ifndef PASN_LEANANDMEAN
8524 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECData_rfc2733), PInvalidCast);
8525 #endif
8526 return *(H245_DepFECData_rfc2733 *)choice;
8530 BOOL H245_DepFECData::CreateObject()
8532 switch (tag) {
8533 case e_rfc2733 :
8534 choice = new H245_DepFECData_rfc2733();
8535 return TRUE;
8538 choice = NULL;
8539 return FALSE;
8543 PObject * H245_DepFECData::Clone() const
8545 #ifndef PASN_LEANANDMEAN
8546 PAssert(IsClass(H245_DepFECData::Class()), PInvalidCast);
8547 #endif
8548 return new H245_DepFECData(*this);
8553 #ifndef PASN_NOPRINTON
8554 const static PASN_Names Names_H245_FECData[]={
8555 {"rfc2733",0}
8557 #endif
8559 // FECData
8562 H245_FECData::H245_FECData(unsigned tag, PASN_Object::TagClass tagClass)
8563 : PASN_Choice(tag, tagClass, 1, TRUE
8564 #ifndef PASN_NOPRINTON
8565 ,(const PASN_Names *)Names_H245_FECData,1
8566 #endif
8572 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8573 H245_FECData::operator H245_FECData_rfc2733 &() const
8574 #else
8575 H245_FECData::operator H245_FECData_rfc2733 &()
8577 #ifndef PASN_LEANANDMEAN
8578 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECData_rfc2733), PInvalidCast);
8579 #endif
8580 return *(H245_FECData_rfc2733 *)choice;
8584 H245_FECData::operator const H245_FECData_rfc2733 &() const
8585 #endif
8587 #ifndef PASN_LEANANDMEAN
8588 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECData_rfc2733), PInvalidCast);
8589 #endif
8590 return *(H245_FECData_rfc2733 *)choice;
8594 BOOL H245_FECData::CreateObject()
8596 switch (tag) {
8597 case e_rfc2733 :
8598 choice = new H245_FECData_rfc2733();
8599 return TRUE;
8602 choice = NULL;
8603 return FALSE;
8607 PObject * H245_FECData::Clone() const
8609 #ifndef PASN_LEANANDMEAN
8610 PAssert(IsClass(H245_FECData::Class()), PInvalidCast);
8611 #endif
8612 return new H245_FECData(*this);
8617 #ifndef PASN_NOPRINTON
8618 const static PASN_Names Names_H245_TransportAddress[]={
8619 {"unicastAddress",0}
8620 ,{"multicastAddress",1}
8622 #endif
8624 // TransportAddress
8627 H245_TransportAddress::H245_TransportAddress(unsigned tag, PASN_Object::TagClass tagClass)
8628 : PASN_Choice(tag, tagClass, 2, TRUE
8629 #ifndef PASN_NOPRINTON
8630 ,(const PASN_Names *)Names_H245_TransportAddress,2
8631 #endif
8637 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8638 H245_TransportAddress::operator H245_UnicastAddress &() const
8639 #else
8640 H245_TransportAddress::operator H245_UnicastAddress &()
8642 #ifndef PASN_LEANANDMEAN
8643 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress), PInvalidCast);
8644 #endif
8645 return *(H245_UnicastAddress *)choice;
8649 H245_TransportAddress::operator const H245_UnicastAddress &() const
8650 #endif
8652 #ifndef PASN_LEANANDMEAN
8653 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress), PInvalidCast);
8654 #endif
8655 return *(H245_UnicastAddress *)choice;
8659 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8660 H245_TransportAddress::operator H245_MulticastAddress &() const
8661 #else
8662 H245_TransportAddress::operator H245_MulticastAddress &()
8664 #ifndef PASN_LEANANDMEAN
8665 PAssert(PIsDescendant(PAssertNULL(choice), H245_MulticastAddress), PInvalidCast);
8666 #endif
8667 return *(H245_MulticastAddress *)choice;
8671 H245_TransportAddress::operator const H245_MulticastAddress &() const
8672 #endif
8674 #ifndef PASN_LEANANDMEAN
8675 PAssert(PIsDescendant(PAssertNULL(choice), H245_MulticastAddress), PInvalidCast);
8676 #endif
8677 return *(H245_MulticastAddress *)choice;
8681 BOOL H245_TransportAddress::CreateObject()
8683 switch (tag) {
8684 case e_unicastAddress :
8685 choice = new H245_UnicastAddress();
8686 return TRUE;
8687 case e_multicastAddress :
8688 choice = new H245_MulticastAddress();
8689 return TRUE;
8692 choice = NULL;
8693 return FALSE;
8697 PObject * H245_TransportAddress::Clone() const
8699 #ifndef PASN_LEANANDMEAN
8700 PAssert(IsClass(H245_TransportAddress::Class()), PInvalidCast);
8701 #endif
8702 return new H245_TransportAddress(*this);
8707 #ifndef PASN_NOPRINTON
8708 const static PASN_Names Names_H245_UnicastAddress[]={
8709 {"iPAddress",0}
8710 ,{"iPXAddress",1}
8711 ,{"iP6Address",2}
8712 ,{"netBios",3}
8713 ,{"iPSourceRouteAddress",4}
8714 ,{"nsap",5}
8715 ,{"nonStandardAddress",6}
8717 #endif
8719 // UnicastAddress
8722 H245_UnicastAddress::H245_UnicastAddress(unsigned tag, PASN_Object::TagClass tagClass)
8723 : PASN_Choice(tag, tagClass, 5, TRUE
8724 #ifndef PASN_NOPRINTON
8725 ,(const PASN_Names *)Names_H245_UnicastAddress,7
8726 #endif
8732 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8733 H245_UnicastAddress::operator H245_UnicastAddress_iPAddress &() const
8734 #else
8735 H245_UnicastAddress::operator H245_UnicastAddress_iPAddress &()
8737 #ifndef PASN_LEANANDMEAN
8738 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iPAddress), PInvalidCast);
8739 #endif
8740 return *(H245_UnicastAddress_iPAddress *)choice;
8744 H245_UnicastAddress::operator const H245_UnicastAddress_iPAddress &() const
8745 #endif
8747 #ifndef PASN_LEANANDMEAN
8748 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iPAddress), PInvalidCast);
8749 #endif
8750 return *(H245_UnicastAddress_iPAddress *)choice;
8754 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8755 H245_UnicastAddress::operator H245_UnicastAddress_iPXAddress &() const
8756 #else
8757 H245_UnicastAddress::operator H245_UnicastAddress_iPXAddress &()
8759 #ifndef PASN_LEANANDMEAN
8760 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iPXAddress), PInvalidCast);
8761 #endif
8762 return *(H245_UnicastAddress_iPXAddress *)choice;
8766 H245_UnicastAddress::operator const H245_UnicastAddress_iPXAddress &() const
8767 #endif
8769 #ifndef PASN_LEANANDMEAN
8770 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iPXAddress), PInvalidCast);
8771 #endif
8772 return *(H245_UnicastAddress_iPXAddress *)choice;
8776 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8777 H245_UnicastAddress::operator H245_UnicastAddress_iP6Address &() const
8778 #else
8779 H245_UnicastAddress::operator H245_UnicastAddress_iP6Address &()
8781 #ifndef PASN_LEANANDMEAN
8782 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iP6Address), PInvalidCast);
8783 #endif
8784 return *(H245_UnicastAddress_iP6Address *)choice;
8788 H245_UnicastAddress::operator const H245_UnicastAddress_iP6Address &() const
8789 #endif
8791 #ifndef PASN_LEANANDMEAN
8792 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iP6Address), PInvalidCast);
8793 #endif
8794 return *(H245_UnicastAddress_iP6Address *)choice;
8798 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8799 H245_UnicastAddress::operator H245_UnicastAddress_iPSourceRouteAddress &() const
8800 #else
8801 H245_UnicastAddress::operator H245_UnicastAddress_iPSourceRouteAddress &()
8803 #ifndef PASN_LEANANDMEAN
8804 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iPSourceRouteAddress), PInvalidCast);
8805 #endif
8806 return *(H245_UnicastAddress_iPSourceRouteAddress *)choice;
8810 H245_UnicastAddress::operator const H245_UnicastAddress_iPSourceRouteAddress &() const
8811 #endif
8813 #ifndef PASN_LEANANDMEAN
8814 PAssert(PIsDescendant(PAssertNULL(choice), H245_UnicastAddress_iPSourceRouteAddress), PInvalidCast);
8815 #endif
8816 return *(H245_UnicastAddress_iPSourceRouteAddress *)choice;
8820 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8821 H245_UnicastAddress::operator H245_NonStandardParameter &() const
8822 #else
8823 H245_UnicastAddress::operator H245_NonStandardParameter &()
8825 #ifndef PASN_LEANANDMEAN
8826 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
8827 #endif
8828 return *(H245_NonStandardParameter *)choice;
8832 H245_UnicastAddress::operator const H245_NonStandardParameter &() const
8833 #endif
8835 #ifndef PASN_LEANANDMEAN
8836 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
8837 #endif
8838 return *(H245_NonStandardParameter *)choice;
8842 BOOL H245_UnicastAddress::CreateObject()
8844 switch (tag) {
8845 case e_iPAddress :
8846 choice = new H245_UnicastAddress_iPAddress();
8847 return TRUE;
8848 case e_iPXAddress :
8849 choice = new H245_UnicastAddress_iPXAddress();
8850 return TRUE;
8851 case e_iP6Address :
8852 choice = new H245_UnicastAddress_iP6Address();
8853 return TRUE;
8854 case e_netBios :
8855 choice = new PASN_OctetString();
8856 choice->SetConstraints(PASN_Object::FixedConstraint, 16);
8857 return TRUE;
8858 case e_iPSourceRouteAddress :
8859 choice = new H245_UnicastAddress_iPSourceRouteAddress();
8860 return TRUE;
8861 case e_nsap :
8862 choice = new PASN_OctetString();
8863 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 20);
8864 return TRUE;
8865 case e_nonStandardAddress :
8866 choice = new H245_NonStandardParameter();
8867 return TRUE;
8870 choice = NULL;
8871 return FALSE;
8875 PObject * H245_UnicastAddress::Clone() const
8877 #ifndef PASN_LEANANDMEAN
8878 PAssert(IsClass(H245_UnicastAddress::Class()), PInvalidCast);
8879 #endif
8880 return new H245_UnicastAddress(*this);
8885 #ifndef PASN_NOPRINTON
8886 const static PASN_Names Names_H245_MulticastAddress[]={
8887 {"iPAddress",0}
8888 ,{"iP6Address",1}
8889 ,{"nsap",2}
8890 ,{"nonStandardAddress",3}
8892 #endif
8894 // MulticastAddress
8897 H245_MulticastAddress::H245_MulticastAddress(unsigned tag, PASN_Object::TagClass tagClass)
8898 : PASN_Choice(tag, tagClass, 2, TRUE
8899 #ifndef PASN_NOPRINTON
8900 ,(const PASN_Names *)Names_H245_MulticastAddress,4
8901 #endif
8907 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8908 H245_MulticastAddress::operator H245_MulticastAddress_iPAddress &() const
8909 #else
8910 H245_MulticastAddress::operator H245_MulticastAddress_iPAddress &()
8912 #ifndef PASN_LEANANDMEAN
8913 PAssert(PIsDescendant(PAssertNULL(choice), H245_MulticastAddress_iPAddress), PInvalidCast);
8914 #endif
8915 return *(H245_MulticastAddress_iPAddress *)choice;
8919 H245_MulticastAddress::operator const H245_MulticastAddress_iPAddress &() const
8920 #endif
8922 #ifndef PASN_LEANANDMEAN
8923 PAssert(PIsDescendant(PAssertNULL(choice), H245_MulticastAddress_iPAddress), PInvalidCast);
8924 #endif
8925 return *(H245_MulticastAddress_iPAddress *)choice;
8929 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8930 H245_MulticastAddress::operator H245_MulticastAddress_iP6Address &() const
8931 #else
8932 H245_MulticastAddress::operator H245_MulticastAddress_iP6Address &()
8934 #ifndef PASN_LEANANDMEAN
8935 PAssert(PIsDescendant(PAssertNULL(choice), H245_MulticastAddress_iP6Address), PInvalidCast);
8936 #endif
8937 return *(H245_MulticastAddress_iP6Address *)choice;
8941 H245_MulticastAddress::operator const H245_MulticastAddress_iP6Address &() const
8942 #endif
8944 #ifndef PASN_LEANANDMEAN
8945 PAssert(PIsDescendant(PAssertNULL(choice), H245_MulticastAddress_iP6Address), PInvalidCast);
8946 #endif
8947 return *(H245_MulticastAddress_iP6Address *)choice;
8951 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
8952 H245_MulticastAddress::operator H245_NonStandardParameter &() const
8953 #else
8954 H245_MulticastAddress::operator H245_NonStandardParameter &()
8956 #ifndef PASN_LEANANDMEAN
8957 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
8958 #endif
8959 return *(H245_NonStandardParameter *)choice;
8963 H245_MulticastAddress::operator const H245_NonStandardParameter &() const
8964 #endif
8966 #ifndef PASN_LEANANDMEAN
8967 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
8968 #endif
8969 return *(H245_NonStandardParameter *)choice;
8973 BOOL H245_MulticastAddress::CreateObject()
8975 switch (tag) {
8976 case e_iPAddress :
8977 choice = new H245_MulticastAddress_iPAddress();
8978 return TRUE;
8979 case e_iP6Address :
8980 choice = new H245_MulticastAddress_iP6Address();
8981 return TRUE;
8982 case e_nsap :
8983 choice = new PASN_OctetString();
8984 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 20);
8985 return TRUE;
8986 case e_nonStandardAddress :
8987 choice = new H245_NonStandardParameter();
8988 return TRUE;
8991 choice = NULL;
8992 return FALSE;
8996 PObject * H245_MulticastAddress::Clone() const
8998 #ifndef PASN_LEANANDMEAN
8999 PAssert(IsClass(H245_MulticastAddress::Class()), PInvalidCast);
9000 #endif
9001 return new H245_MulticastAddress(*this);
9006 // EscrowData
9009 H245_EscrowData::H245_EscrowData(unsigned tag, PASN_Object::TagClass tagClass)
9010 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9012 m_escrowValue.SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
9016 #ifndef PASN_NOPRINTON
9017 void H245_EscrowData::PrintOn(ostream & strm) const
9019 int indent = strm.precision() + 2;
9020 strm << "{\n";
9021 strm << setw(indent+11) << "escrowID = " << setprecision(indent) << m_escrowID << '\n';
9022 strm << setw(indent+14) << "escrowValue = " << setprecision(indent) << m_escrowValue << '\n';
9023 strm << setw(indent-1) << setprecision(indent-2) << "}";
9025 #endif
9028 PObject::Comparison H245_EscrowData::Compare(const PObject & obj) const
9030 #ifndef PASN_LEANANDMEAN
9031 PAssert(PIsDescendant(&obj, H245_EscrowData), PInvalidCast);
9032 #endif
9033 const H245_EscrowData & other = (const H245_EscrowData &)obj;
9035 Comparison result;
9037 if ((result = m_escrowID.Compare(other.m_escrowID)) != EqualTo)
9038 return result;
9039 if ((result = m_escrowValue.Compare(other.m_escrowValue)) != EqualTo)
9040 return result;
9042 return PASN_Sequence::Compare(other);
9046 PINDEX H245_EscrowData::GetDataLength() const
9048 PINDEX length = 0;
9049 length += m_escrowID.GetObjectLength();
9050 length += m_escrowValue.GetObjectLength();
9051 return length;
9055 BOOL H245_EscrowData::Decode(PASN_Stream & strm)
9057 if (!PreambleDecode(strm))
9058 return FALSE;
9060 if (!m_escrowID.Decode(strm))
9061 return FALSE;
9062 if (!m_escrowValue.Decode(strm))
9063 return FALSE;
9065 return UnknownExtensionsDecode(strm);
9069 void H245_EscrowData::Encode(PASN_Stream & strm) const
9071 PreambleEncode(strm);
9073 m_escrowID.Encode(strm);
9074 m_escrowValue.Encode(strm);
9076 UnknownExtensionsEncode(strm);
9080 PObject * H245_EscrowData::Clone() const
9082 #ifndef PASN_LEANANDMEAN
9083 PAssert(IsClass(H245_EscrowData::Class()), PInvalidCast);
9084 #endif
9085 return new H245_EscrowData(*this);
9090 // CloseLogicalChannelAck
9093 H245_CloseLogicalChannelAck::H245_CloseLogicalChannelAck(unsigned tag, PASN_Object::TagClass tagClass)
9094 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9099 #ifndef PASN_NOPRINTON
9100 void H245_CloseLogicalChannelAck::PrintOn(ostream & strm) const
9102 int indent = strm.precision() + 2;
9103 strm << "{\n";
9104 strm << setw(indent+30) << "forwardLogicalChannelNumber = " << setprecision(indent) << m_forwardLogicalChannelNumber << '\n';
9105 strm << setw(indent-1) << setprecision(indent-2) << "}";
9107 #endif
9110 PObject::Comparison H245_CloseLogicalChannelAck::Compare(const PObject & obj) const
9112 #ifndef PASN_LEANANDMEAN
9113 PAssert(PIsDescendant(&obj, H245_CloseLogicalChannelAck), PInvalidCast);
9114 #endif
9115 const H245_CloseLogicalChannelAck & other = (const H245_CloseLogicalChannelAck &)obj;
9117 Comparison result;
9119 if ((result = m_forwardLogicalChannelNumber.Compare(other.m_forwardLogicalChannelNumber)) != EqualTo)
9120 return result;
9122 return PASN_Sequence::Compare(other);
9126 PINDEX H245_CloseLogicalChannelAck::GetDataLength() const
9128 PINDEX length = 0;
9129 length += m_forwardLogicalChannelNumber.GetObjectLength();
9130 return length;
9134 BOOL H245_CloseLogicalChannelAck::Decode(PASN_Stream & strm)
9136 if (!PreambleDecode(strm))
9137 return FALSE;
9139 if (!m_forwardLogicalChannelNumber.Decode(strm))
9140 return FALSE;
9142 return UnknownExtensionsDecode(strm);
9146 void H245_CloseLogicalChannelAck::Encode(PASN_Stream & strm) const
9148 PreambleEncode(strm);
9150 m_forwardLogicalChannelNumber.Encode(strm);
9152 UnknownExtensionsEncode(strm);
9156 PObject * H245_CloseLogicalChannelAck::Clone() const
9158 #ifndef PASN_LEANANDMEAN
9159 PAssert(IsClass(H245_CloseLogicalChannelAck::Class()), PInvalidCast);
9160 #endif
9161 return new H245_CloseLogicalChannelAck(*this);
9166 // RequestChannelCloseAck
9169 H245_RequestChannelCloseAck::H245_RequestChannelCloseAck(unsigned tag, PASN_Object::TagClass tagClass)
9170 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9175 #ifndef PASN_NOPRINTON
9176 void H245_RequestChannelCloseAck::PrintOn(ostream & strm) const
9178 int indent = strm.precision() + 2;
9179 strm << "{\n";
9180 strm << setw(indent+30) << "forwardLogicalChannelNumber = " << setprecision(indent) << m_forwardLogicalChannelNumber << '\n';
9181 strm << setw(indent-1) << setprecision(indent-2) << "}";
9183 #endif
9186 PObject::Comparison H245_RequestChannelCloseAck::Compare(const PObject & obj) const
9188 #ifndef PASN_LEANANDMEAN
9189 PAssert(PIsDescendant(&obj, H245_RequestChannelCloseAck), PInvalidCast);
9190 #endif
9191 const H245_RequestChannelCloseAck & other = (const H245_RequestChannelCloseAck &)obj;
9193 Comparison result;
9195 if ((result = m_forwardLogicalChannelNumber.Compare(other.m_forwardLogicalChannelNumber)) != EqualTo)
9196 return result;
9198 return PASN_Sequence::Compare(other);
9202 PINDEX H245_RequestChannelCloseAck::GetDataLength() const
9204 PINDEX length = 0;
9205 length += m_forwardLogicalChannelNumber.GetObjectLength();
9206 return length;
9210 BOOL H245_RequestChannelCloseAck::Decode(PASN_Stream & strm)
9212 if (!PreambleDecode(strm))
9213 return FALSE;
9215 if (!m_forwardLogicalChannelNumber.Decode(strm))
9216 return FALSE;
9218 return UnknownExtensionsDecode(strm);
9222 void H245_RequestChannelCloseAck::Encode(PASN_Stream & strm) const
9224 PreambleEncode(strm);
9226 m_forwardLogicalChannelNumber.Encode(strm);
9228 UnknownExtensionsEncode(strm);
9232 PObject * H245_RequestChannelCloseAck::Clone() const
9234 #ifndef PASN_LEANANDMEAN
9235 PAssert(IsClass(H245_RequestChannelCloseAck::Class()), PInvalidCast);
9236 #endif
9237 return new H245_RequestChannelCloseAck(*this);
9242 // RequestChannelCloseRelease
9245 H245_RequestChannelCloseRelease::H245_RequestChannelCloseRelease(unsigned tag, PASN_Object::TagClass tagClass)
9246 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9251 #ifndef PASN_NOPRINTON
9252 void H245_RequestChannelCloseRelease::PrintOn(ostream & strm) const
9254 int indent = strm.precision() + 2;
9255 strm << "{\n";
9256 strm << setw(indent+30) << "forwardLogicalChannelNumber = " << setprecision(indent) << m_forwardLogicalChannelNumber << '\n';
9257 strm << setw(indent-1) << setprecision(indent-2) << "}";
9259 #endif
9262 PObject::Comparison H245_RequestChannelCloseRelease::Compare(const PObject & obj) const
9264 #ifndef PASN_LEANANDMEAN
9265 PAssert(PIsDescendant(&obj, H245_RequestChannelCloseRelease), PInvalidCast);
9266 #endif
9267 const H245_RequestChannelCloseRelease & other = (const H245_RequestChannelCloseRelease &)obj;
9269 Comparison result;
9271 if ((result = m_forwardLogicalChannelNumber.Compare(other.m_forwardLogicalChannelNumber)) != EqualTo)
9272 return result;
9274 return PASN_Sequence::Compare(other);
9278 PINDEX H245_RequestChannelCloseRelease::GetDataLength() const
9280 PINDEX length = 0;
9281 length += m_forwardLogicalChannelNumber.GetObjectLength();
9282 return length;
9286 BOOL H245_RequestChannelCloseRelease::Decode(PASN_Stream & strm)
9288 if (!PreambleDecode(strm))
9289 return FALSE;
9291 if (!m_forwardLogicalChannelNumber.Decode(strm))
9292 return FALSE;
9294 return UnknownExtensionsDecode(strm);
9298 void H245_RequestChannelCloseRelease::Encode(PASN_Stream & strm) const
9300 PreambleEncode(strm);
9302 m_forwardLogicalChannelNumber.Encode(strm);
9304 UnknownExtensionsEncode(strm);
9308 PObject * H245_RequestChannelCloseRelease::Clone() const
9310 #ifndef PASN_LEANANDMEAN
9311 PAssert(IsClass(H245_RequestChannelCloseRelease::Class()), PInvalidCast);
9312 #endif
9313 return new H245_RequestChannelCloseRelease(*this);
9318 // MultiplexTableEntryNumber
9321 H245_MultiplexTableEntryNumber::H245_MultiplexTableEntryNumber(unsigned tag, PASN_Object::TagClass tagClass)
9322 : PASN_Integer(tag, tagClass)
9324 SetConstraints(PASN_Object::FixedConstraint, 1, 15);
9328 H245_MultiplexTableEntryNumber & H245_MultiplexTableEntryNumber::operator=(int v)
9330 SetValue(v);
9331 return *this;
9335 H245_MultiplexTableEntryNumber & H245_MultiplexTableEntryNumber::operator=(unsigned v)
9337 SetValue(v);
9338 return *this;
9342 PObject * H245_MultiplexTableEntryNumber::Clone() const
9344 #ifndef PASN_LEANANDMEAN
9345 PAssert(IsClass(H245_MultiplexTableEntryNumber::Class()), PInvalidCast);
9346 #endif
9347 return new H245_MultiplexTableEntryNumber(*this);
9352 // RequestModeRelease
9355 H245_RequestModeRelease::H245_RequestModeRelease(unsigned tag, PASN_Object::TagClass tagClass)
9356 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9361 #ifndef PASN_NOPRINTON
9362 void H245_RequestModeRelease::PrintOn(ostream & strm) const
9364 int indent = strm.precision() + 2;
9365 strm << "{\n";
9366 strm << setw(indent-1) << setprecision(indent-2) << "}";
9368 #endif
9371 PINDEX H245_RequestModeRelease::GetDataLength() const
9373 PINDEX length = 0;
9374 return length;
9378 BOOL H245_RequestModeRelease::Decode(PASN_Stream & strm)
9380 if (!PreambleDecode(strm))
9381 return FALSE;
9384 return UnknownExtensionsDecode(strm);
9388 void H245_RequestModeRelease::Encode(PASN_Stream & strm) const
9390 PreambleEncode(strm);
9393 UnknownExtensionsEncode(strm);
9397 PObject * H245_RequestModeRelease::Clone() const
9399 #ifndef PASN_LEANANDMEAN
9400 PAssert(IsClass(H245_RequestModeRelease::Class()), PInvalidCast);
9401 #endif
9402 return new H245_RequestModeRelease(*this);
9407 // ModeDescription
9410 H245_ModeDescription::H245_ModeDescription(unsigned tag, PASN_Object::TagClass tagClass)
9411 : PASN_Array(tag, tagClass)
9413 SetConstraints(PASN_Object::FixedConstraint, 1, 256);
9417 PASN_Object * H245_ModeDescription::CreateObject() const
9419 return new H245_ModeElement;
9423 H245_ModeElement & H245_ModeDescription::operator[](PINDEX i) const
9425 return (H245_ModeElement &)array[i];
9429 PObject * H245_ModeDescription::Clone() const
9431 #ifndef PASN_LEANANDMEAN
9432 PAssert(IsClass(H245_ModeDescription::Class()), PInvalidCast);
9433 #endif
9434 return new H245_ModeDescription(*this);
9439 #ifndef PASN_NOPRINTON
9440 const static PASN_Names Names_H245_ModeElementType[]={
9441 {"nonStandard",0}
9442 ,{"videoMode",1}
9443 ,{"audioMode",2}
9444 ,{"dataMode",3}
9445 ,{"encryptionMode",4}
9446 ,{"h235Mode",5}
9447 ,{"multiplexedStreamMode",6}
9448 ,{"redundancyEncodingDTMode",7}
9449 ,{"multiplePayloadStreamMode",8}
9450 ,{"depFecMode",9}
9451 ,{"fecMode",10}
9453 #endif
9455 // ModeElementType
9458 H245_ModeElementType::H245_ModeElementType(unsigned tag, PASN_Object::TagClass tagClass)
9459 : PASN_Choice(tag, tagClass, 5, TRUE
9460 #ifndef PASN_NOPRINTON
9461 ,(const PASN_Names *)Names_H245_ModeElementType,11
9462 #endif
9468 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9469 H245_ModeElementType::operator H245_NonStandardParameter &() const
9470 #else
9471 H245_ModeElementType::operator H245_NonStandardParameter &()
9473 #ifndef PASN_LEANANDMEAN
9474 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
9475 #endif
9476 return *(H245_NonStandardParameter *)choice;
9480 H245_ModeElementType::operator const H245_NonStandardParameter &() const
9481 #endif
9483 #ifndef PASN_LEANANDMEAN
9484 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
9485 #endif
9486 return *(H245_NonStandardParameter *)choice;
9490 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9491 H245_ModeElementType::operator H245_VideoMode &() const
9492 #else
9493 H245_ModeElementType::operator H245_VideoMode &()
9495 #ifndef PASN_LEANANDMEAN
9496 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoMode), PInvalidCast);
9497 #endif
9498 return *(H245_VideoMode *)choice;
9502 H245_ModeElementType::operator const H245_VideoMode &() const
9503 #endif
9505 #ifndef PASN_LEANANDMEAN
9506 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoMode), PInvalidCast);
9507 #endif
9508 return *(H245_VideoMode *)choice;
9512 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9513 H245_ModeElementType::operator H245_AudioMode &() const
9514 #else
9515 H245_ModeElementType::operator H245_AudioMode &()
9517 #ifndef PASN_LEANANDMEAN
9518 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioMode), PInvalidCast);
9519 #endif
9520 return *(H245_AudioMode *)choice;
9524 H245_ModeElementType::operator const H245_AudioMode &() const
9525 #endif
9527 #ifndef PASN_LEANANDMEAN
9528 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioMode), PInvalidCast);
9529 #endif
9530 return *(H245_AudioMode *)choice;
9534 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9535 H245_ModeElementType::operator H245_DataMode &() const
9536 #else
9537 H245_ModeElementType::operator H245_DataMode &()
9539 #ifndef PASN_LEANANDMEAN
9540 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataMode), PInvalidCast);
9541 #endif
9542 return *(H245_DataMode *)choice;
9546 H245_ModeElementType::operator const H245_DataMode &() const
9547 #endif
9549 #ifndef PASN_LEANANDMEAN
9550 PAssert(PIsDescendant(PAssertNULL(choice), H245_DataMode), PInvalidCast);
9551 #endif
9552 return *(H245_DataMode *)choice;
9556 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9557 H245_ModeElementType::operator H245_EncryptionMode &() const
9558 #else
9559 H245_ModeElementType::operator H245_EncryptionMode &()
9561 #ifndef PASN_LEANANDMEAN
9562 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionMode), PInvalidCast);
9563 #endif
9564 return *(H245_EncryptionMode *)choice;
9568 H245_ModeElementType::operator const H245_EncryptionMode &() const
9569 #endif
9571 #ifndef PASN_LEANANDMEAN
9572 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionMode), PInvalidCast);
9573 #endif
9574 return *(H245_EncryptionMode *)choice;
9578 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9579 H245_ModeElementType::operator H245_H235Mode &() const
9580 #else
9581 H245_ModeElementType::operator H245_H235Mode &()
9583 #ifndef PASN_LEANANDMEAN
9584 PAssert(PIsDescendant(PAssertNULL(choice), H245_H235Mode), PInvalidCast);
9585 #endif
9586 return *(H245_H235Mode *)choice;
9590 H245_ModeElementType::operator const H245_H235Mode &() const
9591 #endif
9593 #ifndef PASN_LEANANDMEAN
9594 PAssert(PIsDescendant(PAssertNULL(choice), H245_H235Mode), PInvalidCast);
9595 #endif
9596 return *(H245_H235Mode *)choice;
9600 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9601 H245_ModeElementType::operator H245_MultiplexedStreamParameter &() const
9602 #else
9603 H245_ModeElementType::operator H245_MultiplexedStreamParameter &()
9605 #ifndef PASN_LEANANDMEAN
9606 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexedStreamParameter), PInvalidCast);
9607 #endif
9608 return *(H245_MultiplexedStreamParameter *)choice;
9612 H245_ModeElementType::operator const H245_MultiplexedStreamParameter &() const
9613 #endif
9615 #ifndef PASN_LEANANDMEAN
9616 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplexedStreamParameter), PInvalidCast);
9617 #endif
9618 return *(H245_MultiplexedStreamParameter *)choice;
9622 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9623 H245_ModeElementType::operator H245_RedundancyEncodingDTMode &() const
9624 #else
9625 H245_ModeElementType::operator H245_RedundancyEncodingDTMode &()
9627 #ifndef PASN_LEANANDMEAN
9628 PAssert(PIsDescendant(PAssertNULL(choice), H245_RedundancyEncodingDTMode), PInvalidCast);
9629 #endif
9630 return *(H245_RedundancyEncodingDTMode *)choice;
9634 H245_ModeElementType::operator const H245_RedundancyEncodingDTMode &() const
9635 #endif
9637 #ifndef PASN_LEANANDMEAN
9638 PAssert(PIsDescendant(PAssertNULL(choice), H245_RedundancyEncodingDTMode), PInvalidCast);
9639 #endif
9640 return *(H245_RedundancyEncodingDTMode *)choice;
9644 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9645 H245_ModeElementType::operator H245_MultiplePayloadStreamMode &() const
9646 #else
9647 H245_ModeElementType::operator H245_MultiplePayloadStreamMode &()
9649 #ifndef PASN_LEANANDMEAN
9650 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplePayloadStreamMode), PInvalidCast);
9651 #endif
9652 return *(H245_MultiplePayloadStreamMode *)choice;
9656 H245_ModeElementType::operator const H245_MultiplePayloadStreamMode &() const
9657 #endif
9659 #ifndef PASN_LEANANDMEAN
9660 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultiplePayloadStreamMode), PInvalidCast);
9661 #endif
9662 return *(H245_MultiplePayloadStreamMode *)choice;
9666 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9667 H245_ModeElementType::operator H245_DepFECMode &() const
9668 #else
9669 H245_ModeElementType::operator H245_DepFECMode &()
9671 #ifndef PASN_LEANANDMEAN
9672 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECMode), PInvalidCast);
9673 #endif
9674 return *(H245_DepFECMode *)choice;
9678 H245_ModeElementType::operator const H245_DepFECMode &() const
9679 #endif
9681 #ifndef PASN_LEANANDMEAN
9682 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECMode), PInvalidCast);
9683 #endif
9684 return *(H245_DepFECMode *)choice;
9688 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9689 H245_ModeElementType::operator H245_FECMode &() const
9690 #else
9691 H245_ModeElementType::operator H245_FECMode &()
9693 #ifndef PASN_LEANANDMEAN
9694 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECMode), PInvalidCast);
9695 #endif
9696 return *(H245_FECMode *)choice;
9700 H245_ModeElementType::operator const H245_FECMode &() const
9701 #endif
9703 #ifndef PASN_LEANANDMEAN
9704 PAssert(PIsDescendant(PAssertNULL(choice), H245_FECMode), PInvalidCast);
9705 #endif
9706 return *(H245_FECMode *)choice;
9710 BOOL H245_ModeElementType::CreateObject()
9712 switch (tag) {
9713 case e_nonStandard :
9714 choice = new H245_NonStandardParameter();
9715 return TRUE;
9716 case e_videoMode :
9717 choice = new H245_VideoMode();
9718 return TRUE;
9719 case e_audioMode :
9720 choice = new H245_AudioMode();
9721 return TRUE;
9722 case e_dataMode :
9723 choice = new H245_DataMode();
9724 return TRUE;
9725 case e_encryptionMode :
9726 choice = new H245_EncryptionMode();
9727 return TRUE;
9728 case e_h235Mode :
9729 choice = new H245_H235Mode();
9730 return TRUE;
9731 case e_multiplexedStreamMode :
9732 choice = new H245_MultiplexedStreamParameter();
9733 return TRUE;
9734 case e_redundancyEncodingDTMode :
9735 choice = new H245_RedundancyEncodingDTMode();
9736 return TRUE;
9737 case e_multiplePayloadStreamMode :
9738 choice = new H245_MultiplePayloadStreamMode();
9739 return TRUE;
9740 case e_depFecMode :
9741 choice = new H245_DepFECMode();
9742 return TRUE;
9743 case e_fecMode :
9744 choice = new H245_FECMode();
9745 return TRUE;
9748 choice = NULL;
9749 return FALSE;
9753 PObject * H245_ModeElementType::Clone() const
9755 #ifndef PASN_LEANANDMEAN
9756 PAssert(IsClass(H245_ModeElementType::Class()), PInvalidCast);
9757 #endif
9758 return new H245_ModeElementType(*this);
9763 // MultiplexedStreamModeParameters
9766 H245_MultiplexedStreamModeParameters::H245_MultiplexedStreamModeParameters(unsigned tag, PASN_Object::TagClass tagClass)
9767 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9772 #ifndef PASN_NOPRINTON
9773 void H245_MultiplexedStreamModeParameters::PrintOn(ostream & strm) const
9775 int indent = strm.precision() + 2;
9776 strm << "{\n";
9777 strm << setw(indent+23) << "logicalChannelNumber = " << setprecision(indent) << m_logicalChannelNumber << '\n';
9778 strm << setw(indent-1) << setprecision(indent-2) << "}";
9780 #endif
9783 PObject::Comparison H245_MultiplexedStreamModeParameters::Compare(const PObject & obj) const
9785 #ifndef PASN_LEANANDMEAN
9786 PAssert(PIsDescendant(&obj, H245_MultiplexedStreamModeParameters), PInvalidCast);
9787 #endif
9788 const H245_MultiplexedStreamModeParameters & other = (const H245_MultiplexedStreamModeParameters &)obj;
9790 Comparison result;
9792 if ((result = m_logicalChannelNumber.Compare(other.m_logicalChannelNumber)) != EqualTo)
9793 return result;
9795 return PASN_Sequence::Compare(other);
9799 PINDEX H245_MultiplexedStreamModeParameters::GetDataLength() const
9801 PINDEX length = 0;
9802 length += m_logicalChannelNumber.GetObjectLength();
9803 return length;
9807 BOOL H245_MultiplexedStreamModeParameters::Decode(PASN_Stream & strm)
9809 if (!PreambleDecode(strm))
9810 return FALSE;
9812 if (!m_logicalChannelNumber.Decode(strm))
9813 return FALSE;
9815 return UnknownExtensionsDecode(strm);
9819 void H245_MultiplexedStreamModeParameters::Encode(PASN_Stream & strm) const
9821 PreambleEncode(strm);
9823 m_logicalChannelNumber.Encode(strm);
9825 UnknownExtensionsEncode(strm);
9829 PObject * H245_MultiplexedStreamModeParameters::Clone() const
9831 #ifndef PASN_LEANANDMEAN
9832 PAssert(IsClass(H245_MultiplexedStreamModeParameters::Class()), PInvalidCast);
9833 #endif
9834 return new H245_MultiplexedStreamModeParameters(*this);
9839 // MultiplePayloadStreamElementMode
9842 H245_MultiplePayloadStreamElementMode::H245_MultiplePayloadStreamElementMode(unsigned tag, PASN_Object::TagClass tagClass)
9843 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9848 #ifndef PASN_NOPRINTON
9849 void H245_MultiplePayloadStreamElementMode::PrintOn(ostream & strm) const
9851 int indent = strm.precision() + 2;
9852 strm << "{\n";
9853 strm << setw(indent+7) << "type = " << setprecision(indent) << m_type << '\n';
9854 strm << setw(indent-1) << setprecision(indent-2) << "}";
9856 #endif
9859 PObject::Comparison H245_MultiplePayloadStreamElementMode::Compare(const PObject & obj) const
9861 #ifndef PASN_LEANANDMEAN
9862 PAssert(PIsDescendant(&obj, H245_MultiplePayloadStreamElementMode), PInvalidCast);
9863 #endif
9864 const H245_MultiplePayloadStreamElementMode & other = (const H245_MultiplePayloadStreamElementMode &)obj;
9866 Comparison result;
9868 if ((result = m_type.Compare(other.m_type)) != EqualTo)
9869 return result;
9871 return PASN_Sequence::Compare(other);
9875 PINDEX H245_MultiplePayloadStreamElementMode::GetDataLength() const
9877 PINDEX length = 0;
9878 length += m_type.GetObjectLength();
9879 return length;
9883 BOOL H245_MultiplePayloadStreamElementMode::Decode(PASN_Stream & strm)
9885 if (!PreambleDecode(strm))
9886 return FALSE;
9888 if (!m_type.Decode(strm))
9889 return FALSE;
9891 return UnknownExtensionsDecode(strm);
9895 void H245_MultiplePayloadStreamElementMode::Encode(PASN_Stream & strm) const
9897 PreambleEncode(strm);
9899 m_type.Encode(strm);
9901 UnknownExtensionsEncode(strm);
9905 PObject * H245_MultiplePayloadStreamElementMode::Clone() const
9907 #ifndef PASN_LEANANDMEAN
9908 PAssert(IsClass(H245_MultiplePayloadStreamElementMode::Class()), PInvalidCast);
9909 #endif
9910 return new H245_MultiplePayloadStreamElementMode(*this);
9915 #ifndef PASN_NOPRINTON
9916 const static PASN_Names Names_H245_DepFECMode[]={
9917 {"rfc2733Mode",0}
9919 #endif
9921 // DepFECMode
9924 H245_DepFECMode::H245_DepFECMode(unsigned tag, PASN_Object::TagClass tagClass)
9925 : PASN_Choice(tag, tagClass, 1, TRUE
9926 #ifndef PASN_NOPRINTON
9927 ,(const PASN_Names *)Names_H245_DepFECMode,1
9928 #endif
9934 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
9935 H245_DepFECMode::operator H245_DepFECMode_rfc2733Mode &() const
9936 #else
9937 H245_DepFECMode::operator H245_DepFECMode_rfc2733Mode &()
9939 #ifndef PASN_LEANANDMEAN
9940 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECMode_rfc2733Mode), PInvalidCast);
9941 #endif
9942 return *(H245_DepFECMode_rfc2733Mode *)choice;
9946 H245_DepFECMode::operator const H245_DepFECMode_rfc2733Mode &() const
9947 #endif
9949 #ifndef PASN_LEANANDMEAN
9950 PAssert(PIsDescendant(PAssertNULL(choice), H245_DepFECMode_rfc2733Mode), PInvalidCast);
9951 #endif
9952 return *(H245_DepFECMode_rfc2733Mode *)choice;
9956 BOOL H245_DepFECMode::CreateObject()
9958 switch (tag) {
9959 case e_rfc2733Mode :
9960 choice = new H245_DepFECMode_rfc2733Mode();
9961 return TRUE;
9964 choice = NULL;
9965 return FALSE;
9969 PObject * H245_DepFECMode::Clone() const
9971 #ifndef PASN_LEANANDMEAN
9972 PAssert(IsClass(H245_DepFECMode::Class()), PInvalidCast);
9973 #endif
9974 return new H245_DepFECMode(*this);
9979 #ifndef PASN_NOPRINTON
9980 const static PASN_Names Names_H245_V76ModeParameters[]={
9981 {"suspendResumewAddress",0}
9982 ,{"suspendResumewoAddress",1}
9984 #endif
9986 // V76ModeParameters
9989 H245_V76ModeParameters::H245_V76ModeParameters(unsigned tag, PASN_Object::TagClass tagClass)
9990 : PASN_Choice(tag, tagClass, 2, TRUE
9991 #ifndef PASN_NOPRINTON
9992 ,(const PASN_Names *)Names_H245_V76ModeParameters,2
9993 #endif
9999 BOOL H245_V76ModeParameters::CreateObject()
10001 choice = (tag <= e_suspendResumewoAddress) ? new PASN_Null() : NULL;
10002 return choice != NULL;
10006 PObject * H245_V76ModeParameters::Clone() const
10008 #ifndef PASN_LEANANDMEAN
10009 PAssert(IsClass(H245_V76ModeParameters::Class()), PInvalidCast);
10010 #endif
10011 return new H245_V76ModeParameters(*this);
10016 #ifndef PASN_NOPRINTON
10017 const static PASN_Names Names_H245_VideoMode[]={
10018 {"nonStandard",0}
10019 ,{"h261VideoMode",1}
10020 ,{"h262VideoMode",2}
10021 ,{"h263VideoMode",3}
10022 ,{"is11172VideoMode",4}
10023 ,{"genericVideoMode",5}
10025 #endif
10027 // VideoMode
10030 H245_VideoMode::H245_VideoMode(unsigned tag, PASN_Object::TagClass tagClass)
10031 : PASN_Choice(tag, tagClass, 5, TRUE
10032 #ifndef PASN_NOPRINTON
10033 ,(const PASN_Names *)Names_H245_VideoMode,6
10034 #endif
10040 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10041 H245_VideoMode::operator H245_NonStandardParameter &() const
10042 #else
10043 H245_VideoMode::operator H245_NonStandardParameter &()
10045 #ifndef PASN_LEANANDMEAN
10046 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
10047 #endif
10048 return *(H245_NonStandardParameter *)choice;
10052 H245_VideoMode::operator const H245_NonStandardParameter &() const
10053 #endif
10055 #ifndef PASN_LEANANDMEAN
10056 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
10057 #endif
10058 return *(H245_NonStandardParameter *)choice;
10062 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10063 H245_VideoMode::operator H245_H261VideoMode &() const
10064 #else
10065 H245_VideoMode::operator H245_H261VideoMode &()
10067 #ifndef PASN_LEANANDMEAN
10068 PAssert(PIsDescendant(PAssertNULL(choice), H245_H261VideoMode), PInvalidCast);
10069 #endif
10070 return *(H245_H261VideoMode *)choice;
10074 H245_VideoMode::operator const H245_H261VideoMode &() const
10075 #endif
10077 #ifndef PASN_LEANANDMEAN
10078 PAssert(PIsDescendant(PAssertNULL(choice), H245_H261VideoMode), PInvalidCast);
10079 #endif
10080 return *(H245_H261VideoMode *)choice;
10084 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10085 H245_VideoMode::operator H245_H262VideoMode &() const
10086 #else
10087 H245_VideoMode::operator H245_H262VideoMode &()
10089 #ifndef PASN_LEANANDMEAN
10090 PAssert(PIsDescendant(PAssertNULL(choice), H245_H262VideoMode), PInvalidCast);
10091 #endif
10092 return *(H245_H262VideoMode *)choice;
10096 H245_VideoMode::operator const H245_H262VideoMode &() const
10097 #endif
10099 #ifndef PASN_LEANANDMEAN
10100 PAssert(PIsDescendant(PAssertNULL(choice), H245_H262VideoMode), PInvalidCast);
10101 #endif
10102 return *(H245_H262VideoMode *)choice;
10106 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10107 H245_VideoMode::operator H245_H263VideoMode &() const
10108 #else
10109 H245_VideoMode::operator H245_H263VideoMode &()
10111 #ifndef PASN_LEANANDMEAN
10112 PAssert(PIsDescendant(PAssertNULL(choice), H245_H263VideoMode), PInvalidCast);
10113 #endif
10114 return *(H245_H263VideoMode *)choice;
10118 H245_VideoMode::operator const H245_H263VideoMode &() const
10119 #endif
10121 #ifndef PASN_LEANANDMEAN
10122 PAssert(PIsDescendant(PAssertNULL(choice), H245_H263VideoMode), PInvalidCast);
10123 #endif
10124 return *(H245_H263VideoMode *)choice;
10128 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10129 H245_VideoMode::operator H245_IS11172VideoMode &() const
10130 #else
10131 H245_VideoMode::operator H245_IS11172VideoMode &()
10133 #ifndef PASN_LEANANDMEAN
10134 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172VideoMode), PInvalidCast);
10135 #endif
10136 return *(H245_IS11172VideoMode *)choice;
10140 H245_VideoMode::operator const H245_IS11172VideoMode &() const
10141 #endif
10143 #ifndef PASN_LEANANDMEAN
10144 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172VideoMode), PInvalidCast);
10145 #endif
10146 return *(H245_IS11172VideoMode *)choice;
10150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10151 H245_VideoMode::operator H245_GenericCapability &() const
10152 #else
10153 H245_VideoMode::operator H245_GenericCapability &()
10155 #ifndef PASN_LEANANDMEAN
10156 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
10157 #endif
10158 return *(H245_GenericCapability *)choice;
10162 H245_VideoMode::operator const H245_GenericCapability &() const
10163 #endif
10165 #ifndef PASN_LEANANDMEAN
10166 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
10167 #endif
10168 return *(H245_GenericCapability *)choice;
10172 BOOL H245_VideoMode::CreateObject()
10174 switch (tag) {
10175 case e_nonStandard :
10176 choice = new H245_NonStandardParameter();
10177 return TRUE;
10178 case e_h261VideoMode :
10179 choice = new H245_H261VideoMode();
10180 return TRUE;
10181 case e_h262VideoMode :
10182 choice = new H245_H262VideoMode();
10183 return TRUE;
10184 case e_h263VideoMode :
10185 choice = new H245_H263VideoMode();
10186 return TRUE;
10187 case e_is11172VideoMode :
10188 choice = new H245_IS11172VideoMode();
10189 return TRUE;
10190 case e_genericVideoMode :
10191 choice = new H245_GenericCapability();
10192 return TRUE;
10195 choice = NULL;
10196 return FALSE;
10200 PObject * H245_VideoMode::Clone() const
10202 #ifndef PASN_LEANANDMEAN
10203 PAssert(IsClass(H245_VideoMode::Class()), PInvalidCast);
10204 #endif
10205 return new H245_VideoMode(*this);
10210 // IS11172VideoMode
10213 H245_IS11172VideoMode::H245_IS11172VideoMode(unsigned tag, PASN_Object::TagClass tagClass)
10214 : PASN_Sequence(tag, tagClass, 6, TRUE, 0)
10216 m_videoBitRate.SetConstraints(PASN_Object::FixedConstraint, 0, 1073741823);
10217 m_vbvBufferSize.SetConstraints(PASN_Object::FixedConstraint, 0, 262143);
10218 m_samplesPerLine.SetConstraints(PASN_Object::FixedConstraint, 0, 16383);
10219 m_linesPerFrame.SetConstraints(PASN_Object::FixedConstraint, 0, 16383);
10220 m_pictureRate.SetConstraints(PASN_Object::FixedConstraint, 0, 15);
10221 m_luminanceSampleRate.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
10225 #ifndef PASN_NOPRINTON
10226 void H245_IS11172VideoMode::PrintOn(ostream & strm) const
10228 int indent = strm.precision() + 2;
10229 strm << "{\n";
10230 strm << setw(indent+23) << "constrainedBitstream = " << setprecision(indent) << m_constrainedBitstream << '\n';
10231 if (HasOptionalField(e_videoBitRate))
10232 strm << setw(indent+15) << "videoBitRate = " << setprecision(indent) << m_videoBitRate << '\n';
10233 if (HasOptionalField(e_vbvBufferSize))
10234 strm << setw(indent+16) << "vbvBufferSize = " << setprecision(indent) << m_vbvBufferSize << '\n';
10235 if (HasOptionalField(e_samplesPerLine))
10236 strm << setw(indent+17) << "samplesPerLine = " << setprecision(indent) << m_samplesPerLine << '\n';
10237 if (HasOptionalField(e_linesPerFrame))
10238 strm << setw(indent+16) << "linesPerFrame = " << setprecision(indent) << m_linesPerFrame << '\n';
10239 if (HasOptionalField(e_pictureRate))
10240 strm << setw(indent+14) << "pictureRate = " << setprecision(indent) << m_pictureRate << '\n';
10241 if (HasOptionalField(e_luminanceSampleRate))
10242 strm << setw(indent+22) << "luminanceSampleRate = " << setprecision(indent) << m_luminanceSampleRate << '\n';
10243 strm << setw(indent-1) << setprecision(indent-2) << "}";
10245 #endif
10248 PObject::Comparison H245_IS11172VideoMode::Compare(const PObject & obj) const
10250 #ifndef PASN_LEANANDMEAN
10251 PAssert(PIsDescendant(&obj, H245_IS11172VideoMode), PInvalidCast);
10252 #endif
10253 const H245_IS11172VideoMode & other = (const H245_IS11172VideoMode &)obj;
10255 Comparison result;
10257 if ((result = m_constrainedBitstream.Compare(other.m_constrainedBitstream)) != EqualTo)
10258 return result;
10259 if ((result = m_videoBitRate.Compare(other.m_videoBitRate)) != EqualTo)
10260 return result;
10261 if ((result = m_vbvBufferSize.Compare(other.m_vbvBufferSize)) != EqualTo)
10262 return result;
10263 if ((result = m_samplesPerLine.Compare(other.m_samplesPerLine)) != EqualTo)
10264 return result;
10265 if ((result = m_linesPerFrame.Compare(other.m_linesPerFrame)) != EqualTo)
10266 return result;
10267 if ((result = m_pictureRate.Compare(other.m_pictureRate)) != EqualTo)
10268 return result;
10269 if ((result = m_luminanceSampleRate.Compare(other.m_luminanceSampleRate)) != EqualTo)
10270 return result;
10272 return PASN_Sequence::Compare(other);
10276 PINDEX H245_IS11172VideoMode::GetDataLength() const
10278 PINDEX length = 0;
10279 length += m_constrainedBitstream.GetObjectLength();
10280 if (HasOptionalField(e_videoBitRate))
10281 length += m_videoBitRate.GetObjectLength();
10282 if (HasOptionalField(e_vbvBufferSize))
10283 length += m_vbvBufferSize.GetObjectLength();
10284 if (HasOptionalField(e_samplesPerLine))
10285 length += m_samplesPerLine.GetObjectLength();
10286 if (HasOptionalField(e_linesPerFrame))
10287 length += m_linesPerFrame.GetObjectLength();
10288 if (HasOptionalField(e_pictureRate))
10289 length += m_pictureRate.GetObjectLength();
10290 if (HasOptionalField(e_luminanceSampleRate))
10291 length += m_luminanceSampleRate.GetObjectLength();
10292 return length;
10296 BOOL H245_IS11172VideoMode::Decode(PASN_Stream & strm)
10298 if (!PreambleDecode(strm))
10299 return FALSE;
10301 if (!m_constrainedBitstream.Decode(strm))
10302 return FALSE;
10303 if (HasOptionalField(e_videoBitRate) && !m_videoBitRate.Decode(strm))
10304 return FALSE;
10305 if (HasOptionalField(e_vbvBufferSize) && !m_vbvBufferSize.Decode(strm))
10306 return FALSE;
10307 if (HasOptionalField(e_samplesPerLine) && !m_samplesPerLine.Decode(strm))
10308 return FALSE;
10309 if (HasOptionalField(e_linesPerFrame) && !m_linesPerFrame.Decode(strm))
10310 return FALSE;
10311 if (HasOptionalField(e_pictureRate) && !m_pictureRate.Decode(strm))
10312 return FALSE;
10313 if (HasOptionalField(e_luminanceSampleRate) && !m_luminanceSampleRate.Decode(strm))
10314 return FALSE;
10316 return UnknownExtensionsDecode(strm);
10320 void H245_IS11172VideoMode::Encode(PASN_Stream & strm) const
10322 PreambleEncode(strm);
10324 m_constrainedBitstream.Encode(strm);
10325 if (HasOptionalField(e_videoBitRate))
10326 m_videoBitRate.Encode(strm);
10327 if (HasOptionalField(e_vbvBufferSize))
10328 m_vbvBufferSize.Encode(strm);
10329 if (HasOptionalField(e_samplesPerLine))
10330 m_samplesPerLine.Encode(strm);
10331 if (HasOptionalField(e_linesPerFrame))
10332 m_linesPerFrame.Encode(strm);
10333 if (HasOptionalField(e_pictureRate))
10334 m_pictureRate.Encode(strm);
10335 if (HasOptionalField(e_luminanceSampleRate))
10336 m_luminanceSampleRate.Encode(strm);
10338 UnknownExtensionsEncode(strm);
10342 PObject * H245_IS11172VideoMode::Clone() const
10344 #ifndef PASN_LEANANDMEAN
10345 PAssert(IsClass(H245_IS11172VideoMode::Class()), PInvalidCast);
10346 #endif
10347 return new H245_IS11172VideoMode(*this);
10352 #ifndef PASN_NOPRINTON
10353 const static PASN_Names Names_H245_AudioMode[]={
10354 {"nonStandard",0}
10355 ,{"g711Alaw64k",1}
10356 ,{"g711Alaw56k",2}
10357 ,{"g711Ulaw64k",3}
10358 ,{"g711Ulaw56k",4}
10359 ,{"g722_64k",5}
10360 ,{"g722_56k",6}
10361 ,{"g722_48k",7}
10362 ,{"g728",8}
10363 ,{"g729",9}
10364 ,{"g729AnnexA",10}
10365 ,{"g7231",11}
10366 ,{"is11172AudioMode",12}
10367 ,{"is13818AudioMode",13}
10368 ,{"g729wAnnexB",14}
10369 ,{"g729AnnexAwAnnexB",15}
10370 ,{"g7231AnnexCMode",16}
10371 ,{"gsmFullRate",17}
10372 ,{"gsmHalfRate",18}
10373 ,{"gsmEnhancedFullRate",19}
10374 ,{"genericAudioMode",20}
10375 ,{"g729Extensions",21}
10376 ,{"vbd",22}
10378 #endif
10380 // AudioMode
10383 H245_AudioMode::H245_AudioMode(unsigned tag, PASN_Object::TagClass tagClass)
10384 : PASN_Choice(tag, tagClass, 14, TRUE
10385 #ifndef PASN_NOPRINTON
10386 ,(const PASN_Names *)Names_H245_AudioMode,23
10387 #endif
10393 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10394 H245_AudioMode::operator H245_NonStandardParameter &() const
10395 #else
10396 H245_AudioMode::operator H245_NonStandardParameter &()
10398 #ifndef PASN_LEANANDMEAN
10399 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
10400 #endif
10401 return *(H245_NonStandardParameter *)choice;
10405 H245_AudioMode::operator const H245_NonStandardParameter &() const
10406 #endif
10408 #ifndef PASN_LEANANDMEAN
10409 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
10410 #endif
10411 return *(H245_NonStandardParameter *)choice;
10415 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10416 H245_AudioMode::operator H245_AudioMode_g7231 &() const
10417 #else
10418 H245_AudioMode::operator H245_AudioMode_g7231 &()
10420 #ifndef PASN_LEANANDMEAN
10421 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioMode_g7231), PInvalidCast);
10422 #endif
10423 return *(H245_AudioMode_g7231 *)choice;
10427 H245_AudioMode::operator const H245_AudioMode_g7231 &() const
10428 #endif
10430 #ifndef PASN_LEANANDMEAN
10431 PAssert(PIsDescendant(PAssertNULL(choice), H245_AudioMode_g7231), PInvalidCast);
10432 #endif
10433 return *(H245_AudioMode_g7231 *)choice;
10437 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10438 H245_AudioMode::operator H245_IS11172AudioMode &() const
10439 #else
10440 H245_AudioMode::operator H245_IS11172AudioMode &()
10442 #ifndef PASN_LEANANDMEAN
10443 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172AudioMode), PInvalidCast);
10444 #endif
10445 return *(H245_IS11172AudioMode *)choice;
10449 H245_AudioMode::operator const H245_IS11172AudioMode &() const
10450 #endif
10452 #ifndef PASN_LEANANDMEAN
10453 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS11172AudioMode), PInvalidCast);
10454 #endif
10455 return *(H245_IS11172AudioMode *)choice;
10459 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10460 H245_AudioMode::operator H245_IS13818AudioMode &() const
10461 #else
10462 H245_AudioMode::operator H245_IS13818AudioMode &()
10464 #ifndef PASN_LEANANDMEAN
10465 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS13818AudioMode), PInvalidCast);
10466 #endif
10467 return *(H245_IS13818AudioMode *)choice;
10471 H245_AudioMode::operator const H245_IS13818AudioMode &() const
10472 #endif
10474 #ifndef PASN_LEANANDMEAN
10475 PAssert(PIsDescendant(PAssertNULL(choice), H245_IS13818AudioMode), PInvalidCast);
10476 #endif
10477 return *(H245_IS13818AudioMode *)choice;
10481 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10482 H245_AudioMode::operator H245_G7231AnnexCMode &() const
10483 #else
10484 H245_AudioMode::operator H245_G7231AnnexCMode &()
10486 #ifndef PASN_LEANANDMEAN
10487 PAssert(PIsDescendant(PAssertNULL(choice), H245_G7231AnnexCMode), PInvalidCast);
10488 #endif
10489 return *(H245_G7231AnnexCMode *)choice;
10493 H245_AudioMode::operator const H245_G7231AnnexCMode &() const
10494 #endif
10496 #ifndef PASN_LEANANDMEAN
10497 PAssert(PIsDescendant(PAssertNULL(choice), H245_G7231AnnexCMode), PInvalidCast);
10498 #endif
10499 return *(H245_G7231AnnexCMode *)choice;
10503 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10504 H245_AudioMode::operator H245_GSMAudioCapability &() const
10505 #else
10506 H245_AudioMode::operator H245_GSMAudioCapability &()
10508 #ifndef PASN_LEANANDMEAN
10509 PAssert(PIsDescendant(PAssertNULL(choice), H245_GSMAudioCapability), PInvalidCast);
10510 #endif
10511 return *(H245_GSMAudioCapability *)choice;
10515 H245_AudioMode::operator const H245_GSMAudioCapability &() const
10516 #endif
10518 #ifndef PASN_LEANANDMEAN
10519 PAssert(PIsDescendant(PAssertNULL(choice), H245_GSMAudioCapability), PInvalidCast);
10520 #endif
10521 return *(H245_GSMAudioCapability *)choice;
10525 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10526 H245_AudioMode::operator H245_GenericCapability &() const
10527 #else
10528 H245_AudioMode::operator H245_GenericCapability &()
10530 #ifndef PASN_LEANANDMEAN
10531 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
10532 #endif
10533 return *(H245_GenericCapability *)choice;
10537 H245_AudioMode::operator const H245_GenericCapability &() const
10538 #endif
10540 #ifndef PASN_LEANANDMEAN
10541 PAssert(PIsDescendant(PAssertNULL(choice), H245_GenericCapability), PInvalidCast);
10542 #endif
10543 return *(H245_GenericCapability *)choice;
10547 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10548 H245_AudioMode::operator H245_G729Extensions &() const
10549 #else
10550 H245_AudioMode::operator H245_G729Extensions &()
10552 #ifndef PASN_LEANANDMEAN
10553 PAssert(PIsDescendant(PAssertNULL(choice), H245_G729Extensions), PInvalidCast);
10554 #endif
10555 return *(H245_G729Extensions *)choice;
10559 H245_AudioMode::operator const H245_G729Extensions &() const
10560 #endif
10562 #ifndef PASN_LEANANDMEAN
10563 PAssert(PIsDescendant(PAssertNULL(choice), H245_G729Extensions), PInvalidCast);
10564 #endif
10565 return *(H245_G729Extensions *)choice;
10569 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10570 H245_AudioMode::operator H245_VBDMode &() const
10571 #else
10572 H245_AudioMode::operator H245_VBDMode &()
10574 #ifndef PASN_LEANANDMEAN
10575 PAssert(PIsDescendant(PAssertNULL(choice), H245_VBDMode), PInvalidCast);
10576 #endif
10577 return *(H245_VBDMode *)choice;
10581 H245_AudioMode::operator const H245_VBDMode &() const
10582 #endif
10584 #ifndef PASN_LEANANDMEAN
10585 PAssert(PIsDescendant(PAssertNULL(choice), H245_VBDMode), PInvalidCast);
10586 #endif
10587 return *(H245_VBDMode *)choice;
10591 BOOL H245_AudioMode::CreateObject()
10593 switch (tag) {
10594 case e_nonStandard :
10595 choice = new H245_NonStandardParameter();
10596 return TRUE;
10597 case e_g711Alaw64k :
10598 case e_g711Alaw56k :
10599 case e_g711Ulaw64k :
10600 case e_g711Ulaw56k :
10601 case e_g722_64k :
10602 case e_g722_56k :
10603 case e_g722_48k :
10604 case e_g728 :
10605 case e_g729 :
10606 case e_g729AnnexA :
10607 choice = new PASN_Null();
10608 return TRUE;
10609 case e_g7231 :
10610 choice = new H245_AudioMode_g7231();
10611 return TRUE;
10612 case e_is11172AudioMode :
10613 choice = new H245_IS11172AudioMode();
10614 return TRUE;
10615 case e_is13818AudioMode :
10616 choice = new H245_IS13818AudioMode();
10617 return TRUE;
10618 case e_g729wAnnexB :
10619 choice = new PASN_Integer();
10620 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
10621 return TRUE;
10622 case e_g729AnnexAwAnnexB :
10623 choice = new PASN_Integer();
10624 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
10625 return TRUE;
10626 case e_g7231AnnexCMode :
10627 choice = new H245_G7231AnnexCMode();
10628 return TRUE;
10629 case e_gsmFullRate :
10630 case e_gsmHalfRate :
10631 case e_gsmEnhancedFullRate :
10632 choice = new H245_GSMAudioCapability();
10633 return TRUE;
10634 case e_genericAudioMode :
10635 choice = new H245_GenericCapability();
10636 return TRUE;
10637 case e_g729Extensions :
10638 choice = new H245_G729Extensions();
10639 return TRUE;
10640 case e_vbd :
10641 choice = new H245_VBDMode();
10642 return TRUE;
10645 choice = NULL;
10646 return FALSE;
10650 PObject * H245_AudioMode::Clone() const
10652 #ifndef PASN_LEANANDMEAN
10653 PAssert(IsClass(H245_AudioMode::Class()), PInvalidCast);
10654 #endif
10655 return new H245_AudioMode(*this);
10660 // VBDMode
10663 H245_VBDMode::H245_VBDMode(unsigned tag, PASN_Object::TagClass tagClass)
10664 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
10669 #ifndef PASN_NOPRINTON
10670 void H245_VBDMode::PrintOn(ostream & strm) const
10672 int indent = strm.precision() + 2;
10673 strm << "{\n";
10674 strm << setw(indent+7) << "type = " << setprecision(indent) << m_type << '\n';
10675 strm << setw(indent-1) << setprecision(indent-2) << "}";
10677 #endif
10680 PObject::Comparison H245_VBDMode::Compare(const PObject & obj) const
10682 #ifndef PASN_LEANANDMEAN
10683 PAssert(PIsDescendant(&obj, H245_VBDMode), PInvalidCast);
10684 #endif
10685 const H245_VBDMode & other = (const H245_VBDMode &)obj;
10687 Comparison result;
10689 if ((result = m_type.Compare(other.m_type)) != EqualTo)
10690 return result;
10692 return PASN_Sequence::Compare(other);
10696 PINDEX H245_VBDMode::GetDataLength() const
10698 PINDEX length = 0;
10699 length += m_type.GetObjectLength();
10700 return length;
10704 BOOL H245_VBDMode::Decode(PASN_Stream & strm)
10706 if (!PreambleDecode(strm))
10707 return FALSE;
10709 if (!m_type.Decode(strm))
10710 return FALSE;
10712 return UnknownExtensionsDecode(strm);
10716 void H245_VBDMode::Encode(PASN_Stream & strm) const
10718 PreambleEncode(strm);
10720 m_type.Encode(strm);
10722 UnknownExtensionsEncode(strm);
10726 PObject * H245_VBDMode::Clone() const
10728 #ifndef PASN_LEANANDMEAN
10729 PAssert(IsClass(H245_VBDMode::Class()), PInvalidCast);
10730 #endif
10731 return new H245_VBDMode(*this);
10736 #ifndef PASN_NOPRINTON
10737 const static PASN_Names Names_H245_EncryptionMode[]={
10738 {"nonStandard",0}
10739 ,{"h233Encryption",1}
10741 #endif
10743 // EncryptionMode
10746 H245_EncryptionMode::H245_EncryptionMode(unsigned tag, PASN_Object::TagClass tagClass)
10747 : PASN_Choice(tag, tagClass, 2, TRUE
10748 #ifndef PASN_NOPRINTON
10749 ,(const PASN_Names *)Names_H245_EncryptionMode,2
10750 #endif
10756 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
10757 H245_EncryptionMode::operator H245_NonStandardParameter &() const
10758 #else
10759 H245_EncryptionMode::operator H245_NonStandardParameter &()
10761 #ifndef PASN_LEANANDMEAN
10762 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
10763 #endif
10764 return *(H245_NonStandardParameter *)choice;
10768 H245_EncryptionMode::operator const H245_NonStandardParameter &() const
10769 #endif
10771 #ifndef PASN_LEANANDMEAN
10772 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
10773 #endif
10774 return *(H245_NonStandardParameter *)choice;
10778 BOOL H245_EncryptionMode::CreateObject()
10780 switch (tag) {
10781 case e_nonStandard :
10782 choice = new H245_NonStandardParameter();
10783 return TRUE;
10784 case e_h233Encryption :
10785 choice = new PASN_Null();
10786 return TRUE;
10789 choice = NULL;
10790 return FALSE;
10794 PObject * H245_EncryptionMode::Clone() const
10796 #ifndef PASN_LEANANDMEAN
10797 PAssert(IsClass(H245_EncryptionMode::Class()), PInvalidCast);
10798 #endif
10799 return new H245_EncryptionMode(*this);
10804 // RoundTripDelayRequest
10807 H245_RoundTripDelayRequest::H245_RoundTripDelayRequest(unsigned tag, PASN_Object::TagClass tagClass)
10808 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
10813 #ifndef PASN_NOPRINTON
10814 void H245_RoundTripDelayRequest::PrintOn(ostream & strm) const
10816 int indent = strm.precision() + 2;
10817 strm << "{\n";
10818 strm << setw(indent+17) << "sequenceNumber = " << setprecision(indent) << m_sequenceNumber << '\n';
10819 strm << setw(indent-1) << setprecision(indent-2) << "}";
10821 #endif
10824 PObject::Comparison H245_RoundTripDelayRequest::Compare(const PObject & obj) const
10826 #ifndef PASN_LEANANDMEAN
10827 PAssert(PIsDescendant(&obj, H245_RoundTripDelayRequest), PInvalidCast);
10828 #endif
10829 const H245_RoundTripDelayRequest & other = (const H245_RoundTripDelayRequest &)obj;
10831 Comparison result;
10833 if ((result = m_sequenceNumber.Compare(other.m_sequenceNumber)) != EqualTo)
10834 return result;
10836 return PASN_Sequence::Compare(other);
10840 PINDEX H245_RoundTripDelayRequest::GetDataLength() const
10842 PINDEX length = 0;
10843 length += m_sequenceNumber.GetObjectLength();
10844 return length;
10848 BOOL H245_RoundTripDelayRequest::Decode(PASN_Stream & strm)
10850 if (!PreambleDecode(strm))
10851 return FALSE;
10853 if (!m_sequenceNumber.Decode(strm))
10854 return FALSE;
10856 return UnknownExtensionsDecode(strm);
10860 void H245_RoundTripDelayRequest::Encode(PASN_Stream & strm) const
10862 PreambleEncode(strm);
10864 m_sequenceNumber.Encode(strm);
10866 UnknownExtensionsEncode(strm);
10870 PObject * H245_RoundTripDelayRequest::Clone() const
10872 #ifndef PASN_LEANANDMEAN
10873 PAssert(IsClass(H245_RoundTripDelayRequest::Class()), PInvalidCast);
10874 #endif
10875 return new H245_RoundTripDelayRequest(*this);
10880 // RoundTripDelayResponse
10883 H245_RoundTripDelayResponse::H245_RoundTripDelayResponse(unsigned tag, PASN_Object::TagClass tagClass)
10884 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
10889 #ifndef PASN_NOPRINTON
10890 void H245_RoundTripDelayResponse::PrintOn(ostream & strm) const
10892 int indent = strm.precision() + 2;
10893 strm << "{\n";
10894 strm << setw(indent+17) << "sequenceNumber = " << setprecision(indent) << m_sequenceNumber << '\n';
10895 strm << setw(indent-1) << setprecision(indent-2) << "}";
10897 #endif
10900 PObject::Comparison H245_RoundTripDelayResponse::Compare(const PObject & obj) const
10902 #ifndef PASN_LEANANDMEAN
10903 PAssert(PIsDescendant(&obj, H245_RoundTripDelayResponse), PInvalidCast);
10904 #endif
10905 const H245_RoundTripDelayResponse & other = (const H245_RoundTripDelayResponse &)obj;
10907 Comparison result;
10909 if ((result = m_sequenceNumber.Compare(other.m_sequenceNumber)) != EqualTo)
10910 return result;
10912 return PASN_Sequence::Compare(other);
10916 PINDEX H245_RoundTripDelayResponse::GetDataLength() const
10918 PINDEX length = 0;
10919 length += m_sequenceNumber.GetObjectLength();
10920 return length;
10924 BOOL H245_RoundTripDelayResponse::Decode(PASN_Stream & strm)
10926 if (!PreambleDecode(strm))
10927 return FALSE;
10929 if (!m_sequenceNumber.Decode(strm))
10930 return FALSE;
10932 return UnknownExtensionsDecode(strm);
10936 void H245_RoundTripDelayResponse::Encode(PASN_Stream & strm) const
10938 PreambleEncode(strm);
10940 m_sequenceNumber.Encode(strm);
10942 UnknownExtensionsEncode(strm);
10946 PObject * H245_RoundTripDelayResponse::Clone() const
10948 #ifndef PASN_LEANANDMEAN
10949 PAssert(IsClass(H245_RoundTripDelayResponse::Class()), PInvalidCast);
10950 #endif
10951 return new H245_RoundTripDelayResponse(*this);
10956 // MaintenanceLoopOffCommand
10959 H245_MaintenanceLoopOffCommand::H245_MaintenanceLoopOffCommand(unsigned tag, PASN_Object::TagClass tagClass)
10960 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
10965 #ifndef PASN_NOPRINTON
10966 void H245_MaintenanceLoopOffCommand::PrintOn(ostream & strm) const
10968 int indent = strm.precision() + 2;
10969 strm << "{\n";
10970 strm << setw(indent-1) << setprecision(indent-2) << "}";
10972 #endif
10975 PINDEX H245_MaintenanceLoopOffCommand::GetDataLength() const
10977 PINDEX length = 0;
10978 return length;
10982 BOOL H245_MaintenanceLoopOffCommand::Decode(PASN_Stream & strm)
10984 if (!PreambleDecode(strm))
10985 return FALSE;
10988 return UnknownExtensionsDecode(strm);
10992 void H245_MaintenanceLoopOffCommand::Encode(PASN_Stream & strm) const
10994 PreambleEncode(strm);
10997 UnknownExtensionsEncode(strm);
11001 PObject * H245_MaintenanceLoopOffCommand::Clone() const
11003 #ifndef PASN_LEANANDMEAN
11004 PAssert(IsClass(H245_MaintenanceLoopOffCommand::Class()), PInvalidCast);
11005 #endif
11006 return new H245_MaintenanceLoopOffCommand(*this);
11011 // CommunicationModeRequest
11014 H245_CommunicationModeRequest::H245_CommunicationModeRequest(unsigned tag, PASN_Object::TagClass tagClass)
11015 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
11020 #ifndef PASN_NOPRINTON
11021 void H245_CommunicationModeRequest::PrintOn(ostream & strm) const
11023 int indent = strm.precision() + 2;
11024 strm << "{\n";
11025 strm << setw(indent-1) << setprecision(indent-2) << "}";
11027 #endif
11030 PINDEX H245_CommunicationModeRequest::GetDataLength() const
11032 PINDEX length = 0;
11033 return length;
11037 BOOL H245_CommunicationModeRequest::Decode(PASN_Stream & strm)
11039 if (!PreambleDecode(strm))
11040 return FALSE;
11043 return UnknownExtensionsDecode(strm);
11047 void H245_CommunicationModeRequest::Encode(PASN_Stream & strm) const
11049 PreambleEncode(strm);
11052 UnknownExtensionsEncode(strm);
11056 PObject * H245_CommunicationModeRequest::Clone() const
11058 #ifndef PASN_LEANANDMEAN
11059 PAssert(IsClass(H245_CommunicationModeRequest::Class()), PInvalidCast);
11060 #endif
11061 return new H245_CommunicationModeRequest(*this);
11066 #ifndef PASN_NOPRINTON
11067 const static PASN_Names Names_H245_CommunicationModeResponse[]={
11068 {"communicationModeTable",0}
11070 #endif
11072 // CommunicationModeResponse
11075 H245_CommunicationModeResponse::H245_CommunicationModeResponse(unsigned tag, PASN_Object::TagClass tagClass)
11076 : PASN_Choice(tag, tagClass, 1, TRUE
11077 #ifndef PASN_NOPRINTON
11078 ,(const PASN_Names *)Names_H245_CommunicationModeResponse,1
11079 #endif
11085 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11086 H245_CommunicationModeResponse::operator H245_ArrayOf_CommunicationModeTableEntry &() const
11087 #else
11088 H245_CommunicationModeResponse::operator H245_ArrayOf_CommunicationModeTableEntry &()
11090 #ifndef PASN_LEANANDMEAN
11091 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_CommunicationModeTableEntry), PInvalidCast);
11092 #endif
11093 return *(H245_ArrayOf_CommunicationModeTableEntry *)choice;
11097 H245_CommunicationModeResponse::operator const H245_ArrayOf_CommunicationModeTableEntry &() const
11098 #endif
11100 #ifndef PASN_LEANANDMEAN
11101 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_CommunicationModeTableEntry), PInvalidCast);
11102 #endif
11103 return *(H245_ArrayOf_CommunicationModeTableEntry *)choice;
11107 BOOL H245_CommunicationModeResponse::CreateObject()
11109 switch (tag) {
11110 case e_communicationModeTable :
11111 choice = new H245_ArrayOf_CommunicationModeTableEntry();
11112 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
11113 return TRUE;
11116 choice = NULL;
11117 return FALSE;
11121 PObject * H245_CommunicationModeResponse::Clone() const
11123 #ifndef PASN_LEANANDMEAN
11124 PAssert(IsClass(H245_CommunicationModeResponse::Class()), PInvalidCast);
11125 #endif
11126 return new H245_CommunicationModeResponse(*this);
11131 #ifndef PASN_NOPRINTON
11132 const static PASN_Names Names_H245_ConferenceRequest[]={
11133 {"terminalListRequest",0}
11134 ,{"makeMeChair",1}
11135 ,{"cancelMakeMeChair",2}
11136 ,{"dropTerminal",3}
11137 ,{"requestTerminalID",4}
11138 ,{"enterH243Password",5}
11139 ,{"enterH243TerminalID",6}
11140 ,{"enterH243ConferenceID",7}
11141 ,{"enterExtensionAddress",8}
11142 ,{"requestChairTokenOwner",9}
11143 ,{"requestTerminalCertificate",10}
11144 ,{"broadcastMyLogicalChannel",11}
11145 ,{"makeTerminalBroadcaster",12}
11146 ,{"sendThisSource",13}
11147 ,{"requestAllTerminalIDs",14}
11148 ,{"remoteMCRequest",15}
11150 #endif
11152 // ConferenceRequest
11155 H245_ConferenceRequest::H245_ConferenceRequest(unsigned tag, PASN_Object::TagClass tagClass)
11156 : PASN_Choice(tag, tagClass, 8, TRUE
11157 #ifndef PASN_NOPRINTON
11158 ,(const PASN_Names *)Names_H245_ConferenceRequest,16
11159 #endif
11165 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11166 H245_ConferenceRequest::operator H245_TerminalLabel &() const
11167 #else
11168 H245_ConferenceRequest::operator H245_TerminalLabel &()
11170 #ifndef PASN_LEANANDMEAN
11171 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalLabel), PInvalidCast);
11172 #endif
11173 return *(H245_TerminalLabel *)choice;
11177 H245_ConferenceRequest::operator const H245_TerminalLabel &() const
11178 #endif
11180 #ifndef PASN_LEANANDMEAN
11181 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalLabel), PInvalidCast);
11182 #endif
11183 return *(H245_TerminalLabel *)choice;
11187 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11188 H245_ConferenceRequest::operator H245_ConferenceRequest_requestTerminalCertificate &() const
11189 #else
11190 H245_ConferenceRequest::operator H245_ConferenceRequest_requestTerminalCertificate &()
11192 #ifndef PASN_LEANANDMEAN
11193 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceRequest_requestTerminalCertificate), PInvalidCast);
11194 #endif
11195 return *(H245_ConferenceRequest_requestTerminalCertificate *)choice;
11199 H245_ConferenceRequest::operator const H245_ConferenceRequest_requestTerminalCertificate &() const
11200 #endif
11202 #ifndef PASN_LEANANDMEAN
11203 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceRequest_requestTerminalCertificate), PInvalidCast);
11204 #endif
11205 return *(H245_ConferenceRequest_requestTerminalCertificate *)choice;
11209 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11210 H245_ConferenceRequest::operator H245_LogicalChannelNumber &() const
11211 #else
11212 H245_ConferenceRequest::operator H245_LogicalChannelNumber &()
11214 #ifndef PASN_LEANANDMEAN
11215 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelNumber), PInvalidCast);
11216 #endif
11217 return *(H245_LogicalChannelNumber *)choice;
11221 H245_ConferenceRequest::operator const H245_LogicalChannelNumber &() const
11222 #endif
11224 #ifndef PASN_LEANANDMEAN
11225 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelNumber), PInvalidCast);
11226 #endif
11227 return *(H245_LogicalChannelNumber *)choice;
11231 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11232 H245_ConferenceRequest::operator H245_RemoteMCRequest &() const
11233 #else
11234 H245_ConferenceRequest::operator H245_RemoteMCRequest &()
11236 #ifndef PASN_LEANANDMEAN
11237 PAssert(PIsDescendant(PAssertNULL(choice), H245_RemoteMCRequest), PInvalidCast);
11238 #endif
11239 return *(H245_RemoteMCRequest *)choice;
11243 H245_ConferenceRequest::operator const H245_RemoteMCRequest &() const
11244 #endif
11246 #ifndef PASN_LEANANDMEAN
11247 PAssert(PIsDescendant(PAssertNULL(choice), H245_RemoteMCRequest), PInvalidCast);
11248 #endif
11249 return *(H245_RemoteMCRequest *)choice;
11253 BOOL H245_ConferenceRequest::CreateObject()
11255 switch (tag) {
11256 case e_terminalListRequest :
11257 case e_makeMeChair :
11258 case e_cancelMakeMeChair :
11259 case e_enterH243Password :
11260 case e_enterH243TerminalID :
11261 case e_enterH243ConferenceID :
11262 case e_enterExtensionAddress :
11263 case e_requestChairTokenOwner :
11264 case e_requestAllTerminalIDs :
11265 choice = new PASN_Null();
11266 return TRUE;
11267 case e_dropTerminal :
11268 case e_requestTerminalID :
11269 case e_makeTerminalBroadcaster :
11270 case e_sendThisSource :
11271 choice = new H245_TerminalLabel();
11272 return TRUE;
11273 case e_requestTerminalCertificate :
11274 choice = new H245_ConferenceRequest_requestTerminalCertificate();
11275 return TRUE;
11276 case e_broadcastMyLogicalChannel :
11277 choice = new H245_LogicalChannelNumber();
11278 return TRUE;
11279 case e_remoteMCRequest :
11280 choice = new H245_RemoteMCRequest();
11281 return TRUE;
11284 choice = NULL;
11285 return FALSE;
11289 PObject * H245_ConferenceRequest::Clone() const
11291 #ifndef PASN_LEANANDMEAN
11292 PAssert(IsClass(H245_ConferenceRequest::Class()), PInvalidCast);
11293 #endif
11294 return new H245_ConferenceRequest(*this);
11299 // CertSelectionCriteria
11302 H245_CertSelectionCriteria::H245_CertSelectionCriteria(unsigned tag, PASN_Object::TagClass tagClass)
11303 : PASN_Array(tag, tagClass)
11305 SetConstraints(PASN_Object::FixedConstraint, 1, 16);
11309 PASN_Object * H245_CertSelectionCriteria::CreateObject() const
11311 return new H245_Criteria;
11315 H245_Criteria & H245_CertSelectionCriteria::operator[](PINDEX i) const
11317 return (H245_Criteria &)array[i];
11321 PObject * H245_CertSelectionCriteria::Clone() const
11323 #ifndef PASN_LEANANDMEAN
11324 PAssert(IsClass(H245_CertSelectionCriteria::Class()), PInvalidCast);
11325 #endif
11326 return new H245_CertSelectionCriteria(*this);
11331 // Criteria
11334 H245_Criteria::H245_Criteria(unsigned tag, PASN_Object::TagClass tagClass)
11335 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
11337 m_value.SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
11341 #ifndef PASN_NOPRINTON
11342 void H245_Criteria::PrintOn(ostream & strm) const
11344 int indent = strm.precision() + 2;
11345 strm << "{\n";
11346 strm << setw(indent+8) << "field = " << setprecision(indent) << m_field << '\n';
11347 strm << setw(indent+8) << "value = " << setprecision(indent) << m_value << '\n';
11348 strm << setw(indent-1) << setprecision(indent-2) << "}";
11350 #endif
11353 PObject::Comparison H245_Criteria::Compare(const PObject & obj) const
11355 #ifndef PASN_LEANANDMEAN
11356 PAssert(PIsDescendant(&obj, H245_Criteria), PInvalidCast);
11357 #endif
11358 const H245_Criteria & other = (const H245_Criteria &)obj;
11360 Comparison result;
11362 if ((result = m_field.Compare(other.m_field)) != EqualTo)
11363 return result;
11364 if ((result = m_value.Compare(other.m_value)) != EqualTo)
11365 return result;
11367 return PASN_Sequence::Compare(other);
11371 PINDEX H245_Criteria::GetDataLength() const
11373 PINDEX length = 0;
11374 length += m_field.GetObjectLength();
11375 length += m_value.GetObjectLength();
11376 return length;
11380 BOOL H245_Criteria::Decode(PASN_Stream & strm)
11382 if (!PreambleDecode(strm))
11383 return FALSE;
11385 if (!m_field.Decode(strm))
11386 return FALSE;
11387 if (!m_value.Decode(strm))
11388 return FALSE;
11390 return UnknownExtensionsDecode(strm);
11394 void H245_Criteria::Encode(PASN_Stream & strm) const
11396 PreambleEncode(strm);
11398 m_field.Encode(strm);
11399 m_value.Encode(strm);
11401 UnknownExtensionsEncode(strm);
11405 PObject * H245_Criteria::Clone() const
11407 #ifndef PASN_LEANANDMEAN
11408 PAssert(IsClass(H245_Criteria::Class()), PInvalidCast);
11409 #endif
11410 return new H245_Criteria(*this);
11415 // McuNumber
11418 H245_McuNumber::H245_McuNumber(unsigned tag, PASN_Object::TagClass tagClass)
11419 : PASN_Integer(tag, tagClass)
11421 SetConstraints(PASN_Object::FixedConstraint, 0, 192);
11425 H245_McuNumber & H245_McuNumber::operator=(int v)
11427 SetValue(v);
11428 return *this;
11432 H245_McuNumber & H245_McuNumber::operator=(unsigned v)
11434 SetValue(v);
11435 return *this;
11439 PObject * H245_McuNumber::Clone() const
11441 #ifndef PASN_LEANANDMEAN
11442 PAssert(IsClass(H245_McuNumber::Class()), PInvalidCast);
11443 #endif
11444 return new H245_McuNumber(*this);
11449 // TerminalNumber
11452 H245_TerminalNumber::H245_TerminalNumber(unsigned tag, PASN_Object::TagClass tagClass)
11453 : PASN_Integer(tag, tagClass)
11455 SetConstraints(PASN_Object::FixedConstraint, 0, 192);
11459 H245_TerminalNumber & H245_TerminalNumber::operator=(int v)
11461 SetValue(v);
11462 return *this;
11466 H245_TerminalNumber & H245_TerminalNumber::operator=(unsigned v)
11468 SetValue(v);
11469 return *this;
11473 PObject * H245_TerminalNumber::Clone() const
11475 #ifndef PASN_LEANANDMEAN
11476 PAssert(IsClass(H245_TerminalNumber::Class()), PInvalidCast);
11477 #endif
11478 return new H245_TerminalNumber(*this);
11483 #ifndef PASN_NOPRINTON
11484 const static PASN_Names Names_H245_ConferenceResponse[]={
11485 {"mCTerminalIDResponse",0}
11486 ,{"terminalIDResponse",1}
11487 ,{"conferenceIDResponse",2}
11488 ,{"passwordResponse",3}
11489 ,{"terminalListResponse",4}
11490 ,{"videoCommandReject",5}
11491 ,{"terminalDropReject",6}
11492 ,{"makeMeChairResponse",7}
11493 ,{"extensionAddressResponse",8}
11494 ,{"chairTokenOwnerResponse",9}
11495 ,{"terminalCertificateResponse",10}
11496 ,{"broadcastMyLogicalChannelResponse",11}
11497 ,{"makeTerminalBroadcasterResponse",12}
11498 ,{"sendThisSourceResponse",13}
11499 ,{"requestAllTerminalIDsResponse",14}
11500 ,{"remoteMCResponse",15}
11502 #endif
11504 // ConferenceResponse
11507 H245_ConferenceResponse::H245_ConferenceResponse(unsigned tag, PASN_Object::TagClass tagClass)
11508 : PASN_Choice(tag, tagClass, 8, TRUE
11509 #ifndef PASN_NOPRINTON
11510 ,(const PASN_Names *)Names_H245_ConferenceResponse,16
11511 #endif
11517 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11518 H245_ConferenceResponse::operator H245_ConferenceResponse_mCTerminalIDResponse &() const
11519 #else
11520 H245_ConferenceResponse::operator H245_ConferenceResponse_mCTerminalIDResponse &()
11522 #ifndef PASN_LEANANDMEAN
11523 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_mCTerminalIDResponse), PInvalidCast);
11524 #endif
11525 return *(H245_ConferenceResponse_mCTerminalIDResponse *)choice;
11529 H245_ConferenceResponse::operator const H245_ConferenceResponse_mCTerminalIDResponse &() const
11530 #endif
11532 #ifndef PASN_LEANANDMEAN
11533 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_mCTerminalIDResponse), PInvalidCast);
11534 #endif
11535 return *(H245_ConferenceResponse_mCTerminalIDResponse *)choice;
11539 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11540 H245_ConferenceResponse::operator H245_ConferenceResponse_terminalIDResponse &() const
11541 #else
11542 H245_ConferenceResponse::operator H245_ConferenceResponse_terminalIDResponse &()
11544 #ifndef PASN_LEANANDMEAN
11545 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_terminalIDResponse), PInvalidCast);
11546 #endif
11547 return *(H245_ConferenceResponse_terminalIDResponse *)choice;
11551 H245_ConferenceResponse::operator const H245_ConferenceResponse_terminalIDResponse &() const
11552 #endif
11554 #ifndef PASN_LEANANDMEAN
11555 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_terminalIDResponse), PInvalidCast);
11556 #endif
11557 return *(H245_ConferenceResponse_terminalIDResponse *)choice;
11561 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11562 H245_ConferenceResponse::operator H245_ConferenceResponse_conferenceIDResponse &() const
11563 #else
11564 H245_ConferenceResponse::operator H245_ConferenceResponse_conferenceIDResponse &()
11566 #ifndef PASN_LEANANDMEAN
11567 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_conferenceIDResponse), PInvalidCast);
11568 #endif
11569 return *(H245_ConferenceResponse_conferenceIDResponse *)choice;
11573 H245_ConferenceResponse::operator const H245_ConferenceResponse_conferenceIDResponse &() const
11574 #endif
11576 #ifndef PASN_LEANANDMEAN
11577 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_conferenceIDResponse), PInvalidCast);
11578 #endif
11579 return *(H245_ConferenceResponse_conferenceIDResponse *)choice;
11583 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11584 H245_ConferenceResponse::operator H245_ConferenceResponse_passwordResponse &() const
11585 #else
11586 H245_ConferenceResponse::operator H245_ConferenceResponse_passwordResponse &()
11588 #ifndef PASN_LEANANDMEAN
11589 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_passwordResponse), PInvalidCast);
11590 #endif
11591 return *(H245_ConferenceResponse_passwordResponse *)choice;
11595 H245_ConferenceResponse::operator const H245_ConferenceResponse_passwordResponse &() const
11596 #endif
11598 #ifndef PASN_LEANANDMEAN
11599 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_passwordResponse), PInvalidCast);
11600 #endif
11601 return *(H245_ConferenceResponse_passwordResponse *)choice;
11605 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11606 H245_ConferenceResponse::operator H245_ArrayOf_TerminalLabel &() const
11607 #else
11608 H245_ConferenceResponse::operator H245_ArrayOf_TerminalLabel &()
11610 #ifndef PASN_LEANANDMEAN
11611 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_TerminalLabel), PInvalidCast);
11612 #endif
11613 return *(H245_ArrayOf_TerminalLabel *)choice;
11617 H245_ConferenceResponse::operator const H245_ArrayOf_TerminalLabel &() const
11618 #endif
11620 #ifndef PASN_LEANANDMEAN
11621 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_TerminalLabel), PInvalidCast);
11622 #endif
11623 return *(H245_ArrayOf_TerminalLabel *)choice;
11627 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11628 H245_ConferenceResponse::operator H245_ConferenceResponse_makeMeChairResponse &() const
11629 #else
11630 H245_ConferenceResponse::operator H245_ConferenceResponse_makeMeChairResponse &()
11632 #ifndef PASN_LEANANDMEAN
11633 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_makeMeChairResponse), PInvalidCast);
11634 #endif
11635 return *(H245_ConferenceResponse_makeMeChairResponse *)choice;
11639 H245_ConferenceResponse::operator const H245_ConferenceResponse_makeMeChairResponse &() const
11640 #endif
11642 #ifndef PASN_LEANANDMEAN
11643 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_makeMeChairResponse), PInvalidCast);
11644 #endif
11645 return *(H245_ConferenceResponse_makeMeChairResponse *)choice;
11649 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11650 H245_ConferenceResponse::operator H245_ConferenceResponse_extensionAddressResponse &() const
11651 #else
11652 H245_ConferenceResponse::operator H245_ConferenceResponse_extensionAddressResponse &()
11654 #ifndef PASN_LEANANDMEAN
11655 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_extensionAddressResponse), PInvalidCast);
11656 #endif
11657 return *(H245_ConferenceResponse_extensionAddressResponse *)choice;
11661 H245_ConferenceResponse::operator const H245_ConferenceResponse_extensionAddressResponse &() const
11662 #endif
11664 #ifndef PASN_LEANANDMEAN
11665 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_extensionAddressResponse), PInvalidCast);
11666 #endif
11667 return *(H245_ConferenceResponse_extensionAddressResponse *)choice;
11671 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11672 H245_ConferenceResponse::operator H245_ConferenceResponse_chairTokenOwnerResponse &() const
11673 #else
11674 H245_ConferenceResponse::operator H245_ConferenceResponse_chairTokenOwnerResponse &()
11676 #ifndef PASN_LEANANDMEAN
11677 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_chairTokenOwnerResponse), PInvalidCast);
11678 #endif
11679 return *(H245_ConferenceResponse_chairTokenOwnerResponse *)choice;
11683 H245_ConferenceResponse::operator const H245_ConferenceResponse_chairTokenOwnerResponse &() const
11684 #endif
11686 #ifndef PASN_LEANANDMEAN
11687 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_chairTokenOwnerResponse), PInvalidCast);
11688 #endif
11689 return *(H245_ConferenceResponse_chairTokenOwnerResponse *)choice;
11693 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11694 H245_ConferenceResponse::operator H245_ConferenceResponse_terminalCertificateResponse &() const
11695 #else
11696 H245_ConferenceResponse::operator H245_ConferenceResponse_terminalCertificateResponse &()
11698 #ifndef PASN_LEANANDMEAN
11699 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_terminalCertificateResponse), PInvalidCast);
11700 #endif
11701 return *(H245_ConferenceResponse_terminalCertificateResponse *)choice;
11705 H245_ConferenceResponse::operator const H245_ConferenceResponse_terminalCertificateResponse &() const
11706 #endif
11708 #ifndef PASN_LEANANDMEAN
11709 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_terminalCertificateResponse), PInvalidCast);
11710 #endif
11711 return *(H245_ConferenceResponse_terminalCertificateResponse *)choice;
11715 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11716 H245_ConferenceResponse::operator H245_ConferenceResponse_broadcastMyLogicalChannelResponse &() const
11717 #else
11718 H245_ConferenceResponse::operator H245_ConferenceResponse_broadcastMyLogicalChannelResponse &()
11720 #ifndef PASN_LEANANDMEAN
11721 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_broadcastMyLogicalChannelResponse), PInvalidCast);
11722 #endif
11723 return *(H245_ConferenceResponse_broadcastMyLogicalChannelResponse *)choice;
11727 H245_ConferenceResponse::operator const H245_ConferenceResponse_broadcastMyLogicalChannelResponse &() const
11728 #endif
11730 #ifndef PASN_LEANANDMEAN
11731 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_broadcastMyLogicalChannelResponse), PInvalidCast);
11732 #endif
11733 return *(H245_ConferenceResponse_broadcastMyLogicalChannelResponse *)choice;
11737 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11738 H245_ConferenceResponse::operator H245_ConferenceResponse_makeTerminalBroadcasterResponse &() const
11739 #else
11740 H245_ConferenceResponse::operator H245_ConferenceResponse_makeTerminalBroadcasterResponse &()
11742 #ifndef PASN_LEANANDMEAN
11743 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_makeTerminalBroadcasterResponse), PInvalidCast);
11744 #endif
11745 return *(H245_ConferenceResponse_makeTerminalBroadcasterResponse *)choice;
11749 H245_ConferenceResponse::operator const H245_ConferenceResponse_makeTerminalBroadcasterResponse &() const
11750 #endif
11752 #ifndef PASN_LEANANDMEAN
11753 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_makeTerminalBroadcasterResponse), PInvalidCast);
11754 #endif
11755 return *(H245_ConferenceResponse_makeTerminalBroadcasterResponse *)choice;
11759 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11760 H245_ConferenceResponse::operator H245_ConferenceResponse_sendThisSourceResponse &() const
11761 #else
11762 H245_ConferenceResponse::operator H245_ConferenceResponse_sendThisSourceResponse &()
11764 #ifndef PASN_LEANANDMEAN
11765 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_sendThisSourceResponse), PInvalidCast);
11766 #endif
11767 return *(H245_ConferenceResponse_sendThisSourceResponse *)choice;
11771 H245_ConferenceResponse::operator const H245_ConferenceResponse_sendThisSourceResponse &() const
11772 #endif
11774 #ifndef PASN_LEANANDMEAN
11775 PAssert(PIsDescendant(PAssertNULL(choice), H245_ConferenceResponse_sendThisSourceResponse), PInvalidCast);
11776 #endif
11777 return *(H245_ConferenceResponse_sendThisSourceResponse *)choice;
11781 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11782 H245_ConferenceResponse::operator H245_RequestAllTerminalIDsResponse &() const
11783 #else
11784 H245_ConferenceResponse::operator H245_RequestAllTerminalIDsResponse &()
11786 #ifndef PASN_LEANANDMEAN
11787 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestAllTerminalIDsResponse), PInvalidCast);
11788 #endif
11789 return *(H245_RequestAllTerminalIDsResponse *)choice;
11793 H245_ConferenceResponse::operator const H245_RequestAllTerminalIDsResponse &() const
11794 #endif
11796 #ifndef PASN_LEANANDMEAN
11797 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestAllTerminalIDsResponse), PInvalidCast);
11798 #endif
11799 return *(H245_RequestAllTerminalIDsResponse *)choice;
11803 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
11804 H245_ConferenceResponse::operator H245_RemoteMCResponse &() const
11805 #else
11806 H245_ConferenceResponse::operator H245_RemoteMCResponse &()
11808 #ifndef PASN_LEANANDMEAN
11809 PAssert(PIsDescendant(PAssertNULL(choice), H245_RemoteMCResponse), PInvalidCast);
11810 #endif
11811 return *(H245_RemoteMCResponse *)choice;
11815 H245_ConferenceResponse::operator const H245_RemoteMCResponse &() const
11816 #endif
11818 #ifndef PASN_LEANANDMEAN
11819 PAssert(PIsDescendant(PAssertNULL(choice), H245_RemoteMCResponse), PInvalidCast);
11820 #endif
11821 return *(H245_RemoteMCResponse *)choice;
11825 BOOL H245_ConferenceResponse::CreateObject()
11827 switch (tag) {
11828 case e_mCTerminalIDResponse :
11829 choice = new H245_ConferenceResponse_mCTerminalIDResponse();
11830 return TRUE;
11831 case e_terminalIDResponse :
11832 choice = new H245_ConferenceResponse_terminalIDResponse();
11833 return TRUE;
11834 case e_conferenceIDResponse :
11835 choice = new H245_ConferenceResponse_conferenceIDResponse();
11836 return TRUE;
11837 case e_passwordResponse :
11838 choice = new H245_ConferenceResponse_passwordResponse();
11839 return TRUE;
11840 case e_terminalListResponse :
11841 choice = new H245_ArrayOf_TerminalLabel();
11842 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
11843 return TRUE;
11844 case e_videoCommandReject :
11845 case e_terminalDropReject :
11846 choice = new PASN_Null();
11847 return TRUE;
11848 case e_makeMeChairResponse :
11849 choice = new H245_ConferenceResponse_makeMeChairResponse();
11850 return TRUE;
11851 case e_extensionAddressResponse :
11852 choice = new H245_ConferenceResponse_extensionAddressResponse();
11853 return TRUE;
11854 case e_chairTokenOwnerResponse :
11855 choice = new H245_ConferenceResponse_chairTokenOwnerResponse();
11856 return TRUE;
11857 case e_terminalCertificateResponse :
11858 choice = new H245_ConferenceResponse_terminalCertificateResponse();
11859 return TRUE;
11860 case e_broadcastMyLogicalChannelResponse :
11861 choice = new H245_ConferenceResponse_broadcastMyLogicalChannelResponse();
11862 return TRUE;
11863 case e_makeTerminalBroadcasterResponse :
11864 choice = new H245_ConferenceResponse_makeTerminalBroadcasterResponse();
11865 return TRUE;
11866 case e_sendThisSourceResponse :
11867 choice = new H245_ConferenceResponse_sendThisSourceResponse();
11868 return TRUE;
11869 case e_requestAllTerminalIDsResponse :
11870 choice = new H245_RequestAllTerminalIDsResponse();
11871 return TRUE;
11872 case e_remoteMCResponse :
11873 choice = new H245_RemoteMCResponse();
11874 return TRUE;
11877 choice = NULL;
11878 return FALSE;
11882 PObject * H245_ConferenceResponse::Clone() const
11884 #ifndef PASN_LEANANDMEAN
11885 PAssert(IsClass(H245_ConferenceResponse::Class()), PInvalidCast);
11886 #endif
11887 return new H245_ConferenceResponse(*this);
11892 // TerminalID
11895 H245_TerminalID::H245_TerminalID(unsigned tag, PASN_Object::TagClass tagClass)
11896 : PASN_OctetString(tag, tagClass)
11898 SetConstraints(PASN_Object::FixedConstraint, 1, 128);
11902 H245_TerminalID::H245_TerminalID(const char * v)
11904 SetValue(v);
11908 H245_TerminalID::H245_TerminalID(const PString & v)
11910 SetValue(v);
11914 H245_TerminalID::H245_TerminalID(const PBYTEArray & v)
11916 SetValue(v);
11920 H245_TerminalID & H245_TerminalID::operator=(const char * v)
11922 SetValue(v);
11923 return *this;
11927 H245_TerminalID & H245_TerminalID::operator=(const PString & v)
11929 SetValue(v);
11930 return *this;
11934 H245_TerminalID & H245_TerminalID::operator=(const PBYTEArray & v)
11936 SetValue(v);
11937 return *this;
11941 PObject * H245_TerminalID::Clone() const
11943 #ifndef PASN_LEANANDMEAN
11944 PAssert(IsClass(H245_TerminalID::Class()), PInvalidCast);
11945 #endif
11946 return new H245_TerminalID(*this);
11951 // ConferenceID
11954 H245_ConferenceID::H245_ConferenceID(unsigned tag, PASN_Object::TagClass tagClass)
11955 : PASN_OctetString(tag, tagClass)
11957 SetConstraints(PASN_Object::FixedConstraint, 1, 32);
11961 H245_ConferenceID::H245_ConferenceID(const char * v)
11963 SetValue(v);
11967 H245_ConferenceID::H245_ConferenceID(const PString & v)
11969 SetValue(v);
11973 H245_ConferenceID::H245_ConferenceID(const PBYTEArray & v)
11975 SetValue(v);
11979 H245_ConferenceID & H245_ConferenceID::operator=(const char * v)
11981 SetValue(v);
11982 return *this;
11986 H245_ConferenceID & H245_ConferenceID::operator=(const PString & v)
11988 SetValue(v);
11989 return *this;
11993 H245_ConferenceID & H245_ConferenceID::operator=(const PBYTEArray & v)
11995 SetValue(v);
11996 return *this;
12000 PObject * H245_ConferenceID::Clone() const
12002 #ifndef PASN_LEANANDMEAN
12003 PAssert(IsClass(H245_ConferenceID::Class()), PInvalidCast);
12004 #endif
12005 return new H245_ConferenceID(*this);
12010 // Password
12013 H245_Password::H245_Password(unsigned tag, PASN_Object::TagClass tagClass)
12014 : PASN_OctetString(tag, tagClass)
12016 SetConstraints(PASN_Object::FixedConstraint, 1, 32);
12020 H245_Password::H245_Password(const char * v)
12022 SetValue(v);
12026 H245_Password::H245_Password(const PString & v)
12028 SetValue(v);
12032 H245_Password::H245_Password(const PBYTEArray & v)
12034 SetValue(v);
12038 H245_Password & H245_Password::operator=(const char * v)
12040 SetValue(v);
12041 return *this;
12045 H245_Password & H245_Password::operator=(const PString & v)
12047 SetValue(v);
12048 return *this;
12052 H245_Password & H245_Password::operator=(const PBYTEArray & v)
12054 SetValue(v);
12055 return *this;
12059 PObject * H245_Password::Clone() const
12061 #ifndef PASN_LEANANDMEAN
12062 PAssert(IsClass(H245_Password::Class()), PInvalidCast);
12063 #endif
12064 return new H245_Password(*this);
12069 #ifndef PASN_NOPRINTON
12070 const static PASN_Names Names_H245_RemoteMCRequest[]={
12071 {"masterActivate",0}
12072 ,{"slaveActivate",1}
12073 ,{"deActivate",2}
12075 #endif
12077 // RemoteMCRequest
12080 H245_RemoteMCRequest::H245_RemoteMCRequest(unsigned tag, PASN_Object::TagClass tagClass)
12081 : PASN_Choice(tag, tagClass, 3, TRUE
12082 #ifndef PASN_NOPRINTON
12083 ,(const PASN_Names *)Names_H245_RemoteMCRequest,3
12084 #endif
12090 BOOL H245_RemoteMCRequest::CreateObject()
12092 choice = (tag <= e_deActivate) ? new PASN_Null() : NULL;
12093 return choice != NULL;
12097 PObject * H245_RemoteMCRequest::Clone() const
12099 #ifndef PASN_LEANANDMEAN
12100 PAssert(IsClass(H245_RemoteMCRequest::Class()), PInvalidCast);
12101 #endif
12102 return new H245_RemoteMCRequest(*this);
12107 #ifndef PASN_NOPRINTON
12108 const static PASN_Names Names_H245_RemoteMCResponse[]={
12109 {"accept",0}
12110 ,{"reject",1}
12112 #endif
12114 // RemoteMCResponse
12117 H245_RemoteMCResponse::H245_RemoteMCResponse(unsigned tag, PASN_Object::TagClass tagClass)
12118 : PASN_Choice(tag, tagClass, 2, TRUE
12119 #ifndef PASN_NOPRINTON
12120 ,(const PASN_Names *)Names_H245_RemoteMCResponse,2
12121 #endif
12127 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12128 H245_RemoteMCResponse::operator H245_RemoteMCResponse_reject &() const
12129 #else
12130 H245_RemoteMCResponse::operator H245_RemoteMCResponse_reject &()
12132 #ifndef PASN_LEANANDMEAN
12133 PAssert(PIsDescendant(PAssertNULL(choice), H245_RemoteMCResponse_reject), PInvalidCast);
12134 #endif
12135 return *(H245_RemoteMCResponse_reject *)choice;
12139 H245_RemoteMCResponse::operator const H245_RemoteMCResponse_reject &() const
12140 #endif
12142 #ifndef PASN_LEANANDMEAN
12143 PAssert(PIsDescendant(PAssertNULL(choice), H245_RemoteMCResponse_reject), PInvalidCast);
12144 #endif
12145 return *(H245_RemoteMCResponse_reject *)choice;
12149 BOOL H245_RemoteMCResponse::CreateObject()
12151 switch (tag) {
12152 case e_accept :
12153 choice = new PASN_Null();
12154 return TRUE;
12155 case e_reject :
12156 choice = new H245_RemoteMCResponse_reject();
12157 return TRUE;
12160 choice = NULL;
12161 return FALSE;
12165 PObject * H245_RemoteMCResponse::Clone() const
12167 #ifndef PASN_LEANANDMEAN
12168 PAssert(IsClass(H245_RemoteMCResponse::Class()), PInvalidCast);
12169 #endif
12170 return new H245_RemoteMCResponse(*this);
12175 #ifndef PASN_NOPRINTON
12176 const static PASN_Names Names_H245_MultilinkRequest[]={
12177 {"nonStandard",0}
12178 ,{"callInformation",1}
12179 ,{"addConnection",2}
12180 ,{"removeConnection",3}
12181 ,{"maximumHeaderInterval",4}
12183 #endif
12185 // MultilinkRequest
12188 H245_MultilinkRequest::H245_MultilinkRequest(unsigned tag, PASN_Object::TagClass tagClass)
12189 : PASN_Choice(tag, tagClass, 5, TRUE
12190 #ifndef PASN_NOPRINTON
12191 ,(const PASN_Names *)Names_H245_MultilinkRequest,5
12192 #endif
12198 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12199 H245_MultilinkRequest::operator H245_NonStandardMessage &() const
12200 #else
12201 H245_MultilinkRequest::operator H245_NonStandardMessage &()
12203 #ifndef PASN_LEANANDMEAN
12204 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12205 #endif
12206 return *(H245_NonStandardMessage *)choice;
12210 H245_MultilinkRequest::operator const H245_NonStandardMessage &() const
12211 #endif
12213 #ifndef PASN_LEANANDMEAN
12214 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12215 #endif
12216 return *(H245_NonStandardMessage *)choice;
12220 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12221 H245_MultilinkRequest::operator H245_MultilinkRequest_callInformation &() const
12222 #else
12223 H245_MultilinkRequest::operator H245_MultilinkRequest_callInformation &()
12225 #ifndef PASN_LEANANDMEAN
12226 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_callInformation), PInvalidCast);
12227 #endif
12228 return *(H245_MultilinkRequest_callInformation *)choice;
12232 H245_MultilinkRequest::operator const H245_MultilinkRequest_callInformation &() const
12233 #endif
12235 #ifndef PASN_LEANANDMEAN
12236 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_callInformation), PInvalidCast);
12237 #endif
12238 return *(H245_MultilinkRequest_callInformation *)choice;
12242 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12243 H245_MultilinkRequest::operator H245_MultilinkRequest_addConnection &() const
12244 #else
12245 H245_MultilinkRequest::operator H245_MultilinkRequest_addConnection &()
12247 #ifndef PASN_LEANANDMEAN
12248 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_addConnection), PInvalidCast);
12249 #endif
12250 return *(H245_MultilinkRequest_addConnection *)choice;
12254 H245_MultilinkRequest::operator const H245_MultilinkRequest_addConnection &() const
12255 #endif
12257 #ifndef PASN_LEANANDMEAN
12258 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_addConnection), PInvalidCast);
12259 #endif
12260 return *(H245_MultilinkRequest_addConnection *)choice;
12264 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12265 H245_MultilinkRequest::operator H245_MultilinkRequest_removeConnection &() const
12266 #else
12267 H245_MultilinkRequest::operator H245_MultilinkRequest_removeConnection &()
12269 #ifndef PASN_LEANANDMEAN
12270 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_removeConnection), PInvalidCast);
12271 #endif
12272 return *(H245_MultilinkRequest_removeConnection *)choice;
12276 H245_MultilinkRequest::operator const H245_MultilinkRequest_removeConnection &() const
12277 #endif
12279 #ifndef PASN_LEANANDMEAN
12280 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_removeConnection), PInvalidCast);
12281 #endif
12282 return *(H245_MultilinkRequest_removeConnection *)choice;
12286 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12287 H245_MultilinkRequest::operator H245_MultilinkRequest_maximumHeaderInterval &() const
12288 #else
12289 H245_MultilinkRequest::operator H245_MultilinkRequest_maximumHeaderInterval &()
12291 #ifndef PASN_LEANANDMEAN
12292 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_maximumHeaderInterval), PInvalidCast);
12293 #endif
12294 return *(H245_MultilinkRequest_maximumHeaderInterval *)choice;
12298 H245_MultilinkRequest::operator const H245_MultilinkRequest_maximumHeaderInterval &() const
12299 #endif
12301 #ifndef PASN_LEANANDMEAN
12302 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkRequest_maximumHeaderInterval), PInvalidCast);
12303 #endif
12304 return *(H245_MultilinkRequest_maximumHeaderInterval *)choice;
12308 BOOL H245_MultilinkRequest::CreateObject()
12310 switch (tag) {
12311 case e_nonStandard :
12312 choice = new H245_NonStandardMessage();
12313 return TRUE;
12314 case e_callInformation :
12315 choice = new H245_MultilinkRequest_callInformation();
12316 return TRUE;
12317 case e_addConnection :
12318 choice = new H245_MultilinkRequest_addConnection();
12319 return TRUE;
12320 case e_removeConnection :
12321 choice = new H245_MultilinkRequest_removeConnection();
12322 return TRUE;
12323 case e_maximumHeaderInterval :
12324 choice = new H245_MultilinkRequest_maximumHeaderInterval();
12325 return TRUE;
12328 choice = NULL;
12329 return FALSE;
12333 PObject * H245_MultilinkRequest::Clone() const
12335 #ifndef PASN_LEANANDMEAN
12336 PAssert(IsClass(H245_MultilinkRequest::Class()), PInvalidCast);
12337 #endif
12338 return new H245_MultilinkRequest(*this);
12343 #ifndef PASN_NOPRINTON
12344 const static PASN_Names Names_H245_MultilinkResponse[]={
12345 {"nonStandard",0}
12346 ,{"callInformation",1}
12347 ,{"addConnection",2}
12348 ,{"removeConnection",3}
12349 ,{"maximumHeaderInterval",4}
12351 #endif
12353 // MultilinkResponse
12356 H245_MultilinkResponse::H245_MultilinkResponse(unsigned tag, PASN_Object::TagClass tagClass)
12357 : PASN_Choice(tag, tagClass, 5, TRUE
12358 #ifndef PASN_NOPRINTON
12359 ,(const PASN_Names *)Names_H245_MultilinkResponse,5
12360 #endif
12366 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12367 H245_MultilinkResponse::operator H245_NonStandardMessage &() const
12368 #else
12369 H245_MultilinkResponse::operator H245_NonStandardMessage &()
12371 #ifndef PASN_LEANANDMEAN
12372 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12373 #endif
12374 return *(H245_NonStandardMessage *)choice;
12378 H245_MultilinkResponse::operator const H245_NonStandardMessage &() const
12379 #endif
12381 #ifndef PASN_LEANANDMEAN
12382 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12383 #endif
12384 return *(H245_NonStandardMessage *)choice;
12388 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12389 H245_MultilinkResponse::operator H245_MultilinkResponse_callInformation &() const
12390 #else
12391 H245_MultilinkResponse::operator H245_MultilinkResponse_callInformation &()
12393 #ifndef PASN_LEANANDMEAN
12394 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_callInformation), PInvalidCast);
12395 #endif
12396 return *(H245_MultilinkResponse_callInformation *)choice;
12400 H245_MultilinkResponse::operator const H245_MultilinkResponse_callInformation &() const
12401 #endif
12403 #ifndef PASN_LEANANDMEAN
12404 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_callInformation), PInvalidCast);
12405 #endif
12406 return *(H245_MultilinkResponse_callInformation *)choice;
12410 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12411 H245_MultilinkResponse::operator H245_MultilinkResponse_addConnection &() const
12412 #else
12413 H245_MultilinkResponse::operator H245_MultilinkResponse_addConnection &()
12415 #ifndef PASN_LEANANDMEAN
12416 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_addConnection), PInvalidCast);
12417 #endif
12418 return *(H245_MultilinkResponse_addConnection *)choice;
12422 H245_MultilinkResponse::operator const H245_MultilinkResponse_addConnection &() const
12423 #endif
12425 #ifndef PASN_LEANANDMEAN
12426 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_addConnection), PInvalidCast);
12427 #endif
12428 return *(H245_MultilinkResponse_addConnection *)choice;
12432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12433 H245_MultilinkResponse::operator H245_MultilinkResponse_removeConnection &() const
12434 #else
12435 H245_MultilinkResponse::operator H245_MultilinkResponse_removeConnection &()
12437 #ifndef PASN_LEANANDMEAN
12438 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_removeConnection), PInvalidCast);
12439 #endif
12440 return *(H245_MultilinkResponse_removeConnection *)choice;
12444 H245_MultilinkResponse::operator const H245_MultilinkResponse_removeConnection &() const
12445 #endif
12447 #ifndef PASN_LEANANDMEAN
12448 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_removeConnection), PInvalidCast);
12449 #endif
12450 return *(H245_MultilinkResponse_removeConnection *)choice;
12454 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12455 H245_MultilinkResponse::operator H245_MultilinkResponse_maximumHeaderInterval &() const
12456 #else
12457 H245_MultilinkResponse::operator H245_MultilinkResponse_maximumHeaderInterval &()
12459 #ifndef PASN_LEANANDMEAN
12460 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_maximumHeaderInterval), PInvalidCast);
12461 #endif
12462 return *(H245_MultilinkResponse_maximumHeaderInterval *)choice;
12466 H245_MultilinkResponse::operator const H245_MultilinkResponse_maximumHeaderInterval &() const
12467 #endif
12469 #ifndef PASN_LEANANDMEAN
12470 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkResponse_maximumHeaderInterval), PInvalidCast);
12471 #endif
12472 return *(H245_MultilinkResponse_maximumHeaderInterval *)choice;
12476 BOOL H245_MultilinkResponse::CreateObject()
12478 switch (tag) {
12479 case e_nonStandard :
12480 choice = new H245_NonStandardMessage();
12481 return TRUE;
12482 case e_callInformation :
12483 choice = new H245_MultilinkResponse_callInformation();
12484 return TRUE;
12485 case e_addConnection :
12486 choice = new H245_MultilinkResponse_addConnection();
12487 return TRUE;
12488 case e_removeConnection :
12489 choice = new H245_MultilinkResponse_removeConnection();
12490 return TRUE;
12491 case e_maximumHeaderInterval :
12492 choice = new H245_MultilinkResponse_maximumHeaderInterval();
12493 return TRUE;
12496 choice = NULL;
12497 return FALSE;
12501 PObject * H245_MultilinkResponse::Clone() const
12503 #ifndef PASN_LEANANDMEAN
12504 PAssert(IsClass(H245_MultilinkResponse::Class()), PInvalidCast);
12505 #endif
12506 return new H245_MultilinkResponse(*this);
12511 #ifndef PASN_NOPRINTON
12512 const static PASN_Names Names_H245_MultilinkIndication[]={
12513 {"nonStandard",0}
12514 ,{"crcDesired",1}
12515 ,{"excessiveError",2}
12517 #endif
12519 // MultilinkIndication
12522 H245_MultilinkIndication::H245_MultilinkIndication(unsigned tag, PASN_Object::TagClass tagClass)
12523 : PASN_Choice(tag, tagClass, 3, TRUE
12524 #ifndef PASN_NOPRINTON
12525 ,(const PASN_Names *)Names_H245_MultilinkIndication,3
12526 #endif
12532 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12533 H245_MultilinkIndication::operator H245_NonStandardMessage &() const
12534 #else
12535 H245_MultilinkIndication::operator H245_NonStandardMessage &()
12537 #ifndef PASN_LEANANDMEAN
12538 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12539 #endif
12540 return *(H245_NonStandardMessage *)choice;
12544 H245_MultilinkIndication::operator const H245_NonStandardMessage &() const
12545 #endif
12547 #ifndef PASN_LEANANDMEAN
12548 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12549 #endif
12550 return *(H245_NonStandardMessage *)choice;
12554 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12555 H245_MultilinkIndication::operator H245_MultilinkIndication_crcDesired &() const
12556 #else
12557 H245_MultilinkIndication::operator H245_MultilinkIndication_crcDesired &()
12559 #ifndef PASN_LEANANDMEAN
12560 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkIndication_crcDesired), PInvalidCast);
12561 #endif
12562 return *(H245_MultilinkIndication_crcDesired *)choice;
12566 H245_MultilinkIndication::operator const H245_MultilinkIndication_crcDesired &() const
12567 #endif
12569 #ifndef PASN_LEANANDMEAN
12570 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkIndication_crcDesired), PInvalidCast);
12571 #endif
12572 return *(H245_MultilinkIndication_crcDesired *)choice;
12576 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12577 H245_MultilinkIndication::operator H245_MultilinkIndication_excessiveError &() const
12578 #else
12579 H245_MultilinkIndication::operator H245_MultilinkIndication_excessiveError &()
12581 #ifndef PASN_LEANANDMEAN
12582 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkIndication_excessiveError), PInvalidCast);
12583 #endif
12584 return *(H245_MultilinkIndication_excessiveError *)choice;
12588 H245_MultilinkIndication::operator const H245_MultilinkIndication_excessiveError &() const
12589 #endif
12591 #ifndef PASN_LEANANDMEAN
12592 PAssert(PIsDescendant(PAssertNULL(choice), H245_MultilinkIndication_excessiveError), PInvalidCast);
12593 #endif
12594 return *(H245_MultilinkIndication_excessiveError *)choice;
12598 BOOL H245_MultilinkIndication::CreateObject()
12600 switch (tag) {
12601 case e_nonStandard :
12602 choice = new H245_NonStandardMessage();
12603 return TRUE;
12604 case e_crcDesired :
12605 choice = new H245_MultilinkIndication_crcDesired();
12606 return TRUE;
12607 case e_excessiveError :
12608 choice = new H245_MultilinkIndication_excessiveError();
12609 return TRUE;
12612 choice = NULL;
12613 return FALSE;
12617 PObject * H245_MultilinkIndication::Clone() const
12619 #ifndef PASN_LEANANDMEAN
12620 PAssert(IsClass(H245_MultilinkIndication::Class()), PInvalidCast);
12621 #endif
12622 return new H245_MultilinkIndication(*this);
12627 #ifndef PASN_NOPRINTON
12628 const static PASN_Names Names_H245_DialingInformation[]={
12629 {"nonStandard",0}
12630 ,{"differential",1}
12631 ,{"infoNotAvailable",2}
12633 #endif
12635 // DialingInformation
12638 H245_DialingInformation::H245_DialingInformation(unsigned tag, PASN_Object::TagClass tagClass)
12639 : PASN_Choice(tag, tagClass, 3, TRUE
12640 #ifndef PASN_NOPRINTON
12641 ,(const PASN_Names *)Names_H245_DialingInformation,3
12642 #endif
12648 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12649 H245_DialingInformation::operator H245_NonStandardMessage &() const
12650 #else
12651 H245_DialingInformation::operator H245_NonStandardMessage &()
12653 #ifndef PASN_LEANANDMEAN
12654 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12655 #endif
12656 return *(H245_NonStandardMessage *)choice;
12660 H245_DialingInformation::operator const H245_NonStandardMessage &() const
12661 #endif
12663 #ifndef PASN_LEANANDMEAN
12664 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12665 #endif
12666 return *(H245_NonStandardMessage *)choice;
12670 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12671 H245_DialingInformation::operator H245_ArrayOf_DialingInformationNumber &() const
12672 #else
12673 H245_DialingInformation::operator H245_ArrayOf_DialingInformationNumber &()
12675 #ifndef PASN_LEANANDMEAN
12676 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_DialingInformationNumber), PInvalidCast);
12677 #endif
12678 return *(H245_ArrayOf_DialingInformationNumber *)choice;
12682 H245_DialingInformation::operator const H245_ArrayOf_DialingInformationNumber &() const
12683 #endif
12685 #ifndef PASN_LEANANDMEAN
12686 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_DialingInformationNumber), PInvalidCast);
12687 #endif
12688 return *(H245_ArrayOf_DialingInformationNumber *)choice;
12692 BOOL H245_DialingInformation::CreateObject()
12694 switch (tag) {
12695 case e_nonStandard :
12696 choice = new H245_NonStandardMessage();
12697 return TRUE;
12698 case e_differential :
12699 choice = new H245_ArrayOf_DialingInformationNumber();
12700 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
12701 return TRUE;
12702 case e_infoNotAvailable :
12703 choice = new PASN_Integer();
12704 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
12705 return TRUE;
12708 choice = NULL;
12709 return FALSE;
12713 PObject * H245_DialingInformation::Clone() const
12715 #ifndef PASN_LEANANDMEAN
12716 PAssert(IsClass(H245_DialingInformation::Class()), PInvalidCast);
12717 #endif
12718 return new H245_DialingInformation(*this);
12723 #ifndef PASN_NOPRINTON
12724 const static PASN_Names Names_H245_DialingInformationNetworkType[]={
12725 {"nonStandard",0}
12726 ,{"n_isdn",1}
12727 ,{"gstn",2}
12728 ,{"mobile",3}
12730 #endif
12732 // DialingInformationNetworkType
12735 H245_DialingInformationNetworkType::H245_DialingInformationNetworkType(unsigned tag, PASN_Object::TagClass tagClass)
12736 : PASN_Choice(tag, tagClass, 3, TRUE
12737 #ifndef PASN_NOPRINTON
12738 ,(const PASN_Names *)Names_H245_DialingInformationNetworkType,4
12739 #endif
12745 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
12746 H245_DialingInformationNetworkType::operator H245_NonStandardMessage &() const
12747 #else
12748 H245_DialingInformationNetworkType::operator H245_NonStandardMessage &()
12750 #ifndef PASN_LEANANDMEAN
12751 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12752 #endif
12753 return *(H245_NonStandardMessage *)choice;
12757 H245_DialingInformationNetworkType::operator const H245_NonStandardMessage &() const
12758 #endif
12760 #ifndef PASN_LEANANDMEAN
12761 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardMessage), PInvalidCast);
12762 #endif
12763 return *(H245_NonStandardMessage *)choice;
12767 BOOL H245_DialingInformationNetworkType::CreateObject()
12769 switch (tag) {
12770 case e_nonStandard :
12771 choice = new H245_NonStandardMessage();
12772 return TRUE;
12773 case e_n_isdn :
12774 case e_gstn :
12775 case e_mobile :
12776 choice = new PASN_Null();
12777 return TRUE;
12780 choice = NULL;
12781 return FALSE;
12785 PObject * H245_DialingInformationNetworkType::Clone() const
12787 #ifndef PASN_LEANANDMEAN
12788 PAssert(IsClass(H245_DialingInformationNetworkType::Class()), PInvalidCast);
12789 #endif
12790 return new H245_DialingInformationNetworkType(*this);
12795 // ConnectionIdentifier
12798 H245_ConnectionIdentifier::H245_ConnectionIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
12799 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
12801 m_channelTag.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
12802 m_sequenceNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
12806 #ifndef PASN_NOPRINTON
12807 void H245_ConnectionIdentifier::PrintOn(ostream & strm) const
12809 int indent = strm.precision() + 2;
12810 strm << "{\n";
12811 strm << setw(indent+13) << "channelTag = " << setprecision(indent) << m_channelTag << '\n';
12812 strm << setw(indent+17) << "sequenceNumber = " << setprecision(indent) << m_sequenceNumber << '\n';
12813 strm << setw(indent-1) << setprecision(indent-2) << "}";
12815 #endif
12818 PObject::Comparison H245_ConnectionIdentifier::Compare(const PObject & obj) const
12820 #ifndef PASN_LEANANDMEAN
12821 PAssert(PIsDescendant(&obj, H245_ConnectionIdentifier), PInvalidCast);
12822 #endif
12823 const H245_ConnectionIdentifier & other = (const H245_ConnectionIdentifier &)obj;
12825 Comparison result;
12827 if ((result = m_channelTag.Compare(other.m_channelTag)) != EqualTo)
12828 return result;
12829 if ((result = m_sequenceNumber.Compare(other.m_sequenceNumber)) != EqualTo)
12830 return result;
12832 return PASN_Sequence::Compare(other);
12836 PINDEX H245_ConnectionIdentifier::GetDataLength() const
12838 PINDEX length = 0;
12839 length += m_channelTag.GetObjectLength();
12840 length += m_sequenceNumber.GetObjectLength();
12841 return length;
12845 BOOL H245_ConnectionIdentifier::Decode(PASN_Stream & strm)
12847 if (!PreambleDecode(strm))
12848 return FALSE;
12850 if (!m_channelTag.Decode(strm))
12851 return FALSE;
12852 if (!m_sequenceNumber.Decode(strm))
12853 return FALSE;
12855 return UnknownExtensionsDecode(strm);
12859 void H245_ConnectionIdentifier::Encode(PASN_Stream & strm) const
12861 PreambleEncode(strm);
12863 m_channelTag.Encode(strm);
12864 m_sequenceNumber.Encode(strm);
12866 UnknownExtensionsEncode(strm);
12870 PObject * H245_ConnectionIdentifier::Clone() const
12872 #ifndef PASN_LEANANDMEAN
12873 PAssert(IsClass(H245_ConnectionIdentifier::Class()), PInvalidCast);
12874 #endif
12875 return new H245_ConnectionIdentifier(*this);
12880 // MaximumBitRate
12883 H245_MaximumBitRate::H245_MaximumBitRate(unsigned tag, PASN_Object::TagClass tagClass)
12884 : PASN_Integer(tag, tagClass)
12886 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
12890 H245_MaximumBitRate & H245_MaximumBitRate::operator=(int v)
12892 SetValue(v);
12893 return *this;
12897 H245_MaximumBitRate & H245_MaximumBitRate::operator=(unsigned v)
12899 SetValue(v);
12900 return *this;
12904 PObject * H245_MaximumBitRate::Clone() const
12906 #ifndef PASN_LEANANDMEAN
12907 PAssert(IsClass(H245_MaximumBitRate::Class()), PInvalidCast);
12908 #endif
12909 return new H245_MaximumBitRate(*this);
12914 // LogicalChannelRateRequest
12917 H245_LogicalChannelRateRequest::H245_LogicalChannelRateRequest(unsigned tag, PASN_Object::TagClass tagClass)
12918 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
12923 #ifndef PASN_NOPRINTON
12924 void H245_LogicalChannelRateRequest::PrintOn(ostream & strm) const
12926 int indent = strm.precision() + 2;
12927 strm << "{\n";
12928 strm << setw(indent+17) << "sequenceNumber = " << setprecision(indent) << m_sequenceNumber << '\n';
12929 strm << setw(indent+23) << "logicalChannelNumber = " << setprecision(indent) << m_logicalChannelNumber << '\n';
12930 strm << setw(indent+17) << "maximumBitRate = " << setprecision(indent) << m_maximumBitRate << '\n';
12931 strm << setw(indent-1) << setprecision(indent-2) << "}";
12933 #endif
12936 PObject::Comparison H245_LogicalChannelRateRequest::Compare(const PObject & obj) const
12938 #ifndef PASN_LEANANDMEAN
12939 PAssert(PIsDescendant(&obj, H245_LogicalChannelRateRequest), PInvalidCast);
12940 #endif
12941 const H245_LogicalChannelRateRequest & other = (const H245_LogicalChannelRateRequest &)obj;
12943 Comparison result;
12945 if ((result = m_sequenceNumber.Compare(other.m_sequenceNumber)) != EqualTo)
12946 return result;
12947 if ((result = m_logicalChannelNumber.Compare(other.m_logicalChannelNumber)) != EqualTo)
12948 return result;
12949 if ((result = m_maximumBitRate.Compare(other.m_maximumBitRate)) != EqualTo)
12950 return result;
12952 return PASN_Sequence::Compare(other);
12956 PINDEX H245_LogicalChannelRateRequest::GetDataLength() const
12958 PINDEX length = 0;
12959 length += m_sequenceNumber.GetObjectLength();
12960 length += m_logicalChannelNumber.GetObjectLength();
12961 length += m_maximumBitRate.GetObjectLength();
12962 return length;
12966 BOOL H245_LogicalChannelRateRequest::Decode(PASN_Stream & strm)
12968 if (!PreambleDecode(strm))
12969 return FALSE;
12971 if (!m_sequenceNumber.Decode(strm))
12972 return FALSE;
12973 if (!m_logicalChannelNumber.Decode(strm))
12974 return FALSE;
12975 if (!m_maximumBitRate.Decode(strm))
12976 return FALSE;
12978 return UnknownExtensionsDecode(strm);
12982 void H245_LogicalChannelRateRequest::Encode(PASN_Stream & strm) const
12984 PreambleEncode(strm);
12986 m_sequenceNumber.Encode(strm);
12987 m_logicalChannelNumber.Encode(strm);
12988 m_maximumBitRate.Encode(strm);
12990 UnknownExtensionsEncode(strm);
12994 PObject * H245_LogicalChannelRateRequest::Clone() const
12996 #ifndef PASN_LEANANDMEAN
12997 PAssert(IsClass(H245_LogicalChannelRateRequest::Class()), PInvalidCast);
12998 #endif
12999 return new H245_LogicalChannelRateRequest(*this);
13004 // LogicalChannelRateAcknowledge
13007 H245_LogicalChannelRateAcknowledge::H245_LogicalChannelRateAcknowledge(unsigned tag, PASN_Object::TagClass tagClass)
13008 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
13013 #ifndef PASN_NOPRINTON
13014 void H245_LogicalChannelRateAcknowledge::PrintOn(ostream & strm) const
13016 int indent = strm.precision() + 2;
13017 strm << "{\n";
13018 strm << setw(indent+17) << "sequenceNumber = " << setprecision(indent) << m_sequenceNumber << '\n';
13019 strm << setw(indent+23) << "logicalChannelNumber = " << setprecision(indent) << m_logicalChannelNumber << '\n';
13020 strm << setw(indent+17) << "maximumBitRate = " << setprecision(indent) << m_maximumBitRate << '\n';
13021 strm << setw(indent-1) << setprecision(indent-2) << "}";
13023 #endif
13026 PObject::Comparison H245_LogicalChannelRateAcknowledge::Compare(const PObject & obj) const
13028 #ifndef PASN_LEANANDMEAN
13029 PAssert(PIsDescendant(&obj, H245_LogicalChannelRateAcknowledge), PInvalidCast);
13030 #endif
13031 const H245_LogicalChannelRateAcknowledge & other = (const H245_LogicalChannelRateAcknowledge &)obj;
13033 Comparison result;
13035 if ((result = m_sequenceNumber.Compare(other.m_sequenceNumber)) != EqualTo)
13036 return result;
13037 if ((result = m_logicalChannelNumber.Compare(other.m_logicalChannelNumber)) != EqualTo)
13038 return result;
13039 if ((result = m_maximumBitRate.Compare(other.m_maximumBitRate)) != EqualTo)
13040 return result;
13042 return PASN_Sequence::Compare(other);
13046 PINDEX H245_LogicalChannelRateAcknowledge::GetDataLength() const
13048 PINDEX length = 0;
13049 length += m_sequenceNumber.GetObjectLength();
13050 length += m_logicalChannelNumber.GetObjectLength();
13051 length += m_maximumBitRate.GetObjectLength();
13052 return length;
13056 BOOL H245_LogicalChannelRateAcknowledge::Decode(PASN_Stream & strm)
13058 if (!PreambleDecode(strm))
13059 return FALSE;
13061 if (!m_sequenceNumber.Decode(strm))
13062 return FALSE;
13063 if (!m_logicalChannelNumber.Decode(strm))
13064 return FALSE;
13065 if (!m_maximumBitRate.Decode(strm))
13066 return FALSE;
13068 return UnknownExtensionsDecode(strm);
13072 void H245_LogicalChannelRateAcknowledge::Encode(PASN_Stream & strm) const
13074 PreambleEncode(strm);
13076 m_sequenceNumber.Encode(strm);
13077 m_logicalChannelNumber.Encode(strm);
13078 m_maximumBitRate.Encode(strm);
13080 UnknownExtensionsEncode(strm);
13084 PObject * H245_LogicalChannelRateAcknowledge::Clone() const
13086 #ifndef PASN_LEANANDMEAN
13087 PAssert(IsClass(H245_LogicalChannelRateAcknowledge::Class()), PInvalidCast);
13088 #endif
13089 return new H245_LogicalChannelRateAcknowledge(*this);
13094 #ifndef PASN_NOPRINTON
13095 const static PASN_Names Names_H245_LogicalChannelRateRejectReason[]={
13096 {"undefinedReason",0}
13097 ,{"insufficientResources",1}
13099 #endif
13101 // LogicalChannelRateRejectReason
13104 H245_LogicalChannelRateRejectReason::H245_LogicalChannelRateRejectReason(unsigned tag, PASN_Object::TagClass tagClass)
13105 : PASN_Choice(tag, tagClass, 2, TRUE
13106 #ifndef PASN_NOPRINTON
13107 ,(const PASN_Names *)Names_H245_LogicalChannelRateRejectReason,2
13108 #endif
13114 BOOL H245_LogicalChannelRateRejectReason::CreateObject()
13116 choice = (tag <= e_insufficientResources) ? new PASN_Null() : NULL;
13117 return choice != NULL;
13121 PObject * H245_LogicalChannelRateRejectReason::Clone() const
13123 #ifndef PASN_LEANANDMEAN
13124 PAssert(IsClass(H245_LogicalChannelRateRejectReason::Class()), PInvalidCast);
13125 #endif
13126 return new H245_LogicalChannelRateRejectReason(*this);
13131 // LogicalChannelRateRelease
13134 H245_LogicalChannelRateRelease::H245_LogicalChannelRateRelease(unsigned tag, PASN_Object::TagClass tagClass)
13135 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
13140 #ifndef PASN_NOPRINTON
13141 void H245_LogicalChannelRateRelease::PrintOn(ostream & strm) const
13143 int indent = strm.precision() + 2;
13144 strm << "{\n";
13145 strm << setw(indent-1) << setprecision(indent-2) << "}";
13147 #endif
13150 PINDEX H245_LogicalChannelRateRelease::GetDataLength() const
13152 PINDEX length = 0;
13153 return length;
13157 BOOL H245_LogicalChannelRateRelease::Decode(PASN_Stream & strm)
13159 if (!PreambleDecode(strm))
13160 return FALSE;
13163 return UnknownExtensionsDecode(strm);
13167 void H245_LogicalChannelRateRelease::Encode(PASN_Stream & strm) const
13169 PreambleEncode(strm);
13172 UnknownExtensionsEncode(strm);
13176 PObject * H245_LogicalChannelRateRelease::Clone() const
13178 #ifndef PASN_LEANANDMEAN
13179 PAssert(IsClass(H245_LogicalChannelRateRelease::Class()), PInvalidCast);
13180 #endif
13181 return new H245_LogicalChannelRateRelease(*this);
13186 #ifndef PASN_NOPRINTON
13187 const static PASN_Names Names_H245_SendTerminalCapabilitySet[]={
13188 {"specificRequest",0}
13189 ,{"genericRequest",1}
13191 #endif
13193 // SendTerminalCapabilitySet
13196 H245_SendTerminalCapabilitySet::H245_SendTerminalCapabilitySet(unsigned tag, PASN_Object::TagClass tagClass)
13197 : PASN_Choice(tag, tagClass, 2, TRUE
13198 #ifndef PASN_NOPRINTON
13199 ,(const PASN_Names *)Names_H245_SendTerminalCapabilitySet,2
13200 #endif
13206 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13207 H245_SendTerminalCapabilitySet::operator H245_SendTerminalCapabilitySet_specificRequest &() const
13208 #else
13209 H245_SendTerminalCapabilitySet::operator H245_SendTerminalCapabilitySet_specificRequest &()
13211 #ifndef PASN_LEANANDMEAN
13212 PAssert(PIsDescendant(PAssertNULL(choice), H245_SendTerminalCapabilitySet_specificRequest), PInvalidCast);
13213 #endif
13214 return *(H245_SendTerminalCapabilitySet_specificRequest *)choice;
13218 H245_SendTerminalCapabilitySet::operator const H245_SendTerminalCapabilitySet_specificRequest &() const
13219 #endif
13221 #ifndef PASN_LEANANDMEAN
13222 PAssert(PIsDescendant(PAssertNULL(choice), H245_SendTerminalCapabilitySet_specificRequest), PInvalidCast);
13223 #endif
13224 return *(H245_SendTerminalCapabilitySet_specificRequest *)choice;
13228 BOOL H245_SendTerminalCapabilitySet::CreateObject()
13230 switch (tag) {
13231 case e_specificRequest :
13232 choice = new H245_SendTerminalCapabilitySet_specificRequest();
13233 return TRUE;
13234 case e_genericRequest :
13235 choice = new PASN_Null();
13236 return TRUE;
13239 choice = NULL;
13240 return FALSE;
13244 PObject * H245_SendTerminalCapabilitySet::Clone() const
13246 #ifndef PASN_LEANANDMEAN
13247 PAssert(IsClass(H245_SendTerminalCapabilitySet::Class()), PInvalidCast);
13248 #endif
13249 return new H245_SendTerminalCapabilitySet(*this);
13254 #ifndef PASN_NOPRINTON
13255 const static PASN_Names Names_H245_EncryptionCommand[]={
13256 {"encryptionSE",0}
13257 ,{"encryptionIVRequest",1}
13258 ,{"encryptionAlgorithmID",2}
13260 #endif
13262 // EncryptionCommand
13265 H245_EncryptionCommand::H245_EncryptionCommand(unsigned tag, PASN_Object::TagClass tagClass)
13266 : PASN_Choice(tag, tagClass, 3, TRUE
13267 #ifndef PASN_NOPRINTON
13268 ,(const PASN_Names *)Names_H245_EncryptionCommand,3
13269 #endif
13275 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13276 H245_EncryptionCommand::operator H245_EncryptionCommand_encryptionAlgorithmID &() const
13277 #else
13278 H245_EncryptionCommand::operator H245_EncryptionCommand_encryptionAlgorithmID &()
13280 #ifndef PASN_LEANANDMEAN
13281 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionCommand_encryptionAlgorithmID), PInvalidCast);
13282 #endif
13283 return *(H245_EncryptionCommand_encryptionAlgorithmID *)choice;
13287 H245_EncryptionCommand::operator const H245_EncryptionCommand_encryptionAlgorithmID &() const
13288 #endif
13290 #ifndef PASN_LEANANDMEAN
13291 PAssert(PIsDescendant(PAssertNULL(choice), H245_EncryptionCommand_encryptionAlgorithmID), PInvalidCast);
13292 #endif
13293 return *(H245_EncryptionCommand_encryptionAlgorithmID *)choice;
13297 BOOL H245_EncryptionCommand::CreateObject()
13299 switch (tag) {
13300 case e_encryptionSE :
13301 choice = new PASN_OctetString();
13302 return TRUE;
13303 case e_encryptionIVRequest :
13304 choice = new PASN_Null();
13305 return TRUE;
13306 case e_encryptionAlgorithmID :
13307 choice = new H245_EncryptionCommand_encryptionAlgorithmID();
13308 return TRUE;
13311 choice = NULL;
13312 return FALSE;
13316 PObject * H245_EncryptionCommand::Clone() const
13318 #ifndef PASN_LEANANDMEAN
13319 PAssert(IsClass(H245_EncryptionCommand::Class()), PInvalidCast);
13320 #endif
13321 return new H245_EncryptionCommand(*this);
13326 #ifndef PASN_NOPRINTON
13327 const static PASN_Names Names_H245_EndSessionCommand[]={
13328 {"nonStandard",0}
13329 ,{"disconnect",1}
13330 ,{"gstnOptions",2}
13331 ,{"isdnOptions",3}
13332 ,{"genericInformation",4}
13334 #endif
13336 // EndSessionCommand
13339 H245_EndSessionCommand::H245_EndSessionCommand(unsigned tag, PASN_Object::TagClass tagClass)
13340 : PASN_Choice(tag, tagClass, 3, TRUE
13341 #ifndef PASN_NOPRINTON
13342 ,(const PASN_Names *)Names_H245_EndSessionCommand,5
13343 #endif
13349 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13350 H245_EndSessionCommand::operator H245_NonStandardParameter &() const
13351 #else
13352 H245_EndSessionCommand::operator H245_NonStandardParameter &()
13354 #ifndef PASN_LEANANDMEAN
13355 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
13356 #endif
13357 return *(H245_NonStandardParameter *)choice;
13361 H245_EndSessionCommand::operator const H245_NonStandardParameter &() const
13362 #endif
13364 #ifndef PASN_LEANANDMEAN
13365 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
13366 #endif
13367 return *(H245_NonStandardParameter *)choice;
13371 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13372 H245_EndSessionCommand::operator H245_EndSessionCommand_gstnOptions &() const
13373 #else
13374 H245_EndSessionCommand::operator H245_EndSessionCommand_gstnOptions &()
13376 #ifndef PASN_LEANANDMEAN
13377 PAssert(PIsDescendant(PAssertNULL(choice), H245_EndSessionCommand_gstnOptions), PInvalidCast);
13378 #endif
13379 return *(H245_EndSessionCommand_gstnOptions *)choice;
13383 H245_EndSessionCommand::operator const H245_EndSessionCommand_gstnOptions &() const
13384 #endif
13386 #ifndef PASN_LEANANDMEAN
13387 PAssert(PIsDescendant(PAssertNULL(choice), H245_EndSessionCommand_gstnOptions), PInvalidCast);
13388 #endif
13389 return *(H245_EndSessionCommand_gstnOptions *)choice;
13393 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13394 H245_EndSessionCommand::operator H245_EndSessionCommand_isdnOptions &() const
13395 #else
13396 H245_EndSessionCommand::operator H245_EndSessionCommand_isdnOptions &()
13398 #ifndef PASN_LEANANDMEAN
13399 PAssert(PIsDescendant(PAssertNULL(choice), H245_EndSessionCommand_isdnOptions), PInvalidCast);
13400 #endif
13401 return *(H245_EndSessionCommand_isdnOptions *)choice;
13405 H245_EndSessionCommand::operator const H245_EndSessionCommand_isdnOptions &() const
13406 #endif
13408 #ifndef PASN_LEANANDMEAN
13409 PAssert(PIsDescendant(PAssertNULL(choice), H245_EndSessionCommand_isdnOptions), PInvalidCast);
13410 #endif
13411 return *(H245_EndSessionCommand_isdnOptions *)choice;
13415 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13416 H245_EndSessionCommand::operator H245_ArrayOf_GenericInformation &() const
13417 #else
13418 H245_EndSessionCommand::operator H245_ArrayOf_GenericInformation &()
13420 #ifndef PASN_LEANANDMEAN
13421 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_GenericInformation), PInvalidCast);
13422 #endif
13423 return *(H245_ArrayOf_GenericInformation *)choice;
13427 H245_EndSessionCommand::operator const H245_ArrayOf_GenericInformation &() const
13428 #endif
13430 #ifndef PASN_LEANANDMEAN
13431 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_GenericInformation), PInvalidCast);
13432 #endif
13433 return *(H245_ArrayOf_GenericInformation *)choice;
13437 BOOL H245_EndSessionCommand::CreateObject()
13439 switch (tag) {
13440 case e_nonStandard :
13441 choice = new H245_NonStandardParameter();
13442 return TRUE;
13443 case e_disconnect :
13444 choice = new PASN_Null();
13445 return TRUE;
13446 case e_gstnOptions :
13447 choice = new H245_EndSessionCommand_gstnOptions();
13448 return TRUE;
13449 case e_isdnOptions :
13450 choice = new H245_EndSessionCommand_isdnOptions();
13451 return TRUE;
13452 case e_genericInformation :
13453 choice = new H245_ArrayOf_GenericInformation();
13454 return TRUE;
13457 choice = NULL;
13458 return FALSE;
13462 PObject * H245_EndSessionCommand::Clone() const
13464 #ifndef PASN_LEANANDMEAN
13465 PAssert(IsClass(H245_EndSessionCommand::Class()), PInvalidCast);
13466 #endif
13467 return new H245_EndSessionCommand(*this);
13472 #ifndef PASN_NOPRINTON
13473 const static PASN_Names Names_H245_ConferenceCommand[]={
13474 {"broadcastMyLogicalChannel",0}
13475 ,{"cancelBroadcastMyLogicalChannel",1}
13476 ,{"makeTerminalBroadcaster",2}
13477 ,{"cancelMakeTerminalBroadcaster",3}
13478 ,{"sendThisSource",4}
13479 ,{"cancelSendThisSource",5}
13480 ,{"dropConference",6}
13481 ,{"substituteConferenceIDCommand",7}
13483 #endif
13485 // ConferenceCommand
13488 H245_ConferenceCommand::H245_ConferenceCommand(unsigned tag, PASN_Object::TagClass tagClass)
13489 : PASN_Choice(tag, tagClass, 7, TRUE
13490 #ifndef PASN_NOPRINTON
13491 ,(const PASN_Names *)Names_H245_ConferenceCommand,8
13492 #endif
13498 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13499 H245_ConferenceCommand::operator H245_LogicalChannelNumber &() const
13500 #else
13501 H245_ConferenceCommand::operator H245_LogicalChannelNumber &()
13503 #ifndef PASN_LEANANDMEAN
13504 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelNumber), PInvalidCast);
13505 #endif
13506 return *(H245_LogicalChannelNumber *)choice;
13510 H245_ConferenceCommand::operator const H245_LogicalChannelNumber &() const
13511 #endif
13513 #ifndef PASN_LEANANDMEAN
13514 PAssert(PIsDescendant(PAssertNULL(choice), H245_LogicalChannelNumber), PInvalidCast);
13515 #endif
13516 return *(H245_LogicalChannelNumber *)choice;
13520 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13521 H245_ConferenceCommand::operator H245_TerminalLabel &() const
13522 #else
13523 H245_ConferenceCommand::operator H245_TerminalLabel &()
13525 #ifndef PASN_LEANANDMEAN
13526 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalLabel), PInvalidCast);
13527 #endif
13528 return *(H245_TerminalLabel *)choice;
13532 H245_ConferenceCommand::operator const H245_TerminalLabel &() const
13533 #endif
13535 #ifndef PASN_LEANANDMEAN
13536 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalLabel), PInvalidCast);
13537 #endif
13538 return *(H245_TerminalLabel *)choice;
13542 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13543 H245_ConferenceCommand::operator H245_SubstituteConferenceIDCommand &() const
13544 #else
13545 H245_ConferenceCommand::operator H245_SubstituteConferenceIDCommand &()
13547 #ifndef PASN_LEANANDMEAN
13548 PAssert(PIsDescendant(PAssertNULL(choice), H245_SubstituteConferenceIDCommand), PInvalidCast);
13549 #endif
13550 return *(H245_SubstituteConferenceIDCommand *)choice;
13554 H245_ConferenceCommand::operator const H245_SubstituteConferenceIDCommand &() const
13555 #endif
13557 #ifndef PASN_LEANANDMEAN
13558 PAssert(PIsDescendant(PAssertNULL(choice), H245_SubstituteConferenceIDCommand), PInvalidCast);
13559 #endif
13560 return *(H245_SubstituteConferenceIDCommand *)choice;
13564 BOOL H245_ConferenceCommand::CreateObject()
13566 switch (tag) {
13567 case e_broadcastMyLogicalChannel :
13568 case e_cancelBroadcastMyLogicalChannel :
13569 choice = new H245_LogicalChannelNumber();
13570 return TRUE;
13571 case e_makeTerminalBroadcaster :
13572 case e_sendThisSource :
13573 choice = new H245_TerminalLabel();
13574 return TRUE;
13575 case e_cancelMakeTerminalBroadcaster :
13576 case e_cancelSendThisSource :
13577 case e_dropConference :
13578 choice = new PASN_Null();
13579 return TRUE;
13580 case e_substituteConferenceIDCommand :
13581 choice = new H245_SubstituteConferenceIDCommand();
13582 return TRUE;
13585 choice = NULL;
13586 return FALSE;
13590 PObject * H245_ConferenceCommand::Clone() const
13592 #ifndef PASN_LEANANDMEAN
13593 PAssert(IsClass(H245_ConferenceCommand::Class()), PInvalidCast);
13594 #endif
13595 return new H245_ConferenceCommand(*this);
13600 // SubstituteConferenceIDCommand
13603 H245_SubstituteConferenceIDCommand::H245_SubstituteConferenceIDCommand(unsigned tag, PASN_Object::TagClass tagClass)
13604 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
13606 m_conferenceIdentifier.SetConstraints(PASN_Object::FixedConstraint, 16);
13610 #ifndef PASN_NOPRINTON
13611 void H245_SubstituteConferenceIDCommand::PrintOn(ostream & strm) const
13613 int indent = strm.precision() + 2;
13614 strm << "{\n";
13615 strm << setw(indent+23) << "conferenceIdentifier = " << setprecision(indent) << m_conferenceIdentifier << '\n';
13616 strm << setw(indent-1) << setprecision(indent-2) << "}";
13618 #endif
13621 PObject::Comparison H245_SubstituteConferenceIDCommand::Compare(const PObject & obj) const
13623 #ifndef PASN_LEANANDMEAN
13624 PAssert(PIsDescendant(&obj, H245_SubstituteConferenceIDCommand), PInvalidCast);
13625 #endif
13626 const H245_SubstituteConferenceIDCommand & other = (const H245_SubstituteConferenceIDCommand &)obj;
13628 Comparison result;
13630 if ((result = m_conferenceIdentifier.Compare(other.m_conferenceIdentifier)) != EqualTo)
13631 return result;
13633 return PASN_Sequence::Compare(other);
13637 PINDEX H245_SubstituteConferenceIDCommand::GetDataLength() const
13639 PINDEX length = 0;
13640 length += m_conferenceIdentifier.GetObjectLength();
13641 return length;
13645 BOOL H245_SubstituteConferenceIDCommand::Decode(PASN_Stream & strm)
13647 if (!PreambleDecode(strm))
13648 return FALSE;
13650 if (!m_conferenceIdentifier.Decode(strm))
13651 return FALSE;
13653 return UnknownExtensionsDecode(strm);
13657 void H245_SubstituteConferenceIDCommand::Encode(PASN_Stream & strm) const
13659 PreambleEncode(strm);
13661 m_conferenceIdentifier.Encode(strm);
13663 UnknownExtensionsEncode(strm);
13667 PObject * H245_SubstituteConferenceIDCommand::Clone() const
13669 #ifndef PASN_LEANANDMEAN
13670 PAssert(IsClass(H245_SubstituteConferenceIDCommand::Class()), PInvalidCast);
13671 #endif
13672 return new H245_SubstituteConferenceIDCommand(*this);
13677 #ifndef PASN_NOPRINTON
13678 const static PASN_Names Names_H245_EncryptionUpdateDirection[]={
13679 {"masterToSlave",0}
13680 ,{"slaveToMaster",1}
13682 #endif
13684 // EncryptionUpdateDirection
13687 H245_EncryptionUpdateDirection::H245_EncryptionUpdateDirection(unsigned tag, PASN_Object::TagClass tagClass)
13688 : PASN_Choice(tag, tagClass, 2, TRUE
13689 #ifndef PASN_NOPRINTON
13690 ,(const PASN_Names *)Names_H245_EncryptionUpdateDirection,2
13691 #endif
13697 BOOL H245_EncryptionUpdateDirection::CreateObject()
13699 choice = (tag <= e_slaveToMaster) ? new PASN_Null() : NULL;
13700 return choice != NULL;
13704 PObject * H245_EncryptionUpdateDirection::Clone() const
13706 #ifndef PASN_LEANANDMEAN
13707 PAssert(IsClass(H245_EncryptionUpdateDirection::Class()), PInvalidCast);
13708 #endif
13709 return new H245_EncryptionUpdateDirection(*this);
13714 // KeyProtectionMethod
13717 H245_KeyProtectionMethod::H245_KeyProtectionMethod(unsigned tag, PASN_Object::TagClass tagClass)
13718 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
13723 #ifndef PASN_NOPRINTON
13724 void H245_KeyProtectionMethod::PrintOn(ostream & strm) const
13726 int indent = strm.precision() + 2;
13727 strm << "{\n";
13728 strm << setw(indent+16) << "secureChannel = " << setprecision(indent) << m_secureChannel << '\n';
13729 strm << setw(indent+15) << "sharedSecret = " << setprecision(indent) << m_sharedSecret << '\n';
13730 strm << setw(indent+19) << "certProtectedKey = " << setprecision(indent) << m_certProtectedKey << '\n';
13731 strm << setw(indent-1) << setprecision(indent-2) << "}";
13733 #endif
13736 PObject::Comparison H245_KeyProtectionMethod::Compare(const PObject & obj) const
13738 #ifndef PASN_LEANANDMEAN
13739 PAssert(PIsDescendant(&obj, H245_KeyProtectionMethod), PInvalidCast);
13740 #endif
13741 const H245_KeyProtectionMethod & other = (const H245_KeyProtectionMethod &)obj;
13743 Comparison result;
13745 if ((result = m_secureChannel.Compare(other.m_secureChannel)) != EqualTo)
13746 return result;
13747 if ((result = m_sharedSecret.Compare(other.m_sharedSecret)) != EqualTo)
13748 return result;
13749 if ((result = m_certProtectedKey.Compare(other.m_certProtectedKey)) != EqualTo)
13750 return result;
13752 return PASN_Sequence::Compare(other);
13756 PINDEX H245_KeyProtectionMethod::GetDataLength() const
13758 PINDEX length = 0;
13759 length += m_secureChannel.GetObjectLength();
13760 length += m_sharedSecret.GetObjectLength();
13761 length += m_certProtectedKey.GetObjectLength();
13762 return length;
13766 BOOL H245_KeyProtectionMethod::Decode(PASN_Stream & strm)
13768 if (!PreambleDecode(strm))
13769 return FALSE;
13771 if (!m_secureChannel.Decode(strm))
13772 return FALSE;
13773 if (!m_sharedSecret.Decode(strm))
13774 return FALSE;
13775 if (!m_certProtectedKey.Decode(strm))
13776 return FALSE;
13778 return UnknownExtensionsDecode(strm);
13782 void H245_KeyProtectionMethod::Encode(PASN_Stream & strm) const
13784 PreambleEncode(strm);
13786 m_secureChannel.Encode(strm);
13787 m_sharedSecret.Encode(strm);
13788 m_certProtectedKey.Encode(strm);
13790 UnknownExtensionsEncode(strm);
13794 PObject * H245_KeyProtectionMethod::Clone() const
13796 #ifndef PASN_LEANANDMEAN
13797 PAssert(IsClass(H245_KeyProtectionMethod::Class()), PInvalidCast);
13798 #endif
13799 return new H245_KeyProtectionMethod(*this);
13804 // EncryptionUpdateRequest
13807 H245_EncryptionUpdateRequest::H245_EncryptionUpdateRequest(unsigned tag, PASN_Object::TagClass tagClass)
13808 : PASN_Sequence(tag, tagClass, 1, TRUE, 1)
13810 m_synchFlag.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
13814 #ifndef PASN_NOPRINTON
13815 void H245_EncryptionUpdateRequest::PrintOn(ostream & strm) const
13817 int indent = strm.precision() + 2;
13818 strm << "{\n";
13819 if (HasOptionalField(e_keyProtectionMethod))
13820 strm << setw(indent+22) << "keyProtectionMethod = " << setprecision(indent) << m_keyProtectionMethod << '\n';
13821 if (HasOptionalField(e_synchFlag))
13822 strm << setw(indent+12) << "synchFlag = " << setprecision(indent) << m_synchFlag << '\n';
13823 strm << setw(indent-1) << setprecision(indent-2) << "}";
13825 #endif
13828 PObject::Comparison H245_EncryptionUpdateRequest::Compare(const PObject & obj) const
13830 #ifndef PASN_LEANANDMEAN
13831 PAssert(PIsDescendant(&obj, H245_EncryptionUpdateRequest), PInvalidCast);
13832 #endif
13833 const H245_EncryptionUpdateRequest & other = (const H245_EncryptionUpdateRequest &)obj;
13835 Comparison result;
13837 if ((result = m_keyProtectionMethod.Compare(other.m_keyProtectionMethod)) != EqualTo)
13838 return result;
13840 return PASN_Sequence::Compare(other);
13844 PINDEX H245_EncryptionUpdateRequest::GetDataLength() const
13846 PINDEX length = 0;
13847 if (HasOptionalField(e_keyProtectionMethod))
13848 length += m_keyProtectionMethod.GetObjectLength();
13849 return length;
13853 BOOL H245_EncryptionUpdateRequest::Decode(PASN_Stream & strm)
13855 if (!PreambleDecode(strm))
13856 return FALSE;
13858 if (HasOptionalField(e_keyProtectionMethod) && !m_keyProtectionMethod.Decode(strm))
13859 return FALSE;
13860 if (!KnownExtensionDecode(strm, e_synchFlag, m_synchFlag))
13861 return FALSE;
13863 return UnknownExtensionsDecode(strm);
13867 void H245_EncryptionUpdateRequest::Encode(PASN_Stream & strm) const
13869 PreambleEncode(strm);
13871 if (HasOptionalField(e_keyProtectionMethod))
13872 m_keyProtectionMethod.Encode(strm);
13873 KnownExtensionEncode(strm, e_synchFlag, m_synchFlag);
13875 UnknownExtensionsEncode(strm);
13879 PObject * H245_EncryptionUpdateRequest::Clone() const
13881 #ifndef PASN_LEANANDMEAN
13882 PAssert(IsClass(H245_EncryptionUpdateRequest::Class()), PInvalidCast);
13883 #endif
13884 return new H245_EncryptionUpdateRequest(*this);
13889 #ifndef PASN_NOPRINTON
13890 const static PASN_Names Names_H245_PictureReference[]={
13891 {"pictureNumber",0}
13892 ,{"longTermPictureIndex",1}
13894 #endif
13896 // PictureReference
13899 H245_PictureReference::H245_PictureReference(unsigned tag, PASN_Object::TagClass tagClass)
13900 : PASN_Choice(tag, tagClass, 2, TRUE
13901 #ifndef PASN_NOPRINTON
13902 ,(const PASN_Names *)Names_H245_PictureReference,2
13903 #endif
13909 BOOL H245_PictureReference::CreateObject()
13911 switch (tag) {
13912 case e_pictureNumber :
13913 choice = new PASN_Integer();
13914 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 1023);
13915 return TRUE;
13916 case e_longTermPictureIndex :
13917 choice = new PASN_Integer();
13918 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 255);
13919 return TRUE;
13922 choice = NULL;
13923 return FALSE;
13927 PObject * H245_PictureReference::Clone() const
13929 #ifndef PASN_LEANANDMEAN
13930 PAssert(IsClass(H245_PictureReference::Class()), PInvalidCast);
13931 #endif
13932 return new H245_PictureReference(*this);
13937 #ifndef PASN_NOPRINTON
13938 const static PASN_Names Names_H245_H223MultiplexReconfiguration[]={
13939 {"h223ModeChange",0}
13940 ,{"h223AnnexADoubleFlag",1}
13942 #endif
13944 // H223MultiplexReconfiguration
13947 H245_H223MultiplexReconfiguration::H245_H223MultiplexReconfiguration(unsigned tag, PASN_Object::TagClass tagClass)
13948 : PASN_Choice(tag, tagClass, 2, TRUE
13949 #ifndef PASN_NOPRINTON
13950 ,(const PASN_Names *)Names_H245_H223MultiplexReconfiguration,2
13951 #endif
13957 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13958 H245_H223MultiplexReconfiguration::operator H245_H223MultiplexReconfiguration_h223ModeChange &() const
13959 #else
13960 H245_H223MultiplexReconfiguration::operator H245_H223MultiplexReconfiguration_h223ModeChange &()
13962 #ifndef PASN_LEANANDMEAN
13963 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223MultiplexReconfiguration_h223ModeChange), PInvalidCast);
13964 #endif
13965 return *(H245_H223MultiplexReconfiguration_h223ModeChange *)choice;
13969 H245_H223MultiplexReconfiguration::operator const H245_H223MultiplexReconfiguration_h223ModeChange &() const
13970 #endif
13972 #ifndef PASN_LEANANDMEAN
13973 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223MultiplexReconfiguration_h223ModeChange), PInvalidCast);
13974 #endif
13975 return *(H245_H223MultiplexReconfiguration_h223ModeChange *)choice;
13979 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
13980 H245_H223MultiplexReconfiguration::operator H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &() const
13981 #else
13982 H245_H223MultiplexReconfiguration::operator H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &()
13984 #ifndef PASN_LEANANDMEAN
13985 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag), PInvalidCast);
13986 #endif
13987 return *(H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag *)choice;
13991 H245_H223MultiplexReconfiguration::operator const H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag &() const
13992 #endif
13994 #ifndef PASN_LEANANDMEAN
13995 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag), PInvalidCast);
13996 #endif
13997 return *(H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag *)choice;
14001 BOOL H245_H223MultiplexReconfiguration::CreateObject()
14003 switch (tag) {
14004 case e_h223ModeChange :
14005 choice = new H245_H223MultiplexReconfiguration_h223ModeChange();
14006 return TRUE;
14007 case e_h223AnnexADoubleFlag :
14008 choice = new H245_H223MultiplexReconfiguration_h223AnnexADoubleFlag();
14009 return TRUE;
14012 choice = NULL;
14013 return FALSE;
14017 PObject * H245_H223MultiplexReconfiguration::Clone() const
14019 #ifndef PASN_LEANANDMEAN
14020 PAssert(IsClass(H245_H223MultiplexReconfiguration::Class()), PInvalidCast);
14021 #endif
14022 return new H245_H223MultiplexReconfiguration(*this);
14027 #ifndef PASN_NOPRINTON
14028 const static PASN_Names Names_H245_FunctionNotUnderstood[]={
14029 {"request",0}
14030 ,{"response",1}
14031 ,{"command",2}
14033 #endif
14035 // FunctionNotUnderstood
14038 H245_FunctionNotUnderstood::H245_FunctionNotUnderstood(unsigned tag, PASN_Object::TagClass tagClass)
14039 : PASN_Choice(tag, tagClass, 3, FALSE
14040 #ifndef PASN_NOPRINTON
14041 ,(const PASN_Names *)Names_H245_FunctionNotUnderstood,3
14042 #endif
14048 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
14049 H245_FunctionNotUnderstood::operator H245_RequestMessage &() const
14050 #else
14051 H245_FunctionNotUnderstood::operator H245_RequestMessage &()
14053 #ifndef PASN_LEANANDMEAN
14054 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMessage), PInvalidCast);
14055 #endif
14056 return *(H245_RequestMessage *)choice;
14060 H245_FunctionNotUnderstood::operator const H245_RequestMessage &() const
14061 #endif
14063 #ifndef PASN_LEANANDMEAN
14064 PAssert(PIsDescendant(PAssertNULL(choice), H245_RequestMessage), PInvalidCast);
14065 #endif
14066 return *(H245_RequestMessage *)choice;
14070 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
14071 H245_FunctionNotUnderstood::operator H245_ResponseMessage &() const
14072 #else
14073 H245_FunctionNotUnderstood::operator H245_ResponseMessage &()
14075 #ifndef PASN_LEANANDMEAN
14076 PAssert(PIsDescendant(PAssertNULL(choice), H245_ResponseMessage), PInvalidCast);
14077 #endif
14078 return *(H245_ResponseMessage *)choice;
14082 H245_FunctionNotUnderstood::operator const H245_ResponseMessage &() const
14083 #endif
14085 #ifndef PASN_LEANANDMEAN
14086 PAssert(PIsDescendant(PAssertNULL(choice), H245_ResponseMessage), PInvalidCast);
14087 #endif
14088 return *(H245_ResponseMessage *)choice;
14092 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
14093 H245_FunctionNotUnderstood::operator H245_CommandMessage &() const
14094 #else
14095 H245_FunctionNotUnderstood::operator H245_CommandMessage &()
14097 #ifndef PASN_LEANANDMEAN
14098 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommandMessage), PInvalidCast);
14099 #endif
14100 return *(H245_CommandMessage *)choice;
14104 H245_FunctionNotUnderstood::operator const H245_CommandMessage &() const
14105 #endif
14107 #ifndef PASN_LEANANDMEAN
14108 PAssert(PIsDescendant(PAssertNULL(choice), H245_CommandMessage), PInvalidCast);
14109 #endif
14110 return *(H245_CommandMessage *)choice;
14114 BOOL H245_FunctionNotUnderstood::CreateObject()
14116 switch (tag) {
14117 case e_request :
14118 choice = new H245_RequestMessage();
14119 return TRUE;
14120 case e_response :
14121 choice = new H245_ResponseMessage();
14122 return TRUE;
14123 case e_command :
14124 choice = new H245_CommandMessage();
14125 return TRUE;
14128 choice = NULL;
14129 return FALSE;
14133 PObject * H245_FunctionNotUnderstood::Clone() const
14135 #ifndef PASN_LEANANDMEAN
14136 PAssert(IsClass(H245_FunctionNotUnderstood::Class()), PInvalidCast);
14137 #endif
14138 return new H245_FunctionNotUnderstood(*this);
14143 #ifndef PASN_NOPRINTON
14144 const static PASN_Names Names_H245_ConferenceIndication[]={
14145 {"sbeNumber",0}
14146 ,{"terminalNumberAssign",1}
14147 ,{"terminalJoinedConference",2}
14148 ,{"terminalLeftConference",3}
14149 ,{"seenByAtLeastOneOther",4}
14150 ,{"cancelSeenByAtLeastOneOther",5}
14151 ,{"seenByAll",6}
14152 ,{"cancelSeenByAll",7}
14153 ,{"terminalYouAreSeeing",8}
14154 ,{"requestForFloor",9}
14155 ,{"withdrawChairToken",10}
14156 ,{"floorRequested",11}
14157 ,{"terminalYouAreSeeingInSubPictureNumber",12}
14158 ,{"videoIndicateCompose",13}
14160 #endif
14162 // ConferenceIndication
14165 H245_ConferenceIndication::H245_ConferenceIndication(unsigned tag, PASN_Object::TagClass tagClass)
14166 : PASN_Choice(tag, tagClass, 10, TRUE
14167 #ifndef PASN_NOPRINTON
14168 ,(const PASN_Names *)Names_H245_ConferenceIndication,14
14169 #endif
14175 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
14176 H245_ConferenceIndication::operator H245_TerminalLabel &() const
14177 #else
14178 H245_ConferenceIndication::operator H245_TerminalLabel &()
14180 #ifndef PASN_LEANANDMEAN
14181 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalLabel), PInvalidCast);
14182 #endif
14183 return *(H245_TerminalLabel *)choice;
14187 H245_ConferenceIndication::operator const H245_TerminalLabel &() const
14188 #endif
14190 #ifndef PASN_LEANANDMEAN
14191 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalLabel), PInvalidCast);
14192 #endif
14193 return *(H245_TerminalLabel *)choice;
14197 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
14198 H245_ConferenceIndication::operator H245_TerminalYouAreSeeingInSubPictureNumber &() const
14199 #else
14200 H245_ConferenceIndication::operator H245_TerminalYouAreSeeingInSubPictureNumber &()
14202 #ifndef PASN_LEANANDMEAN
14203 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalYouAreSeeingInSubPictureNumber), PInvalidCast);
14204 #endif
14205 return *(H245_TerminalYouAreSeeingInSubPictureNumber *)choice;
14209 H245_ConferenceIndication::operator const H245_TerminalYouAreSeeingInSubPictureNumber &() const
14210 #endif
14212 #ifndef PASN_LEANANDMEAN
14213 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalYouAreSeeingInSubPictureNumber), PInvalidCast);
14214 #endif
14215 return *(H245_TerminalYouAreSeeingInSubPictureNumber *)choice;
14219 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
14220 H245_ConferenceIndication::operator H245_VideoIndicateCompose &() const
14221 #else
14222 H245_ConferenceIndication::operator H245_VideoIndicateCompose &()
14224 #ifndef PASN_LEANANDMEAN
14225 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoIndicateCompose), PInvalidCast);
14226 #endif
14227 return *(H245_VideoIndicateCompose *)choice;
14231 H245_ConferenceIndication::operator const H245_VideoIndicateCompose &() const
14232 #endif
14234 #ifndef PASN_LEANANDMEAN
14235 PAssert(PIsDescendant(PAssertNULL(choice), H245_VideoIndicateCompose), PInvalidCast);
14236 #endif
14237 return *(H245_VideoIndicateCompose *)choice;
14241 BOOL H245_ConferenceIndication::CreateObject()
14243 switch (tag) {
14244 case e_sbeNumber :
14245 choice = new PASN_Integer();
14246 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 9);
14247 return TRUE;
14248 case e_terminalNumberAssign :
14249 case e_terminalJoinedConference :
14250 case e_terminalLeftConference :
14251 case e_terminalYouAreSeeing :
14252 case e_floorRequested :
14253 choice = new H245_TerminalLabel();
14254 return TRUE;
14255 case e_seenByAtLeastOneOther :
14256 case e_cancelSeenByAtLeastOneOther :
14257 case e_seenByAll :
14258 case e_cancelSeenByAll :
14259 case e_requestForFloor :
14260 case e_withdrawChairToken :
14261 choice = new PASN_Null();
14262 return TRUE;
14263 case e_terminalYouAreSeeingInSubPictureNumber :
14264 choice = new H245_TerminalYouAreSeeingInSubPictureNumber();
14265 return TRUE;
14266 case e_videoIndicateCompose :
14267 choice = new H245_VideoIndicateCompose();
14268 return TRUE;
14271 choice = NULL;
14272 return FALSE;
14276 PObject * H245_ConferenceIndication::Clone() const
14278 #ifndef PASN_LEANANDMEAN
14279 PAssert(IsClass(H245_ConferenceIndication::Class()), PInvalidCast);
14280 #endif
14281 return new H245_ConferenceIndication(*this);
14286 // TerminalYouAreSeeingInSubPictureNumber
14289 H245_TerminalYouAreSeeingInSubPictureNumber::H245_TerminalYouAreSeeingInSubPictureNumber(unsigned tag, PASN_Object::TagClass tagClass)
14290 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
14292 m_subPictureNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
14296 #ifndef PASN_NOPRINTON
14297 void H245_TerminalYouAreSeeingInSubPictureNumber::PrintOn(ostream & strm) const
14299 int indent = strm.precision() + 2;
14300 strm << "{\n";
14301 strm << setw(indent+17) << "terminalNumber = " << setprecision(indent) << m_terminalNumber << '\n';
14302 strm << setw(indent+19) << "subPictureNumber = " << setprecision(indent) << m_subPictureNumber << '\n';
14303 strm << setw(indent-1) << setprecision(indent-2) << "}";
14305 #endif
14308 PObject::Comparison H245_TerminalYouAreSeeingInSubPictureNumber::Compare(const PObject & obj) const
14310 #ifndef PASN_LEANANDMEAN
14311 PAssert(PIsDescendant(&obj, H245_TerminalYouAreSeeingInSubPictureNumber), PInvalidCast);
14312 #endif
14313 const H245_TerminalYouAreSeeingInSubPictureNumber & other = (const H245_TerminalYouAreSeeingInSubPictureNumber &)obj;
14315 Comparison result;
14317 if ((result = m_terminalNumber.Compare(other.m_terminalNumber)) != EqualTo)
14318 return result;
14319 if ((result = m_subPictureNumber.Compare(other.m_subPictureNumber)) != EqualTo)
14320 return result;
14322 return PASN_Sequence::Compare(other);
14326 PINDEX H245_TerminalYouAreSeeingInSubPictureNumber::GetDataLength() const
14328 PINDEX length = 0;
14329 length += m_terminalNumber.GetObjectLength();
14330 length += m_subPictureNumber.GetObjectLength();
14331 return length;
14335 BOOL H245_TerminalYouAreSeeingInSubPictureNumber::Decode(PASN_Stream & strm)
14337 if (!PreambleDecode(strm))
14338 return FALSE;
14340 if (!m_terminalNumber.Decode(strm))
14341 return FALSE;
14342 if (!m_subPictureNumber.Decode(strm))
14343 return FALSE;
14345 return UnknownExtensionsDecode(strm);
14349 void H245_TerminalYouAreSeeingInSubPictureNumber::Encode(PASN_Stream & strm) const
14351 PreambleEncode(strm);
14353 m_terminalNumber.Encode(strm);
14354 m_subPictureNumber.Encode(strm);
14356 UnknownExtensionsEncode(strm);
14360 PObject * H245_TerminalYouAreSeeingInSubPictureNumber::Clone() const
14362 #ifndef PASN_LEANANDMEAN
14363 PAssert(IsClass(H245_TerminalYouAreSeeingInSubPictureNumber::Class()), PInvalidCast);
14364 #endif
14365 return new H245_TerminalYouAreSeeingInSubPictureNumber(*this);
14370 // VideoIndicateCompose
14373 H245_VideoIndicateCompose::H245_VideoIndicateCompose(unsigned tag, PASN_Object::TagClass tagClass)
14374 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
14376 m_compositionNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
14380 #ifndef PASN_NOPRINTON
14381 void H245_VideoIndicateCompose::PrintOn(ostream & strm) const
14383 int indent = strm.precision() + 2;
14384 strm << "{\n";
14385 strm << setw(indent+20) << "compositionNumber = " << setprecision(indent) << m_compositionNumber << '\n';
14386 strm << setw(indent-1) << setprecision(indent-2) << "}";
14388 #endif
14391 PObject::Comparison H245_VideoIndicateCompose::Compare(const PObject & obj) const
14393 #ifndef PASN_LEANANDMEAN
14394 PAssert(PIsDescendant(&obj, H245_VideoIndicateCompose), PInvalidCast);
14395 #endif
14396 const H245_VideoIndicateCompose & other = (const H245_VideoIndicateCompose &)obj;
14398 Comparison result;
14400 if ((result = m_compositionNumber.Compare(other.m_compositionNumber)) != EqualTo)
14401 return result;
14403 return PASN_Sequence::Compare(other);
14407 PINDEX H245_VideoIndicateCompose::GetDataLength() const
14409 PINDEX length = 0;
14410 length += m_compositionNumber.GetObjectLength();
14411 return length;
14415 BOOL H245_VideoIndicateCompose::Decode(PASN_Stream & strm)
14417 if (!PreambleDecode(strm))
14418 return FALSE;
14420 if (!m_compositionNumber.Decode(strm))
14421 return FALSE;
14423 return UnknownExtensionsDecode(strm);
14427 void H245_VideoIndicateCompose::Encode(PASN_Stream & strm) const
14429 PreambleEncode(strm);
14431 m_compositionNumber.Encode(strm);
14433 UnknownExtensionsEncode(strm);
14437 PObject * H245_VideoIndicateCompose::Clone() const
14439 #ifndef PASN_LEANANDMEAN
14440 PAssert(IsClass(H245_VideoIndicateCompose::Class()), PInvalidCast);
14441 #endif
14442 return new H245_VideoIndicateCompose(*this);
14447 // H223SkewIndication
14450 H245_H223SkewIndication::H245_H223SkewIndication(unsigned tag, PASN_Object::TagClass tagClass)
14451 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
14453 m_skew.SetConstraints(PASN_Object::FixedConstraint, 0, 4095);
14457 #ifndef PASN_NOPRINTON
14458 void H245_H223SkewIndication::PrintOn(ostream & strm) const
14460 int indent = strm.precision() + 2;
14461 strm << "{\n";
14462 strm << setw(indent+24) << "logicalChannelNumber1 = " << setprecision(indent) << m_logicalChannelNumber1 << '\n';
14463 strm << setw(indent+24) << "logicalChannelNumber2 = " << setprecision(indent) << m_logicalChannelNumber2 << '\n';
14464 strm << setw(indent+7) << "skew = " << setprecision(indent) << m_skew << '\n';
14465 strm << setw(indent-1) << setprecision(indent-2) << "}";
14467 #endif
14470 PObject::Comparison H245_H223SkewIndication::Compare(const PObject & obj) const
14472 #ifndef PASN_LEANANDMEAN
14473 PAssert(PIsDescendant(&obj, H245_H223SkewIndication), PInvalidCast);
14474 #endif
14475 const H245_H223SkewIndication & other = (const H245_H223SkewIndication &)obj;
14477 Comparison result;
14479 if ((result = m_logicalChannelNumber1.Compare(other.m_logicalChannelNumber1)) != EqualTo)
14480 return result;
14481 if ((result = m_logicalChannelNumber2.Compare(other.m_logicalChannelNumber2)) != EqualTo)
14482 return result;
14483 if ((result = m_skew.Compare(other.m_skew)) != EqualTo)
14484 return result;
14486 return PASN_Sequence::Compare(other);
14490 PINDEX H245_H223SkewIndication::GetDataLength() const
14492 PINDEX length = 0;
14493 length += m_logicalChannelNumber1.GetObjectLength();
14494 length += m_logicalChannelNumber2.GetObjectLength();
14495 length += m_skew.GetObjectLength();
14496 return length;
14500 BOOL H245_H223SkewIndication::Decode(PASN_Stream & strm)
14502 if (!PreambleDecode(strm))
14503 return FALSE;
14505 if (!m_logicalChannelNumber1.Decode(strm))
14506 return FALSE;
14507 if (!m_logicalChannelNumber2.Decode(strm))
14508 return FALSE;
14509 if (!m_skew.Decode(strm))
14510 return FALSE;
14512 return UnknownExtensionsDecode(strm);
14516 void H245_H223SkewIndication::Encode(PASN_Stream & strm) const
14518 PreambleEncode(strm);
14520 m_logicalChannelNumber1.Encode(strm);
14521 m_logicalChannelNumber2.Encode(strm);
14522 m_skew.Encode(strm);
14524 UnknownExtensionsEncode(strm);
14528 PObject * H245_H223SkewIndication::Clone() const
14530 #ifndef PASN_LEANANDMEAN
14531 PAssert(IsClass(H245_H223SkewIndication::Class()), PInvalidCast);
14532 #endif
14533 return new H245_H223SkewIndication(*this);
14538 // H2250MaximumSkewIndication
14541 H245_H2250MaximumSkewIndication::H245_H2250MaximumSkewIndication(unsigned tag, PASN_Object::TagClass tagClass)
14542 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
14544 m_maximumSkew.SetConstraints(PASN_Object::FixedConstraint, 0, 4095);
14548 #ifndef PASN_NOPRINTON
14549 void H245_H2250MaximumSkewIndication::PrintOn(ostream & strm) const
14551 int indent = strm.precision() + 2;
14552 strm << "{\n";
14553 strm << setw(indent+24) << "logicalChannelNumber1 = " << setprecision(indent) << m_logicalChannelNumber1 << '\n';
14554 strm << setw(indent+24) << "logicalChannelNumber2 = " << setprecision(indent) << m_logicalChannelNumber2 << '\n';
14555 strm << setw(indent+14) << "maximumSkew = " << setprecision(indent) << m_maximumSkew << '\n';
14556 strm << setw(indent-1) << setprecision(indent-2) << "}";
14558 #endif
14561 PObject::Comparison H245_H2250MaximumSkewIndication::Compare(const PObject & obj) const
14563 #ifndef PASN_LEANANDMEAN
14564 PAssert(PIsDescendant(&obj, H245_H2250MaximumSkewIndication), PInvalidCast);
14565 #endif
14566 const H245_H2250MaximumSkewIndication & other = (const H245_H2250MaximumSkewIndication &)obj;
14568 Comparison result;
14570 if ((result = m_logicalChannelNumber1.Compare(other.m_logicalChannelNumber1)) != EqualTo)
14571 return result;
14572 if ((result = m_logicalChannelNumber2.Compare(other.m_logicalChannelNumber2)) != EqualTo)
14573 return result;
14574 if ((result = m_maximumSkew.Compare(other.m_maximumSkew)) != EqualTo)
14575 return result;
14577 return PASN_Sequence::Compare(other);
14581 PINDEX H245_H2250MaximumSkewIndication::GetDataLength() const
14583 PINDEX length = 0;
14584 length += m_logicalChannelNumber1.GetObjectLength();
14585 length += m_logicalChannelNumber2.GetObjectLength();
14586 length += m_maximumSkew.GetObjectLength();
14587 return length;
14591 BOOL H245_H2250MaximumSkewIndication::Decode(PASN_Stream & strm)
14593 if (!PreambleDecode(strm))
14594 return FALSE;
14596 if (!m_logicalChannelNumber1.Decode(strm))
14597 return FALSE;
14598 if (!m_logicalChannelNumber2.Decode(strm))
14599 return FALSE;
14600 if (!m_maximumSkew.Decode(strm))
14601 return FALSE;
14603 return UnknownExtensionsDecode(strm);
14607 void H245_H2250MaximumSkewIndication::Encode(PASN_Stream & strm) const
14609 PreambleEncode(strm);
14611 m_logicalChannelNumber1.Encode(strm);
14612 m_logicalChannelNumber2.Encode(strm);
14613 m_maximumSkew.Encode(strm);
14615 UnknownExtensionsEncode(strm);
14619 PObject * H245_H2250MaximumSkewIndication::Clone() const
14621 #ifndef PASN_LEANANDMEAN
14622 PAssert(IsClass(H245_H2250MaximumSkewIndication::Class()), PInvalidCast);
14623 #endif
14624 return new H245_H2250MaximumSkewIndication(*this);
14629 // MCLocationIndication
14632 H245_MCLocationIndication::H245_MCLocationIndication(unsigned tag, PASN_Object::TagClass tagClass)
14633 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
14638 #ifndef PASN_NOPRINTON
14639 void H245_MCLocationIndication::PrintOn(ostream & strm) const
14641 int indent = strm.precision() + 2;
14642 strm << "{\n";
14643 strm << setw(indent+16) << "signalAddress = " << setprecision(indent) << m_signalAddress << '\n';
14644 strm << setw(indent-1) << setprecision(indent-2) << "}";
14646 #endif
14649 PObject::Comparison H245_MCLocationIndication::Compare(const PObject & obj) const
14651 #ifndef PASN_LEANANDMEAN
14652 PAssert(PIsDescendant(&obj, H245_MCLocationIndication), PInvalidCast);
14653 #endif
14654 const H245_MCLocationIndication & other = (const H245_MCLocationIndication &)obj;
14656 Comparison result;
14658 if ((result = m_signalAddress.Compare(other.m_signalAddress)) != EqualTo)
14659 return result;
14661 return PASN_Sequence::Compare(other);
14665 PINDEX H245_MCLocationIndication::GetDataLength() const
14667 PINDEX length = 0;
14668 length += m_signalAddress.GetObjectLength();
14669 return length;
14673 BOOL H245_MCLocationIndication::Decode(PASN_Stream & strm)
14675 if (!PreambleDecode(strm))
14676 return FALSE;
14678 if (!m_signalAddress.Decode(strm))
14679 return FALSE;
14681 return UnknownExtensionsDecode(strm);
14685 void H245_MCLocationIndication::Encode(PASN_Stream & strm) const
14687 PreambleEncode(strm);
14689 m_signalAddress.Encode(strm);
14691 UnknownExtensionsEncode(strm);
14695 PObject * H245_MCLocationIndication::Clone() const
14697 #ifndef PASN_LEANANDMEAN
14698 PAssert(IsClass(H245_MCLocationIndication::Class()), PInvalidCast);
14699 #endif
14700 return new H245_MCLocationIndication(*this);
14705 // VendorIdentification
14708 H245_VendorIdentification::H245_VendorIdentification(unsigned tag, PASN_Object::TagClass tagClass)
14709 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
14711 m_productNumber.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
14712 m_versionNumber.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
14716 #ifndef PASN_NOPRINTON
14717 void H245_VendorIdentification::PrintOn(ostream & strm) const
14719 int indent = strm.precision() + 2;
14720 strm << "{\n";
14721 strm << setw(indent+9) << "vendor = " << setprecision(indent) << m_vendor << '\n';
14722 if (HasOptionalField(e_productNumber))
14723 strm << setw(indent+16) << "productNumber = " << setprecision(indent) << m_productNumber << '\n';
14724 if (HasOptionalField(e_versionNumber))
14725 strm << setw(indent+16) << "versionNumber = " << setprecision(indent) << m_versionNumber << '\n';
14726 strm << setw(indent-1) << setprecision(indent-2) << "}";
14728 #endif
14731 PObject::Comparison H245_VendorIdentification::Compare(const PObject & obj) const
14733 #ifndef PASN_LEANANDMEAN
14734 PAssert(PIsDescendant(&obj, H245_VendorIdentification), PInvalidCast);
14735 #endif
14736 const H245_VendorIdentification & other = (const H245_VendorIdentification &)obj;
14738 Comparison result;
14740 if ((result = m_vendor.Compare(other.m_vendor)) != EqualTo)
14741 return result;
14742 if ((result = m_productNumber.Compare(other.m_productNumber)) != EqualTo)
14743 return result;
14744 if ((result = m_versionNumber.Compare(other.m_versionNumber)) != EqualTo)
14745 return result;
14747 return PASN_Sequence::Compare(other);
14751 PINDEX H245_VendorIdentification::GetDataLength() const
14753 PINDEX length = 0;
14754 length += m_vendor.GetObjectLength();
14755 if (HasOptionalField(e_productNumber))
14756 length += m_productNumber.GetObjectLength();
14757 if (HasOptionalField(e_versionNumber))
14758 length += m_versionNumber.GetObjectLength();
14759 return length;
14763 BOOL H245_VendorIdentification::Decode(PASN_Stream & strm)
14765 if (!PreambleDecode(strm))
14766 return FALSE;
14768 if (!m_vendor.Decode(strm))
14769 return FALSE;
14770 if (HasOptionalField(e_productNumber) && !m_productNumber.Decode(strm))
14771 return FALSE;
14772 if (HasOptionalField(e_versionNumber) && !m_versionNumber.Decode(strm))
14773 return FALSE;
14775 return UnknownExtensionsDecode(strm);
14779 void H245_VendorIdentification::Encode(PASN_Stream & strm) const
14781 PreambleEncode(strm);
14783 m_vendor.Encode(strm);
14784 if (HasOptionalField(e_productNumber))
14785 m_productNumber.Encode(strm);
14786 if (HasOptionalField(e_versionNumber))
14787 m_versionNumber.Encode(strm);
14789 UnknownExtensionsEncode(strm);
14793 PObject * H245_VendorIdentification::Clone() const
14795 #ifndef PASN_LEANANDMEAN
14796 PAssert(IsClass(H245_VendorIdentification::Class()), PInvalidCast);
14797 #endif
14798 return new H245_VendorIdentification(*this);
14803 // IV8
14806 H245_IV8::H245_IV8(unsigned tag, PASN_Object::TagClass tagClass)
14807 : PASN_OctetString(tag, tagClass)
14809 SetConstraints(PASN_Object::FixedConstraint, 8);
14813 H245_IV8::H245_IV8(const char * v)
14815 SetValue(v);
14819 H245_IV8::H245_IV8(const PString & v)
14821 SetValue(v);
14825 H245_IV8::H245_IV8(const PBYTEArray & v)
14827 SetValue(v);
14831 H245_IV8 & H245_IV8::operator=(const char * v)
14833 SetValue(v);
14834 return *this;
14838 H245_IV8 & H245_IV8::operator=(const PString & v)
14840 SetValue(v);
14841 return *this;
14845 H245_IV8 & H245_IV8::operator=(const PBYTEArray & v)
14847 SetValue(v);
14848 return *this;
14852 PObject * H245_IV8::Clone() const
14854 #ifndef PASN_LEANANDMEAN
14855 PAssert(IsClass(H245_IV8::Class()), PInvalidCast);
14856 #endif
14857 return new H245_IV8(*this);
14862 // IV16
14865 H245_IV16::H245_IV16(unsigned tag, PASN_Object::TagClass tagClass)
14866 : PASN_OctetString(tag, tagClass)
14868 SetConstraints(PASN_Object::FixedConstraint, 16);
14872 H245_IV16::H245_IV16(const char * v)
14874 SetValue(v);
14878 H245_IV16::H245_IV16(const PString & v)
14880 SetValue(v);
14884 H245_IV16::H245_IV16(const PBYTEArray & v)
14886 SetValue(v);
14890 H245_IV16 & H245_IV16::operator=(const char * v)
14892 SetValue(v);
14893 return *this;
14897 H245_IV16 & H245_IV16::operator=(const PString & v)
14899 SetValue(v);
14900 return *this;
14904 H245_IV16 & H245_IV16::operator=(const PBYTEArray & v)
14906 SetValue(v);
14907 return *this;
14911 PObject * H245_IV16::Clone() const
14913 #ifndef PASN_LEANANDMEAN
14914 PAssert(IsClass(H245_IV16::Class()), PInvalidCast);
14915 #endif
14916 return new H245_IV16(*this);
14921 // Params
14924 H245_Params::H245_Params(unsigned tag, PASN_Object::TagClass tagClass)
14925 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
14930 #ifndef PASN_NOPRINTON
14931 void H245_Params::PrintOn(ostream & strm) const
14933 int indent = strm.precision() + 2;
14934 strm << "{\n";
14935 if (HasOptionalField(e_iv8))
14936 strm << setw(indent+6) << "iv8 = " << setprecision(indent) << m_iv8 << '\n';
14937 if (HasOptionalField(e_iv16))
14938 strm << setw(indent+7) << "iv16 = " << setprecision(indent) << m_iv16 << '\n';
14939 if (HasOptionalField(e_iv))
14940 strm << setw(indent+5) << "iv = " << setprecision(indent) << m_iv << '\n';
14941 strm << setw(indent-1) << setprecision(indent-2) << "}";
14943 #endif
14946 PObject::Comparison H245_Params::Compare(const PObject & obj) const
14948 #ifndef PASN_LEANANDMEAN
14949 PAssert(PIsDescendant(&obj, H245_Params), PInvalidCast);
14950 #endif
14951 const H245_Params & other = (const H245_Params &)obj;
14953 Comparison result;
14955 if ((result = m_iv8.Compare(other.m_iv8)) != EqualTo)
14956 return result;
14957 if ((result = m_iv16.Compare(other.m_iv16)) != EqualTo)
14958 return result;
14959 if ((result = m_iv.Compare(other.m_iv)) != EqualTo)
14960 return result;
14962 return PASN_Sequence::Compare(other);
14966 PINDEX H245_Params::GetDataLength() const
14968 PINDEX length = 0;
14969 if (HasOptionalField(e_iv8))
14970 length += m_iv8.GetObjectLength();
14971 if (HasOptionalField(e_iv16))
14972 length += m_iv16.GetObjectLength();
14973 if (HasOptionalField(e_iv))
14974 length += m_iv.GetObjectLength();
14975 return length;
14979 BOOL H245_Params::Decode(PASN_Stream & strm)
14981 if (!PreambleDecode(strm))
14982 return FALSE;
14984 if (HasOptionalField(e_iv8) && !m_iv8.Decode(strm))
14985 return FALSE;
14986 if (HasOptionalField(e_iv16) && !m_iv16.Decode(strm))
14987 return FALSE;
14988 if (HasOptionalField(e_iv) && !m_iv.Decode(strm))
14989 return FALSE;
14991 return UnknownExtensionsDecode(strm);
14995 void H245_Params::Encode(PASN_Stream & strm) const
14997 PreambleEncode(strm);
14999 if (HasOptionalField(e_iv8))
15000 m_iv8.Encode(strm);
15001 if (HasOptionalField(e_iv16))
15002 m_iv16.Encode(strm);
15003 if (HasOptionalField(e_iv))
15004 m_iv.Encode(strm);
15006 UnknownExtensionsEncode(strm);
15010 PObject * H245_Params::Clone() const
15012 #ifndef PASN_LEANANDMEAN
15013 PAssert(IsClass(H245_Params::Class()), PInvalidCast);
15014 #endif
15015 return new H245_Params(*this);
15020 #ifndef PASN_NOPRINTON
15021 const static PASN_Names Names_H245_UserInputIndication[]={
15022 {"nonStandard",0}
15023 ,{"alphanumeric",1}
15024 ,{"userInputSupportIndication",2}
15025 ,{"signal",3}
15026 ,{"signalUpdate",4}
15027 ,{"extendedAlphanumeric",5}
15028 ,{"encryptedAlphanumeric",6}
15029 ,{"genericInformation",7}
15031 #endif
15033 // UserInputIndication
15036 H245_UserInputIndication::H245_UserInputIndication(unsigned tag, PASN_Object::TagClass tagClass)
15037 : PASN_Choice(tag, tagClass, 2, TRUE
15038 #ifndef PASN_NOPRINTON
15039 ,(const PASN_Names *)Names_H245_UserInputIndication,8
15040 #endif
15046 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15047 H245_UserInputIndication::operator H245_NonStandardParameter &() const
15048 #else
15049 H245_UserInputIndication::operator H245_NonStandardParameter &()
15051 #ifndef PASN_LEANANDMEAN
15052 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
15053 #endif
15054 return *(H245_NonStandardParameter *)choice;
15058 H245_UserInputIndication::operator const H245_NonStandardParameter &() const
15059 #endif
15061 #ifndef PASN_LEANANDMEAN
15062 PAssert(PIsDescendant(PAssertNULL(choice), H245_NonStandardParameter), PInvalidCast);
15063 #endif
15064 return *(H245_NonStandardParameter *)choice;
15068 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15069 H245_UserInputIndication::operator H245_UserInputIndication_userInputSupportIndication &() const
15070 #else
15071 H245_UserInputIndication::operator H245_UserInputIndication_userInputSupportIndication &()
15073 #ifndef PASN_LEANANDMEAN
15074 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_userInputSupportIndication), PInvalidCast);
15075 #endif
15076 return *(H245_UserInputIndication_userInputSupportIndication *)choice;
15080 H245_UserInputIndication::operator const H245_UserInputIndication_userInputSupportIndication &() const
15081 #endif
15083 #ifndef PASN_LEANANDMEAN
15084 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_userInputSupportIndication), PInvalidCast);
15085 #endif
15086 return *(H245_UserInputIndication_userInputSupportIndication *)choice;
15090 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15091 H245_UserInputIndication::operator H245_UserInputIndication_signal &() const
15092 #else
15093 H245_UserInputIndication::operator H245_UserInputIndication_signal &()
15095 #ifndef PASN_LEANANDMEAN
15096 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_signal), PInvalidCast);
15097 #endif
15098 return *(H245_UserInputIndication_signal *)choice;
15102 H245_UserInputIndication::operator const H245_UserInputIndication_signal &() const
15103 #endif
15105 #ifndef PASN_LEANANDMEAN
15106 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_signal), PInvalidCast);
15107 #endif
15108 return *(H245_UserInputIndication_signal *)choice;
15112 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15113 H245_UserInputIndication::operator H245_UserInputIndication_signalUpdate &() const
15114 #else
15115 H245_UserInputIndication::operator H245_UserInputIndication_signalUpdate &()
15117 #ifndef PASN_LEANANDMEAN
15118 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_signalUpdate), PInvalidCast);
15119 #endif
15120 return *(H245_UserInputIndication_signalUpdate *)choice;
15124 H245_UserInputIndication::operator const H245_UserInputIndication_signalUpdate &() const
15125 #endif
15127 #ifndef PASN_LEANANDMEAN
15128 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_signalUpdate), PInvalidCast);
15129 #endif
15130 return *(H245_UserInputIndication_signalUpdate *)choice;
15134 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15135 H245_UserInputIndication::operator H245_UserInputIndication_extendedAlphanumeric &() const
15136 #else
15137 H245_UserInputIndication::operator H245_UserInputIndication_extendedAlphanumeric &()
15139 #ifndef PASN_LEANANDMEAN
15140 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_extendedAlphanumeric), PInvalidCast);
15141 #endif
15142 return *(H245_UserInputIndication_extendedAlphanumeric *)choice;
15146 H245_UserInputIndication::operator const H245_UserInputIndication_extendedAlphanumeric &() const
15147 #endif
15149 #ifndef PASN_LEANANDMEAN
15150 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_extendedAlphanumeric), PInvalidCast);
15151 #endif
15152 return *(H245_UserInputIndication_extendedAlphanumeric *)choice;
15156 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15157 H245_UserInputIndication::operator H245_UserInputIndication_encryptedAlphanumeric &() const
15158 #else
15159 H245_UserInputIndication::operator H245_UserInputIndication_encryptedAlphanumeric &()
15161 #ifndef PASN_LEANANDMEAN
15162 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_encryptedAlphanumeric), PInvalidCast);
15163 #endif
15164 return *(H245_UserInputIndication_encryptedAlphanumeric *)choice;
15168 H245_UserInputIndication::operator const H245_UserInputIndication_encryptedAlphanumeric &() const
15169 #endif
15171 #ifndef PASN_LEANANDMEAN
15172 PAssert(PIsDescendant(PAssertNULL(choice), H245_UserInputIndication_encryptedAlphanumeric), PInvalidCast);
15173 #endif
15174 return *(H245_UserInputIndication_encryptedAlphanumeric *)choice;
15178 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15179 H245_UserInputIndication::operator H245_ArrayOf_GenericInformation &() const
15180 #else
15181 H245_UserInputIndication::operator H245_ArrayOf_GenericInformation &()
15183 #ifndef PASN_LEANANDMEAN
15184 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_GenericInformation), PInvalidCast);
15185 #endif
15186 return *(H245_ArrayOf_GenericInformation *)choice;
15190 H245_UserInputIndication::operator const H245_ArrayOf_GenericInformation &() const
15191 #endif
15193 #ifndef PASN_LEANANDMEAN
15194 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_GenericInformation), PInvalidCast);
15195 #endif
15196 return *(H245_ArrayOf_GenericInformation *)choice;
15200 BOOL H245_UserInputIndication::CreateObject()
15202 switch (tag) {
15203 case e_nonStandard :
15204 choice = new H245_NonStandardParameter();
15205 return TRUE;
15206 case e_alphanumeric :
15207 choice = new PASN_GeneralString();
15208 return TRUE;
15209 case e_userInputSupportIndication :
15210 choice = new H245_UserInputIndication_userInputSupportIndication();
15211 return TRUE;
15212 case e_signal :
15213 choice = new H245_UserInputIndication_signal();
15214 return TRUE;
15215 case e_signalUpdate :
15216 choice = new H245_UserInputIndication_signalUpdate();
15217 return TRUE;
15218 case e_extendedAlphanumeric :
15219 choice = new H245_UserInputIndication_extendedAlphanumeric();
15220 return TRUE;
15221 case e_encryptedAlphanumeric :
15222 choice = new H245_UserInputIndication_encryptedAlphanumeric();
15223 return TRUE;
15224 case e_genericInformation :
15225 choice = new H245_ArrayOf_GenericInformation();
15226 return TRUE;
15229 choice = NULL;
15230 return FALSE;
15234 PObject * H245_UserInputIndication::Clone() const
15236 #ifndef PASN_LEANANDMEAN
15237 PAssert(IsClass(H245_UserInputIndication::Class()), PInvalidCast);
15238 #endif
15239 return new H245_UserInputIndication(*this);
15244 // MobileMultilinkReconfigurationIndication
15247 H245_MobileMultilinkReconfigurationIndication::H245_MobileMultilinkReconfigurationIndication(unsigned tag, PASN_Object::TagClass tagClass)
15248 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
15250 m_sampleSize.SetConstraints(PASN_Object::FixedConstraint, 1, 255);
15251 m_samplesPerFrame.SetConstraints(PASN_Object::FixedConstraint, 1, 255);
15255 #ifndef PASN_NOPRINTON
15256 void H245_MobileMultilinkReconfigurationIndication::PrintOn(ostream & strm) const
15258 int indent = strm.precision() + 2;
15259 strm << "{\n";
15260 strm << setw(indent+13) << "sampleSize = " << setprecision(indent) << m_sampleSize << '\n';
15261 strm << setw(indent+18) << "samplesPerFrame = " << setprecision(indent) << m_samplesPerFrame << '\n';
15262 strm << setw(indent-1) << setprecision(indent-2) << "}";
15264 #endif
15267 PObject::Comparison H245_MobileMultilinkReconfigurationIndication::Compare(const PObject & obj) const
15269 #ifndef PASN_LEANANDMEAN
15270 PAssert(PIsDescendant(&obj, H245_MobileMultilinkReconfigurationIndication), PInvalidCast);
15271 #endif
15272 const H245_MobileMultilinkReconfigurationIndication & other = (const H245_MobileMultilinkReconfigurationIndication &)obj;
15274 Comparison result;
15276 if ((result = m_sampleSize.Compare(other.m_sampleSize)) != EqualTo)
15277 return result;
15278 if ((result = m_samplesPerFrame.Compare(other.m_samplesPerFrame)) != EqualTo)
15279 return result;
15281 return PASN_Sequence::Compare(other);
15285 PINDEX H245_MobileMultilinkReconfigurationIndication::GetDataLength() const
15287 PINDEX length = 0;
15288 length += m_sampleSize.GetObjectLength();
15289 length += m_samplesPerFrame.GetObjectLength();
15290 return length;
15294 BOOL H245_MobileMultilinkReconfigurationIndication::Decode(PASN_Stream & strm)
15296 if (!PreambleDecode(strm))
15297 return FALSE;
15299 if (!m_sampleSize.Decode(strm))
15300 return FALSE;
15301 if (!m_samplesPerFrame.Decode(strm))
15302 return FALSE;
15304 return UnknownExtensionsDecode(strm);
15308 void H245_MobileMultilinkReconfigurationIndication::Encode(PASN_Stream & strm) const
15310 PreambleEncode(strm);
15312 m_sampleSize.Encode(strm);
15313 m_samplesPerFrame.Encode(strm);
15315 UnknownExtensionsEncode(strm);
15319 PObject * H245_MobileMultilinkReconfigurationIndication::Clone() const
15321 #ifndef PASN_LEANANDMEAN
15322 PAssert(IsClass(H245_MobileMultilinkReconfigurationIndication::Class()), PInvalidCast);
15323 #endif
15324 return new H245_MobileMultilinkReconfigurationIndication(*this);
15329 // ArrayOf_GenericParameter
15332 H245_ArrayOf_GenericParameter::H245_ArrayOf_GenericParameter(unsigned tag, PASN_Object::TagClass tagClass)
15333 : PASN_Array(tag, tagClass)
15338 PASN_Object * H245_ArrayOf_GenericParameter::CreateObject() const
15340 return new H245_GenericParameter;
15344 H245_GenericParameter & H245_ArrayOf_GenericParameter::operator[](PINDEX i) const
15346 return (H245_GenericParameter &)array[i];
15350 PObject * H245_ArrayOf_GenericParameter::Clone() const
15352 #ifndef PASN_LEANANDMEAN
15353 PAssert(IsClass(H245_ArrayOf_GenericParameter::Class()), PInvalidCast);
15354 #endif
15355 return new H245_ArrayOf_GenericParameter(*this);
15360 // NonStandardIdentifier_h221NonStandard
15363 H245_NonStandardIdentifier_h221NonStandard::H245_NonStandardIdentifier_h221NonStandard(unsigned tag, PASN_Object::TagClass tagClass)
15364 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
15366 m_t35CountryCode.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
15367 m_t35Extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
15368 m_manufacturerCode.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
15372 #ifndef PASN_NOPRINTON
15373 void H245_NonStandardIdentifier_h221NonStandard::PrintOn(ostream & strm) const
15375 int indent = strm.precision() + 2;
15376 strm << "{\n";
15377 strm << setw(indent+17) << "t35CountryCode = " << setprecision(indent) << m_t35CountryCode << '\n';
15378 strm << setw(indent+15) << "t35Extension = " << setprecision(indent) << m_t35Extension << '\n';
15379 strm << setw(indent+19) << "manufacturerCode = " << setprecision(indent) << m_manufacturerCode << '\n';
15380 strm << setw(indent-1) << setprecision(indent-2) << "}";
15382 #endif
15385 PObject::Comparison H245_NonStandardIdentifier_h221NonStandard::Compare(const PObject & obj) const
15387 #ifndef PASN_LEANANDMEAN
15388 PAssert(PIsDescendant(&obj, H245_NonStandardIdentifier_h221NonStandard), PInvalidCast);
15389 #endif
15390 const H245_NonStandardIdentifier_h221NonStandard & other = (const H245_NonStandardIdentifier_h221NonStandard &)obj;
15392 Comparison result;
15394 if ((result = m_t35CountryCode.Compare(other.m_t35CountryCode)) != EqualTo)
15395 return result;
15396 if ((result = m_t35Extension.Compare(other.m_t35Extension)) != EqualTo)
15397 return result;
15398 if ((result = m_manufacturerCode.Compare(other.m_manufacturerCode)) != EqualTo)
15399 return result;
15401 return PASN_Sequence::Compare(other);
15405 PINDEX H245_NonStandardIdentifier_h221NonStandard::GetDataLength() const
15407 PINDEX length = 0;
15408 length += m_t35CountryCode.GetObjectLength();
15409 length += m_t35Extension.GetObjectLength();
15410 length += m_manufacturerCode.GetObjectLength();
15411 return length;
15415 BOOL H245_NonStandardIdentifier_h221NonStandard::Decode(PASN_Stream & strm)
15417 if (!PreambleDecode(strm))
15418 return FALSE;
15420 if (!m_t35CountryCode.Decode(strm))
15421 return FALSE;
15422 if (!m_t35Extension.Decode(strm))
15423 return FALSE;
15424 if (!m_manufacturerCode.Decode(strm))
15425 return FALSE;
15427 return UnknownExtensionsDecode(strm);
15431 void H245_NonStandardIdentifier_h221NonStandard::Encode(PASN_Stream & strm) const
15433 PreambleEncode(strm);
15435 m_t35CountryCode.Encode(strm);
15436 m_t35Extension.Encode(strm);
15437 m_manufacturerCode.Encode(strm);
15439 UnknownExtensionsEncode(strm);
15443 PObject * H245_NonStandardIdentifier_h221NonStandard::Clone() const
15445 #ifndef PASN_LEANANDMEAN
15446 PAssert(IsClass(H245_NonStandardIdentifier_h221NonStandard::Class()), PInvalidCast);
15447 #endif
15448 return new H245_NonStandardIdentifier_h221NonStandard(*this);
15453 #ifndef PASN_NOPRINTON
15454 const static PASN_Names Names_H245_MasterSlaveDeterminationAck_decision[]={
15455 {"master",0}
15456 ,{"slave",1}
15458 #endif
15460 // MasterSlaveDeterminationAck_decision
15463 H245_MasterSlaveDeterminationAck_decision::H245_MasterSlaveDeterminationAck_decision(unsigned tag, PASN_Object::TagClass tagClass)
15464 : PASN_Choice(tag, tagClass, 2, FALSE
15465 #ifndef PASN_NOPRINTON
15466 ,(const PASN_Names *)Names_H245_MasterSlaveDeterminationAck_decision,2
15467 #endif
15473 BOOL H245_MasterSlaveDeterminationAck_decision::CreateObject()
15475 choice = (tag <= e_slave) ? new PASN_Null() : NULL;
15476 return choice != NULL;
15480 PObject * H245_MasterSlaveDeterminationAck_decision::Clone() const
15482 #ifndef PASN_LEANANDMEAN
15483 PAssert(IsClass(H245_MasterSlaveDeterminationAck_decision::Class()), PInvalidCast);
15484 #endif
15485 return new H245_MasterSlaveDeterminationAck_decision(*this);
15490 #ifndef PASN_NOPRINTON
15491 const static PASN_Names Names_H245_MasterSlaveDeterminationReject_cause[]={
15492 {"identicalNumbers",0}
15494 #endif
15496 // MasterSlaveDeterminationReject_cause
15499 H245_MasterSlaveDeterminationReject_cause::H245_MasterSlaveDeterminationReject_cause(unsigned tag, PASN_Object::TagClass tagClass)
15500 : PASN_Choice(tag, tagClass, 1, TRUE
15501 #ifndef PASN_NOPRINTON
15502 ,(const PASN_Names *)Names_H245_MasterSlaveDeterminationReject_cause,1
15503 #endif
15509 BOOL H245_MasterSlaveDeterminationReject_cause::CreateObject()
15511 choice = (tag <= e_identicalNumbers) ? new PASN_Null() : NULL;
15512 return choice != NULL;
15516 PObject * H245_MasterSlaveDeterminationReject_cause::Clone() const
15518 #ifndef PASN_LEANANDMEAN
15519 PAssert(IsClass(H245_MasterSlaveDeterminationReject_cause::Class()), PInvalidCast);
15520 #endif
15521 return new H245_MasterSlaveDeterminationReject_cause(*this);
15526 // ArrayOf_CapabilityTableEntry
15529 H245_ArrayOf_CapabilityTableEntry::H245_ArrayOf_CapabilityTableEntry(unsigned tag, PASN_Object::TagClass tagClass)
15530 : PASN_Array(tag, tagClass)
15535 PASN_Object * H245_ArrayOf_CapabilityTableEntry::CreateObject() const
15537 return new H245_CapabilityTableEntry;
15541 H245_CapabilityTableEntry & H245_ArrayOf_CapabilityTableEntry::operator[](PINDEX i) const
15543 return (H245_CapabilityTableEntry &)array[i];
15547 PObject * H245_ArrayOf_CapabilityTableEntry::Clone() const
15549 #ifndef PASN_LEANANDMEAN
15550 PAssert(IsClass(H245_ArrayOf_CapabilityTableEntry::Class()), PInvalidCast);
15551 #endif
15552 return new H245_ArrayOf_CapabilityTableEntry(*this);
15557 // ArrayOf_CapabilityDescriptor
15560 H245_ArrayOf_CapabilityDescriptor::H245_ArrayOf_CapabilityDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
15561 : PASN_Array(tag, tagClass)
15566 PASN_Object * H245_ArrayOf_CapabilityDescriptor::CreateObject() const
15568 return new H245_CapabilityDescriptor;
15572 H245_CapabilityDescriptor & H245_ArrayOf_CapabilityDescriptor::operator[](PINDEX i) const
15574 return (H245_CapabilityDescriptor &)array[i];
15578 PObject * H245_ArrayOf_CapabilityDescriptor::Clone() const
15580 #ifndef PASN_LEANANDMEAN
15581 PAssert(IsClass(H245_ArrayOf_CapabilityDescriptor::Class()), PInvalidCast);
15582 #endif
15583 return new H245_ArrayOf_CapabilityDescriptor(*this);
15588 // ArrayOf_GenericInformation
15591 H245_ArrayOf_GenericInformation::H245_ArrayOf_GenericInformation(unsigned tag, PASN_Object::TagClass tagClass)
15592 : PASN_Array(tag, tagClass)
15597 PASN_Object * H245_ArrayOf_GenericInformation::CreateObject() const
15599 return new H245_GenericInformation;
15603 H245_GenericInformation & H245_ArrayOf_GenericInformation::operator[](PINDEX i) const
15605 return (H245_GenericInformation &)array[i];
15609 PObject * H245_ArrayOf_GenericInformation::Clone() const
15611 #ifndef PASN_LEANANDMEAN
15612 PAssert(IsClass(H245_ArrayOf_GenericInformation::Class()), PInvalidCast);
15613 #endif
15614 return new H245_ArrayOf_GenericInformation(*this);
15619 // ArrayOf_AlternativeCapabilitySet
15622 H245_ArrayOf_AlternativeCapabilitySet::H245_ArrayOf_AlternativeCapabilitySet(unsigned tag, PASN_Object::TagClass tagClass)
15623 : PASN_Array(tag, tagClass)
15628 PASN_Object * H245_ArrayOf_AlternativeCapabilitySet::CreateObject() const
15630 return new H245_AlternativeCapabilitySet;
15634 H245_AlternativeCapabilitySet & H245_ArrayOf_AlternativeCapabilitySet::operator[](PINDEX i) const
15636 return (H245_AlternativeCapabilitySet &)array[i];
15640 PObject * H245_ArrayOf_AlternativeCapabilitySet::Clone() const
15642 #ifndef PASN_LEANANDMEAN
15643 PAssert(IsClass(H245_ArrayOf_AlternativeCapabilitySet::Class()), PInvalidCast);
15644 #endif
15645 return new H245_ArrayOf_AlternativeCapabilitySet(*this);
15650 #ifndef PASN_NOPRINTON
15651 const static PASN_Names Names_H245_TerminalCapabilitySetReject_cause[]={
15652 {"unspecified",0}
15653 ,{"undefinedTableEntryUsed",1}
15654 ,{"descriptorCapacityExceeded",2}
15655 ,{"tableEntryCapacityExceeded",3}
15657 #endif
15659 // TerminalCapabilitySetReject_cause
15662 H245_TerminalCapabilitySetReject_cause::H245_TerminalCapabilitySetReject_cause(unsigned tag, PASN_Object::TagClass tagClass)
15663 : PASN_Choice(tag, tagClass, 4, TRUE
15664 #ifndef PASN_NOPRINTON
15665 ,(const PASN_Names *)Names_H245_TerminalCapabilitySetReject_cause,4
15666 #endif
15672 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
15673 H245_TerminalCapabilitySetReject_cause::operator H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &() const
15674 #else
15675 H245_TerminalCapabilitySetReject_cause::operator H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &()
15677 #ifndef PASN_LEANANDMEAN
15678 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded), PInvalidCast);
15679 #endif
15680 return *(H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded *)choice;
15684 H245_TerminalCapabilitySetReject_cause::operator const H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded &() const
15685 #endif
15687 #ifndef PASN_LEANANDMEAN
15688 PAssert(PIsDescendant(PAssertNULL(choice), H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded), PInvalidCast);
15689 #endif
15690 return *(H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded *)choice;
15694 BOOL H245_TerminalCapabilitySetReject_cause::CreateObject()
15696 switch (tag) {
15697 case e_unspecified :
15698 case e_undefinedTableEntryUsed :
15699 case e_descriptorCapacityExceeded :
15700 choice = new PASN_Null();
15701 return TRUE;
15702 case e_tableEntryCapacityExceeded :
15703 choice = new H245_TerminalCapabilitySetReject_cause_tableEntryCapacityExceeded();
15704 return TRUE;
15707 choice = NULL;
15708 return FALSE;
15712 PObject * H245_TerminalCapabilitySetReject_cause::Clone() const
15714 #ifndef PASN_LEANANDMEAN
15715 PAssert(IsClass(H245_TerminalCapabilitySetReject_cause::Class()), PInvalidCast);
15716 #endif
15717 return new H245_TerminalCapabilitySetReject_cause(*this);
15722 // Capability_h233EncryptionReceiveCapability
15725 H245_Capability_h233EncryptionReceiveCapability::H245_Capability_h233EncryptionReceiveCapability(unsigned tag, PASN_Object::TagClass tagClass)
15726 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
15728 m_h233IVResponseTime.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
15732 #ifndef PASN_NOPRINTON
15733 void H245_Capability_h233EncryptionReceiveCapability::PrintOn(ostream & strm) const
15735 int indent = strm.precision() + 2;
15736 strm << "{\n";
15737 strm << setw(indent+21) << "h233IVResponseTime = " << setprecision(indent) << m_h233IVResponseTime << '\n';
15738 strm << setw(indent-1) << setprecision(indent-2) << "}";
15740 #endif
15743 PObject::Comparison H245_Capability_h233EncryptionReceiveCapability::Compare(const PObject & obj) const
15745 #ifndef PASN_LEANANDMEAN
15746 PAssert(PIsDescendant(&obj, H245_Capability_h233EncryptionReceiveCapability), PInvalidCast);
15747 #endif
15748 const H245_Capability_h233EncryptionReceiveCapability & other = (const H245_Capability_h233EncryptionReceiveCapability &)obj;
15750 Comparison result;
15752 if ((result = m_h233IVResponseTime.Compare(other.m_h233IVResponseTime)) != EqualTo)
15753 return result;
15755 return PASN_Sequence::Compare(other);
15759 PINDEX H245_Capability_h233EncryptionReceiveCapability::GetDataLength() const
15761 PINDEX length = 0;
15762 length += m_h233IVResponseTime.GetObjectLength();
15763 return length;
15767 BOOL H245_Capability_h233EncryptionReceiveCapability::Decode(PASN_Stream & strm)
15769 if (!PreambleDecode(strm))
15770 return FALSE;
15772 if (!m_h233IVResponseTime.Decode(strm))
15773 return FALSE;
15775 return UnknownExtensionsDecode(strm);
15779 void H245_Capability_h233EncryptionReceiveCapability::Encode(PASN_Stream & strm) const
15781 PreambleEncode(strm);
15783 m_h233IVResponseTime.Encode(strm);
15785 UnknownExtensionsEncode(strm);
15789 PObject * H245_Capability_h233EncryptionReceiveCapability::Clone() const
15791 #ifndef PASN_LEANANDMEAN
15792 PAssert(IsClass(H245_Capability_h233EncryptionReceiveCapability::Class()), PInvalidCast);
15793 #endif
15794 return new H245_Capability_h233EncryptionReceiveCapability(*this);
15799 // ArrayOf_VCCapability
15802 H245_ArrayOf_VCCapability::H245_ArrayOf_VCCapability(unsigned tag, PASN_Object::TagClass tagClass)
15803 : PASN_Array(tag, tagClass)
15808 PASN_Object * H245_ArrayOf_VCCapability::CreateObject() const
15810 return new H245_VCCapability;
15814 H245_VCCapability & H245_ArrayOf_VCCapability::operator[](PINDEX i) const
15816 return (H245_VCCapability &)array[i];
15820 PObject * H245_ArrayOf_VCCapability::Clone() const
15822 #ifndef PASN_LEANANDMEAN
15823 PAssert(IsClass(H245_ArrayOf_VCCapability::Class()), PInvalidCast);
15824 #endif
15825 return new H245_ArrayOf_VCCapability(*this);
15830 // VCCapability_aal1
15833 H245_VCCapability_aal1::H245_VCCapability_aal1(unsigned tag, PASN_Object::TagClass tagClass)
15834 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
15839 #ifndef PASN_NOPRINTON
15840 void H245_VCCapability_aal1::PrintOn(ostream & strm) const
15842 int indent = strm.precision() + 2;
15843 strm << "{\n";
15844 strm << setw(indent+20) << "nullClockRecovery = " << setprecision(indent) << m_nullClockRecovery << '\n';
15845 strm << setw(indent+20) << "srtsClockRecovery = " << setprecision(indent) << m_srtsClockRecovery << '\n';
15846 strm << setw(indent+24) << "adaptiveClockRecovery = " << setprecision(indent) << m_adaptiveClockRecovery << '\n';
15847 strm << setw(indent+22) << "nullErrorCorrection = " << setprecision(indent) << m_nullErrorCorrection << '\n';
15848 strm << setw(indent+18) << "longInterleaver = " << setprecision(indent) << m_longInterleaver << '\n';
15849 strm << setw(indent+19) << "shortInterleaver = " << setprecision(indent) << m_shortInterleaver << '\n';
15850 strm << setw(indent+22) << "errorCorrectionOnly = " << setprecision(indent) << m_errorCorrectionOnly << '\n';
15851 strm << setw(indent+25) << "structuredDataTransfer = " << setprecision(indent) << m_structuredDataTransfer << '\n';
15852 strm << setw(indent+23) << "partiallyFilledCells = " << setprecision(indent) << m_partiallyFilledCells << '\n';
15853 strm << setw(indent-1) << setprecision(indent-2) << "}";
15855 #endif
15858 PObject::Comparison H245_VCCapability_aal1::Compare(const PObject & obj) const
15860 #ifndef PASN_LEANANDMEAN
15861 PAssert(PIsDescendant(&obj, H245_VCCapability_aal1), PInvalidCast);
15862 #endif
15863 const H245_VCCapability_aal1 & other = (const H245_VCCapability_aal1 &)obj;
15865 Comparison result;
15867 if ((result = m_nullClockRecovery.Compare(other.m_nullClockRecovery)) != EqualTo)
15868 return result;
15869 if ((result = m_srtsClockRecovery.Compare(other.m_srtsClockRecovery)) != EqualTo)
15870 return result;
15871 if ((result = m_adaptiveClockRecovery.Compare(other.m_adaptiveClockRecovery)) != EqualTo)
15872 return result;
15873 if ((result = m_nullErrorCorrection.Compare(other.m_nullErrorCorrection)) != EqualTo)
15874 return result;
15875 if ((result = m_longInterleaver.Compare(other.m_longInterleaver)) != EqualTo)
15876 return result;
15877 if ((result = m_shortInterleaver.Compare(other.m_shortInterleaver)) != EqualTo)
15878 return result;
15879 if ((result = m_errorCorrectionOnly.Compare(other.m_errorCorrectionOnly)) != EqualTo)
15880 return result;
15881 if ((result = m_structuredDataTransfer.Compare(other.m_structuredDataTransfer)) != EqualTo)
15882 return result;
15883 if ((result = m_partiallyFilledCells.Compare(other.m_partiallyFilledCells)) != EqualTo)
15884 return result;
15886 return PASN_Sequence::Compare(other);
15890 PINDEX H245_VCCapability_aal1::GetDataLength() const
15892 PINDEX length = 0;
15893 length += m_nullClockRecovery.GetObjectLength();
15894 length += m_srtsClockRecovery.GetObjectLength();
15895 length += m_adaptiveClockRecovery.GetObjectLength();
15896 length += m_nullErrorCorrection.GetObjectLength();
15897 length += m_longInterleaver.GetObjectLength();
15898 length += m_shortInterleaver.GetObjectLength();
15899 length += m_errorCorrectionOnly.GetObjectLength();
15900 length += m_structuredDataTransfer.GetObjectLength();
15901 length += m_partiallyFilledCells.GetObjectLength();
15902 return length;
15906 BOOL H245_VCCapability_aal1::Decode(PASN_Stream & strm)
15908 if (!PreambleDecode(strm))
15909 return FALSE;
15911 if (!m_nullClockRecovery.Decode(strm))
15912 return FALSE;
15913 if (!m_srtsClockRecovery.Decode(strm))
15914 return FALSE;
15915 if (!m_adaptiveClockRecovery.Decode(strm))
15916 return FALSE;
15917 if (!m_nullErrorCorrection.Decode(strm))
15918 return FALSE;
15919 if (!m_longInterleaver.Decode(strm))
15920 return FALSE;
15921 if (!m_shortInterleaver.Decode(strm))
15922 return FALSE;
15923 if (!m_errorCorrectionOnly.Decode(strm))
15924 return FALSE;
15925 if (!m_structuredDataTransfer.Decode(strm))
15926 return FALSE;
15927 if (!m_partiallyFilledCells.Decode(strm))
15928 return FALSE;
15930 return UnknownExtensionsDecode(strm);
15934 void H245_VCCapability_aal1::Encode(PASN_Stream & strm) const
15936 PreambleEncode(strm);
15938 m_nullClockRecovery.Encode(strm);
15939 m_srtsClockRecovery.Encode(strm);
15940 m_adaptiveClockRecovery.Encode(strm);
15941 m_nullErrorCorrection.Encode(strm);
15942 m_longInterleaver.Encode(strm);
15943 m_shortInterleaver.Encode(strm);
15944 m_errorCorrectionOnly.Encode(strm);
15945 m_structuredDataTransfer.Encode(strm);
15946 m_partiallyFilledCells.Encode(strm);
15948 UnknownExtensionsEncode(strm);
15952 PObject * H245_VCCapability_aal1::Clone() const
15954 #ifndef PASN_LEANANDMEAN
15955 PAssert(IsClass(H245_VCCapability_aal1::Class()), PInvalidCast);
15956 #endif
15957 return new H245_VCCapability_aal1(*this);
15962 // VCCapability_aal5
15965 H245_VCCapability_aal5::H245_VCCapability_aal5(unsigned tag, PASN_Object::TagClass tagClass)
15966 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
15968 m_forwardMaximumSDUSize.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
15969 m_backwardMaximumSDUSize.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
15973 #ifndef PASN_NOPRINTON
15974 void H245_VCCapability_aal5::PrintOn(ostream & strm) const
15976 int indent = strm.precision() + 2;
15977 strm << "{\n";
15978 strm << setw(indent+24) << "forwardMaximumSDUSize = " << setprecision(indent) << m_forwardMaximumSDUSize << '\n';
15979 strm << setw(indent+25) << "backwardMaximumSDUSize = " << setprecision(indent) << m_backwardMaximumSDUSize << '\n';
15980 strm << setw(indent-1) << setprecision(indent-2) << "}";
15982 #endif
15985 PObject::Comparison H245_VCCapability_aal5::Compare(const PObject & obj) const
15987 #ifndef PASN_LEANANDMEAN
15988 PAssert(PIsDescendant(&obj, H245_VCCapability_aal5), PInvalidCast);
15989 #endif
15990 const H245_VCCapability_aal5 & other = (const H245_VCCapability_aal5 &)obj;
15992 Comparison result;
15994 if ((result = m_forwardMaximumSDUSize.Compare(other.m_forwardMaximumSDUSize)) != EqualTo)
15995 return result;
15996 if ((result = m_backwardMaximumSDUSize.Compare(other.m_backwardMaximumSDUSize)) != EqualTo)
15997 return result;
15999 return PASN_Sequence::Compare(other);
16003 PINDEX H245_VCCapability_aal5::GetDataLength() const
16005 PINDEX length = 0;
16006 length += m_forwardMaximumSDUSize.GetObjectLength();
16007 length += m_backwardMaximumSDUSize.GetObjectLength();
16008 return length;
16012 BOOL H245_VCCapability_aal5::Decode(PASN_Stream & strm)
16014 if (!PreambleDecode(strm))
16015 return FALSE;
16017 if (!m_forwardMaximumSDUSize.Decode(strm))
16018 return FALSE;
16019 if (!m_backwardMaximumSDUSize.Decode(strm))
16020 return FALSE;
16022 return UnknownExtensionsDecode(strm);
16026 void H245_VCCapability_aal5::Encode(PASN_Stream & strm) const
16028 PreambleEncode(strm);
16030 m_forwardMaximumSDUSize.Encode(strm);
16031 m_backwardMaximumSDUSize.Encode(strm);
16033 UnknownExtensionsEncode(strm);
16037 PObject * H245_VCCapability_aal5::Clone() const
16039 #ifndef PASN_LEANANDMEAN
16040 PAssert(IsClass(H245_VCCapability_aal5::Class()), PInvalidCast);
16041 #endif
16042 return new H245_VCCapability_aal5(*this);
16047 #ifndef PASN_NOPRINTON
16048 const static PASN_Names Names_H245_H223Capability_h223MultiplexTableCapability[]={
16049 {"basic",0}
16050 ,{"enhanced",1}
16052 #endif
16054 // H223Capability_h223MultiplexTableCapability
16057 H245_H223Capability_h223MultiplexTableCapability::H245_H223Capability_h223MultiplexTableCapability(unsigned tag, PASN_Object::TagClass tagClass)
16058 : PASN_Choice(tag, tagClass, 2, FALSE
16059 #ifndef PASN_NOPRINTON
16060 ,(const PASN_Names *)Names_H245_H223Capability_h223MultiplexTableCapability,2
16061 #endif
16067 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
16068 H245_H223Capability_h223MultiplexTableCapability::operator H245_H223Capability_h223MultiplexTableCapability_enhanced &() const
16069 #else
16070 H245_H223Capability_h223MultiplexTableCapability::operator H245_H223Capability_h223MultiplexTableCapability_enhanced &()
16072 #ifndef PASN_LEANANDMEAN
16073 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223Capability_h223MultiplexTableCapability_enhanced), PInvalidCast);
16074 #endif
16075 return *(H245_H223Capability_h223MultiplexTableCapability_enhanced *)choice;
16079 H245_H223Capability_h223MultiplexTableCapability::operator const H245_H223Capability_h223MultiplexTableCapability_enhanced &() const
16080 #endif
16082 #ifndef PASN_LEANANDMEAN
16083 PAssert(PIsDescendant(PAssertNULL(choice), H245_H223Capability_h223MultiplexTableCapability_enhanced), PInvalidCast);
16084 #endif
16085 return *(H245_H223Capability_h223MultiplexTableCapability_enhanced *)choice;
16089 BOOL H245_H223Capability_h223MultiplexTableCapability::CreateObject()
16091 switch (tag) {
16092 case e_basic :
16093 choice = new PASN_Null();
16094 return TRUE;
16095 case e_enhanced :
16096 choice = new H245_H223Capability_h223MultiplexTableCapability_enhanced();
16097 return TRUE;
16100 choice = NULL;
16101 return FALSE;
16105 PObject * H245_H223Capability_h223MultiplexTableCapability::Clone() const
16107 #ifndef PASN_LEANANDMEAN
16108 PAssert(IsClass(H245_H223Capability_h223MultiplexTableCapability::Class()), PInvalidCast);
16109 #endif
16110 return new H245_H223Capability_h223MultiplexTableCapability(*this);
16115 // H223Capability_mobileOperationTransmitCapability
16118 H245_H223Capability_mobileOperationTransmitCapability::H245_H223Capability_mobileOperationTransmitCapability(unsigned tag, PASN_Object::TagClass tagClass)
16119 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
16124 #ifndef PASN_NOPRINTON
16125 void H245_H223Capability_mobileOperationTransmitCapability::PrintOn(ostream & strm) const
16127 int indent = strm.precision() + 2;
16128 strm << "{\n";
16129 strm << setw(indent+23) << "modeChangeCapability = " << setprecision(indent) << m_modeChangeCapability << '\n';
16130 strm << setw(indent+13) << "h223AnnexA = " << setprecision(indent) << m_h223AnnexA << '\n';
16131 strm << setw(indent+23) << "h223AnnexADoubleFlag = " << setprecision(indent) << m_h223AnnexADoubleFlag << '\n';
16132 strm << setw(indent+13) << "h223AnnexB = " << setprecision(indent) << m_h223AnnexB << '\n';
16133 strm << setw(indent+23) << "h223AnnexBwithHeader = " << setprecision(indent) << m_h223AnnexBwithHeader << '\n';
16134 strm << setw(indent-1) << setprecision(indent-2) << "}";
16136 #endif
16139 PObject::Comparison H245_H223Capability_mobileOperationTransmitCapability::Compare(const PObject & obj) const
16141 #ifndef PASN_LEANANDMEAN
16142 PAssert(PIsDescendant(&obj, H245_H223Capability_mobileOperationTransmitCapability), PInvalidCast);
16143 #endif
16144 const H245_H223Capability_mobileOperationTransmitCapability & other = (const H245_H223Capability_mobileOperationTransmitCapability &)obj;
16146 Comparison result;
16148 if ((result = m_modeChangeCapability.Compare(other.m_modeChangeCapability)) != EqualTo)
16149 return result;
16150 if ((result = m_h223AnnexA.Compare(other.m_h223AnnexA)) != EqualTo)
16151 return result;
16152 if ((result = m_h223AnnexADoubleFlag.Compare(other.m_h223AnnexADoubleFlag)) != EqualTo)
16153 return result;
16154 if ((result = m_h223AnnexB.Compare(other.m_h223AnnexB)) != EqualTo)
16155 return result;
16156 if ((result = m_h223AnnexBwithHeader.Compare(other.m_h223AnnexBwithHeader)) != EqualTo)
16157 return result;
16159 return PASN_Sequence::Compare(other);
16163 PINDEX H245_H223Capability_mobileOperationTransmitCapability::GetDataLength() const
16165 PINDEX length = 0;
16166 length += m_modeChangeCapability.GetObjectLength();
16167 length += m_h223AnnexA.GetObjectLength();
16168 length += m_h223AnnexADoubleFlag.GetObjectLength();
16169 length += m_h223AnnexB.GetObjectLength();
16170 length += m_h223AnnexBwithHeader.GetObjectLength();
16171 return length;
16175 BOOL H245_H223Capability_mobileOperationTransmitCapability::Decode(PASN_Stream & strm)
16177 if (!PreambleDecode(strm))
16178 return FALSE;
16180 if (!m_modeChangeCapability.Decode(strm))
16181 return FALSE;
16182 if (!m_h223AnnexA.Decode(strm))
16183 return FALSE;
16184 if (!m_h223AnnexADoubleFlag.Decode(strm))
16185 return FALSE;
16186 if (!m_h223AnnexB.Decode(strm))
16187 return FALSE;
16188 if (!m_h223AnnexBwithHeader.Decode(strm))
16189 return FALSE;
16191 return UnknownExtensionsDecode(strm);
16195 void H245_H223Capability_mobileOperationTransmitCapability::Encode(PASN_Stream & strm) const
16197 PreambleEncode(strm);
16199 m_modeChangeCapability.Encode(strm);
16200 m_h223AnnexA.Encode(strm);
16201 m_h223AnnexADoubleFlag.Encode(strm);
16202 m_h223AnnexB.Encode(strm);
16203 m_h223AnnexBwithHeader.Encode(strm);
16205 UnknownExtensionsEncode(strm);
16209 PObject * H245_H223Capability_mobileOperationTransmitCapability::Clone() const
16211 #ifndef PASN_LEANANDMEAN
16212 PAssert(IsClass(H245_H223Capability_mobileOperationTransmitCapability::Class()), PInvalidCast);
16213 #endif
16214 return new H245_H223Capability_mobileOperationTransmitCapability(*this);
16219 // H223Capability_mobileMultilinkFrameCapability
16222 H245_H223Capability_mobileMultilinkFrameCapability::H245_H223Capability_mobileMultilinkFrameCapability(unsigned tag, PASN_Object::TagClass tagClass)
16223 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
16225 m_maximumSampleSize.SetConstraints(PASN_Object::FixedConstraint, 1, 255);
16226 m_maximumPayloadLength.SetConstraints(PASN_Object::FixedConstraint, 1, 65025);
16230 #ifndef PASN_NOPRINTON
16231 void H245_H223Capability_mobileMultilinkFrameCapability::PrintOn(ostream & strm) const
16233 int indent = strm.precision() + 2;
16234 strm << "{\n";
16235 strm << setw(indent+20) << "maximumSampleSize = " << setprecision(indent) << m_maximumSampleSize << '\n';
16236 strm << setw(indent+23) << "maximumPayloadLength = " << setprecision(indent) << m_maximumPayloadLength << '\n';
16237 strm << setw(indent-1) << setprecision(indent-2) << "}";
16239 #endif
16242 PObject::Comparison H245_H223Capability_mobileMultilinkFrameCapability::Compare(const PObject & obj) const
16244 #ifndef PASN_LEANANDMEAN
16245 PAssert(PIsDescendant(&obj, H245_H223Capability_mobileMultilinkFrameCapability), PInvalidCast);
16246 #endif
16247 const H245_H223Capability_mobileMultilinkFrameCapability & other = (const H245_H223Capability_mobileMultilinkFrameCapability &)obj;
16249 Comparison result;
16251 if ((result = m_maximumSampleSize.Compare(other.m_maximumSampleSize)) != EqualTo)
16252 return result;
16253 if ((result = m_maximumPayloadLength.Compare(other.m_maximumPayloadLength)) != EqualTo)
16254 return result;
16256 return PASN_Sequence::Compare(other);
16260 PINDEX H245_H223Capability_mobileMultilinkFrameCapability::GetDataLength() const
16262 PINDEX length = 0;
16263 length += m_maximumSampleSize.GetObjectLength();
16264 length += m_maximumPayloadLength.GetObjectLength();
16265 return length;
16269 BOOL H245_H223Capability_mobileMultilinkFrameCapability::Decode(PASN_Stream & strm)
16271 if (!PreambleDecode(strm))
16272 return FALSE;
16274 if (!m_maximumSampleSize.Decode(strm))
16275 return FALSE;
16276 if (!m_maximumPayloadLength.Decode(strm))
16277 return FALSE;
16279 return UnknownExtensionsDecode(strm);
16283 void H245_H223Capability_mobileMultilinkFrameCapability::Encode(PASN_Stream & strm) const
16285 PreambleEncode(strm);
16287 m_maximumSampleSize.Encode(strm);
16288 m_maximumPayloadLength.Encode(strm);
16290 UnknownExtensionsEncode(strm);
16294 PObject * H245_H223Capability_mobileMultilinkFrameCapability::Clone() const
16296 #ifndef PASN_LEANANDMEAN
16297 PAssert(IsClass(H245_H223Capability_mobileMultilinkFrameCapability::Class()), PInvalidCast);
16298 #endif
16299 return new H245_H223Capability_mobileMultilinkFrameCapability(*this);
16304 // H2250Capability_mcCapability
16307 H245_H2250Capability_mcCapability::H245_H2250Capability_mcCapability(unsigned tag, PASN_Object::TagClass tagClass)
16308 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
16313 #ifndef PASN_NOPRINTON
16314 void H245_H2250Capability_mcCapability::PrintOn(ostream & strm) const
16316 int indent = strm.precision() + 2;
16317 strm << "{\n";
16318 strm << setw(indent+26) << "centralizedConferenceMC = " << setprecision(indent) << m_centralizedConferenceMC << '\n';
16319 strm << setw(indent+28) << "decentralizedConferenceMC = " << setprecision(indent) << m_decentralizedConferenceMC << '\n';
16320 strm << setw(indent-1) << setprecision(indent-2) << "}";
16322 #endif
16325 PObject::Comparison H245_H2250Capability_mcCapability::Compare(const PObject & obj) const
16327 #ifndef PASN_LEANANDMEAN
16328 PAssert(PIsDescendant(&obj, H245_H2250Capability_mcCapability), PInvalidCast);
16329 #endif
16330 const H245_H2250Capability_mcCapability & other = (const H245_H2250Capability_mcCapability &)obj;
16332 Comparison result;
16334 if ((result = m_centralizedConferenceMC.Compare(other.m_centralizedConferenceMC)) != EqualTo)
16335 return result;
16336 if ((result = m_decentralizedConferenceMC.Compare(other.m_decentralizedConferenceMC)) != EqualTo)
16337 return result;
16339 return PASN_Sequence::Compare(other);
16343 PINDEX H245_H2250Capability_mcCapability::GetDataLength() const
16345 PINDEX length = 0;
16346 length += m_centralizedConferenceMC.GetObjectLength();
16347 length += m_decentralizedConferenceMC.GetObjectLength();
16348 return length;
16352 BOOL H245_H2250Capability_mcCapability::Decode(PASN_Stream & strm)
16354 if (!PreambleDecode(strm))
16355 return FALSE;
16357 if (!m_centralizedConferenceMC.Decode(strm))
16358 return FALSE;
16359 if (!m_decentralizedConferenceMC.Decode(strm))
16360 return FALSE;
16362 return UnknownExtensionsDecode(strm);
16366 void H245_H2250Capability_mcCapability::Encode(PASN_Stream & strm) const
16368 PreambleEncode(strm);
16370 m_centralizedConferenceMC.Encode(strm);
16371 m_decentralizedConferenceMC.Encode(strm);
16373 UnknownExtensionsEncode(strm);
16377 PObject * H245_H2250Capability_mcCapability::Clone() const
16379 #ifndef PASN_LEANANDMEAN
16380 PAssert(IsClass(H245_H2250Capability_mcCapability::Class()), PInvalidCast);
16381 #endif
16382 return new H245_H2250Capability_mcCapability(*this);
16387 // ArrayOf_RedundancyEncodingCapability
16390 H245_ArrayOf_RedundancyEncodingCapability::H245_ArrayOf_RedundancyEncodingCapability(unsigned tag, PASN_Object::TagClass tagClass)
16391 : PASN_Array(tag, tagClass)
16396 PASN_Object * H245_ArrayOf_RedundancyEncodingCapability::CreateObject() const
16398 return new H245_RedundancyEncodingCapability;
16402 H245_RedundancyEncodingCapability & H245_ArrayOf_RedundancyEncodingCapability::operator[](PINDEX i) const
16404 return (H245_RedundancyEncodingCapability &)array[i];
16408 PObject * H245_ArrayOf_RedundancyEncodingCapability::Clone() const
16410 #ifndef PASN_LEANANDMEAN
16411 PAssert(IsClass(H245_ArrayOf_RedundancyEncodingCapability::Class()), PInvalidCast);
16412 #endif
16413 return new H245_ArrayOf_RedundancyEncodingCapability(*this);
16418 // ArrayOf_RTPPayloadType
16421 H245_ArrayOf_RTPPayloadType::H245_ArrayOf_RTPPayloadType(unsigned tag, PASN_Object::TagClass tagClass)
16422 : PASN_Array(tag, tagClass)
16427 PASN_Object * H245_ArrayOf_RTPPayloadType::CreateObject() const
16429 return new H245_RTPPayloadType;
16433 H245_RTPPayloadType & H245_ArrayOf_RTPPayloadType::operator[](PINDEX i) const
16435 return (H245_RTPPayloadType &)array[i];
16439 PObject * H245_ArrayOf_RTPPayloadType::Clone() const
16441 #ifndef PASN_LEANANDMEAN
16442 PAssert(IsClass(H245_ArrayOf_RTPPayloadType::Class()), PInvalidCast);
16443 #endif
16444 return new H245_ArrayOf_RTPPayloadType(*this);
16449 // MediaTransportType_atm-AAL5-compressed
16452 H245_MediaTransportType_atm_AAL5_compressed::H245_MediaTransportType_atm_AAL5_compressed(unsigned tag, PASN_Object::TagClass tagClass)
16453 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
16458 #ifndef PASN_NOPRINTON
16459 void H245_MediaTransportType_atm_AAL5_compressed::PrintOn(ostream & strm) const
16461 int indent = strm.precision() + 2;
16462 strm << "{\n";
16463 strm << setw(indent+17) << "variable_delta = " << setprecision(indent) << m_variable_delta << '\n';
16464 strm << setw(indent-1) << setprecision(indent-2) << "}";
16466 #endif
16469 PObject::Comparison H245_MediaTransportType_atm_AAL5_compressed::Compare(const PObject & obj) const
16471 #ifndef PASN_LEANANDMEAN
16472 PAssert(PIsDescendant(&obj, H245_MediaTransportType_atm_AAL5_compressed), PInvalidCast);
16473 #endif
16474 const H245_MediaTransportType_atm_AAL5_compressed & other = (const H245_MediaTransportType_atm_AAL5_compressed &)obj;
16476 Comparison result;
16478 if ((result = m_variable_delta.Compare(other.m_variable_delta)) != EqualTo)
16479 return result;
16481 return PASN_Sequence::Compare(other);
16485 PINDEX H245_MediaTransportType_atm_AAL5_compressed::GetDataLength() const
16487 PINDEX length = 0;
16488 length += m_variable_delta.GetObjectLength();
16489 return length;
16493 BOOL H245_MediaTransportType_atm_AAL5_compressed::Decode(PASN_Stream & strm)
16495 if (!PreambleDecode(strm))
16496 return FALSE;
16498 if (!m_variable_delta.Decode(strm))
16499 return FALSE;
16501 return UnknownExtensionsDecode(strm);
16505 void H245_MediaTransportType_atm_AAL5_compressed::Encode(PASN_Stream & strm) const
16507 PreambleEncode(strm);
16509 m_variable_delta.Encode(strm);
16511 UnknownExtensionsEncode(strm);
16515 PObject * H245_MediaTransportType_atm_AAL5_compressed::Clone() const
16517 #ifndef PASN_LEANANDMEAN
16518 PAssert(IsClass(H245_MediaTransportType_atm_AAL5_compressed::Class()), PInvalidCast);
16519 #endif
16520 return new H245_MediaTransportType_atm_AAL5_compressed(*this);
16525 // ArrayOf_QOSCapability
16528 H245_ArrayOf_QOSCapability::H245_ArrayOf_QOSCapability(unsigned tag, PASN_Object::TagClass tagClass)
16529 : PASN_Array(tag, tagClass)
16534 PASN_Object * H245_ArrayOf_QOSCapability::CreateObject() const
16536 return new H245_QOSCapability;
16540 H245_QOSCapability & H245_ArrayOf_QOSCapability::operator[](PINDEX i) const
16542 return (H245_QOSCapability &)array[i];
16546 PObject * H245_ArrayOf_QOSCapability::Clone() const
16548 #ifndef PASN_LEANANDMEAN
16549 PAssert(IsClass(H245_ArrayOf_QOSCapability::Class()), PInvalidCast);
16550 #endif
16551 return new H245_ArrayOf_QOSCapability(*this);
16556 // ArrayOf_MediaChannelCapability
16559 H245_ArrayOf_MediaChannelCapability::H245_ArrayOf_MediaChannelCapability(unsigned tag, PASN_Object::TagClass tagClass)
16560 : PASN_Array(tag, tagClass)
16565 PASN_Object * H245_ArrayOf_MediaChannelCapability::CreateObject() const
16567 return new H245_MediaChannelCapability;
16571 H245_MediaChannelCapability & H245_ArrayOf_MediaChannelCapability::operator[](PINDEX i) const
16573 return (H245_MediaChannelCapability &)array[i];
16577 PObject * H245_ArrayOf_MediaChannelCapability::Clone() const
16579 #ifndef PASN_LEANANDMEAN
16580 PAssert(IsClass(H245_ArrayOf_MediaChannelCapability::Class()), PInvalidCast);
16581 #endif
16582 return new H245_ArrayOf_MediaChannelCapability(*this);
16587 // ArrayOf_CapabilityTableEntryNumber
16590 H245_ArrayOf_CapabilityTableEntryNumber::H245_ArrayOf_CapabilityTableEntryNumber(unsigned tag, PASN_Object::TagClass tagClass)
16591 : PASN_Array(tag, tagClass)
16596 PASN_Object * H245_ArrayOf_CapabilityTableEntryNumber::CreateObject() const
16598 return new H245_CapabilityTableEntryNumber;
16602 H245_CapabilityTableEntryNumber & H245_ArrayOf_CapabilityTableEntryNumber::operator[](PINDEX i) const
16604 return (H245_CapabilityTableEntryNumber &)array[i];
16608 PObject * H245_ArrayOf_CapabilityTableEntryNumber::Clone() const
16610 #ifndef PASN_LEANANDMEAN
16611 PAssert(IsClass(H245_ArrayOf_CapabilityTableEntryNumber::Class()), PInvalidCast);
16612 #endif
16613 return new H245_ArrayOf_CapabilityTableEntryNumber(*this);
16618 #ifndef PASN_NOPRINTON
16619 const static PASN_Names Names_H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping[]={
16620 {"roundrobin",0}
16621 ,{"custom",1}
16623 #endif
16625 // RTPH263VideoRedundancyEncoding_frameToThreadMapping
16628 H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(unsigned tag, PASN_Object::TagClass tagClass)
16629 : PASN_Choice(tag, tagClass, 2, TRUE
16630 #ifndef PASN_NOPRINTON
16631 ,(const PASN_Names *)Names_H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping,2
16632 #endif
16638 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
16639 H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::operator H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &() const
16640 #else
16641 H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::operator H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &()
16643 #ifndef PASN_LEANANDMEAN
16644 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_RTPH263VideoRedundancyFrameMapping), PInvalidCast);
16645 #endif
16646 return *(H245_ArrayOf_RTPH263VideoRedundancyFrameMapping *)choice;
16650 H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::operator const H245_ArrayOf_RTPH263VideoRedundancyFrameMapping &() const
16651 #endif
16653 #ifndef PASN_LEANANDMEAN
16654 PAssert(PIsDescendant(PAssertNULL(choice), H245_ArrayOf_RTPH263VideoRedundancyFrameMapping), PInvalidCast);
16655 #endif
16656 return *(H245_ArrayOf_RTPH263VideoRedundancyFrameMapping *)choice;
16660 BOOL H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::CreateObject()
16662 switch (tag) {
16663 case e_roundrobin :
16664 choice = new PASN_Null();
16665 return TRUE;
16666 case e_custom :
16667 choice = new H245_ArrayOf_RTPH263VideoRedundancyFrameMapping();
16668 choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
16669 return TRUE;
16672 choice = NULL;
16673 return FALSE;
16677 PObject * H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::Clone() const
16679 #ifndef PASN_LEANANDMEAN
16680 PAssert(IsClass(H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping::Class()), PInvalidCast);
16681 #endif
16682 return new H245_RTPH263VideoRedundancyEncoding_frameToThreadMapping(*this);
16687 // RTPH263VideoRedundancyEncoding_containedThreads
16690 H245_RTPH263VideoRedundancyEncoding_containedThreads::H245_RTPH263VideoRedundancyEncoding_containedThreads(unsigned tag, PASN_Object::TagClass tagClass)
16691 : PASN_Array(tag, tagClass)
16693 SetConstraints(PASN_Object::FixedConstraint, 1, 256);
16697 PASN_Object * H245_RTPH263VideoRedundancyEncoding_containedThreads::CreateObject() const
16699 PASN_Integer * obj = new PASN_Integer;
16700 obj->SetConstraints(PASN_Object::FixedConstraint, 0, 15);
16701 return obj;
16705 PASN_Integer & H245_RTPH263VideoRedundancyEncoding_containedThreads::operator[](PINDEX i) const
16707 return (PASN_Integer &)array[i];
16711 PObject * H245_RTPH263VideoRedundancyEncoding_containedThreads::Clone() const
16713 #ifndef PASN_LEANANDMEAN
16714 PAssert(IsClass(H245_RTPH263VideoRedundancyEncoding_containedThreads::Class()), PInvalidCast);
16715 #endif
16716 return new H245_RTPH263VideoRedundancyEncoding_containedThreads(*this);
16721 // RTPH263VideoRedundancyFrameMapping_frameSequence
16724 H245_RTPH263VideoRedundancyFrameMapping_frameSequence::H245_RTPH263VideoRedundancyFrameMapping_frameSequence(unsigned tag, PASN_Object::TagClass tagClass)
16725 : PASN_Array(tag, tagClass)
16727 SetConstraints(PASN_Object::FixedConstraint, 1, 256);
16731 PASN_Object * H245_RTPH263VideoRedundancyFrameMapping_frameSequence::CreateObject() const
16733 PASN_Integer * obj = new PASN_Integer;
16734 obj->SetConstraints(PASN_Object::FixedConstraint, 0, 255);
16735 return obj;
16739 PASN_Integer & H245_RTPH263VideoRedundancyFrameMapping_frameSequence::operator[](PINDEX i) const
16741 return (PASN_Integer &)array[i];
16745 PObject * H245_RTPH263VideoRedundancyFrameMapping_frameSequence::Clone() const
16747 #ifndef PASN_LEANANDMEAN
16748 PAssert(IsClass(H245_RTPH263VideoRedundancyFrameMapping_frameSequence::Class()), PInvalidCast);
16749 #endif
16750 return new H245_RTPH263VideoRedundancyFrameMapping_frameSequence(*this);
16755 // ArrayOf_MediaDistributionCapability
16758 H245_ArrayOf_MediaDistributionCapability::H245_ArrayOf_MediaDistributionCapability(unsigned tag, PASN_Object::TagClass tagClass)
16759 : PASN_Array(tag, tagClass)
16764 PASN_Object * H245_ArrayOf_MediaDistributionCapability::CreateObject() const
16766 return new H245_MediaDistributionCapability;
16770 H245_MediaDistributionCapability & H245_ArrayOf_MediaDistributionCapability::operator[](PINDEX i) const
16772 return (H245_MediaDistributionCapability &)array[i];
16776 PObject * H245_ArrayOf_MediaDistributionCapability::Clone() const
16778 #ifndef PASN_LEANANDMEAN
16779 PAssert(IsClass(H245_ArrayOf_MediaDistributionCapability::Class()), PInvalidCast);
16780 #endif
16781 return new H245_ArrayOf_MediaDistributionCapability(*this);
16786 // ArrayOf_DataApplicationCapability
16789 H245_ArrayOf_DataApplicationCapability::H245_ArrayOf_DataApplicationCapability(unsigned tag, PASN_Object::TagClass tagClass)
16790 : PASN_Array(tag, tagClass)
16795 PASN_Object * H245_ArrayOf_DataApplicationCapability::CreateObject() const
16797 return new H245_DataApplicationCapability;
16801 H245_DataApplicationCapability & H245_ArrayOf_DataApplicationCapability::operator[](PINDEX i) const
16803 return (H245_DataApplicationCapability &)array[i];
16807 PObject * H245_ArrayOf_DataApplicationCapability::Clone() const
16809 #ifndef PASN_LEANANDMEAN
16810 PAssert(IsClass(H245_ArrayOf_DataApplicationCapability::Class()), PInvalidCast);
16811 #endif
16812 return new H245_ArrayOf_DataApplicationCapability(*this);
16817 // ArrayOf_VideoCapability
16820 H245_ArrayOf_VideoCapability::H245_ArrayOf_VideoCapability(unsigned tag, PASN_Object::TagClass tagClass)
16821 : PASN_Array(tag, tagClass)
16826 PASN_Object * H245_ArrayOf_VideoCapability::CreateObject() const
16828 return new H245_VideoCapability;
16832 H245_VideoCapability & H245_ArrayOf_VideoCapability::operator[](PINDEX i) const
16834 return (H245_VideoCapability &)array[i];
16838 PObject * H245_ArrayOf_VideoCapability::Clone() const
16840 #ifndef PASN_LEANANDMEAN
16841 PAssert(IsClass(H245_ArrayOf_VideoCapability::Class()), PInvalidCast);
16842 #endif
16843 return new H245_ArrayOf_VideoCapability(*this);
16848 // ArrayOf_GenericCapability
16851 H245_ArrayOf_GenericCapability::H245_ArrayOf_GenericCapability(unsigned tag, PASN_Object::TagClass tagClass)
16852 : PASN_Array(tag, tagClass)
16857 PASN_Object * H245_ArrayOf_GenericCapability::CreateObject() const
16859 return new H245_GenericCapability;
16863 H245_GenericCapability & H245_ArrayOf_GenericCapability::operator[](PINDEX i) const
16865 return (H245_GenericCapability &)array[i];
16869 PObject * H245_ArrayOf_GenericCapability::Clone() const
16871 #ifndef PASN_LEANANDMEAN
16872 PAssert(IsClass(H245_ArrayOf_GenericCapability::Class()), PInvalidCast);
16873 #endif
16874 return new H245_ArrayOf_GenericCapability(*this);
16879 // ArrayOf_EnhancementOptions
16882 H245_ArrayOf_EnhancementOptions::H245_ArrayOf_EnhancementOptions(unsigned tag, PASN_Object::TagClass tagClass)
16883 : PASN_Array(tag, tagClass)
16888 PASN_Object * H245_ArrayOf_EnhancementOptions::CreateObject() const
16890 return new H245_EnhancementOptions;
16894 H245_EnhancementOptions & H245_ArrayOf_EnhancementOptions::operator[](PINDEX i) const
16896 return (H245_EnhancementOptions &)array[i];
16900 PObject * H245_ArrayOf_EnhancementOptions::Clone() const
16902 #ifndef PASN_LEANANDMEAN
16903 PAssert(IsClass(H245_ArrayOf_EnhancementOptions::Class()), PInvalidCast);
16904 #endif
16905 return new H245_ArrayOf_EnhancementOptions(*this);
16910 // ArrayOf_BEnhancementParameters
16913 H245_ArrayOf_BEnhancementParameters::H245_ArrayOf_BEnhancementParameters(unsigned tag, PASN_Object::TagClass tagClass)
16914 : PASN_Array(tag, tagClass)
16919 PASN_Object * H245_ArrayOf_BEnhancementParameters::CreateObject() const
16921 return new H245_BEnhancementParameters;
16925 H245_BEnhancementParameters & H245_ArrayOf_BEnhancementParameters::operator[](PINDEX i) const
16927 return (H245_BEnhancementParameters &)array[i];
16931 PObject * H245_ArrayOf_BEnhancementParameters::Clone() const
16933 #ifndef PASN_LEANANDMEAN
16934 PAssert(IsClass(H245_ArrayOf_BEnhancementParameters::Class()), PInvalidCast);
16935 #endif
16936 return new H245_ArrayOf_BEnhancementParameters(*this);
16941 // ArrayOf_CustomPictureClockFrequency
16944 H245_ArrayOf_CustomPictureClockFrequency::H245_ArrayOf_CustomPictureClockFrequency(unsigned tag, PASN_Object::TagClass tagClass)
16945 : PASN_Array(tag, tagClass)
16950 PASN_Object * H245_ArrayOf_CustomPictureClockFrequency::CreateObject() const
16952 return new H245_CustomPictureClockFrequency;
16956 H245_CustomPictureClockFrequency & H245_ArrayOf_CustomPictureClockFrequency::operator[](PINDEX i) const
16958 return (H245_CustomPictureClockFrequency &)array[i];
16962 PObject * H245_ArrayOf_CustomPictureClockFrequency::Clone() const
16964 #ifndef PASN_LEANANDMEAN
16965 PAssert(IsClass(H245_ArrayOf_CustomPictureClockFrequency::Class()), PInvalidCast);
16966 #endif
16967 return new H245_ArrayOf_CustomPictureClockFrequency(*this);
16971 #endif // if ! H323_DISABLE_H245
16974 // End of h245_1.cxx