Fixed dependency
[opal.git] / src / asn / h248.cxx
blobf779e5568d159f5d702c7c4cae0ae8b9e2eb4075
1 //
2 // h248.cxx
3 //
4 // Code automatically generated by asnparse.
5 //
7 #ifdef P_USE_PRAGMA
8 #pragma implementation "h248.h"
9 #endif
11 #include <ptlib.h>
12 #include "asn/h248.h"
14 #define new PNEW
17 #if ! H323_DISABLE_H248
20 // SecurityParmIndex
23 H248_SecurityParmIndex::H248_SecurityParmIndex(unsigned tag, PASN_Object::TagClass tagClass)
24 : PASN_OctetString(tag, tagClass)
26 SetConstraints(PASN_Object::FixedConstraint, 4);
30 H248_SecurityParmIndex::H248_SecurityParmIndex(const char * v)
32 SetValue(v);
36 H248_SecurityParmIndex::H248_SecurityParmIndex(const PString & v)
38 SetValue(v);
42 H248_SecurityParmIndex::H248_SecurityParmIndex(const PBYTEArray & v)
44 SetValue(v);
48 H248_SecurityParmIndex & H248_SecurityParmIndex::operator=(const char * v)
50 SetValue(v);
51 return *this;
55 H248_SecurityParmIndex & H248_SecurityParmIndex::operator=(const PString & v)
57 SetValue(v);
58 return *this;
62 H248_SecurityParmIndex & H248_SecurityParmIndex::operator=(const PBYTEArray & v)
64 SetValue(v);
65 return *this;
69 PObject * H248_SecurityParmIndex::Clone() const
71 #ifndef PASN_LEANANDMEAN
72 PAssert(IsClass(H248_SecurityParmIndex::Class()), PInvalidCast);
73 #endif
74 return new H248_SecurityParmIndex(*this);
79 // SequenceNum
82 H248_SequenceNum::H248_SequenceNum(unsigned tag, PASN_Object::TagClass tagClass)
83 : PASN_OctetString(tag, tagClass)
85 SetConstraints(PASN_Object::FixedConstraint, 4);
89 H248_SequenceNum::H248_SequenceNum(const char * v)
91 SetValue(v);
95 H248_SequenceNum::H248_SequenceNum(const PString & v)
97 SetValue(v);
101 H248_SequenceNum::H248_SequenceNum(const PBYTEArray & v)
103 SetValue(v);
107 H248_SequenceNum & H248_SequenceNum::operator=(const char * v)
109 SetValue(v);
110 return *this;
114 H248_SequenceNum & H248_SequenceNum::operator=(const PString & v)
116 SetValue(v);
117 return *this;
121 H248_SequenceNum & H248_SequenceNum::operator=(const PBYTEArray & v)
123 SetValue(v);
124 return *this;
128 PObject * H248_SequenceNum::Clone() const
130 #ifndef PASN_LEANANDMEAN
131 PAssert(IsClass(H248_SequenceNum::Class()), PInvalidCast);
132 #endif
133 return new H248_SequenceNum(*this);
138 // AuthData
141 H248_AuthData::H248_AuthData(unsigned tag, PASN_Object::TagClass tagClass)
142 : PASN_OctetString(tag, tagClass)
144 SetConstraints(PASN_Object::FixedConstraint, 12, 32);
148 H248_AuthData::H248_AuthData(const char * v)
150 SetValue(v);
154 H248_AuthData::H248_AuthData(const PString & v)
156 SetValue(v);
160 H248_AuthData::H248_AuthData(const PBYTEArray & v)
162 SetValue(v);
166 H248_AuthData & H248_AuthData::operator=(const char * v)
168 SetValue(v);
169 return *this;
173 H248_AuthData & H248_AuthData::operator=(const PString & v)
175 SetValue(v);
176 return *this;
180 H248_AuthData & H248_AuthData::operator=(const PBYTEArray & v)
182 SetValue(v);
183 return *this;
187 PObject * H248_AuthData::Clone() const
189 #ifndef PASN_LEANANDMEAN
190 PAssert(IsClass(H248_AuthData::Class()), PInvalidCast);
191 #endif
192 return new H248_AuthData(*this);
197 #ifndef PASN_NOPRINTON
198 const static PASN_Names Names_H248_MId[]={
199 {"ip4Address",0}
200 ,{"ip6Address",1}
201 ,{"domainName",2}
202 ,{"deviceName",3}
203 ,{"mtpAddress",4}
205 #endif
207 // MId
210 H248_MId::H248_MId(unsigned tag, PASN_Object::TagClass tagClass)
211 : PASN_Choice(tag, tagClass, 5, TRUE
212 #ifndef PASN_NOPRINTON
213 ,(const PASN_Names *)Names_H248_MId,5
214 #endif
220 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
221 H248_MId::operator H248_IP4Address &() const
222 #else
223 H248_MId::operator H248_IP4Address &()
225 #ifndef PASN_LEANANDMEAN
226 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP4Address), PInvalidCast);
227 #endif
228 return *(H248_IP4Address *)choice;
232 H248_MId::operator const H248_IP4Address &() const
233 #endif
235 #ifndef PASN_LEANANDMEAN
236 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP4Address), PInvalidCast);
237 #endif
238 return *(H248_IP4Address *)choice;
242 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
243 H248_MId::operator H248_IP6Address &() const
244 #else
245 H248_MId::operator H248_IP6Address &()
247 #ifndef PASN_LEANANDMEAN
248 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP6Address), PInvalidCast);
249 #endif
250 return *(H248_IP6Address *)choice;
254 H248_MId::operator const H248_IP6Address &() const
255 #endif
257 #ifndef PASN_LEANANDMEAN
258 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP6Address), PInvalidCast);
259 #endif
260 return *(H248_IP6Address *)choice;
264 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
265 H248_MId::operator H248_DomainName &() const
266 #else
267 H248_MId::operator H248_DomainName &()
269 #ifndef PASN_LEANANDMEAN
270 PAssert(PIsDescendant(PAssertNULL(choice), H248_DomainName), PInvalidCast);
271 #endif
272 return *(H248_DomainName *)choice;
276 H248_MId::operator const H248_DomainName &() const
277 #endif
279 #ifndef PASN_LEANANDMEAN
280 PAssert(PIsDescendant(PAssertNULL(choice), H248_DomainName), PInvalidCast);
281 #endif
282 return *(H248_DomainName *)choice;
286 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
287 H248_MId::operator H248_PathName &() const
288 #else
289 H248_MId::operator H248_PathName &()
291 #ifndef PASN_LEANANDMEAN
292 PAssert(PIsDescendant(PAssertNULL(choice), H248_PathName), PInvalidCast);
293 #endif
294 return *(H248_PathName *)choice;
298 H248_MId::operator const H248_PathName &() const
299 #endif
301 #ifndef PASN_LEANANDMEAN
302 PAssert(PIsDescendant(PAssertNULL(choice), H248_PathName), PInvalidCast);
303 #endif
304 return *(H248_PathName *)choice;
308 BOOL H248_MId::CreateObject()
310 switch (tag) {
311 case e_ip4Address :
312 choice = new H248_IP4Address();
313 return TRUE;
314 case e_ip6Address :
315 choice = new H248_IP6Address();
316 return TRUE;
317 case e_domainName :
318 choice = new H248_DomainName();
319 return TRUE;
320 case e_deviceName :
321 choice = new H248_PathName();
322 return TRUE;
323 case e_mtpAddress :
324 choice = new PASN_OctetString();
325 choice->SetConstraints(PASN_Object::FixedConstraint, 2, 4);
326 return TRUE;
329 choice = NULL;
330 return FALSE;
334 PObject * H248_MId::Clone() const
336 #ifndef PASN_LEANANDMEAN
337 PAssert(IsClass(H248_MId::Class()), PInvalidCast);
338 #endif
339 return new H248_MId(*this);
344 // DomainName
347 H248_DomainName::H248_DomainName(unsigned tag, PASN_Object::TagClass tagClass)
348 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
350 m_portNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
354 #ifndef PASN_NOPRINTON
355 void H248_DomainName::PrintOn(ostream & strm) const
357 int indent = strm.precision() + 2;
358 strm << "{\n";
359 strm << setw(indent+7) << "name = " << setprecision(indent) << m_name << '\n';
360 if (HasOptionalField(e_portNumber))
361 strm << setw(indent+13) << "portNumber = " << setprecision(indent) << m_portNumber << '\n';
362 strm << setw(indent-1) << setprecision(indent-2) << "}";
364 #endif
367 PObject::Comparison H248_DomainName::Compare(const PObject & obj) const
369 #ifndef PASN_LEANANDMEAN
370 PAssert(PIsDescendant(&obj, H248_DomainName), PInvalidCast);
371 #endif
372 const H248_DomainName & other = (const H248_DomainName &)obj;
374 Comparison result;
376 if ((result = m_name.Compare(other.m_name)) != EqualTo)
377 return result;
378 if ((result = m_portNumber.Compare(other.m_portNumber)) != EqualTo)
379 return result;
381 return PASN_Sequence::Compare(other);
385 PINDEX H248_DomainName::GetDataLength() const
387 PINDEX length = 0;
388 length += m_name.GetObjectLength();
389 if (HasOptionalField(e_portNumber))
390 length += m_portNumber.GetObjectLength();
391 return length;
395 BOOL H248_DomainName::Decode(PASN_Stream & strm)
397 if (!PreambleDecode(strm))
398 return FALSE;
400 if (!m_name.Decode(strm))
401 return FALSE;
402 if (HasOptionalField(e_portNumber) && !m_portNumber.Decode(strm))
403 return FALSE;
405 return UnknownExtensionsDecode(strm);
409 void H248_DomainName::Encode(PASN_Stream & strm) const
411 PreambleEncode(strm);
413 m_name.Encode(strm);
414 if (HasOptionalField(e_portNumber))
415 m_portNumber.Encode(strm);
417 UnknownExtensionsEncode(strm);
421 PObject * H248_DomainName::Clone() const
423 #ifndef PASN_LEANANDMEAN
424 PAssert(IsClass(H248_DomainName::Class()), PInvalidCast);
425 #endif
426 return new H248_DomainName(*this);
431 // IP4Address
434 H248_IP4Address::H248_IP4Address(unsigned tag, PASN_Object::TagClass tagClass)
435 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
437 m_address.SetConstraints(PASN_Object::FixedConstraint, 4);
438 m_portNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
442 #ifndef PASN_NOPRINTON
443 void H248_IP4Address::PrintOn(ostream & strm) const
445 int indent = strm.precision() + 2;
446 strm << "{\n";
447 strm << setw(indent+10) << "address = " << setprecision(indent) << m_address << '\n';
448 if (HasOptionalField(e_portNumber))
449 strm << setw(indent+13) << "portNumber = " << setprecision(indent) << m_portNumber << '\n';
450 strm << setw(indent-1) << setprecision(indent-2) << "}";
452 #endif
455 PObject::Comparison H248_IP4Address::Compare(const PObject & obj) const
457 #ifndef PASN_LEANANDMEAN
458 PAssert(PIsDescendant(&obj, H248_IP4Address), PInvalidCast);
459 #endif
460 const H248_IP4Address & other = (const H248_IP4Address &)obj;
462 Comparison result;
464 if ((result = m_address.Compare(other.m_address)) != EqualTo)
465 return result;
466 if ((result = m_portNumber.Compare(other.m_portNumber)) != EqualTo)
467 return result;
469 return PASN_Sequence::Compare(other);
473 PINDEX H248_IP4Address::GetDataLength() const
475 PINDEX length = 0;
476 length += m_address.GetObjectLength();
477 if (HasOptionalField(e_portNumber))
478 length += m_portNumber.GetObjectLength();
479 return length;
483 BOOL H248_IP4Address::Decode(PASN_Stream & strm)
485 if (!PreambleDecode(strm))
486 return FALSE;
488 if (!m_address.Decode(strm))
489 return FALSE;
490 if (HasOptionalField(e_portNumber) && !m_portNumber.Decode(strm))
491 return FALSE;
493 return UnknownExtensionsDecode(strm);
497 void H248_IP4Address::Encode(PASN_Stream & strm) const
499 PreambleEncode(strm);
501 m_address.Encode(strm);
502 if (HasOptionalField(e_portNumber))
503 m_portNumber.Encode(strm);
505 UnknownExtensionsEncode(strm);
509 PObject * H248_IP4Address::Clone() const
511 #ifndef PASN_LEANANDMEAN
512 PAssert(IsClass(H248_IP4Address::Class()), PInvalidCast);
513 #endif
514 return new H248_IP4Address(*this);
519 // IP6Address
522 H248_IP6Address::H248_IP6Address(unsigned tag, PASN_Object::TagClass tagClass)
523 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
525 m_address.SetConstraints(PASN_Object::FixedConstraint, 16);
526 m_portNumber.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
530 #ifndef PASN_NOPRINTON
531 void H248_IP6Address::PrintOn(ostream & strm) const
533 int indent = strm.precision() + 2;
534 strm << "{\n";
535 strm << setw(indent+10) << "address = " << setprecision(indent) << m_address << '\n';
536 if (HasOptionalField(e_portNumber))
537 strm << setw(indent+13) << "portNumber = " << setprecision(indent) << m_portNumber << '\n';
538 strm << setw(indent-1) << setprecision(indent-2) << "}";
540 #endif
543 PObject::Comparison H248_IP6Address::Compare(const PObject & obj) const
545 #ifndef PASN_LEANANDMEAN
546 PAssert(PIsDescendant(&obj, H248_IP6Address), PInvalidCast);
547 #endif
548 const H248_IP6Address & other = (const H248_IP6Address &)obj;
550 Comparison result;
552 if ((result = m_address.Compare(other.m_address)) != EqualTo)
553 return result;
554 if ((result = m_portNumber.Compare(other.m_portNumber)) != EqualTo)
555 return result;
557 return PASN_Sequence::Compare(other);
561 PINDEX H248_IP6Address::GetDataLength() const
563 PINDEX length = 0;
564 length += m_address.GetObjectLength();
565 if (HasOptionalField(e_portNumber))
566 length += m_portNumber.GetObjectLength();
567 return length;
571 BOOL H248_IP6Address::Decode(PASN_Stream & strm)
573 if (!PreambleDecode(strm))
574 return FALSE;
576 if (!m_address.Decode(strm))
577 return FALSE;
578 if (HasOptionalField(e_portNumber) && !m_portNumber.Decode(strm))
579 return FALSE;
581 return UnknownExtensionsDecode(strm);
585 void H248_IP6Address::Encode(PASN_Stream & strm) const
587 PreambleEncode(strm);
589 m_address.Encode(strm);
590 if (HasOptionalField(e_portNumber))
591 m_portNumber.Encode(strm);
593 UnknownExtensionsEncode(strm);
597 PObject * H248_IP6Address::Clone() const
599 #ifndef PASN_LEANANDMEAN
600 PAssert(IsClass(H248_IP6Address::Class()), PInvalidCast);
601 #endif
602 return new H248_IP6Address(*this);
607 // PathName
610 H248_PathName::H248_PathName(unsigned tag, PASN_Object::TagClass tagClass)
611 : PASN_IA5String(tag, tagClass)
613 SetConstraints(PASN_Object::FixedConstraint, 1, 64);
617 H248_PathName & H248_PathName::operator=(const char * v)
619 SetValue(v);
620 return *this;
624 H248_PathName & H248_PathName::operator=(const PString & v)
626 SetValue(v);
627 return *this;
631 PObject * H248_PathName::Clone() const
633 #ifndef PASN_LEANANDMEAN
634 PAssert(IsClass(H248_PathName::Class()), PInvalidCast);
635 #endif
636 return new H248_PathName(*this);
641 #ifndef PASN_NOPRINTON
642 const static PASN_Names Names_H248_Transaction[]={
643 {"transactionRequest",0}
644 ,{"transactionPending",1}
645 ,{"transactionReply",2}
646 ,{"transactionResponseAck",3}
648 #endif
650 // Transaction
653 H248_Transaction::H248_Transaction(unsigned tag, PASN_Object::TagClass tagClass)
654 : PASN_Choice(tag, tagClass, 4, TRUE
655 #ifndef PASN_NOPRINTON
656 ,(const PASN_Names *)Names_H248_Transaction,4
657 #endif
663 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
664 H248_Transaction::operator H248_TransactionRequest &() const
665 #else
666 H248_Transaction::operator H248_TransactionRequest &()
668 #ifndef PASN_LEANANDMEAN
669 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionRequest), PInvalidCast);
670 #endif
671 return *(H248_TransactionRequest *)choice;
675 H248_Transaction::operator const H248_TransactionRequest &() const
676 #endif
678 #ifndef PASN_LEANANDMEAN
679 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionRequest), PInvalidCast);
680 #endif
681 return *(H248_TransactionRequest *)choice;
685 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
686 H248_Transaction::operator H248_TransactionPending &() const
687 #else
688 H248_Transaction::operator H248_TransactionPending &()
690 #ifndef PASN_LEANANDMEAN
691 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionPending), PInvalidCast);
692 #endif
693 return *(H248_TransactionPending *)choice;
697 H248_Transaction::operator const H248_TransactionPending &() const
698 #endif
700 #ifndef PASN_LEANANDMEAN
701 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionPending), PInvalidCast);
702 #endif
703 return *(H248_TransactionPending *)choice;
707 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
708 H248_Transaction::operator H248_TransactionReply &() const
709 #else
710 H248_Transaction::operator H248_TransactionReply &()
712 #ifndef PASN_LEANANDMEAN
713 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionReply), PInvalidCast);
714 #endif
715 return *(H248_TransactionReply *)choice;
719 H248_Transaction::operator const H248_TransactionReply &() const
720 #endif
722 #ifndef PASN_LEANANDMEAN
723 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionReply), PInvalidCast);
724 #endif
725 return *(H248_TransactionReply *)choice;
729 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
730 H248_Transaction::operator H248_TransactionResponseAck &() const
731 #else
732 H248_Transaction::operator H248_TransactionResponseAck &()
734 #ifndef PASN_LEANANDMEAN
735 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionResponseAck), PInvalidCast);
736 #endif
737 return *(H248_TransactionResponseAck *)choice;
741 H248_Transaction::operator const H248_TransactionResponseAck &() const
742 #endif
744 #ifndef PASN_LEANANDMEAN
745 PAssert(PIsDescendant(PAssertNULL(choice), H248_TransactionResponseAck), PInvalidCast);
746 #endif
747 return *(H248_TransactionResponseAck *)choice;
751 BOOL H248_Transaction::CreateObject()
753 switch (tag) {
754 case e_transactionRequest :
755 choice = new H248_TransactionRequest();
756 return TRUE;
757 case e_transactionPending :
758 choice = new H248_TransactionPending();
759 return TRUE;
760 case e_transactionReply :
761 choice = new H248_TransactionReply();
762 return TRUE;
763 case e_transactionResponseAck :
764 choice = new H248_TransactionResponseAck();
765 return TRUE;
768 choice = NULL;
769 return FALSE;
773 PObject * H248_Transaction::Clone() const
775 #ifndef PASN_LEANANDMEAN
776 PAssert(IsClass(H248_Transaction::Class()), PInvalidCast);
777 #endif
778 return new H248_Transaction(*this);
783 // TransactionId
786 H248_TransactionId::H248_TransactionId(unsigned tag, PASN_Object::TagClass tagClass)
787 : PASN_Integer(tag, tagClass)
789 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
793 H248_TransactionId & H248_TransactionId::operator=(int v)
795 SetValue(v);
796 return *this;
800 H248_TransactionId & H248_TransactionId::operator=(unsigned v)
802 SetValue(v);
803 return *this;
807 PObject * H248_TransactionId::Clone() const
809 #ifndef PASN_LEANANDMEAN
810 PAssert(IsClass(H248_TransactionId::Class()), PInvalidCast);
811 #endif
812 return new H248_TransactionId(*this);
817 // TransactionPending
820 H248_TransactionPending::H248_TransactionPending(unsigned tag, PASN_Object::TagClass tagClass)
821 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
826 #ifndef PASN_NOPRINTON
827 void H248_TransactionPending::PrintOn(ostream & strm) const
829 int indent = strm.precision() + 2;
830 strm << "{\n";
831 strm << setw(indent+16) << "transactionId = " << setprecision(indent) << m_transactionId << '\n';
832 strm << setw(indent-1) << setprecision(indent-2) << "}";
834 #endif
837 PObject::Comparison H248_TransactionPending::Compare(const PObject & obj) const
839 #ifndef PASN_LEANANDMEAN
840 PAssert(PIsDescendant(&obj, H248_TransactionPending), PInvalidCast);
841 #endif
842 const H248_TransactionPending & other = (const H248_TransactionPending &)obj;
844 Comparison result;
846 if ((result = m_transactionId.Compare(other.m_transactionId)) != EqualTo)
847 return result;
849 return PASN_Sequence::Compare(other);
853 PINDEX H248_TransactionPending::GetDataLength() const
855 PINDEX length = 0;
856 length += m_transactionId.GetObjectLength();
857 return length;
861 BOOL H248_TransactionPending::Decode(PASN_Stream & strm)
863 if (!PreambleDecode(strm))
864 return FALSE;
866 if (!m_transactionId.Decode(strm))
867 return FALSE;
869 return UnknownExtensionsDecode(strm);
873 void H248_TransactionPending::Encode(PASN_Stream & strm) const
875 PreambleEncode(strm);
877 m_transactionId.Encode(strm);
879 UnknownExtensionsEncode(strm);
883 PObject * H248_TransactionPending::Clone() const
885 #ifndef PASN_LEANANDMEAN
886 PAssert(IsClass(H248_TransactionPending::Class()), PInvalidCast);
887 #endif
888 return new H248_TransactionPending(*this);
893 // TransactionResponseAck
896 H248_TransactionResponseAck::H248_TransactionResponseAck(unsigned tag, PASN_Object::TagClass tagClass)
897 : PASN_Array(tag, tagClass)
902 PASN_Object * H248_TransactionResponseAck::CreateObject() const
904 return new H248_TransactionAck;
908 H248_TransactionAck & H248_TransactionResponseAck::operator[](PINDEX i) const
910 return (H248_TransactionAck &)array[i];
914 PObject * H248_TransactionResponseAck::Clone() const
916 #ifndef PASN_LEANANDMEAN
917 PAssert(IsClass(H248_TransactionResponseAck::Class()), PInvalidCast);
918 #endif
919 return new H248_TransactionResponseAck(*this);
924 // TransactionAck
927 H248_TransactionAck::H248_TransactionAck(unsigned tag, PASN_Object::TagClass tagClass)
928 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
933 #ifndef PASN_NOPRINTON
934 void H248_TransactionAck::PrintOn(ostream & strm) const
936 int indent = strm.precision() + 2;
937 strm << "{\n";
938 strm << setw(indent+11) << "firstAck = " << setprecision(indent) << m_firstAck << '\n';
939 if (HasOptionalField(e_lastAck))
940 strm << setw(indent+10) << "lastAck = " << setprecision(indent) << m_lastAck << '\n';
941 strm << setw(indent-1) << setprecision(indent-2) << "}";
943 #endif
946 PObject::Comparison H248_TransactionAck::Compare(const PObject & obj) const
948 #ifndef PASN_LEANANDMEAN
949 PAssert(PIsDescendant(&obj, H248_TransactionAck), PInvalidCast);
950 #endif
951 const H248_TransactionAck & other = (const H248_TransactionAck &)obj;
953 Comparison result;
955 if ((result = m_firstAck.Compare(other.m_firstAck)) != EqualTo)
956 return result;
957 if ((result = m_lastAck.Compare(other.m_lastAck)) != EqualTo)
958 return result;
960 return PASN_Sequence::Compare(other);
964 PINDEX H248_TransactionAck::GetDataLength() const
966 PINDEX length = 0;
967 length += m_firstAck.GetObjectLength();
968 if (HasOptionalField(e_lastAck))
969 length += m_lastAck.GetObjectLength();
970 return length;
974 BOOL H248_TransactionAck::Decode(PASN_Stream & strm)
976 if (!PreambleDecode(strm))
977 return FALSE;
979 if (!m_firstAck.Decode(strm))
980 return FALSE;
981 if (HasOptionalField(e_lastAck) && !m_lastAck.Decode(strm))
982 return FALSE;
984 return UnknownExtensionsDecode(strm);
988 void H248_TransactionAck::Encode(PASN_Stream & strm) const
990 PreambleEncode(strm);
992 m_firstAck.Encode(strm);
993 if (HasOptionalField(e_lastAck))
994 m_lastAck.Encode(strm);
996 UnknownExtensionsEncode(strm);
1000 PObject * H248_TransactionAck::Clone() const
1002 #ifndef PASN_LEANANDMEAN
1003 PAssert(IsClass(H248_TransactionAck::Class()), PInvalidCast);
1004 #endif
1005 return new H248_TransactionAck(*this);
1010 // ErrorCode
1013 H248_ErrorCode::H248_ErrorCode(unsigned tag, PASN_Object::TagClass tagClass)
1014 : PASN_Integer(tag, tagClass)
1016 SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
1020 H248_ErrorCode & H248_ErrorCode::operator=(int v)
1022 SetValue(v);
1023 return *this;
1027 H248_ErrorCode & H248_ErrorCode::operator=(unsigned v)
1029 SetValue(v);
1030 return *this;
1034 PObject * H248_ErrorCode::Clone() const
1036 #ifndef PASN_LEANANDMEAN
1037 PAssert(IsClass(H248_ErrorCode::Class()), PInvalidCast);
1038 #endif
1039 return new H248_ErrorCode(*this);
1044 // ErrorText
1047 H248_ErrorText::H248_ErrorText(unsigned tag, PASN_Object::TagClass tagClass)
1048 : PASN_IA5String(tag, tagClass)
1053 H248_ErrorText & H248_ErrorText::operator=(const char * v)
1055 SetValue(v);
1056 return *this;
1060 H248_ErrorText & H248_ErrorText::operator=(const PString & v)
1062 SetValue(v);
1063 return *this;
1067 PObject * H248_ErrorText::Clone() const
1069 #ifndef PASN_LEANANDMEAN
1070 PAssert(IsClass(H248_ErrorText::Class()), PInvalidCast);
1071 #endif
1072 return new H248_ErrorText(*this);
1077 // ContextID
1080 H248_ContextID::H248_ContextID(unsigned tag, PASN_Object::TagClass tagClass)
1081 : PASN_Integer(tag, tagClass)
1083 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
1087 H248_ContextID & H248_ContextID::operator=(int v)
1089 SetValue(v);
1090 return *this;
1094 H248_ContextID & H248_ContextID::operator=(unsigned v)
1096 SetValue(v);
1097 return *this;
1101 PObject * H248_ContextID::Clone() const
1103 #ifndef PASN_LEANANDMEAN
1104 PAssert(IsClass(H248_ContextID::Class()), PInvalidCast);
1105 #endif
1106 return new H248_ContextID(*this);
1111 // ContextAttrAuditRequest
1114 H248_ContextAttrAuditRequest::H248_ContextAttrAuditRequest(unsigned tag, PASN_Object::TagClass tagClass)
1115 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
1120 #ifndef PASN_NOPRINTON
1121 void H248_ContextAttrAuditRequest::PrintOn(ostream & strm) const
1123 int indent = strm.precision() + 2;
1124 strm << "{\n";
1125 if (HasOptionalField(e_topology))
1126 strm << setw(indent+11) << "topology = " << setprecision(indent) << m_topology << '\n';
1127 if (HasOptionalField(e_emergency))
1128 strm << setw(indent+12) << "emergency = " << setprecision(indent) << m_emergency << '\n';
1129 if (HasOptionalField(e_priority))
1130 strm << setw(indent+11) << "priority = " << setprecision(indent) << m_priority << '\n';
1131 strm << setw(indent-1) << setprecision(indent-2) << "}";
1133 #endif
1136 PObject::Comparison H248_ContextAttrAuditRequest::Compare(const PObject & obj) const
1138 #ifndef PASN_LEANANDMEAN
1139 PAssert(PIsDescendant(&obj, H248_ContextAttrAuditRequest), PInvalidCast);
1140 #endif
1141 const H248_ContextAttrAuditRequest & other = (const H248_ContextAttrAuditRequest &)obj;
1143 Comparison result;
1145 if ((result = m_topology.Compare(other.m_topology)) != EqualTo)
1146 return result;
1147 if ((result = m_emergency.Compare(other.m_emergency)) != EqualTo)
1148 return result;
1149 if ((result = m_priority.Compare(other.m_priority)) != EqualTo)
1150 return result;
1152 return PASN_Sequence::Compare(other);
1156 PINDEX H248_ContextAttrAuditRequest::GetDataLength() const
1158 PINDEX length = 0;
1159 if (HasOptionalField(e_topology))
1160 length += m_topology.GetObjectLength();
1161 if (HasOptionalField(e_emergency))
1162 length += m_emergency.GetObjectLength();
1163 if (HasOptionalField(e_priority))
1164 length += m_priority.GetObjectLength();
1165 return length;
1169 BOOL H248_ContextAttrAuditRequest::Decode(PASN_Stream & strm)
1171 if (!PreambleDecode(strm))
1172 return FALSE;
1174 if (HasOptionalField(e_topology) && !m_topology.Decode(strm))
1175 return FALSE;
1176 if (HasOptionalField(e_emergency) && !m_emergency.Decode(strm))
1177 return FALSE;
1178 if (HasOptionalField(e_priority) && !m_priority.Decode(strm))
1179 return FALSE;
1181 return UnknownExtensionsDecode(strm);
1185 void H248_ContextAttrAuditRequest::Encode(PASN_Stream & strm) const
1187 PreambleEncode(strm);
1189 if (HasOptionalField(e_topology))
1190 m_topology.Encode(strm);
1191 if (HasOptionalField(e_emergency))
1192 m_emergency.Encode(strm);
1193 if (HasOptionalField(e_priority))
1194 m_priority.Encode(strm);
1196 UnknownExtensionsEncode(strm);
1200 PObject * H248_ContextAttrAuditRequest::Clone() const
1202 #ifndef PASN_LEANANDMEAN
1203 PAssert(IsClass(H248_ContextAttrAuditRequest::Class()), PInvalidCast);
1204 #endif
1205 return new H248_ContextAttrAuditRequest(*this);
1210 #ifndef PASN_NOPRINTON
1211 const static PASN_Names Names_H248_Command[]={
1212 {"addReq",0}
1213 ,{"moveReq",1}
1214 ,{"modReq",2}
1215 ,{"subtractReq",3}
1216 ,{"auditCapRequest",4}
1217 ,{"auditValueRequest",5}
1218 ,{"notifyReq",6}
1219 ,{"serviceChangeReq",7}
1221 #endif
1223 // Command
1226 H248_Command::H248_Command(unsigned tag, PASN_Object::TagClass tagClass)
1227 : PASN_Choice(tag, tagClass, 8, TRUE
1228 #ifndef PASN_NOPRINTON
1229 ,(const PASN_Names *)Names_H248_Command,8
1230 #endif
1236 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1237 H248_Command::operator H248_AmmRequest &() const
1238 #else
1239 H248_Command::operator H248_AmmRequest &()
1241 #ifndef PASN_LEANANDMEAN
1242 PAssert(PIsDescendant(PAssertNULL(choice), H248_AmmRequest), PInvalidCast);
1243 #endif
1244 return *(H248_AmmRequest *)choice;
1248 H248_Command::operator const H248_AmmRequest &() const
1249 #endif
1251 #ifndef PASN_LEANANDMEAN
1252 PAssert(PIsDescendant(PAssertNULL(choice), H248_AmmRequest), PInvalidCast);
1253 #endif
1254 return *(H248_AmmRequest *)choice;
1258 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1259 H248_Command::operator H248_SubtractRequest &() const
1260 #else
1261 H248_Command::operator H248_SubtractRequest &()
1263 #ifndef PASN_LEANANDMEAN
1264 PAssert(PIsDescendant(PAssertNULL(choice), H248_SubtractRequest), PInvalidCast);
1265 #endif
1266 return *(H248_SubtractRequest *)choice;
1270 H248_Command::operator const H248_SubtractRequest &() const
1271 #endif
1273 #ifndef PASN_LEANANDMEAN
1274 PAssert(PIsDescendant(PAssertNULL(choice), H248_SubtractRequest), PInvalidCast);
1275 #endif
1276 return *(H248_SubtractRequest *)choice;
1280 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1281 H248_Command::operator H248_AuditRequest &() const
1282 #else
1283 H248_Command::operator H248_AuditRequest &()
1285 #ifndef PASN_LEANANDMEAN
1286 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditRequest), PInvalidCast);
1287 #endif
1288 return *(H248_AuditRequest *)choice;
1292 H248_Command::operator const H248_AuditRequest &() const
1293 #endif
1295 #ifndef PASN_LEANANDMEAN
1296 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditRequest), PInvalidCast);
1297 #endif
1298 return *(H248_AuditRequest *)choice;
1302 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1303 H248_Command::operator H248_NotifyRequest &() const
1304 #else
1305 H248_Command::operator H248_NotifyRequest &()
1307 #ifndef PASN_LEANANDMEAN
1308 PAssert(PIsDescendant(PAssertNULL(choice), H248_NotifyRequest), PInvalidCast);
1309 #endif
1310 return *(H248_NotifyRequest *)choice;
1314 H248_Command::operator const H248_NotifyRequest &() const
1315 #endif
1317 #ifndef PASN_LEANANDMEAN
1318 PAssert(PIsDescendant(PAssertNULL(choice), H248_NotifyRequest), PInvalidCast);
1319 #endif
1320 return *(H248_NotifyRequest *)choice;
1324 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1325 H248_Command::operator H248_ServiceChangeRequest &() const
1326 #else
1327 H248_Command::operator H248_ServiceChangeRequest &()
1329 #ifndef PASN_LEANANDMEAN
1330 PAssert(PIsDescendant(PAssertNULL(choice), H248_ServiceChangeRequest), PInvalidCast);
1331 #endif
1332 return *(H248_ServiceChangeRequest *)choice;
1336 H248_Command::operator const H248_ServiceChangeRequest &() const
1337 #endif
1339 #ifndef PASN_LEANANDMEAN
1340 PAssert(PIsDescendant(PAssertNULL(choice), H248_ServiceChangeRequest), PInvalidCast);
1341 #endif
1342 return *(H248_ServiceChangeRequest *)choice;
1346 BOOL H248_Command::CreateObject()
1348 switch (tag) {
1349 case e_addReq :
1350 case e_moveReq :
1351 case e_modReq :
1352 choice = new H248_AmmRequest();
1353 return TRUE;
1354 case e_subtractReq :
1355 choice = new H248_SubtractRequest();
1356 return TRUE;
1357 case e_auditCapRequest :
1358 case e_auditValueRequest :
1359 choice = new H248_AuditRequest();
1360 return TRUE;
1361 case e_notifyReq :
1362 choice = new H248_NotifyRequest();
1363 return TRUE;
1364 case e_serviceChangeReq :
1365 choice = new H248_ServiceChangeRequest();
1366 return TRUE;
1369 choice = NULL;
1370 return FALSE;
1374 PObject * H248_Command::Clone() const
1376 #ifndef PASN_LEANANDMEAN
1377 PAssert(IsClass(H248_Command::Class()), PInvalidCast);
1378 #endif
1379 return new H248_Command(*this);
1384 #ifndef PASN_NOPRINTON
1385 const static PASN_Names Names_H248_CommandReply[]={
1386 {"addReply",0}
1387 ,{"moveReply",1}
1388 ,{"modReply",2}
1389 ,{"subtractReply",3}
1390 ,{"auditCapReply",4}
1391 ,{"auditValueReply",5}
1392 ,{"notifyReply",6}
1393 ,{"serviceChangeReply",7}
1395 #endif
1397 // CommandReply
1400 H248_CommandReply::H248_CommandReply(unsigned tag, PASN_Object::TagClass tagClass)
1401 : PASN_Choice(tag, tagClass, 8, TRUE
1402 #ifndef PASN_NOPRINTON
1403 ,(const PASN_Names *)Names_H248_CommandReply,8
1404 #endif
1410 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1411 H248_CommandReply::operator H248_AmmsReply &() const
1412 #else
1413 H248_CommandReply::operator H248_AmmsReply &()
1415 #ifndef PASN_LEANANDMEAN
1416 PAssert(PIsDescendant(PAssertNULL(choice), H248_AmmsReply), PInvalidCast);
1417 #endif
1418 return *(H248_AmmsReply *)choice;
1422 H248_CommandReply::operator const H248_AmmsReply &() const
1423 #endif
1425 #ifndef PASN_LEANANDMEAN
1426 PAssert(PIsDescendant(PAssertNULL(choice), H248_AmmsReply), PInvalidCast);
1427 #endif
1428 return *(H248_AmmsReply *)choice;
1432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1433 H248_CommandReply::operator H248_AuditReply &() const
1434 #else
1435 H248_CommandReply::operator H248_AuditReply &()
1437 #ifndef PASN_LEANANDMEAN
1438 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditReply), PInvalidCast);
1439 #endif
1440 return *(H248_AuditReply *)choice;
1444 H248_CommandReply::operator const H248_AuditReply &() const
1445 #endif
1447 #ifndef PASN_LEANANDMEAN
1448 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditReply), PInvalidCast);
1449 #endif
1450 return *(H248_AuditReply *)choice;
1454 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1455 H248_CommandReply::operator H248_NotifyReply &() const
1456 #else
1457 H248_CommandReply::operator H248_NotifyReply &()
1459 #ifndef PASN_LEANANDMEAN
1460 PAssert(PIsDescendant(PAssertNULL(choice), H248_NotifyReply), PInvalidCast);
1461 #endif
1462 return *(H248_NotifyReply *)choice;
1466 H248_CommandReply::operator const H248_NotifyReply &() const
1467 #endif
1469 #ifndef PASN_LEANANDMEAN
1470 PAssert(PIsDescendant(PAssertNULL(choice), H248_NotifyReply), PInvalidCast);
1471 #endif
1472 return *(H248_NotifyReply *)choice;
1476 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1477 H248_CommandReply::operator H248_ServiceChangeReply &() const
1478 #else
1479 H248_CommandReply::operator H248_ServiceChangeReply &()
1481 #ifndef PASN_LEANANDMEAN
1482 PAssert(PIsDescendant(PAssertNULL(choice), H248_ServiceChangeReply), PInvalidCast);
1483 #endif
1484 return *(H248_ServiceChangeReply *)choice;
1488 H248_CommandReply::operator const H248_ServiceChangeReply &() const
1489 #endif
1491 #ifndef PASN_LEANANDMEAN
1492 PAssert(PIsDescendant(PAssertNULL(choice), H248_ServiceChangeReply), PInvalidCast);
1493 #endif
1494 return *(H248_ServiceChangeReply *)choice;
1498 BOOL H248_CommandReply::CreateObject()
1500 switch (tag) {
1501 case e_addReply :
1502 case e_moveReply :
1503 case e_modReply :
1504 case e_subtractReply :
1505 choice = new H248_AmmsReply();
1506 return TRUE;
1507 case e_auditCapReply :
1508 case e_auditValueReply :
1509 choice = new H248_AuditReply();
1510 return TRUE;
1511 case e_notifyReply :
1512 choice = new H248_NotifyReply();
1513 return TRUE;
1514 case e_serviceChangeReply :
1515 choice = new H248_ServiceChangeReply();
1516 return TRUE;
1519 choice = NULL;
1520 return FALSE;
1524 PObject * H248_CommandReply::Clone() const
1526 #ifndef PASN_LEANANDMEAN
1527 PAssert(IsClass(H248_CommandReply::Class()), PInvalidCast);
1528 #endif
1529 return new H248_CommandReply(*this);
1534 #ifndef PASN_NOPRINTON
1535 const static PASN_Names Names_H248_AmmDescriptor[]={
1536 {"mediaDescriptor",0}
1537 ,{"modemDescriptor",1}
1538 ,{"muxDescriptor",2}
1539 ,{"eventsDescriptor",3}
1540 ,{"eventBufferDescriptor",4}
1541 ,{"signalsDescriptor",5}
1542 ,{"digitMapDescriptor",6}
1543 ,{"auditDescriptor",7}
1545 #endif
1547 // AmmDescriptor
1550 H248_AmmDescriptor::H248_AmmDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
1551 : PASN_Choice(tag, tagClass, 8, TRUE
1552 #ifndef PASN_NOPRINTON
1553 ,(const PASN_Names *)Names_H248_AmmDescriptor,8
1554 #endif
1560 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1561 H248_AmmDescriptor::operator H248_MediaDescriptor &() const
1562 #else
1563 H248_AmmDescriptor::operator H248_MediaDescriptor &()
1565 #ifndef PASN_LEANANDMEAN
1566 PAssert(PIsDescendant(PAssertNULL(choice), H248_MediaDescriptor), PInvalidCast);
1567 #endif
1568 return *(H248_MediaDescriptor *)choice;
1572 H248_AmmDescriptor::operator const H248_MediaDescriptor &() const
1573 #endif
1575 #ifndef PASN_LEANANDMEAN
1576 PAssert(PIsDescendant(PAssertNULL(choice), H248_MediaDescriptor), PInvalidCast);
1577 #endif
1578 return *(H248_MediaDescriptor *)choice;
1582 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1583 H248_AmmDescriptor::operator H248_ModemDescriptor &() const
1584 #else
1585 H248_AmmDescriptor::operator H248_ModemDescriptor &()
1587 #ifndef PASN_LEANANDMEAN
1588 PAssert(PIsDescendant(PAssertNULL(choice), H248_ModemDescriptor), PInvalidCast);
1589 #endif
1590 return *(H248_ModemDescriptor *)choice;
1594 H248_AmmDescriptor::operator const H248_ModemDescriptor &() const
1595 #endif
1597 #ifndef PASN_LEANANDMEAN
1598 PAssert(PIsDescendant(PAssertNULL(choice), H248_ModemDescriptor), PInvalidCast);
1599 #endif
1600 return *(H248_ModemDescriptor *)choice;
1604 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1605 H248_AmmDescriptor::operator H248_MuxDescriptor &() const
1606 #else
1607 H248_AmmDescriptor::operator H248_MuxDescriptor &()
1609 #ifndef PASN_LEANANDMEAN
1610 PAssert(PIsDescendant(PAssertNULL(choice), H248_MuxDescriptor), PInvalidCast);
1611 #endif
1612 return *(H248_MuxDescriptor *)choice;
1616 H248_AmmDescriptor::operator const H248_MuxDescriptor &() const
1617 #endif
1619 #ifndef PASN_LEANANDMEAN
1620 PAssert(PIsDescendant(PAssertNULL(choice), H248_MuxDescriptor), PInvalidCast);
1621 #endif
1622 return *(H248_MuxDescriptor *)choice;
1626 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1627 H248_AmmDescriptor::operator H248_EventsDescriptor &() const
1628 #else
1629 H248_AmmDescriptor::operator H248_EventsDescriptor &()
1631 #ifndef PASN_LEANANDMEAN
1632 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventsDescriptor), PInvalidCast);
1633 #endif
1634 return *(H248_EventsDescriptor *)choice;
1638 H248_AmmDescriptor::operator const H248_EventsDescriptor &() const
1639 #endif
1641 #ifndef PASN_LEANANDMEAN
1642 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventsDescriptor), PInvalidCast);
1643 #endif
1644 return *(H248_EventsDescriptor *)choice;
1648 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1649 H248_AmmDescriptor::operator H248_EventBufferDescriptor &() const
1650 #else
1651 H248_AmmDescriptor::operator H248_EventBufferDescriptor &()
1653 #ifndef PASN_LEANANDMEAN
1654 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventBufferDescriptor), PInvalidCast);
1655 #endif
1656 return *(H248_EventBufferDescriptor *)choice;
1660 H248_AmmDescriptor::operator const H248_EventBufferDescriptor &() const
1661 #endif
1663 #ifndef PASN_LEANANDMEAN
1664 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventBufferDescriptor), PInvalidCast);
1665 #endif
1666 return *(H248_EventBufferDescriptor *)choice;
1670 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1671 H248_AmmDescriptor::operator H248_SignalsDescriptor &() const
1672 #else
1673 H248_AmmDescriptor::operator H248_SignalsDescriptor &()
1675 #ifndef PASN_LEANANDMEAN
1676 PAssert(PIsDescendant(PAssertNULL(choice), H248_SignalsDescriptor), PInvalidCast);
1677 #endif
1678 return *(H248_SignalsDescriptor *)choice;
1682 H248_AmmDescriptor::operator const H248_SignalsDescriptor &() const
1683 #endif
1685 #ifndef PASN_LEANANDMEAN
1686 PAssert(PIsDescendant(PAssertNULL(choice), H248_SignalsDescriptor), PInvalidCast);
1687 #endif
1688 return *(H248_SignalsDescriptor *)choice;
1692 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1693 H248_AmmDescriptor::operator H248_DigitMapDescriptor &() const
1694 #else
1695 H248_AmmDescriptor::operator H248_DigitMapDescriptor &()
1697 #ifndef PASN_LEANANDMEAN
1698 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapDescriptor), PInvalidCast);
1699 #endif
1700 return *(H248_DigitMapDescriptor *)choice;
1704 H248_AmmDescriptor::operator const H248_DigitMapDescriptor &() const
1705 #endif
1707 #ifndef PASN_LEANANDMEAN
1708 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapDescriptor), PInvalidCast);
1709 #endif
1710 return *(H248_DigitMapDescriptor *)choice;
1714 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1715 H248_AmmDescriptor::operator H248_AuditDescriptor &() const
1716 #else
1717 H248_AmmDescriptor::operator H248_AuditDescriptor &()
1719 #ifndef PASN_LEANANDMEAN
1720 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditDescriptor), PInvalidCast);
1721 #endif
1722 return *(H248_AuditDescriptor *)choice;
1726 H248_AmmDescriptor::operator const H248_AuditDescriptor &() const
1727 #endif
1729 #ifndef PASN_LEANANDMEAN
1730 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditDescriptor), PInvalidCast);
1731 #endif
1732 return *(H248_AuditDescriptor *)choice;
1736 BOOL H248_AmmDescriptor::CreateObject()
1738 switch (tag) {
1739 case e_mediaDescriptor :
1740 choice = new H248_MediaDescriptor();
1741 return TRUE;
1742 case e_modemDescriptor :
1743 choice = new H248_ModemDescriptor();
1744 return TRUE;
1745 case e_muxDescriptor :
1746 choice = new H248_MuxDescriptor();
1747 return TRUE;
1748 case e_eventsDescriptor :
1749 choice = new H248_EventsDescriptor();
1750 return TRUE;
1751 case e_eventBufferDescriptor :
1752 choice = new H248_EventBufferDescriptor();
1753 return TRUE;
1754 case e_signalsDescriptor :
1755 choice = new H248_SignalsDescriptor();
1756 return TRUE;
1757 case e_digitMapDescriptor :
1758 choice = new H248_DigitMapDescriptor();
1759 return TRUE;
1760 case e_auditDescriptor :
1761 choice = new H248_AuditDescriptor();
1762 return TRUE;
1765 choice = NULL;
1766 return FALSE;
1770 PObject * H248_AmmDescriptor::Clone() const
1772 #ifndef PASN_LEANANDMEAN
1773 PAssert(IsClass(H248_AmmDescriptor::Class()), PInvalidCast);
1774 #endif
1775 return new H248_AmmDescriptor(*this);
1780 #ifndef PASN_NOPRINTON
1781 const static PASN_Names Names_H248_AuditReply[]={
1782 {"contextAuditResult",0}
1783 ,{"error",1}
1784 ,{"auditResult",2}
1786 #endif
1788 // AuditReply
1791 H248_AuditReply::H248_AuditReply(unsigned tag, PASN_Object::TagClass tagClass)
1792 : PASN_Choice(tag, tagClass, 3, TRUE
1793 #ifndef PASN_NOPRINTON
1794 ,(const PASN_Names *)Names_H248_AuditReply,3
1795 #endif
1801 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1802 H248_AuditReply::operator H248_TerminationIDList &() const
1803 #else
1804 H248_AuditReply::operator H248_TerminationIDList &()
1806 #ifndef PASN_LEANANDMEAN
1807 PAssert(PIsDescendant(PAssertNULL(choice), H248_TerminationIDList), PInvalidCast);
1808 #endif
1809 return *(H248_TerminationIDList *)choice;
1813 H248_AuditReply::operator const H248_TerminationIDList &() const
1814 #endif
1816 #ifndef PASN_LEANANDMEAN
1817 PAssert(PIsDescendant(PAssertNULL(choice), H248_TerminationIDList), PInvalidCast);
1818 #endif
1819 return *(H248_TerminationIDList *)choice;
1823 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1824 H248_AuditReply::operator H248_ErrorDescriptor &() const
1825 #else
1826 H248_AuditReply::operator H248_ErrorDescriptor &()
1828 #ifndef PASN_LEANANDMEAN
1829 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
1830 #endif
1831 return *(H248_ErrorDescriptor *)choice;
1835 H248_AuditReply::operator const H248_ErrorDescriptor &() const
1836 #endif
1838 #ifndef PASN_LEANANDMEAN
1839 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
1840 #endif
1841 return *(H248_ErrorDescriptor *)choice;
1845 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1846 H248_AuditReply::operator H248_AuditResult &() const
1847 #else
1848 H248_AuditReply::operator H248_AuditResult &()
1850 #ifndef PASN_LEANANDMEAN
1851 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditResult), PInvalidCast);
1852 #endif
1853 return *(H248_AuditResult *)choice;
1857 H248_AuditReply::operator const H248_AuditResult &() const
1858 #endif
1860 #ifndef PASN_LEANANDMEAN
1861 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditResult), PInvalidCast);
1862 #endif
1863 return *(H248_AuditResult *)choice;
1867 BOOL H248_AuditReply::CreateObject()
1869 switch (tag) {
1870 case e_contextAuditResult :
1871 choice = new H248_TerminationIDList();
1872 return TRUE;
1873 case e_error :
1874 choice = new H248_ErrorDescriptor();
1875 return TRUE;
1876 case e_auditResult :
1877 choice = new H248_AuditResult();
1878 return TRUE;
1881 choice = NULL;
1882 return FALSE;
1886 PObject * H248_AuditReply::Clone() const
1888 #ifndef PASN_LEANANDMEAN
1889 PAssert(IsClass(H248_AuditReply::Class()), PInvalidCast);
1890 #endif
1891 return new H248_AuditReply(*this);
1896 // TerminationAudit
1899 H248_TerminationAudit::H248_TerminationAudit(unsigned tag, PASN_Object::TagClass tagClass)
1900 : PASN_Array(tag, tagClass)
1905 PASN_Object * H248_TerminationAudit::CreateObject() const
1907 return new H248_AuditReturnParameter;
1911 H248_AuditReturnParameter & H248_TerminationAudit::operator[](PINDEX i) const
1913 return (H248_AuditReturnParameter &)array[i];
1917 PObject * H248_TerminationAudit::Clone() const
1919 #ifndef PASN_LEANANDMEAN
1920 PAssert(IsClass(H248_TerminationAudit::Class()), PInvalidCast);
1921 #endif
1922 return new H248_TerminationAudit(*this);
1927 #ifndef PASN_NOPRINTON
1928 const static PASN_Names Names_H248_AuditReturnParameter[]={
1929 {"errorDescriptor",0}
1930 ,{"mediaDescriptor",1}
1931 ,{"modemDescriptor",2}
1932 ,{"muxDescriptor",3}
1933 ,{"eventsDescriptor",4}
1934 ,{"eventBufferDescriptor",5}
1935 ,{"signalsDescriptor",6}
1936 ,{"digitMapDescriptor",7}
1937 ,{"observedEventsDescriptor",8}
1938 ,{"statisticsDescriptor",9}
1939 ,{"packagesDescriptor",10}
1940 ,{"emptyDescriptors",11}
1942 #endif
1944 // AuditReturnParameter
1947 H248_AuditReturnParameter::H248_AuditReturnParameter(unsigned tag, PASN_Object::TagClass tagClass)
1948 : PASN_Choice(tag, tagClass, 12, TRUE
1949 #ifndef PASN_NOPRINTON
1950 ,(const PASN_Names *)Names_H248_AuditReturnParameter,12
1951 #endif
1957 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1958 H248_AuditReturnParameter::operator H248_ErrorDescriptor &() const
1959 #else
1960 H248_AuditReturnParameter::operator H248_ErrorDescriptor &()
1962 #ifndef PASN_LEANANDMEAN
1963 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
1964 #endif
1965 return *(H248_ErrorDescriptor *)choice;
1969 H248_AuditReturnParameter::operator const H248_ErrorDescriptor &() const
1970 #endif
1972 #ifndef PASN_LEANANDMEAN
1973 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
1974 #endif
1975 return *(H248_ErrorDescriptor *)choice;
1979 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
1980 H248_AuditReturnParameter::operator H248_MediaDescriptor &() const
1981 #else
1982 H248_AuditReturnParameter::operator H248_MediaDescriptor &()
1984 #ifndef PASN_LEANANDMEAN
1985 PAssert(PIsDescendant(PAssertNULL(choice), H248_MediaDescriptor), PInvalidCast);
1986 #endif
1987 return *(H248_MediaDescriptor *)choice;
1991 H248_AuditReturnParameter::operator const H248_MediaDescriptor &() const
1992 #endif
1994 #ifndef PASN_LEANANDMEAN
1995 PAssert(PIsDescendant(PAssertNULL(choice), H248_MediaDescriptor), PInvalidCast);
1996 #endif
1997 return *(H248_MediaDescriptor *)choice;
2001 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2002 H248_AuditReturnParameter::operator H248_ModemDescriptor &() const
2003 #else
2004 H248_AuditReturnParameter::operator H248_ModemDescriptor &()
2006 #ifndef PASN_LEANANDMEAN
2007 PAssert(PIsDescendant(PAssertNULL(choice), H248_ModemDescriptor), PInvalidCast);
2008 #endif
2009 return *(H248_ModemDescriptor *)choice;
2013 H248_AuditReturnParameter::operator const H248_ModemDescriptor &() const
2014 #endif
2016 #ifndef PASN_LEANANDMEAN
2017 PAssert(PIsDescendant(PAssertNULL(choice), H248_ModemDescriptor), PInvalidCast);
2018 #endif
2019 return *(H248_ModemDescriptor *)choice;
2023 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2024 H248_AuditReturnParameter::operator H248_MuxDescriptor &() const
2025 #else
2026 H248_AuditReturnParameter::operator H248_MuxDescriptor &()
2028 #ifndef PASN_LEANANDMEAN
2029 PAssert(PIsDescendant(PAssertNULL(choice), H248_MuxDescriptor), PInvalidCast);
2030 #endif
2031 return *(H248_MuxDescriptor *)choice;
2035 H248_AuditReturnParameter::operator const H248_MuxDescriptor &() const
2036 #endif
2038 #ifndef PASN_LEANANDMEAN
2039 PAssert(PIsDescendant(PAssertNULL(choice), H248_MuxDescriptor), PInvalidCast);
2040 #endif
2041 return *(H248_MuxDescriptor *)choice;
2045 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2046 H248_AuditReturnParameter::operator H248_EventsDescriptor &() const
2047 #else
2048 H248_AuditReturnParameter::operator H248_EventsDescriptor &()
2050 #ifndef PASN_LEANANDMEAN
2051 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventsDescriptor), PInvalidCast);
2052 #endif
2053 return *(H248_EventsDescriptor *)choice;
2057 H248_AuditReturnParameter::operator const H248_EventsDescriptor &() const
2058 #endif
2060 #ifndef PASN_LEANANDMEAN
2061 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventsDescriptor), PInvalidCast);
2062 #endif
2063 return *(H248_EventsDescriptor *)choice;
2067 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2068 H248_AuditReturnParameter::operator H248_EventBufferDescriptor &() const
2069 #else
2070 H248_AuditReturnParameter::operator H248_EventBufferDescriptor &()
2072 #ifndef PASN_LEANANDMEAN
2073 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventBufferDescriptor), PInvalidCast);
2074 #endif
2075 return *(H248_EventBufferDescriptor *)choice;
2079 H248_AuditReturnParameter::operator const H248_EventBufferDescriptor &() const
2080 #endif
2082 #ifndef PASN_LEANANDMEAN
2083 PAssert(PIsDescendant(PAssertNULL(choice), H248_EventBufferDescriptor), PInvalidCast);
2084 #endif
2085 return *(H248_EventBufferDescriptor *)choice;
2089 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2090 H248_AuditReturnParameter::operator H248_SignalsDescriptor &() const
2091 #else
2092 H248_AuditReturnParameter::operator H248_SignalsDescriptor &()
2094 #ifndef PASN_LEANANDMEAN
2095 PAssert(PIsDescendant(PAssertNULL(choice), H248_SignalsDescriptor), PInvalidCast);
2096 #endif
2097 return *(H248_SignalsDescriptor *)choice;
2101 H248_AuditReturnParameter::operator const H248_SignalsDescriptor &() const
2102 #endif
2104 #ifndef PASN_LEANANDMEAN
2105 PAssert(PIsDescendant(PAssertNULL(choice), H248_SignalsDescriptor), PInvalidCast);
2106 #endif
2107 return *(H248_SignalsDescriptor *)choice;
2111 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2112 H248_AuditReturnParameter::operator H248_DigitMapDescriptor &() const
2113 #else
2114 H248_AuditReturnParameter::operator H248_DigitMapDescriptor &()
2116 #ifndef PASN_LEANANDMEAN
2117 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapDescriptor), PInvalidCast);
2118 #endif
2119 return *(H248_DigitMapDescriptor *)choice;
2123 H248_AuditReturnParameter::operator const H248_DigitMapDescriptor &() const
2124 #endif
2126 #ifndef PASN_LEANANDMEAN
2127 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapDescriptor), PInvalidCast);
2128 #endif
2129 return *(H248_DigitMapDescriptor *)choice;
2133 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2134 H248_AuditReturnParameter::operator H248_ObservedEventsDescriptor &() const
2135 #else
2136 H248_AuditReturnParameter::operator H248_ObservedEventsDescriptor &()
2138 #ifndef PASN_LEANANDMEAN
2139 PAssert(PIsDescendant(PAssertNULL(choice), H248_ObservedEventsDescriptor), PInvalidCast);
2140 #endif
2141 return *(H248_ObservedEventsDescriptor *)choice;
2145 H248_AuditReturnParameter::operator const H248_ObservedEventsDescriptor &() const
2146 #endif
2148 #ifndef PASN_LEANANDMEAN
2149 PAssert(PIsDescendant(PAssertNULL(choice), H248_ObservedEventsDescriptor), PInvalidCast);
2150 #endif
2151 return *(H248_ObservedEventsDescriptor *)choice;
2155 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2156 H248_AuditReturnParameter::operator H248_StatisticsDescriptor &() const
2157 #else
2158 H248_AuditReturnParameter::operator H248_StatisticsDescriptor &()
2160 #ifndef PASN_LEANANDMEAN
2161 PAssert(PIsDescendant(PAssertNULL(choice), H248_StatisticsDescriptor), PInvalidCast);
2162 #endif
2163 return *(H248_StatisticsDescriptor *)choice;
2167 H248_AuditReturnParameter::operator const H248_StatisticsDescriptor &() const
2168 #endif
2170 #ifndef PASN_LEANANDMEAN
2171 PAssert(PIsDescendant(PAssertNULL(choice), H248_StatisticsDescriptor), PInvalidCast);
2172 #endif
2173 return *(H248_StatisticsDescriptor *)choice;
2177 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2178 H248_AuditReturnParameter::operator H248_PackagesDescriptor &() const
2179 #else
2180 H248_AuditReturnParameter::operator H248_PackagesDescriptor &()
2182 #ifndef PASN_LEANANDMEAN
2183 PAssert(PIsDescendant(PAssertNULL(choice), H248_PackagesDescriptor), PInvalidCast);
2184 #endif
2185 return *(H248_PackagesDescriptor *)choice;
2189 H248_AuditReturnParameter::operator const H248_PackagesDescriptor &() const
2190 #endif
2192 #ifndef PASN_LEANANDMEAN
2193 PAssert(PIsDescendant(PAssertNULL(choice), H248_PackagesDescriptor), PInvalidCast);
2194 #endif
2195 return *(H248_PackagesDescriptor *)choice;
2199 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2200 H248_AuditReturnParameter::operator H248_AuditDescriptor &() const
2201 #else
2202 H248_AuditReturnParameter::operator H248_AuditDescriptor &()
2204 #ifndef PASN_LEANANDMEAN
2205 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditDescriptor), PInvalidCast);
2206 #endif
2207 return *(H248_AuditDescriptor *)choice;
2211 H248_AuditReturnParameter::operator const H248_AuditDescriptor &() const
2212 #endif
2214 #ifndef PASN_LEANANDMEAN
2215 PAssert(PIsDescendant(PAssertNULL(choice), H248_AuditDescriptor), PInvalidCast);
2216 #endif
2217 return *(H248_AuditDescriptor *)choice;
2221 BOOL H248_AuditReturnParameter::CreateObject()
2223 switch (tag) {
2224 case e_errorDescriptor :
2225 choice = new H248_ErrorDescriptor();
2226 return TRUE;
2227 case e_mediaDescriptor :
2228 choice = new H248_MediaDescriptor();
2229 return TRUE;
2230 case e_modemDescriptor :
2231 choice = new H248_ModemDescriptor();
2232 return TRUE;
2233 case e_muxDescriptor :
2234 choice = new H248_MuxDescriptor();
2235 return TRUE;
2236 case e_eventsDescriptor :
2237 choice = new H248_EventsDescriptor();
2238 return TRUE;
2239 case e_eventBufferDescriptor :
2240 choice = new H248_EventBufferDescriptor();
2241 return TRUE;
2242 case e_signalsDescriptor :
2243 choice = new H248_SignalsDescriptor();
2244 return TRUE;
2245 case e_digitMapDescriptor :
2246 choice = new H248_DigitMapDescriptor();
2247 return TRUE;
2248 case e_observedEventsDescriptor :
2249 choice = new H248_ObservedEventsDescriptor();
2250 return TRUE;
2251 case e_statisticsDescriptor :
2252 choice = new H248_StatisticsDescriptor();
2253 return TRUE;
2254 case e_packagesDescriptor :
2255 choice = new H248_PackagesDescriptor();
2256 return TRUE;
2257 case e_emptyDescriptors :
2258 choice = new H248_AuditDescriptor();
2259 return TRUE;
2262 choice = NULL;
2263 return FALSE;
2267 PObject * H248_AuditReturnParameter::Clone() const
2269 #ifndef PASN_LEANANDMEAN
2270 PAssert(IsClass(H248_AuditReturnParameter::Class()), PInvalidCast);
2271 #endif
2272 return new H248_AuditReturnParameter(*this);
2277 #ifndef PASN_NOPRINTON
2278 const static PASN_Names Names_H248_IndAuditParameter[]={
2279 {"indaudmediaDescriptor",0}
2280 ,{"indaudeventsDescriptor",1}
2281 ,{"indaudeventBufferDescriptor",2}
2282 ,{"indaudsignalsDescriptor",3}
2283 ,{"indauddigitMapDescriptor",4}
2284 ,{"indaudstatisticsDescriptor",5}
2285 ,{"indaudpackagesDescriptor",6}
2287 #endif
2289 // IndAuditParameter
2292 H248_IndAuditParameter::H248_IndAuditParameter(unsigned tag, PASN_Object::TagClass tagClass)
2293 : PASN_Choice(tag, tagClass, 7, TRUE
2294 #ifndef PASN_NOPRINTON
2295 ,(const PASN_Names *)Names_H248_IndAuditParameter,7
2296 #endif
2302 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2303 H248_IndAuditParameter::operator H248_IndAudMediaDescriptor &() const
2304 #else
2305 H248_IndAuditParameter::operator H248_IndAudMediaDescriptor &()
2307 #ifndef PASN_LEANANDMEAN
2308 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudMediaDescriptor), PInvalidCast);
2309 #endif
2310 return *(H248_IndAudMediaDescriptor *)choice;
2314 H248_IndAuditParameter::operator const H248_IndAudMediaDescriptor &() const
2315 #endif
2317 #ifndef PASN_LEANANDMEAN
2318 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudMediaDescriptor), PInvalidCast);
2319 #endif
2320 return *(H248_IndAudMediaDescriptor *)choice;
2324 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2325 H248_IndAuditParameter::operator H248_IndAudEventsDescriptor &() const
2326 #else
2327 H248_IndAuditParameter::operator H248_IndAudEventsDescriptor &()
2329 #ifndef PASN_LEANANDMEAN
2330 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudEventsDescriptor), PInvalidCast);
2331 #endif
2332 return *(H248_IndAudEventsDescriptor *)choice;
2336 H248_IndAuditParameter::operator const H248_IndAudEventsDescriptor &() const
2337 #endif
2339 #ifndef PASN_LEANANDMEAN
2340 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudEventsDescriptor), PInvalidCast);
2341 #endif
2342 return *(H248_IndAudEventsDescriptor *)choice;
2346 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2347 H248_IndAuditParameter::operator H248_IndAudEventBufferDescriptor &() const
2348 #else
2349 H248_IndAuditParameter::operator H248_IndAudEventBufferDescriptor &()
2351 #ifndef PASN_LEANANDMEAN
2352 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudEventBufferDescriptor), PInvalidCast);
2353 #endif
2354 return *(H248_IndAudEventBufferDescriptor *)choice;
2358 H248_IndAuditParameter::operator const H248_IndAudEventBufferDescriptor &() const
2359 #endif
2361 #ifndef PASN_LEANANDMEAN
2362 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudEventBufferDescriptor), PInvalidCast);
2363 #endif
2364 return *(H248_IndAudEventBufferDescriptor *)choice;
2368 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2369 H248_IndAuditParameter::operator H248_IndAudSignalsDescriptor &() const
2370 #else
2371 H248_IndAuditParameter::operator H248_IndAudSignalsDescriptor &()
2373 #ifndef PASN_LEANANDMEAN
2374 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudSignalsDescriptor), PInvalidCast);
2375 #endif
2376 return *(H248_IndAudSignalsDescriptor *)choice;
2380 H248_IndAuditParameter::operator const H248_IndAudSignalsDescriptor &() const
2381 #endif
2383 #ifndef PASN_LEANANDMEAN
2384 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudSignalsDescriptor), PInvalidCast);
2385 #endif
2386 return *(H248_IndAudSignalsDescriptor *)choice;
2390 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2391 H248_IndAuditParameter::operator H248_IndAudDigitMapDescriptor &() const
2392 #else
2393 H248_IndAuditParameter::operator H248_IndAudDigitMapDescriptor &()
2395 #ifndef PASN_LEANANDMEAN
2396 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudDigitMapDescriptor), PInvalidCast);
2397 #endif
2398 return *(H248_IndAudDigitMapDescriptor *)choice;
2402 H248_IndAuditParameter::operator const H248_IndAudDigitMapDescriptor &() const
2403 #endif
2405 #ifndef PASN_LEANANDMEAN
2406 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudDigitMapDescriptor), PInvalidCast);
2407 #endif
2408 return *(H248_IndAudDigitMapDescriptor *)choice;
2412 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2413 H248_IndAuditParameter::operator H248_IndAudStatisticsDescriptor &() const
2414 #else
2415 H248_IndAuditParameter::operator H248_IndAudStatisticsDescriptor &()
2417 #ifndef PASN_LEANANDMEAN
2418 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudStatisticsDescriptor), PInvalidCast);
2419 #endif
2420 return *(H248_IndAudStatisticsDescriptor *)choice;
2424 H248_IndAuditParameter::operator const H248_IndAudStatisticsDescriptor &() const
2425 #endif
2427 #ifndef PASN_LEANANDMEAN
2428 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudStatisticsDescriptor), PInvalidCast);
2429 #endif
2430 return *(H248_IndAudStatisticsDescriptor *)choice;
2434 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2435 H248_IndAuditParameter::operator H248_IndAudPackagesDescriptor &() const
2436 #else
2437 H248_IndAuditParameter::operator H248_IndAudPackagesDescriptor &()
2439 #ifndef PASN_LEANANDMEAN
2440 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudPackagesDescriptor), PInvalidCast);
2441 #endif
2442 return *(H248_IndAudPackagesDescriptor *)choice;
2446 H248_IndAuditParameter::operator const H248_IndAudPackagesDescriptor &() const
2447 #endif
2449 #ifndef PASN_LEANANDMEAN
2450 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudPackagesDescriptor), PInvalidCast);
2451 #endif
2452 return *(H248_IndAudPackagesDescriptor *)choice;
2456 BOOL H248_IndAuditParameter::CreateObject()
2458 switch (tag) {
2459 case e_indaudmediaDescriptor :
2460 choice = new H248_IndAudMediaDescriptor();
2461 return TRUE;
2462 case e_indaudeventsDescriptor :
2463 choice = new H248_IndAudEventsDescriptor();
2464 return TRUE;
2465 case e_indaudeventBufferDescriptor :
2466 choice = new H248_IndAudEventBufferDescriptor();
2467 return TRUE;
2468 case e_indaudsignalsDescriptor :
2469 choice = new H248_IndAudSignalsDescriptor();
2470 return TRUE;
2471 case e_indauddigitMapDescriptor :
2472 choice = new H248_IndAudDigitMapDescriptor();
2473 return TRUE;
2474 case e_indaudstatisticsDescriptor :
2475 choice = new H248_IndAudStatisticsDescriptor();
2476 return TRUE;
2477 case e_indaudpackagesDescriptor :
2478 choice = new H248_IndAudPackagesDescriptor();
2479 return TRUE;
2482 choice = NULL;
2483 return FALSE;
2487 PObject * H248_IndAuditParameter::Clone() const
2489 #ifndef PASN_LEANANDMEAN
2490 PAssert(IsClass(H248_IndAuditParameter::Class()), PInvalidCast);
2491 #endif
2492 return new H248_IndAuditParameter(*this);
2497 // IndAudPropertyGroup
2500 H248_IndAudPropertyGroup::H248_IndAudPropertyGroup(unsigned tag, PASN_Object::TagClass tagClass)
2501 : PASN_Array(tag, tagClass)
2506 PASN_Object * H248_IndAudPropertyGroup::CreateObject() const
2508 return new H248_IndAudPropertyParm;
2512 H248_IndAudPropertyParm & H248_IndAudPropertyGroup::operator[](PINDEX i) const
2514 return (H248_IndAudPropertyParm &)array[i];
2518 PObject * H248_IndAudPropertyGroup::Clone() const
2520 #ifndef PASN_LEANANDMEAN
2521 PAssert(IsClass(H248_IndAudPropertyGroup::Class()), PInvalidCast);
2522 #endif
2523 return new H248_IndAudPropertyGroup(*this);
2528 #ifndef PASN_NOPRINTON
2529 const static PASN_Names Names_H248_IndAudSignalsDescriptor[]={
2530 {"signal",0}
2531 ,{"seqSigList",1}
2533 #endif
2535 // IndAudSignalsDescriptor
2538 H248_IndAudSignalsDescriptor::H248_IndAudSignalsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
2539 : PASN_Choice(tag, tagClass, 2, TRUE
2540 #ifndef PASN_NOPRINTON
2541 ,(const PASN_Names *)Names_H248_IndAudSignalsDescriptor,2
2542 #endif
2548 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2549 H248_IndAudSignalsDescriptor::operator H248_IndAudSignal &() const
2550 #else
2551 H248_IndAudSignalsDescriptor::operator H248_IndAudSignal &()
2553 #ifndef PASN_LEANANDMEAN
2554 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudSignal), PInvalidCast);
2555 #endif
2556 return *(H248_IndAudSignal *)choice;
2560 H248_IndAudSignalsDescriptor::operator const H248_IndAudSignal &() const
2561 #endif
2563 #ifndef PASN_LEANANDMEAN
2564 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudSignal), PInvalidCast);
2565 #endif
2566 return *(H248_IndAudSignal *)choice;
2570 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2571 H248_IndAudSignalsDescriptor::operator H248_IndAudSeqSigList &() const
2572 #else
2573 H248_IndAudSignalsDescriptor::operator H248_IndAudSeqSigList &()
2575 #ifndef PASN_LEANANDMEAN
2576 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudSeqSigList), PInvalidCast);
2577 #endif
2578 return *(H248_IndAudSeqSigList *)choice;
2582 H248_IndAudSignalsDescriptor::operator const H248_IndAudSeqSigList &() const
2583 #endif
2585 #ifndef PASN_LEANANDMEAN
2586 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudSeqSigList), PInvalidCast);
2587 #endif
2588 return *(H248_IndAudSeqSigList *)choice;
2592 BOOL H248_IndAudSignalsDescriptor::CreateObject()
2594 switch (tag) {
2595 case e_signal :
2596 choice = new H248_IndAudSignal();
2597 return TRUE;
2598 case e_seqSigList :
2599 choice = new H248_IndAudSeqSigList();
2600 return TRUE;
2603 choice = NULL;
2604 return FALSE;
2608 PObject * H248_IndAudSignalsDescriptor::Clone() const
2610 #ifndef PASN_LEANANDMEAN
2611 PAssert(IsClass(H248_IndAudSignalsDescriptor::Class()), PInvalidCast);
2612 #endif
2613 return new H248_IndAudSignalsDescriptor(*this);
2618 #ifndef PASN_NOPRINTON
2619 const static PASN_Names Names_H248_ServiceChangeResult[]={
2620 {"errorDescriptor",0}
2621 ,{"serviceChangeResParms",1}
2623 #endif
2625 // ServiceChangeResult
2628 H248_ServiceChangeResult::H248_ServiceChangeResult(unsigned tag, PASN_Object::TagClass tagClass)
2629 : PASN_Choice(tag, tagClass, 2, FALSE
2630 #ifndef PASN_NOPRINTON
2631 ,(const PASN_Names *)Names_H248_ServiceChangeResult,2
2632 #endif
2638 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2639 H248_ServiceChangeResult::operator H248_ErrorDescriptor &() const
2640 #else
2641 H248_ServiceChangeResult::operator H248_ErrorDescriptor &()
2643 #ifndef PASN_LEANANDMEAN
2644 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
2645 #endif
2646 return *(H248_ErrorDescriptor *)choice;
2650 H248_ServiceChangeResult::operator const H248_ErrorDescriptor &() const
2651 #endif
2653 #ifndef PASN_LEANANDMEAN
2654 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
2655 #endif
2656 return *(H248_ErrorDescriptor *)choice;
2660 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
2661 H248_ServiceChangeResult::operator H248_ServiceChangeResParm &() const
2662 #else
2663 H248_ServiceChangeResult::operator H248_ServiceChangeResParm &()
2665 #ifndef PASN_LEANANDMEAN
2666 PAssert(PIsDescendant(PAssertNULL(choice), H248_ServiceChangeResParm), PInvalidCast);
2667 #endif
2668 return *(H248_ServiceChangeResParm *)choice;
2672 H248_ServiceChangeResult::operator const H248_ServiceChangeResParm &() const
2673 #endif
2675 #ifndef PASN_LEANANDMEAN
2676 PAssert(PIsDescendant(PAssertNULL(choice), H248_ServiceChangeResParm), PInvalidCast);
2677 #endif
2678 return *(H248_ServiceChangeResParm *)choice;
2682 BOOL H248_ServiceChangeResult::CreateObject()
2684 switch (tag) {
2685 case e_errorDescriptor :
2686 choice = new H248_ErrorDescriptor();
2687 return TRUE;
2688 case e_serviceChangeResParms :
2689 choice = new H248_ServiceChangeResParm();
2690 return TRUE;
2693 choice = NULL;
2694 return FALSE;
2698 PObject * H248_ServiceChangeResult::Clone() const
2700 #ifndef PASN_LEANANDMEAN
2701 PAssert(IsClass(H248_ServiceChangeResult::Class()), PInvalidCast);
2702 #endif
2703 return new H248_ServiceChangeResult(*this);
2708 // WildcardField
2711 H248_WildcardField::H248_WildcardField(unsigned tag, PASN_Object::TagClass tagClass)
2712 : PASN_OctetString(tag, tagClass)
2714 SetConstraints(PASN_Object::FixedConstraint, 1);
2718 H248_WildcardField::H248_WildcardField(const char * v)
2720 SetValue(v);
2724 H248_WildcardField::H248_WildcardField(const PString & v)
2726 SetValue(v);
2730 H248_WildcardField::H248_WildcardField(const PBYTEArray & v)
2732 SetValue(v);
2736 H248_WildcardField & H248_WildcardField::operator=(const char * v)
2738 SetValue(v);
2739 return *this;
2743 H248_WildcardField & H248_WildcardField::operator=(const PString & v)
2745 SetValue(v);
2746 return *this;
2750 H248_WildcardField & H248_WildcardField::operator=(const PBYTEArray & v)
2752 SetValue(v);
2753 return *this;
2757 PObject * H248_WildcardField::Clone() const
2759 #ifndef PASN_LEANANDMEAN
2760 PAssert(IsClass(H248_WildcardField::Class()), PInvalidCast);
2761 #endif
2762 return new H248_WildcardField(*this);
2767 // TerminationIDList
2770 H248_TerminationIDList::H248_TerminationIDList(unsigned tag, PASN_Object::TagClass tagClass)
2771 : PASN_Array(tag, tagClass)
2776 PASN_Object * H248_TerminationIDList::CreateObject() const
2778 return new H248_TerminationID;
2782 H248_TerminationID & H248_TerminationIDList::operator[](PINDEX i) const
2784 return (H248_TerminationID &)array[i];
2788 PObject * H248_TerminationIDList::Clone() const
2790 #ifndef PASN_LEANANDMEAN
2791 PAssert(IsClass(H248_TerminationIDList::Class()), PInvalidCast);
2792 #endif
2793 return new H248_TerminationIDList(*this);
2797 #ifndef PASN_NOPRINTON
2798 const static PASN_Names Names_H248_StreamMode[]={
2799 {"sendOnly",0}
2800 ,{"recvOnly",1}
2801 ,{"sendRecv",2}
2802 ,{"inactive",3}
2803 ,{"loopBack",4}
2805 #endif
2807 // StreamMode
2810 H248_StreamMode::H248_StreamMode(unsigned tag, PASN_Object::TagClass tagClass)
2811 : PASN_Enumeration(tag, tagClass, 4, TRUE
2812 #ifndef PASN_NOPRINTON
2813 ,(const PASN_Names *)Names_H248_StreamMode,5
2814 #endif
2820 H248_StreamMode & H248_StreamMode::operator=(unsigned v)
2822 SetValue(v);
2823 return *this;
2827 PObject * H248_StreamMode::Clone() const
2829 #ifndef PASN_LEANANDMEAN
2830 PAssert(IsClass(H248_StreamMode::Class()), PInvalidCast);
2831 #endif
2832 return new H248_StreamMode(*this);
2837 // Name
2840 H248_Name::H248_Name(unsigned tag, PASN_Object::TagClass tagClass)
2841 : PASN_OctetString(tag, tagClass)
2843 SetConstraints(PASN_Object::FixedConstraint, 2);
2847 H248_Name::H248_Name(const char * v)
2849 SetValue(v);
2853 H248_Name::H248_Name(const PString & v)
2855 SetValue(v);
2859 H248_Name::H248_Name(const PBYTEArray & v)
2861 SetValue(v);
2865 H248_Name & H248_Name::operator=(const char * v)
2867 SetValue(v);
2868 return *this;
2872 H248_Name & H248_Name::operator=(const PString & v)
2874 SetValue(v);
2875 return *this;
2879 H248_Name & H248_Name::operator=(const PBYTEArray & v)
2881 SetValue(v);
2882 return *this;
2886 PObject * H248_Name::Clone() const
2888 #ifndef PASN_LEANANDMEAN
2889 PAssert(IsClass(H248_Name::Class()), PInvalidCast);
2890 #endif
2891 return new H248_Name(*this);
2896 // PkgdName
2899 H248_PkgdName::H248_PkgdName(unsigned tag, PASN_Object::TagClass tagClass)
2900 : PASN_OctetString(tag, tagClass)
2902 SetConstraints(PASN_Object::FixedConstraint, 4);
2906 H248_PkgdName::H248_PkgdName(const char * v)
2908 SetValue(v);
2912 H248_PkgdName::H248_PkgdName(const PString & v)
2914 SetValue(v);
2918 H248_PkgdName::H248_PkgdName(const PBYTEArray & v)
2920 SetValue(v);
2924 H248_PkgdName & H248_PkgdName::operator=(const char * v)
2926 SetValue(v);
2927 return *this;
2931 H248_PkgdName & H248_PkgdName::operator=(const PString & v)
2933 SetValue(v);
2934 return *this;
2938 H248_PkgdName & H248_PkgdName::operator=(const PBYTEArray & v)
2940 SetValue(v);
2941 return *this;
2945 PObject * H248_PkgdName::Clone() const
2947 #ifndef PASN_LEANANDMEAN
2948 PAssert(IsClass(H248_PkgdName::Class()), PInvalidCast);
2949 #endif
2950 return new H248_PkgdName(*this);
2954 #ifndef PASN_NOPRINTON
2955 const static PASN_Names Names_H248_Relation[]={
2956 {"greaterThan",0}
2957 ,{"smallerThan",1}
2958 ,{"unequalTo",2}
2960 #endif
2962 // Relation
2965 H248_Relation::H248_Relation(unsigned tag, PASN_Object::TagClass tagClass)
2966 : PASN_Enumeration(tag, tagClass, 2, TRUE
2967 #ifndef PASN_NOPRINTON
2968 ,(const PASN_Names *)Names_H248_Relation,3
2969 #endif
2975 H248_Relation & H248_Relation::operator=(unsigned v)
2977 SetValue(v);
2978 return *this;
2982 PObject * H248_Relation::Clone() const
2984 #ifndef PASN_LEANANDMEAN
2985 PAssert(IsClass(H248_Relation::Class()), PInvalidCast);
2986 #endif
2987 return new H248_Relation(*this);
2992 // PropertyGroup
2995 H248_PropertyGroup::H248_PropertyGroup(unsigned tag, PASN_Object::TagClass tagClass)
2996 : PASN_Array(tag, tagClass)
3001 PASN_Object * H248_PropertyGroup::CreateObject() const
3003 return new H248_PropertyParm;
3007 H248_PropertyParm & H248_PropertyGroup::operator[](PINDEX i) const
3009 return (H248_PropertyParm &)array[i];
3013 PObject * H248_PropertyGroup::Clone() const
3015 #ifndef PASN_LEANANDMEAN
3016 PAssert(IsClass(H248_PropertyGroup::Class()), PInvalidCast);
3017 #endif
3018 return new H248_PropertyGroup(*this);
3022 #ifndef PASN_NOPRINTON
3023 const static PASN_Names Names_H248_EventBufferControl[]={
3024 {"off",0}
3025 ,{"lockStep",1}
3027 #endif
3029 // EventBufferControl
3032 H248_EventBufferControl::H248_EventBufferControl(unsigned tag, PASN_Object::TagClass tagClass)
3033 : PASN_Enumeration(tag, tagClass, 1, TRUE
3034 #ifndef PASN_NOPRINTON
3035 ,(const PASN_Names *)Names_H248_EventBufferControl,2
3036 #endif
3042 H248_EventBufferControl & H248_EventBufferControl::operator=(unsigned v)
3044 SetValue(v);
3045 return *this;
3049 PObject * H248_EventBufferControl::Clone() const
3051 #ifndef PASN_LEANANDMEAN
3052 PAssert(IsClass(H248_EventBufferControl::Class()), PInvalidCast);
3053 #endif
3054 return new H248_EventBufferControl(*this);
3058 #ifndef PASN_NOPRINTON
3059 const static PASN_Names Names_H248_ServiceState[]={
3060 {"test",0}
3061 ,{"outOfSvc",1}
3062 ,{"inSvc",2}
3064 #endif
3066 // ServiceState
3069 H248_ServiceState::H248_ServiceState(unsigned tag, PASN_Object::TagClass tagClass)
3070 : PASN_Enumeration(tag, tagClass, 2, TRUE
3071 #ifndef PASN_NOPRINTON
3072 ,(const PASN_Names *)Names_H248_ServiceState,3
3073 #endif
3079 H248_ServiceState & H248_ServiceState::operator=(unsigned v)
3081 SetValue(v);
3082 return *this;
3086 PObject * H248_ServiceState::Clone() const
3088 #ifndef PASN_LEANANDMEAN
3089 PAssert(IsClass(H248_ServiceState::Class()), PInvalidCast);
3090 #endif
3091 return new H248_ServiceState(*this);
3095 #ifndef PASN_NOPRINTON
3096 const static PASN_Names Names_H248_MuxType[]={
3097 {"h221",0}
3098 ,{"h223",1}
3099 ,{"h226",2}
3100 ,{"v76",3}
3101 ,{"nx64k",4}
3103 #endif
3105 // MuxType
3108 H248_MuxType::H248_MuxType(unsigned tag, PASN_Object::TagClass tagClass)
3109 : PASN_Enumeration(tag, tagClass, 4, TRUE
3110 #ifndef PASN_NOPRINTON
3111 ,(const PASN_Names *)Names_H248_MuxType,5
3112 #endif
3118 H248_MuxType & H248_MuxType::operator=(unsigned v)
3120 SetValue(v);
3121 return *this;
3125 PObject * H248_MuxType::Clone() const
3127 #ifndef PASN_LEANANDMEAN
3128 PAssert(IsClass(H248_MuxType::Class()), PInvalidCast);
3129 #endif
3130 return new H248_MuxType(*this);
3135 // StreamID
3138 H248_StreamID::H248_StreamID(unsigned tag, PASN_Object::TagClass tagClass)
3139 : PASN_Integer(tag, tagClass)
3141 SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
3145 H248_StreamID & H248_StreamID::operator=(int v)
3147 SetValue(v);
3148 return *this;
3152 H248_StreamID & H248_StreamID::operator=(unsigned v)
3154 SetValue(v);
3155 return *this;
3159 PObject * H248_StreamID::Clone() const
3161 #ifndef PASN_LEANANDMEAN
3162 PAssert(IsClass(H248_StreamID::Class()), PInvalidCast);
3163 #endif
3164 return new H248_StreamID(*this);
3169 #ifndef PASN_NOPRINTON
3170 const static PASN_Names Names_H248_EventDM[]={
3171 {"digitMapName",0}
3172 ,{"digitMapValue",1}
3174 #endif
3176 // EventDM
3179 H248_EventDM::H248_EventDM(unsigned tag, PASN_Object::TagClass tagClass)
3180 : PASN_Choice(tag, tagClass, 2, FALSE
3181 #ifndef PASN_NOPRINTON
3182 ,(const PASN_Names *)Names_H248_EventDM,2
3183 #endif
3189 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3190 H248_EventDM::operator H248_DigitMapName &() const
3191 #else
3192 H248_EventDM::operator H248_DigitMapName &()
3194 #ifndef PASN_LEANANDMEAN
3195 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapName), PInvalidCast);
3196 #endif
3197 return *(H248_DigitMapName *)choice;
3201 H248_EventDM::operator const H248_DigitMapName &() const
3202 #endif
3204 #ifndef PASN_LEANANDMEAN
3205 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapName), PInvalidCast);
3206 #endif
3207 return *(H248_DigitMapName *)choice;
3211 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3212 H248_EventDM::operator H248_DigitMapValue &() const
3213 #else
3214 H248_EventDM::operator H248_DigitMapValue &()
3216 #ifndef PASN_LEANANDMEAN
3217 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapValue), PInvalidCast);
3218 #endif
3219 return *(H248_DigitMapValue *)choice;
3223 H248_EventDM::operator const H248_DigitMapValue &() const
3224 #endif
3226 #ifndef PASN_LEANANDMEAN
3227 PAssert(PIsDescendant(PAssertNULL(choice), H248_DigitMapValue), PInvalidCast);
3228 #endif
3229 return *(H248_DigitMapValue *)choice;
3233 BOOL H248_EventDM::CreateObject()
3235 switch (tag) {
3236 case e_digitMapName :
3237 choice = new H248_DigitMapName();
3238 return TRUE;
3239 case e_digitMapValue :
3240 choice = new H248_DigitMapValue();
3241 return TRUE;
3244 choice = NULL;
3245 return FALSE;
3249 PObject * H248_EventDM::Clone() const
3251 #ifndef PASN_LEANANDMEAN
3252 PAssert(IsClass(H248_EventDM::Class()), PInvalidCast);
3253 #endif
3254 return new H248_EventDM(*this);
3259 // EventBufferDescriptor
3262 H248_EventBufferDescriptor::H248_EventBufferDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
3263 : PASN_Array(tag, tagClass)
3268 PASN_Object * H248_EventBufferDescriptor::CreateObject() const
3270 return new H248_EventSpec;
3274 H248_EventSpec & H248_EventBufferDescriptor::operator[](PINDEX i) const
3276 return (H248_EventSpec &)array[i];
3280 PObject * H248_EventBufferDescriptor::Clone() const
3282 #ifndef PASN_LEANANDMEAN
3283 PAssert(IsClass(H248_EventBufferDescriptor::Class()), PInvalidCast);
3284 #endif
3285 return new H248_EventBufferDescriptor(*this);
3290 // SignalsDescriptor
3293 H248_SignalsDescriptor::H248_SignalsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
3294 : PASN_Array(tag, tagClass)
3299 PASN_Object * H248_SignalsDescriptor::CreateObject() const
3301 return new H248_SignalRequest;
3305 H248_SignalRequest & H248_SignalsDescriptor::operator[](PINDEX i) const
3307 return (H248_SignalRequest &)array[i];
3311 PObject * H248_SignalsDescriptor::Clone() const
3313 #ifndef PASN_LEANANDMEAN
3314 PAssert(IsClass(H248_SignalsDescriptor::Class()), PInvalidCast);
3315 #endif
3316 return new H248_SignalsDescriptor(*this);
3321 #ifndef PASN_NOPRINTON
3322 const static PASN_Names Names_H248_SignalRequest[]={
3323 {"signal",0}
3324 ,{"seqSigList",1}
3326 #endif
3328 // SignalRequest
3331 H248_SignalRequest::H248_SignalRequest(unsigned tag, PASN_Object::TagClass tagClass)
3332 : PASN_Choice(tag, tagClass, 2, TRUE
3333 #ifndef PASN_NOPRINTON
3334 ,(const PASN_Names *)Names_H248_SignalRequest,2
3335 #endif
3341 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3342 H248_SignalRequest::operator H248_Signal &() const
3343 #else
3344 H248_SignalRequest::operator H248_Signal &()
3346 #ifndef PASN_LEANANDMEAN
3347 PAssert(PIsDescendant(PAssertNULL(choice), H248_Signal), PInvalidCast);
3348 #endif
3349 return *(H248_Signal *)choice;
3353 H248_SignalRequest::operator const H248_Signal &() const
3354 #endif
3356 #ifndef PASN_LEANANDMEAN
3357 PAssert(PIsDescendant(PAssertNULL(choice), H248_Signal), PInvalidCast);
3358 #endif
3359 return *(H248_Signal *)choice;
3363 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3364 H248_SignalRequest::operator H248_SeqSigList &() const
3365 #else
3366 H248_SignalRequest::operator H248_SeqSigList &()
3368 #ifndef PASN_LEANANDMEAN
3369 PAssert(PIsDescendant(PAssertNULL(choice), H248_SeqSigList), PInvalidCast);
3370 #endif
3371 return *(H248_SeqSigList *)choice;
3375 H248_SignalRequest::operator const H248_SeqSigList &() const
3376 #endif
3378 #ifndef PASN_LEANANDMEAN
3379 PAssert(PIsDescendant(PAssertNULL(choice), H248_SeqSigList), PInvalidCast);
3380 #endif
3381 return *(H248_SeqSigList *)choice;
3385 BOOL H248_SignalRequest::CreateObject()
3387 switch (tag) {
3388 case e_signal :
3389 choice = new H248_Signal();
3390 return TRUE;
3391 case e_seqSigList :
3392 choice = new H248_SeqSigList();
3393 return TRUE;
3396 choice = NULL;
3397 return FALSE;
3401 PObject * H248_SignalRequest::Clone() const
3403 #ifndef PASN_LEANANDMEAN
3404 PAssert(IsClass(H248_SignalRequest::Class()), PInvalidCast);
3405 #endif
3406 return new H248_SignalRequest(*this);
3410 #ifndef PASN_NOPRINTON
3411 const static PASN_Names Names_H248_SignalType[]={
3412 {"brief",0}
3413 ,{"onOff",1}
3414 ,{"timeOut",2}
3416 #endif
3418 // SignalType
3421 H248_SignalType::H248_SignalType(unsigned tag, PASN_Object::TagClass tagClass)
3422 : PASN_Enumeration(tag, tagClass, 2, TRUE
3423 #ifndef PASN_NOPRINTON
3424 ,(const PASN_Names *)Names_H248_SignalType,3
3425 #endif
3431 H248_SignalType & H248_SignalType::operator=(unsigned v)
3433 SetValue(v);
3434 return *this;
3438 PObject * H248_SignalType::Clone() const
3440 #ifndef PASN_LEANANDMEAN
3441 PAssert(IsClass(H248_SignalType::Class()), PInvalidCast);
3442 #endif
3443 return new H248_SignalType(*this);
3448 // SignalName
3451 H248_SignalName::H248_SignalName(unsigned tag, PASN_Object::TagClass tagClass)
3452 : H248_PkgdName(tag, tagClass)
3457 H248_SignalName::H248_SignalName(const char * v)
3459 SetValue(v);
3463 H248_SignalName::H248_SignalName(const PString & v)
3465 SetValue(v);
3469 H248_SignalName::H248_SignalName(const PBYTEArray & v)
3471 SetValue(v);
3475 H248_SignalName & H248_SignalName::operator=(const char * v)
3477 SetValue(v);
3478 return *this;
3482 H248_SignalName & H248_SignalName::operator=(const PString & v)
3484 SetValue(v);
3485 return *this;
3489 H248_SignalName & H248_SignalName::operator=(const PBYTEArray & v)
3491 SetValue(v);
3492 return *this;
3496 PObject * H248_SignalName::Clone() const
3498 #ifndef PASN_LEANANDMEAN
3499 PAssert(IsClass(H248_SignalName::Class()), PInvalidCast);
3500 #endif
3501 return new H248_SignalName(*this);
3506 // NotifyCompletion
3509 H248_NotifyCompletion::H248_NotifyCompletion(unsigned tag, PASN_Object::TagClass tagClass)
3510 : PASN_BitString(tag, tagClass)
3515 PObject * H248_NotifyCompletion::Clone() const
3517 #ifndef PASN_LEANANDMEAN
3518 PAssert(IsClass(H248_NotifyCompletion::Class()), PInvalidCast);
3519 #endif
3520 return new H248_NotifyCompletion(*this);
3525 // RequestID
3528 H248_RequestID::H248_RequestID(unsigned tag, PASN_Object::TagClass tagClass)
3529 : PASN_Integer(tag, tagClass)
3531 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
3535 H248_RequestID & H248_RequestID::operator=(int v)
3537 SetValue(v);
3538 return *this;
3542 H248_RequestID & H248_RequestID::operator=(unsigned v)
3544 SetValue(v);
3545 return *this;
3549 PObject * H248_RequestID::Clone() const
3551 #ifndef PASN_LEANANDMEAN
3552 PAssert(IsClass(H248_RequestID::Class()), PInvalidCast);
3553 #endif
3554 return new H248_RequestID(*this);
3558 #ifndef PASN_NOPRINTON
3559 const static PASN_Names Names_H248_ModemType[]={
3560 {"v18",0}
3561 ,{"v22",1}
3562 ,{"v22bis",2}
3563 ,{"v32",3}
3564 ,{"v32bis",4}
3565 ,{"v34",5}
3566 ,{"v90",6}
3567 ,{"v91",7}
3568 ,{"synchISDN",8}
3570 #endif
3572 // ModemType
3575 H248_ModemType::H248_ModemType(unsigned tag, PASN_Object::TagClass tagClass)
3576 : PASN_Enumeration(tag, tagClass, 8, TRUE
3577 #ifndef PASN_NOPRINTON
3578 ,(const PASN_Names *)Names_H248_ModemType,9
3579 #endif
3585 H248_ModemType & H248_ModemType::operator=(unsigned v)
3587 SetValue(v);
3588 return *this;
3592 PObject * H248_ModemType::Clone() const
3594 #ifndef PASN_LEANANDMEAN
3595 PAssert(IsClass(H248_ModemType::Class()), PInvalidCast);
3596 #endif
3597 return new H248_ModemType(*this);
3602 // DigitMapName
3605 H248_DigitMapName::H248_DigitMapName(unsigned tag, PASN_Object::TagClass tagClass)
3606 : H248_Name(tag, tagClass)
3611 H248_DigitMapName::H248_DigitMapName(const char * v)
3613 SetValue(v);
3617 H248_DigitMapName::H248_DigitMapName(const PString & v)
3619 SetValue(v);
3623 H248_DigitMapName::H248_DigitMapName(const PBYTEArray & v)
3625 SetValue(v);
3629 H248_DigitMapName & H248_DigitMapName::operator=(const char * v)
3631 SetValue(v);
3632 return *this;
3636 H248_DigitMapName & H248_DigitMapName::operator=(const PString & v)
3638 SetValue(v);
3639 return *this;
3643 H248_DigitMapName & H248_DigitMapName::operator=(const PBYTEArray & v)
3645 SetValue(v);
3646 return *this;
3650 PObject * H248_DigitMapName::Clone() const
3652 #ifndef PASN_LEANANDMEAN
3653 PAssert(IsClass(H248_DigitMapName::Class()), PInvalidCast);
3654 #endif
3655 return new H248_DigitMapName(*this);
3660 // DigitMapValue
3663 H248_DigitMapValue::H248_DigitMapValue(unsigned tag, PASN_Object::TagClass tagClass)
3664 : PASN_Sequence(tag, tagClass, 3, TRUE, 1)
3666 m_startTimer.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
3667 m_shortTimer.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
3668 m_longTimer.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
3669 m_durationTimer.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
3673 #ifndef PASN_NOPRINTON
3674 void H248_DigitMapValue::PrintOn(ostream & strm) const
3676 int indent = strm.precision() + 2;
3677 strm << "{\n";
3678 if (HasOptionalField(e_startTimer))
3679 strm << setw(indent+13) << "startTimer = " << setprecision(indent) << m_startTimer << '\n';
3680 if (HasOptionalField(e_shortTimer))
3681 strm << setw(indent+13) << "shortTimer = " << setprecision(indent) << m_shortTimer << '\n';
3682 if (HasOptionalField(e_longTimer))
3683 strm << setw(indent+12) << "longTimer = " << setprecision(indent) << m_longTimer << '\n';
3684 strm << setw(indent+15) << "digitMapBody = " << setprecision(indent) << m_digitMapBody << '\n';
3685 if (HasOptionalField(e_durationTimer))
3686 strm << setw(indent+16) << "durationTimer = " << setprecision(indent) << m_durationTimer << '\n';
3687 strm << setw(indent-1) << setprecision(indent-2) << "}";
3689 #endif
3692 PObject::Comparison H248_DigitMapValue::Compare(const PObject & obj) const
3694 #ifndef PASN_LEANANDMEAN
3695 PAssert(PIsDescendant(&obj, H248_DigitMapValue), PInvalidCast);
3696 #endif
3697 const H248_DigitMapValue & other = (const H248_DigitMapValue &)obj;
3699 Comparison result;
3701 if ((result = m_startTimer.Compare(other.m_startTimer)) != EqualTo)
3702 return result;
3703 if ((result = m_shortTimer.Compare(other.m_shortTimer)) != EqualTo)
3704 return result;
3705 if ((result = m_longTimer.Compare(other.m_longTimer)) != EqualTo)
3706 return result;
3707 if ((result = m_digitMapBody.Compare(other.m_digitMapBody)) != EqualTo)
3708 return result;
3710 return PASN_Sequence::Compare(other);
3714 PINDEX H248_DigitMapValue::GetDataLength() const
3716 PINDEX length = 0;
3717 if (HasOptionalField(e_startTimer))
3718 length += m_startTimer.GetObjectLength();
3719 if (HasOptionalField(e_shortTimer))
3720 length += m_shortTimer.GetObjectLength();
3721 if (HasOptionalField(e_longTimer))
3722 length += m_longTimer.GetObjectLength();
3723 length += m_digitMapBody.GetObjectLength();
3724 return length;
3728 BOOL H248_DigitMapValue::Decode(PASN_Stream & strm)
3730 if (!PreambleDecode(strm))
3731 return FALSE;
3733 if (HasOptionalField(e_startTimer) && !m_startTimer.Decode(strm))
3734 return FALSE;
3735 if (HasOptionalField(e_shortTimer) && !m_shortTimer.Decode(strm))
3736 return FALSE;
3737 if (HasOptionalField(e_longTimer) && !m_longTimer.Decode(strm))
3738 return FALSE;
3739 if (!m_digitMapBody.Decode(strm))
3740 return FALSE;
3741 if (!KnownExtensionDecode(strm, e_durationTimer, m_durationTimer))
3742 return FALSE;
3744 return UnknownExtensionsDecode(strm);
3748 void H248_DigitMapValue::Encode(PASN_Stream & strm) const
3750 PreambleEncode(strm);
3752 if (HasOptionalField(e_startTimer))
3753 m_startTimer.Encode(strm);
3754 if (HasOptionalField(e_shortTimer))
3755 m_shortTimer.Encode(strm);
3756 if (HasOptionalField(e_longTimer))
3757 m_longTimer.Encode(strm);
3758 m_digitMapBody.Encode(strm);
3759 KnownExtensionEncode(strm, e_durationTimer, m_durationTimer);
3761 UnknownExtensionsEncode(strm);
3765 PObject * H248_DigitMapValue::Clone() const
3767 #ifndef PASN_LEANANDMEAN
3768 PAssert(IsClass(H248_DigitMapValue::Class()), PInvalidCast);
3769 #endif
3770 return new H248_DigitMapValue(*this);
3775 #ifndef PASN_NOPRINTON
3776 const static PASN_Names Names_H248_ServiceChangeAddress[]={
3777 {"portNumber",0}
3778 ,{"ip4Address",1}
3779 ,{"ip6Address",2}
3780 ,{"domainName",3}
3781 ,{"deviceName",4}
3782 ,{"mtpAddress",5}
3784 #endif
3786 // ServiceChangeAddress
3789 H248_ServiceChangeAddress::H248_ServiceChangeAddress(unsigned tag, PASN_Object::TagClass tagClass)
3790 : PASN_Choice(tag, tagClass, 6, TRUE
3791 #ifndef PASN_NOPRINTON
3792 ,(const PASN_Names *)Names_H248_ServiceChangeAddress,6
3793 #endif
3799 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3800 H248_ServiceChangeAddress::operator H248_IP4Address &() const
3801 #else
3802 H248_ServiceChangeAddress::operator H248_IP4Address &()
3804 #ifndef PASN_LEANANDMEAN
3805 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP4Address), PInvalidCast);
3806 #endif
3807 return *(H248_IP4Address *)choice;
3811 H248_ServiceChangeAddress::operator const H248_IP4Address &() const
3812 #endif
3814 #ifndef PASN_LEANANDMEAN
3815 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP4Address), PInvalidCast);
3816 #endif
3817 return *(H248_IP4Address *)choice;
3821 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3822 H248_ServiceChangeAddress::operator H248_IP6Address &() const
3823 #else
3824 H248_ServiceChangeAddress::operator H248_IP6Address &()
3826 #ifndef PASN_LEANANDMEAN
3827 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP6Address), PInvalidCast);
3828 #endif
3829 return *(H248_IP6Address *)choice;
3833 H248_ServiceChangeAddress::operator const H248_IP6Address &() const
3834 #endif
3836 #ifndef PASN_LEANANDMEAN
3837 PAssert(PIsDescendant(PAssertNULL(choice), H248_IP6Address), PInvalidCast);
3838 #endif
3839 return *(H248_IP6Address *)choice;
3843 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3844 H248_ServiceChangeAddress::operator H248_DomainName &() const
3845 #else
3846 H248_ServiceChangeAddress::operator H248_DomainName &()
3848 #ifndef PASN_LEANANDMEAN
3849 PAssert(PIsDescendant(PAssertNULL(choice), H248_DomainName), PInvalidCast);
3850 #endif
3851 return *(H248_DomainName *)choice;
3855 H248_ServiceChangeAddress::operator const H248_DomainName &() const
3856 #endif
3858 #ifndef PASN_LEANANDMEAN
3859 PAssert(PIsDescendant(PAssertNULL(choice), H248_DomainName), PInvalidCast);
3860 #endif
3861 return *(H248_DomainName *)choice;
3865 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
3866 H248_ServiceChangeAddress::operator H248_PathName &() const
3867 #else
3868 H248_ServiceChangeAddress::operator H248_PathName &()
3870 #ifndef PASN_LEANANDMEAN
3871 PAssert(PIsDescendant(PAssertNULL(choice), H248_PathName), PInvalidCast);
3872 #endif
3873 return *(H248_PathName *)choice;
3877 H248_ServiceChangeAddress::operator const H248_PathName &() const
3878 #endif
3880 #ifndef PASN_LEANANDMEAN
3881 PAssert(PIsDescendant(PAssertNULL(choice), H248_PathName), PInvalidCast);
3882 #endif
3883 return *(H248_PathName *)choice;
3887 BOOL H248_ServiceChangeAddress::CreateObject()
3889 switch (tag) {
3890 case e_portNumber :
3891 choice = new PASN_Integer();
3892 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
3893 return TRUE;
3894 case e_ip4Address :
3895 choice = new H248_IP4Address();
3896 return TRUE;
3897 case e_ip6Address :
3898 choice = new H248_IP6Address();
3899 return TRUE;
3900 case e_domainName :
3901 choice = new H248_DomainName();
3902 return TRUE;
3903 case e_deviceName :
3904 choice = new H248_PathName();
3905 return TRUE;
3906 case e_mtpAddress :
3907 choice = new PASN_OctetString();
3908 choice->SetConstraints(PASN_Object::FixedConstraint, 2, 4);
3909 return TRUE;
3912 choice = NULL;
3913 return FALSE;
3917 PObject * H248_ServiceChangeAddress::Clone() const
3919 #ifndef PASN_LEANANDMEAN
3920 PAssert(IsClass(H248_ServiceChangeAddress::Class()), PInvalidCast);
3921 #endif
3922 return new H248_ServiceChangeAddress(*this);
3926 #ifndef PASN_NOPRINTON
3927 const static PASN_Names Names_H248_ServiceChangeMethod[]={
3928 {"failover",0}
3929 ,{"forced",1}
3930 ,{"graceful",2}
3931 ,{"restart",3}
3932 ,{"disconnected",4}
3933 ,{"handOff",5}
3935 #endif
3937 // ServiceChangeMethod
3940 H248_ServiceChangeMethod::H248_ServiceChangeMethod(unsigned tag, PASN_Object::TagClass tagClass)
3941 : PASN_Enumeration(tag, tagClass, 5, TRUE
3942 #ifndef PASN_NOPRINTON
3943 ,(const PASN_Names *)Names_H248_ServiceChangeMethod,6
3944 #endif
3950 H248_ServiceChangeMethod & H248_ServiceChangeMethod::operator=(unsigned v)
3952 SetValue(v);
3953 return *this;
3957 PObject * H248_ServiceChangeMethod::Clone() const
3959 #ifndef PASN_LEANANDMEAN
3960 PAssert(IsClass(H248_ServiceChangeMethod::Class()), PInvalidCast);
3961 #endif
3962 return new H248_ServiceChangeMethod(*this);
3967 // ServiceChangeProfile
3970 H248_ServiceChangeProfile::H248_ServiceChangeProfile(unsigned tag, PASN_Object::TagClass tagClass)
3971 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
3973 m_profileName.SetConstraints(PASN_Object::FixedConstraint, 1, 67);
3977 #ifndef PASN_NOPRINTON
3978 void H248_ServiceChangeProfile::PrintOn(ostream & strm) const
3980 int indent = strm.precision() + 2;
3981 strm << "{\n";
3982 strm << setw(indent+14) << "profileName = " << setprecision(indent) << m_profileName << '\n';
3983 strm << setw(indent-1) << setprecision(indent-2) << "}";
3985 #endif
3988 PObject::Comparison H248_ServiceChangeProfile::Compare(const PObject & obj) const
3990 #ifndef PASN_LEANANDMEAN
3991 PAssert(PIsDescendant(&obj, H248_ServiceChangeProfile), PInvalidCast);
3992 #endif
3993 const H248_ServiceChangeProfile & other = (const H248_ServiceChangeProfile &)obj;
3995 Comparison result;
3997 if ((result = m_profileName.Compare(other.m_profileName)) != EqualTo)
3998 return result;
4000 return PASN_Sequence::Compare(other);
4004 PINDEX H248_ServiceChangeProfile::GetDataLength() const
4006 PINDEX length = 0;
4007 length += m_profileName.GetObjectLength();
4008 return length;
4012 BOOL H248_ServiceChangeProfile::Decode(PASN_Stream & strm)
4014 if (!PreambleDecode(strm))
4015 return FALSE;
4017 if (!m_profileName.Decode(strm))
4018 return FALSE;
4020 return UnknownExtensionsDecode(strm);
4024 void H248_ServiceChangeProfile::Encode(PASN_Stream & strm) const
4026 PreambleEncode(strm);
4028 m_profileName.Encode(strm);
4030 UnknownExtensionsEncode(strm);
4034 PObject * H248_ServiceChangeProfile::Clone() const
4036 #ifndef PASN_LEANANDMEAN
4037 PAssert(IsClass(H248_ServiceChangeProfile::Class()), PInvalidCast);
4038 #endif
4039 return new H248_ServiceChangeProfile(*this);
4044 // PackagesDescriptor
4047 H248_PackagesDescriptor::H248_PackagesDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
4048 : PASN_Array(tag, tagClass)
4053 PASN_Object * H248_PackagesDescriptor::CreateObject() const
4055 return new H248_PackagesItem;
4059 H248_PackagesItem & H248_PackagesDescriptor::operator[](PINDEX i) const
4061 return (H248_PackagesItem &)array[i];
4065 PObject * H248_PackagesDescriptor::Clone() const
4067 #ifndef PASN_LEANANDMEAN
4068 PAssert(IsClass(H248_PackagesDescriptor::Class()), PInvalidCast);
4069 #endif
4070 return new H248_PackagesDescriptor(*this);
4075 // PackagesItem
4078 H248_PackagesItem::H248_PackagesItem(unsigned tag, PASN_Object::TagClass tagClass)
4079 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
4081 m_packageVersion.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
4085 #ifndef PASN_NOPRINTON
4086 void H248_PackagesItem::PrintOn(ostream & strm) const
4088 int indent = strm.precision() + 2;
4089 strm << "{\n";
4090 strm << setw(indent+14) << "packageName = " << setprecision(indent) << m_packageName << '\n';
4091 strm << setw(indent+17) << "packageVersion = " << setprecision(indent) << m_packageVersion << '\n';
4092 strm << setw(indent-1) << setprecision(indent-2) << "}";
4094 #endif
4097 PObject::Comparison H248_PackagesItem::Compare(const PObject & obj) const
4099 #ifndef PASN_LEANANDMEAN
4100 PAssert(PIsDescendant(&obj, H248_PackagesItem), PInvalidCast);
4101 #endif
4102 const H248_PackagesItem & other = (const H248_PackagesItem &)obj;
4104 Comparison result;
4106 if ((result = m_packageName.Compare(other.m_packageName)) != EqualTo)
4107 return result;
4108 if ((result = m_packageVersion.Compare(other.m_packageVersion)) != EqualTo)
4109 return result;
4111 return PASN_Sequence::Compare(other);
4115 PINDEX H248_PackagesItem::GetDataLength() const
4117 PINDEX length = 0;
4118 length += m_packageName.GetObjectLength();
4119 length += m_packageVersion.GetObjectLength();
4120 return length;
4124 BOOL H248_PackagesItem::Decode(PASN_Stream & strm)
4126 if (!PreambleDecode(strm))
4127 return FALSE;
4129 if (!m_packageName.Decode(strm))
4130 return FALSE;
4131 if (!m_packageVersion.Decode(strm))
4132 return FALSE;
4134 return UnknownExtensionsDecode(strm);
4138 void H248_PackagesItem::Encode(PASN_Stream & strm) const
4140 PreambleEncode(strm);
4142 m_packageName.Encode(strm);
4143 m_packageVersion.Encode(strm);
4145 UnknownExtensionsEncode(strm);
4149 PObject * H248_PackagesItem::Clone() const
4151 #ifndef PASN_LEANANDMEAN
4152 PAssert(IsClass(H248_PackagesItem::Class()), PInvalidCast);
4153 #endif
4154 return new H248_PackagesItem(*this);
4159 // StatisticsDescriptor
4162 H248_StatisticsDescriptor::H248_StatisticsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
4163 : PASN_Array(tag, tagClass)
4168 PASN_Object * H248_StatisticsDescriptor::CreateObject() const
4170 return new H248_StatisticsParameter;
4174 H248_StatisticsParameter & H248_StatisticsDescriptor::operator[](PINDEX i) const
4176 return (H248_StatisticsParameter &)array[i];
4180 PObject * H248_StatisticsDescriptor::Clone() const
4182 #ifndef PASN_LEANANDMEAN
4183 PAssert(IsClass(H248_StatisticsDescriptor::Class()), PInvalidCast);
4184 #endif
4185 return new H248_StatisticsDescriptor(*this);
4190 #ifndef PASN_NOPRINTON
4191 const static PASN_Names Names_H248_NonStandardIdentifier[]={
4192 {"object",0}
4193 ,{"h221NonStandard",1}
4194 ,{"experimental",2}
4196 #endif
4198 // NonStandardIdentifier
4201 H248_NonStandardIdentifier::H248_NonStandardIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
4202 : PASN_Choice(tag, tagClass, 3, TRUE
4203 #ifndef PASN_NOPRINTON
4204 ,(const PASN_Names *)Names_H248_NonStandardIdentifier,3
4205 #endif
4211 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4212 H248_NonStandardIdentifier::operator H248_H221NonStandard &() const
4213 #else
4214 H248_NonStandardIdentifier::operator H248_H221NonStandard &()
4216 #ifndef PASN_LEANANDMEAN
4217 PAssert(PIsDescendant(PAssertNULL(choice), H248_H221NonStandard), PInvalidCast);
4218 #endif
4219 return *(H248_H221NonStandard *)choice;
4223 H248_NonStandardIdentifier::operator const H248_H221NonStandard &() const
4224 #endif
4226 #ifndef PASN_LEANANDMEAN
4227 PAssert(PIsDescendant(PAssertNULL(choice), H248_H221NonStandard), PInvalidCast);
4228 #endif
4229 return *(H248_H221NonStandard *)choice;
4233 BOOL H248_NonStandardIdentifier::CreateObject()
4235 switch (tag) {
4236 case e_object :
4237 choice = new PASN_ObjectId();
4238 return TRUE;
4239 case e_h221NonStandard :
4240 choice = new H248_H221NonStandard();
4241 return TRUE;
4242 case e_experimental :
4243 choice = new PASN_IA5String();
4244 choice->SetConstraints(PASN_Object::FixedConstraint, 8);
4245 return TRUE;
4248 choice = NULL;
4249 return FALSE;
4253 PObject * H248_NonStandardIdentifier::Clone() const
4255 #ifndef PASN_LEANANDMEAN
4256 PAssert(IsClass(H248_NonStandardIdentifier::Class()), PInvalidCast);
4257 #endif
4258 return new H248_NonStandardIdentifier(*this);
4263 // H221NonStandard
4266 H248_H221NonStandard::H248_H221NonStandard(unsigned tag, PASN_Object::TagClass tagClass)
4267 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
4269 m_t35CountryCode1.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
4270 m_t35CountryCode2.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
4271 m_t35Extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
4272 m_manufacturerCode.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
4276 #ifndef PASN_NOPRINTON
4277 void H248_H221NonStandard::PrintOn(ostream & strm) const
4279 int indent = strm.precision() + 2;
4280 strm << "{\n";
4281 strm << setw(indent+18) << "t35CountryCode1 = " << setprecision(indent) << m_t35CountryCode1 << '\n';
4282 strm << setw(indent+18) << "t35CountryCode2 = " << setprecision(indent) << m_t35CountryCode2 << '\n';
4283 strm << setw(indent+15) << "t35Extension = " << setprecision(indent) << m_t35Extension << '\n';
4284 strm << setw(indent+19) << "manufacturerCode = " << setprecision(indent) << m_manufacturerCode << '\n';
4285 strm << setw(indent-1) << setprecision(indent-2) << "}";
4287 #endif
4290 PObject::Comparison H248_H221NonStandard::Compare(const PObject & obj) const
4292 #ifndef PASN_LEANANDMEAN
4293 PAssert(PIsDescendant(&obj, H248_H221NonStandard), PInvalidCast);
4294 #endif
4295 const H248_H221NonStandard & other = (const H248_H221NonStandard &)obj;
4297 Comparison result;
4299 if ((result = m_t35CountryCode1.Compare(other.m_t35CountryCode1)) != EqualTo)
4300 return result;
4301 if ((result = m_t35CountryCode2.Compare(other.m_t35CountryCode2)) != EqualTo)
4302 return result;
4303 if ((result = m_t35Extension.Compare(other.m_t35Extension)) != EqualTo)
4304 return result;
4305 if ((result = m_manufacturerCode.Compare(other.m_manufacturerCode)) != EqualTo)
4306 return result;
4308 return PASN_Sequence::Compare(other);
4312 PINDEX H248_H221NonStandard::GetDataLength() const
4314 PINDEX length = 0;
4315 length += m_t35CountryCode1.GetObjectLength();
4316 length += m_t35CountryCode2.GetObjectLength();
4317 length += m_t35Extension.GetObjectLength();
4318 length += m_manufacturerCode.GetObjectLength();
4319 return length;
4323 BOOL H248_H221NonStandard::Decode(PASN_Stream & strm)
4325 if (!PreambleDecode(strm))
4326 return FALSE;
4328 if (!m_t35CountryCode1.Decode(strm))
4329 return FALSE;
4330 if (!m_t35CountryCode2.Decode(strm))
4331 return FALSE;
4332 if (!m_t35Extension.Decode(strm))
4333 return FALSE;
4334 if (!m_manufacturerCode.Decode(strm))
4335 return FALSE;
4337 return UnknownExtensionsDecode(strm);
4341 void H248_H221NonStandard::Encode(PASN_Stream & strm) const
4343 PreambleEncode(strm);
4345 m_t35CountryCode1.Encode(strm);
4346 m_t35CountryCode2.Encode(strm);
4347 m_t35Extension.Encode(strm);
4348 m_manufacturerCode.Encode(strm);
4350 UnknownExtensionsEncode(strm);
4354 PObject * H248_H221NonStandard::Clone() const
4356 #ifndef PASN_LEANANDMEAN
4357 PAssert(IsClass(H248_H221NonStandard::Class()), PInvalidCast);
4358 #endif
4359 return new H248_H221NonStandard(*this);
4364 // TimeNotation
4367 H248_TimeNotation::H248_TimeNotation(unsigned tag, PASN_Object::TagClass tagClass)
4368 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
4370 m_date.SetConstraints(PASN_Object::FixedConstraint, 8);
4371 m_time.SetConstraints(PASN_Object::FixedConstraint, 8);
4375 #ifndef PASN_NOPRINTON
4376 void H248_TimeNotation::PrintOn(ostream & strm) const
4378 int indent = strm.precision() + 2;
4379 strm << "{\n";
4380 strm << setw(indent+7) << "date = " << setprecision(indent) << m_date << '\n';
4381 strm << setw(indent+7) << "time = " << setprecision(indent) << m_time << '\n';
4382 strm << setw(indent-1) << setprecision(indent-2) << "}";
4384 #endif
4387 PObject::Comparison H248_TimeNotation::Compare(const PObject & obj) const
4389 #ifndef PASN_LEANANDMEAN
4390 PAssert(PIsDescendant(&obj, H248_TimeNotation), PInvalidCast);
4391 #endif
4392 const H248_TimeNotation & other = (const H248_TimeNotation &)obj;
4394 Comparison result;
4396 if ((result = m_date.Compare(other.m_date)) != EqualTo)
4397 return result;
4398 if ((result = m_time.Compare(other.m_time)) != EqualTo)
4399 return result;
4401 return PASN_Sequence::Compare(other);
4405 PINDEX H248_TimeNotation::GetDataLength() const
4407 PINDEX length = 0;
4408 length += m_date.GetObjectLength();
4409 length += m_time.GetObjectLength();
4410 return length;
4414 BOOL H248_TimeNotation::Decode(PASN_Stream & strm)
4416 if (!PreambleDecode(strm))
4417 return FALSE;
4419 if (!m_date.Decode(strm))
4420 return FALSE;
4421 if (!m_time.Decode(strm))
4422 return FALSE;
4424 return UnknownExtensionsDecode(strm);
4428 void H248_TimeNotation::Encode(PASN_Stream & strm) const
4430 PreambleEncode(strm);
4432 m_date.Encode(strm);
4433 m_time.Encode(strm);
4435 UnknownExtensionsEncode(strm);
4439 PObject * H248_TimeNotation::Clone() const
4441 #ifndef PASN_LEANANDMEAN
4442 PAssert(IsClass(H248_TimeNotation::Class()), PInvalidCast);
4443 #endif
4444 return new H248_TimeNotation(*this);
4449 // Value
4452 H248_Value::H248_Value(unsigned tag, PASN_Object::TagClass tagClass)
4453 : PASN_Array(tag, tagClass)
4458 PASN_Object * H248_Value::CreateObject() const
4460 return new PASN_OctetString;
4464 PASN_OctetString & H248_Value::operator[](PINDEX i) const
4466 return (PASN_OctetString &)array[i];
4470 PObject * H248_Value::Clone() const
4472 #ifndef PASN_LEANANDMEAN
4473 PAssert(IsClass(H248_Value::Class()), PInvalidCast);
4474 #endif
4475 return new H248_Value(*this);
4480 #ifndef PASN_NOPRINTON
4481 const static PASN_Names Names_H248_Message_messageBody[]={
4482 {"messageError",0}
4483 ,{"transactions",1}
4485 #endif
4487 // Message_messageBody
4490 H248_Message_messageBody::H248_Message_messageBody(unsigned tag, PASN_Object::TagClass tagClass)
4491 : PASN_Choice(tag, tagClass, 2, FALSE
4492 #ifndef PASN_NOPRINTON
4493 ,(const PASN_Names *)Names_H248_Message_messageBody,2
4494 #endif
4500 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4501 H248_Message_messageBody::operator H248_ErrorDescriptor &() const
4502 #else
4503 H248_Message_messageBody::operator H248_ErrorDescriptor &()
4505 #ifndef PASN_LEANANDMEAN
4506 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
4507 #endif
4508 return *(H248_ErrorDescriptor *)choice;
4512 H248_Message_messageBody::operator const H248_ErrorDescriptor &() const
4513 #endif
4515 #ifndef PASN_LEANANDMEAN
4516 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
4517 #endif
4518 return *(H248_ErrorDescriptor *)choice;
4522 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4523 H248_Message_messageBody::operator H248_ArrayOf_Transaction &() const
4524 #else
4525 H248_Message_messageBody::operator H248_ArrayOf_Transaction &()
4527 #ifndef PASN_LEANANDMEAN
4528 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_Transaction), PInvalidCast);
4529 #endif
4530 return *(H248_ArrayOf_Transaction *)choice;
4534 H248_Message_messageBody::operator const H248_ArrayOf_Transaction &() const
4535 #endif
4537 #ifndef PASN_LEANANDMEAN
4538 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_Transaction), PInvalidCast);
4539 #endif
4540 return *(H248_ArrayOf_Transaction *)choice;
4544 BOOL H248_Message_messageBody::CreateObject()
4546 switch (tag) {
4547 case e_messageError :
4548 choice = new H248_ErrorDescriptor();
4549 return TRUE;
4550 case e_transactions :
4551 choice = new H248_ArrayOf_Transaction();
4552 return TRUE;
4555 choice = NULL;
4556 return FALSE;
4560 PObject * H248_Message_messageBody::Clone() const
4562 #ifndef PASN_LEANANDMEAN
4563 PAssert(IsClass(H248_Message_messageBody::Class()), PInvalidCast);
4564 #endif
4565 return new H248_Message_messageBody(*this);
4570 // ArrayOf_ActionRequest
4573 H248_ArrayOf_ActionRequest::H248_ArrayOf_ActionRequest(unsigned tag, PASN_Object::TagClass tagClass)
4574 : PASN_Array(tag, tagClass)
4579 PASN_Object * H248_ArrayOf_ActionRequest::CreateObject() const
4581 return new H248_ActionRequest;
4585 H248_ActionRequest & H248_ArrayOf_ActionRequest::operator[](PINDEX i) const
4587 return (H248_ActionRequest &)array[i];
4591 PObject * H248_ArrayOf_ActionRequest::Clone() const
4593 #ifndef PASN_LEANANDMEAN
4594 PAssert(IsClass(H248_ArrayOf_ActionRequest::Class()), PInvalidCast);
4595 #endif
4596 return new H248_ArrayOf_ActionRequest(*this);
4601 #ifndef PASN_NOPRINTON
4602 const static PASN_Names Names_H248_TransactionReply_transactionResult[]={
4603 {"transactionError",0}
4604 ,{"actionReplies",1}
4606 #endif
4608 // TransactionReply_transactionResult
4611 H248_TransactionReply_transactionResult::H248_TransactionReply_transactionResult(unsigned tag, PASN_Object::TagClass tagClass)
4612 : PASN_Choice(tag, tagClass, 2, FALSE
4613 #ifndef PASN_NOPRINTON
4614 ,(const PASN_Names *)Names_H248_TransactionReply_transactionResult,2
4615 #endif
4621 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4622 H248_TransactionReply_transactionResult::operator H248_ErrorDescriptor &() const
4623 #else
4624 H248_TransactionReply_transactionResult::operator H248_ErrorDescriptor &()
4626 #ifndef PASN_LEANANDMEAN
4627 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
4628 #endif
4629 return *(H248_ErrorDescriptor *)choice;
4633 H248_TransactionReply_transactionResult::operator const H248_ErrorDescriptor &() const
4634 #endif
4636 #ifndef PASN_LEANANDMEAN
4637 PAssert(PIsDescendant(PAssertNULL(choice), H248_ErrorDescriptor), PInvalidCast);
4638 #endif
4639 return *(H248_ErrorDescriptor *)choice;
4643 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4644 H248_TransactionReply_transactionResult::operator H248_ArrayOf_ActionReply &() const
4645 #else
4646 H248_TransactionReply_transactionResult::operator H248_ArrayOf_ActionReply &()
4648 #ifndef PASN_LEANANDMEAN
4649 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_ActionReply), PInvalidCast);
4650 #endif
4651 return *(H248_ArrayOf_ActionReply *)choice;
4655 H248_TransactionReply_transactionResult::operator const H248_ArrayOf_ActionReply &() const
4656 #endif
4658 #ifndef PASN_LEANANDMEAN
4659 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_ActionReply), PInvalidCast);
4660 #endif
4661 return *(H248_ArrayOf_ActionReply *)choice;
4665 BOOL H248_TransactionReply_transactionResult::CreateObject()
4667 switch (tag) {
4668 case e_transactionError :
4669 choice = new H248_ErrorDescriptor();
4670 return TRUE;
4671 case e_actionReplies :
4672 choice = new H248_ArrayOf_ActionReply();
4673 return TRUE;
4676 choice = NULL;
4677 return FALSE;
4681 PObject * H248_TransactionReply_transactionResult::Clone() const
4683 #ifndef PASN_LEANANDMEAN
4684 PAssert(IsClass(H248_TransactionReply_transactionResult::Class()), PInvalidCast);
4685 #endif
4686 return new H248_TransactionReply_transactionResult(*this);
4691 // ArrayOf_CommandRequest
4694 H248_ArrayOf_CommandRequest::H248_ArrayOf_CommandRequest(unsigned tag, PASN_Object::TagClass tagClass)
4695 : PASN_Array(tag, tagClass)
4700 PASN_Object * H248_ArrayOf_CommandRequest::CreateObject() const
4702 return new H248_CommandRequest;
4706 H248_CommandRequest & H248_ArrayOf_CommandRequest::operator[](PINDEX i) const
4708 return (H248_CommandRequest &)array[i];
4712 PObject * H248_ArrayOf_CommandRequest::Clone() const
4714 #ifndef PASN_LEANANDMEAN
4715 PAssert(IsClass(H248_ArrayOf_CommandRequest::Class()), PInvalidCast);
4716 #endif
4717 return new H248_ArrayOf_CommandRequest(*this);
4722 // ArrayOf_CommandReply
4725 H248_ArrayOf_CommandReply::H248_ArrayOf_CommandReply(unsigned tag, PASN_Object::TagClass tagClass)
4726 : PASN_Array(tag, tagClass)
4731 PASN_Object * H248_ArrayOf_CommandReply::CreateObject() const
4733 return new H248_CommandReply;
4737 H248_CommandReply & H248_ArrayOf_CommandReply::operator[](PINDEX i) const
4739 return (H248_CommandReply &)array[i];
4743 PObject * H248_ArrayOf_CommandReply::Clone() const
4745 #ifndef PASN_LEANANDMEAN
4746 PAssert(IsClass(H248_ArrayOf_CommandReply::Class()), PInvalidCast);
4747 #endif
4748 return new H248_ArrayOf_CommandReply(*this);
4753 // ArrayOf_TopologyRequest
4756 H248_ArrayOf_TopologyRequest::H248_ArrayOf_TopologyRequest(unsigned tag, PASN_Object::TagClass tagClass)
4757 : PASN_Array(tag, tagClass)
4762 PASN_Object * H248_ArrayOf_TopologyRequest::CreateObject() const
4764 return new H248_TopologyRequest;
4768 H248_TopologyRequest & H248_ArrayOf_TopologyRequest::operator[](PINDEX i) const
4770 return (H248_TopologyRequest &)array[i];
4774 PObject * H248_ArrayOf_TopologyRequest::Clone() const
4776 #ifndef PASN_LEANANDMEAN
4777 PAssert(IsClass(H248_ArrayOf_TopologyRequest::Class()), PInvalidCast);
4778 #endif
4779 return new H248_ArrayOf_TopologyRequest(*this);
4783 #ifndef PASN_NOPRINTON
4784 const static PASN_Names Names_H248_TopologyRequest_topologyDirection[]={
4785 {"bothway",0}
4786 ,{"isolate",1}
4787 ,{"oneway",2}
4789 #endif
4791 // TopologyRequest_topologyDirection
4794 H248_TopologyRequest_topologyDirection::H248_TopologyRequest_topologyDirection(unsigned tag, PASN_Object::TagClass tagClass)
4795 : PASN_Enumeration(tag, tagClass, 2, FALSE
4796 #ifndef PASN_NOPRINTON
4797 ,(const PASN_Names *)Names_H248_TopologyRequest_topologyDirection,3
4798 #endif
4804 H248_TopologyRequest_topologyDirection & H248_TopologyRequest_topologyDirection::operator=(unsigned v)
4806 SetValue(v);
4807 return *this;
4811 PObject * H248_TopologyRequest_topologyDirection::Clone() const
4813 #ifndef PASN_LEANANDMEAN
4814 PAssert(IsClass(H248_TopologyRequest_topologyDirection::Class()), PInvalidCast);
4815 #endif
4816 return new H248_TopologyRequest_topologyDirection(*this);
4821 // ArrayOf_AmmDescriptor
4824 H248_ArrayOf_AmmDescriptor::H248_ArrayOf_AmmDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
4825 : PASN_Array(tag, tagClass)
4830 PASN_Object * H248_ArrayOf_AmmDescriptor::CreateObject() const
4832 return new H248_AmmDescriptor;
4836 H248_AmmDescriptor & H248_ArrayOf_AmmDescriptor::operator[](PINDEX i) const
4838 return (H248_AmmDescriptor &)array[i];
4842 PObject * H248_ArrayOf_AmmDescriptor::Clone() const
4844 #ifndef PASN_LEANANDMEAN
4845 PAssert(IsClass(H248_ArrayOf_AmmDescriptor::Class()), PInvalidCast);
4846 #endif
4847 return new H248_ArrayOf_AmmDescriptor(*this);
4852 // ArrayOf_IndAuditParameter
4855 H248_ArrayOf_IndAuditParameter::H248_ArrayOf_IndAuditParameter(unsigned tag, PASN_Object::TagClass tagClass)
4856 : PASN_Array(tag, tagClass)
4861 PASN_Object * H248_ArrayOf_IndAuditParameter::CreateObject() const
4863 return new H248_IndAuditParameter;
4867 H248_IndAuditParameter & H248_ArrayOf_IndAuditParameter::operator[](PINDEX i) const
4869 return (H248_IndAuditParameter &)array[i];
4873 PObject * H248_ArrayOf_IndAuditParameter::Clone() const
4875 #ifndef PASN_LEANANDMEAN
4876 PAssert(IsClass(H248_ArrayOf_IndAuditParameter::Class()), PInvalidCast);
4877 #endif
4878 return new H248_ArrayOf_IndAuditParameter(*this);
4883 #ifndef PASN_NOPRINTON
4884 const static PASN_Names Names_H248_IndAudMediaDescriptor_streams[]={
4885 {"oneStream",0}
4886 ,{"multiStream",1}
4888 #endif
4890 // IndAudMediaDescriptor_streams
4893 H248_IndAudMediaDescriptor_streams::H248_IndAudMediaDescriptor_streams(unsigned tag, PASN_Object::TagClass tagClass)
4894 : PASN_Choice(tag, tagClass, 2, FALSE
4895 #ifndef PASN_NOPRINTON
4896 ,(const PASN_Names *)Names_H248_IndAudMediaDescriptor_streams,2
4897 #endif
4903 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4904 H248_IndAudMediaDescriptor_streams::operator H248_IndAudStreamParms &() const
4905 #else
4906 H248_IndAudMediaDescriptor_streams::operator H248_IndAudStreamParms &()
4908 #ifndef PASN_LEANANDMEAN
4909 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudStreamParms), PInvalidCast);
4910 #endif
4911 return *(H248_IndAudStreamParms *)choice;
4915 H248_IndAudMediaDescriptor_streams::operator const H248_IndAudStreamParms &() const
4916 #endif
4918 #ifndef PASN_LEANANDMEAN
4919 PAssert(PIsDescendant(PAssertNULL(choice), H248_IndAudStreamParms), PInvalidCast);
4920 #endif
4921 return *(H248_IndAudStreamParms *)choice;
4925 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
4926 H248_IndAudMediaDescriptor_streams::operator H248_ArrayOf_IndAudStreamDescriptor &() const
4927 #else
4928 H248_IndAudMediaDescriptor_streams::operator H248_ArrayOf_IndAudStreamDescriptor &()
4930 #ifndef PASN_LEANANDMEAN
4931 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_IndAudStreamDescriptor), PInvalidCast);
4932 #endif
4933 return *(H248_ArrayOf_IndAudStreamDescriptor *)choice;
4937 H248_IndAudMediaDescriptor_streams::operator const H248_ArrayOf_IndAudStreamDescriptor &() const
4938 #endif
4940 #ifndef PASN_LEANANDMEAN
4941 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_IndAudStreamDescriptor), PInvalidCast);
4942 #endif
4943 return *(H248_ArrayOf_IndAudStreamDescriptor *)choice;
4947 BOOL H248_IndAudMediaDescriptor_streams::CreateObject()
4949 switch (tag) {
4950 case e_oneStream :
4951 choice = new H248_IndAudStreamParms();
4952 return TRUE;
4953 case e_multiStream :
4954 choice = new H248_ArrayOf_IndAudStreamDescriptor();
4955 return TRUE;
4958 choice = NULL;
4959 return FALSE;
4963 PObject * H248_IndAudMediaDescriptor_streams::Clone() const
4965 #ifndef PASN_LEANANDMEAN
4966 PAssert(IsClass(H248_IndAudMediaDescriptor_streams::Class()), PInvalidCast);
4967 #endif
4968 return new H248_IndAudMediaDescriptor_streams(*this);
4973 // ArrayOf_IndAudPropertyParm
4976 H248_ArrayOf_IndAudPropertyParm::H248_ArrayOf_IndAudPropertyParm(unsigned tag, PASN_Object::TagClass tagClass)
4977 : PASN_Array(tag, tagClass)
4982 PASN_Object * H248_ArrayOf_IndAudPropertyParm::CreateObject() const
4984 return new H248_IndAudPropertyParm;
4988 H248_IndAudPropertyParm & H248_ArrayOf_IndAudPropertyParm::operator[](PINDEX i) const
4990 return (H248_IndAudPropertyParm &)array[i];
4994 PObject * H248_ArrayOf_IndAudPropertyParm::Clone() const
4996 #ifndef PASN_LEANANDMEAN
4997 PAssert(IsClass(H248_ArrayOf_IndAudPropertyParm::Class()), PInvalidCast);
4998 #endif
4999 return new H248_ArrayOf_IndAudPropertyParm(*this);
5004 // ArrayOf_ObservedEvent
5007 H248_ArrayOf_ObservedEvent::H248_ArrayOf_ObservedEvent(unsigned tag, PASN_Object::TagClass tagClass)
5008 : PASN_Array(tag, tagClass)
5013 PASN_Object * H248_ArrayOf_ObservedEvent::CreateObject() const
5015 return new H248_ObservedEvent;
5019 H248_ObservedEvent & H248_ArrayOf_ObservedEvent::operator[](PINDEX i) const
5021 return (H248_ObservedEvent &)array[i];
5025 PObject * H248_ArrayOf_ObservedEvent::Clone() const
5027 #ifndef PASN_LEANANDMEAN
5028 PAssert(IsClass(H248_ArrayOf_ObservedEvent::Class()), PInvalidCast);
5029 #endif
5030 return new H248_ArrayOf_ObservedEvent(*this);
5035 // ArrayOf_EventParameter
5038 H248_ArrayOf_EventParameter::H248_ArrayOf_EventParameter(unsigned tag, PASN_Object::TagClass tagClass)
5039 : PASN_Array(tag, tagClass)
5044 PASN_Object * H248_ArrayOf_EventParameter::CreateObject() const
5046 return new H248_EventParameter;
5050 H248_EventParameter & H248_ArrayOf_EventParameter::operator[](PINDEX i) const
5052 return (H248_EventParameter &)array[i];
5056 PObject * H248_ArrayOf_EventParameter::Clone() const
5058 #ifndef PASN_LEANANDMEAN
5059 PAssert(IsClass(H248_ArrayOf_EventParameter::Class()), PInvalidCast);
5060 #endif
5061 return new H248_ArrayOf_EventParameter(*this);
5066 #ifndef PASN_NOPRINTON
5067 const static PASN_Names Names_H248_EventParameter_extraInfo[]={
5068 {"relation",0}
5069 ,{"range",1}
5070 ,{"sublist",2}
5072 #endif
5074 // EventParameter_extraInfo
5077 H248_EventParameter_extraInfo::H248_EventParameter_extraInfo(unsigned tag, PASN_Object::TagClass tagClass)
5078 : PASN_Choice(tag, tagClass, 3, FALSE
5079 #ifndef PASN_NOPRINTON
5080 ,(const PASN_Names *)Names_H248_EventParameter_extraInfo,3
5081 #endif
5087 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5088 H248_EventParameter_extraInfo::operator H248_Relation &() const
5089 #else
5090 H248_EventParameter_extraInfo::operator H248_Relation &()
5092 #ifndef PASN_LEANANDMEAN
5093 PAssert(PIsDescendant(PAssertNULL(choice), H248_Relation), PInvalidCast);
5094 #endif
5095 return *(H248_Relation *)choice;
5099 H248_EventParameter_extraInfo::operator const H248_Relation &() const
5100 #endif
5102 #ifndef PASN_LEANANDMEAN
5103 PAssert(PIsDescendant(PAssertNULL(choice), H248_Relation), PInvalidCast);
5104 #endif
5105 return *(H248_Relation *)choice;
5109 BOOL H248_EventParameter_extraInfo::CreateObject()
5111 switch (tag) {
5112 case e_relation :
5113 choice = new H248_Relation();
5114 return TRUE;
5115 case e_range :
5116 case e_sublist :
5117 choice = new PASN_Boolean();
5118 return TRUE;
5121 choice = NULL;
5122 return FALSE;
5126 PObject * H248_EventParameter_extraInfo::Clone() const
5128 #ifndef PASN_LEANANDMEAN
5129 PAssert(IsClass(H248_EventParameter_extraInfo::Class()), PInvalidCast);
5130 #endif
5131 return new H248_EventParameter_extraInfo(*this);
5136 // ArrayOf_WildcardField
5139 H248_ArrayOf_WildcardField::H248_ArrayOf_WildcardField(unsigned tag, PASN_Object::TagClass tagClass)
5140 : PASN_Array(tag, tagClass)
5145 PASN_Object * H248_ArrayOf_WildcardField::CreateObject() const
5147 return new H248_WildcardField;
5151 H248_WildcardField & H248_ArrayOf_WildcardField::operator[](PINDEX i) const
5153 return (H248_WildcardField &)array[i];
5157 PObject * H248_ArrayOf_WildcardField::Clone() const
5159 #ifndef PASN_LEANANDMEAN
5160 PAssert(IsClass(H248_ArrayOf_WildcardField::Class()), PInvalidCast);
5161 #endif
5162 return new H248_ArrayOf_WildcardField(*this);
5167 #ifndef PASN_NOPRINTON
5168 const static PASN_Names Names_H248_MediaDescriptor_streams[]={
5169 {"oneStream",0}
5170 ,{"multiStream",1}
5172 #endif
5174 // MediaDescriptor_streams
5177 H248_MediaDescriptor_streams::H248_MediaDescriptor_streams(unsigned tag, PASN_Object::TagClass tagClass)
5178 : PASN_Choice(tag, tagClass, 2, FALSE
5179 #ifndef PASN_NOPRINTON
5180 ,(const PASN_Names *)Names_H248_MediaDescriptor_streams,2
5181 #endif
5187 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5188 H248_MediaDescriptor_streams::operator H248_StreamParms &() const
5189 #else
5190 H248_MediaDescriptor_streams::operator H248_StreamParms &()
5192 #ifndef PASN_LEANANDMEAN
5193 PAssert(PIsDescendant(PAssertNULL(choice), H248_StreamParms), PInvalidCast);
5194 #endif
5195 return *(H248_StreamParms *)choice;
5199 H248_MediaDescriptor_streams::operator const H248_StreamParms &() const
5200 #endif
5202 #ifndef PASN_LEANANDMEAN
5203 PAssert(PIsDescendant(PAssertNULL(choice), H248_StreamParms), PInvalidCast);
5204 #endif
5205 return *(H248_StreamParms *)choice;
5209 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5210 H248_MediaDescriptor_streams::operator H248_ArrayOf_StreamDescriptor &() const
5211 #else
5212 H248_MediaDescriptor_streams::operator H248_ArrayOf_StreamDescriptor &()
5214 #ifndef PASN_LEANANDMEAN
5215 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_StreamDescriptor), PInvalidCast);
5216 #endif
5217 return *(H248_ArrayOf_StreamDescriptor *)choice;
5221 H248_MediaDescriptor_streams::operator const H248_ArrayOf_StreamDescriptor &() const
5222 #endif
5224 #ifndef PASN_LEANANDMEAN
5225 PAssert(PIsDescendant(PAssertNULL(choice), H248_ArrayOf_StreamDescriptor), PInvalidCast);
5226 #endif
5227 return *(H248_ArrayOf_StreamDescriptor *)choice;
5231 BOOL H248_MediaDescriptor_streams::CreateObject()
5233 switch (tag) {
5234 case e_oneStream :
5235 choice = new H248_StreamParms();
5236 return TRUE;
5237 case e_multiStream :
5238 choice = new H248_ArrayOf_StreamDescriptor();
5239 return TRUE;
5242 choice = NULL;
5243 return FALSE;
5247 PObject * H248_MediaDescriptor_streams::Clone() const
5249 #ifndef PASN_LEANANDMEAN
5250 PAssert(IsClass(H248_MediaDescriptor_streams::Class()), PInvalidCast);
5251 #endif
5252 return new H248_MediaDescriptor_streams(*this);
5257 // ArrayOf_PropertyParm
5260 H248_ArrayOf_PropertyParm::H248_ArrayOf_PropertyParm(unsigned tag, PASN_Object::TagClass tagClass)
5261 : PASN_Array(tag, tagClass)
5266 PASN_Object * H248_ArrayOf_PropertyParm::CreateObject() const
5268 return new H248_PropertyParm;
5272 H248_PropertyParm & H248_ArrayOf_PropertyParm::operator[](PINDEX i) const
5274 return (H248_PropertyParm &)array[i];
5278 PObject * H248_ArrayOf_PropertyParm::Clone() const
5280 #ifndef PASN_LEANANDMEAN
5281 PAssert(IsClass(H248_ArrayOf_PropertyParm::Class()), PInvalidCast);
5282 #endif
5283 return new H248_ArrayOf_PropertyParm(*this);
5288 // ArrayOf_PASN_OctetString
5291 H248_ArrayOf_PASN_OctetString::H248_ArrayOf_PASN_OctetString(unsigned tag, PASN_Object::TagClass tagClass)
5292 : PASN_Array(tag, tagClass)
5297 PASN_Object * H248_ArrayOf_PASN_OctetString::CreateObject() const
5299 return new PASN_OctetString;
5303 PASN_OctetString & H248_ArrayOf_PASN_OctetString::operator[](PINDEX i) const
5305 return (PASN_OctetString &)array[i];
5309 PObject * H248_ArrayOf_PASN_OctetString::Clone() const
5311 #ifndef PASN_LEANANDMEAN
5312 PAssert(IsClass(H248_ArrayOf_PASN_OctetString::Class()), PInvalidCast);
5313 #endif
5314 return new H248_ArrayOf_PASN_OctetString(*this);
5319 #ifndef PASN_NOPRINTON
5320 const static PASN_Names Names_H248_PropertyParm_extraInfo[]={
5321 {"relation",0}
5322 ,{"range",1}
5323 ,{"sublist",2}
5325 #endif
5327 // PropertyParm_extraInfo
5330 H248_PropertyParm_extraInfo::H248_PropertyParm_extraInfo(unsigned tag, PASN_Object::TagClass tagClass)
5331 : PASN_Choice(tag, tagClass, 3, FALSE
5332 #ifndef PASN_NOPRINTON
5333 ,(const PASN_Names *)Names_H248_PropertyParm_extraInfo,3
5334 #endif
5340 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5341 H248_PropertyParm_extraInfo::operator H248_Relation &() const
5342 #else
5343 H248_PropertyParm_extraInfo::operator H248_Relation &()
5345 #ifndef PASN_LEANANDMEAN
5346 PAssert(PIsDescendant(PAssertNULL(choice), H248_Relation), PInvalidCast);
5347 #endif
5348 return *(H248_Relation *)choice;
5352 H248_PropertyParm_extraInfo::operator const H248_Relation &() const
5353 #endif
5355 #ifndef PASN_LEANANDMEAN
5356 PAssert(PIsDescendant(PAssertNULL(choice), H248_Relation), PInvalidCast);
5357 #endif
5358 return *(H248_Relation *)choice;
5362 BOOL H248_PropertyParm_extraInfo::CreateObject()
5364 switch (tag) {
5365 case e_relation :
5366 choice = new H248_Relation();
5367 return TRUE;
5368 case e_range :
5369 case e_sublist :
5370 choice = new PASN_Boolean();
5371 return TRUE;
5374 choice = NULL;
5375 return FALSE;
5379 PObject * H248_PropertyParm_extraInfo::Clone() const
5381 #ifndef PASN_LEANANDMEAN
5382 PAssert(IsClass(H248_PropertyParm_extraInfo::Class()), PInvalidCast);
5383 #endif
5384 return new H248_PropertyParm_extraInfo(*this);
5389 // ArrayOf_PropertyGroup
5392 H248_ArrayOf_PropertyGroup::H248_ArrayOf_PropertyGroup(unsigned tag, PASN_Object::TagClass tagClass)
5393 : PASN_Array(tag, tagClass)
5398 PASN_Object * H248_ArrayOf_PropertyGroup::CreateObject() const
5400 return new H248_PropertyGroup;
5404 H248_PropertyGroup & H248_ArrayOf_PropertyGroup::operator[](PINDEX i) const
5406 return (H248_PropertyGroup &)array[i];
5410 PObject * H248_ArrayOf_PropertyGroup::Clone() const
5412 #ifndef PASN_LEANANDMEAN
5413 PAssert(IsClass(H248_ArrayOf_PropertyGroup::Class()), PInvalidCast);
5414 #endif
5415 return new H248_ArrayOf_PropertyGroup(*this);
5420 // ArrayOf_TerminationID
5423 H248_ArrayOf_TerminationID::H248_ArrayOf_TerminationID(unsigned tag, PASN_Object::TagClass tagClass)
5424 : PASN_Array(tag, tagClass)
5429 PASN_Object * H248_ArrayOf_TerminationID::CreateObject() const
5431 return new H248_TerminationID;
5435 H248_TerminationID & H248_ArrayOf_TerminationID::operator[](PINDEX i) const
5437 return (H248_TerminationID &)array[i];
5441 PObject * H248_ArrayOf_TerminationID::Clone() const
5443 #ifndef PASN_LEANANDMEAN
5444 PAssert(IsClass(H248_ArrayOf_TerminationID::Class()), PInvalidCast);
5445 #endif
5446 return new H248_ArrayOf_TerminationID(*this);
5451 // ArrayOf_RequestedEvent
5454 H248_ArrayOf_RequestedEvent::H248_ArrayOf_RequestedEvent(unsigned tag, PASN_Object::TagClass tagClass)
5455 : PASN_Array(tag, tagClass)
5460 PASN_Object * H248_ArrayOf_RequestedEvent::CreateObject() const
5462 return new H248_RequestedEvent;
5466 H248_RequestedEvent & H248_ArrayOf_RequestedEvent::operator[](PINDEX i) const
5468 return (H248_RequestedEvent &)array[i];
5472 PObject * H248_ArrayOf_RequestedEvent::Clone() const
5474 #ifndef PASN_LEANANDMEAN
5475 PAssert(IsClass(H248_ArrayOf_RequestedEvent::Class()), PInvalidCast);
5476 #endif
5477 return new H248_ArrayOf_RequestedEvent(*this);
5482 // ArrayOf_SecondRequestedEvent
5485 H248_ArrayOf_SecondRequestedEvent::H248_ArrayOf_SecondRequestedEvent(unsigned tag, PASN_Object::TagClass tagClass)
5486 : PASN_Array(tag, tagClass)
5491 PASN_Object * H248_ArrayOf_SecondRequestedEvent::CreateObject() const
5493 return new H248_SecondRequestedEvent;
5497 H248_SecondRequestedEvent & H248_ArrayOf_SecondRequestedEvent::operator[](PINDEX i) const
5499 return (H248_SecondRequestedEvent &)array[i];
5503 PObject * H248_ArrayOf_SecondRequestedEvent::Clone() const
5505 #ifndef PASN_LEANANDMEAN
5506 PAssert(IsClass(H248_ArrayOf_SecondRequestedEvent::Class()), PInvalidCast);
5507 #endif
5508 return new H248_ArrayOf_SecondRequestedEvent(*this);
5513 // ArrayOf_Signal
5516 H248_ArrayOf_Signal::H248_ArrayOf_Signal(unsigned tag, PASN_Object::TagClass tagClass)
5517 : PASN_Array(tag, tagClass)
5522 PASN_Object * H248_ArrayOf_Signal::CreateObject() const
5524 return new H248_Signal;
5528 H248_Signal & H248_ArrayOf_Signal::operator[](PINDEX i) const
5530 return (H248_Signal &)array[i];
5534 PObject * H248_ArrayOf_Signal::Clone() const
5536 #ifndef PASN_LEANANDMEAN
5537 PAssert(IsClass(H248_ArrayOf_Signal::Class()), PInvalidCast);
5538 #endif
5539 return new H248_ArrayOf_Signal(*this);
5544 // ArrayOf_SigParameter
5547 H248_ArrayOf_SigParameter::H248_ArrayOf_SigParameter(unsigned tag, PASN_Object::TagClass tagClass)
5548 : PASN_Array(tag, tagClass)
5553 PASN_Object * H248_ArrayOf_SigParameter::CreateObject() const
5555 return new H248_SigParameter;
5559 H248_SigParameter & H248_ArrayOf_SigParameter::operator[](PINDEX i) const
5561 return (H248_SigParameter &)array[i];
5565 PObject * H248_ArrayOf_SigParameter::Clone() const
5567 #ifndef PASN_LEANANDMEAN
5568 PAssert(IsClass(H248_ArrayOf_SigParameter::Class()), PInvalidCast);
5569 #endif
5570 return new H248_ArrayOf_SigParameter(*this);
5575 #ifndef PASN_NOPRINTON
5576 const static PASN_Names Names_H248_SigParameter_extraInfo[]={
5577 {"relation",0}
5578 ,{"range",1}
5579 ,{"sublist",2}
5581 #endif
5583 // SigParameter_extraInfo
5586 H248_SigParameter_extraInfo::H248_SigParameter_extraInfo(unsigned tag, PASN_Object::TagClass tagClass)
5587 : PASN_Choice(tag, tagClass, 3, FALSE
5588 #ifndef PASN_NOPRINTON
5589 ,(const PASN_Names *)Names_H248_SigParameter_extraInfo,3
5590 #endif
5596 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
5597 H248_SigParameter_extraInfo::operator H248_Relation &() const
5598 #else
5599 H248_SigParameter_extraInfo::operator H248_Relation &()
5601 #ifndef PASN_LEANANDMEAN
5602 PAssert(PIsDescendant(PAssertNULL(choice), H248_Relation), PInvalidCast);
5603 #endif
5604 return *(H248_Relation *)choice;
5608 H248_SigParameter_extraInfo::operator const H248_Relation &() const
5609 #endif
5611 #ifndef PASN_LEANANDMEAN
5612 PAssert(PIsDescendant(PAssertNULL(choice), H248_Relation), PInvalidCast);
5613 #endif
5614 return *(H248_Relation *)choice;
5618 BOOL H248_SigParameter_extraInfo::CreateObject()
5620 switch (tag) {
5621 case e_relation :
5622 choice = new H248_Relation();
5623 return TRUE;
5624 case e_range :
5625 case e_sublist :
5626 choice = new PASN_Boolean();
5627 return TRUE;
5630 choice = NULL;
5631 return FALSE;
5635 PObject * H248_SigParameter_extraInfo::Clone() const
5637 #ifndef PASN_LEANANDMEAN
5638 PAssert(IsClass(H248_SigParameter_extraInfo::Class()), PInvalidCast);
5639 #endif
5640 return new H248_SigParameter_extraInfo(*this);
5645 // ArrayOf_ModemType
5648 H248_ArrayOf_ModemType::H248_ArrayOf_ModemType(unsigned tag, PASN_Object::TagClass tagClass)
5649 : PASN_Array(tag, tagClass)
5654 PASN_Object * H248_ArrayOf_ModemType::CreateObject() const
5656 return new H248_ModemType;
5660 H248_ModemType & H248_ArrayOf_ModemType::operator[](PINDEX i) const
5662 return (H248_ModemType &)array[i];
5666 PObject * H248_ArrayOf_ModemType::Clone() const
5668 #ifndef PASN_LEANANDMEAN
5669 PAssert(IsClass(H248_ArrayOf_ModemType::Class()), PInvalidCast);
5670 #endif
5671 return new H248_ArrayOf_ModemType(*this);
5676 // ArrayOf_Transaction
5679 H248_ArrayOf_Transaction::H248_ArrayOf_Transaction(unsigned tag, PASN_Object::TagClass tagClass)
5680 : PASN_Array(tag, tagClass)
5685 PASN_Object * H248_ArrayOf_Transaction::CreateObject() const
5687 return new H248_Transaction;
5691 H248_Transaction & H248_ArrayOf_Transaction::operator[](PINDEX i) const
5693 return (H248_Transaction &)array[i];
5697 PObject * H248_ArrayOf_Transaction::Clone() const
5699 #ifndef PASN_LEANANDMEAN
5700 PAssert(IsClass(H248_ArrayOf_Transaction::Class()), PInvalidCast);
5701 #endif
5702 return new H248_ArrayOf_Transaction(*this);
5707 // ArrayOf_ActionReply
5710 H248_ArrayOf_ActionReply::H248_ArrayOf_ActionReply(unsigned tag, PASN_Object::TagClass tagClass)
5711 : PASN_Array(tag, tagClass)
5716 PASN_Object * H248_ArrayOf_ActionReply::CreateObject() const
5718 return new H248_ActionReply;
5722 H248_ActionReply & H248_ArrayOf_ActionReply::operator[](PINDEX i) const
5724 return (H248_ActionReply &)array[i];
5728 PObject * H248_ArrayOf_ActionReply::Clone() const
5730 #ifndef PASN_LEANANDMEAN
5731 PAssert(IsClass(H248_ArrayOf_ActionReply::Class()), PInvalidCast);
5732 #endif
5733 return new H248_ArrayOf_ActionReply(*this);
5738 // ArrayOf_IndAudStreamDescriptor
5741 H248_ArrayOf_IndAudStreamDescriptor::H248_ArrayOf_IndAudStreamDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
5742 : PASN_Array(tag, tagClass)
5747 PASN_Object * H248_ArrayOf_IndAudStreamDescriptor::CreateObject() const
5749 return new H248_IndAudStreamDescriptor;
5753 H248_IndAudStreamDescriptor & H248_ArrayOf_IndAudStreamDescriptor::operator[](PINDEX i) const
5755 return (H248_IndAudStreamDescriptor &)array[i];
5759 PObject * H248_ArrayOf_IndAudStreamDescriptor::Clone() const
5761 #ifndef PASN_LEANANDMEAN
5762 PAssert(IsClass(H248_ArrayOf_IndAudStreamDescriptor::Class()), PInvalidCast);
5763 #endif
5764 return new H248_ArrayOf_IndAudStreamDescriptor(*this);
5769 // ArrayOf_StreamDescriptor
5772 H248_ArrayOf_StreamDescriptor::H248_ArrayOf_StreamDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
5773 : PASN_Array(tag, tagClass)
5778 PASN_Object * H248_ArrayOf_StreamDescriptor::CreateObject() const
5780 return new H248_StreamDescriptor;
5784 H248_StreamDescriptor & H248_ArrayOf_StreamDescriptor::operator[](PINDEX i) const
5786 return (H248_StreamDescriptor &)array[i];
5790 PObject * H248_ArrayOf_StreamDescriptor::Clone() const
5792 #ifndef PASN_LEANANDMEAN
5793 PAssert(IsClass(H248_ArrayOf_StreamDescriptor::Class()), PInvalidCast);
5794 #endif
5795 return new H248_ArrayOf_StreamDescriptor(*this);
5800 // AuthenticationHeader
5803 H248_AuthenticationHeader::H248_AuthenticationHeader(unsigned tag, PASN_Object::TagClass tagClass)
5804 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
5809 #ifndef PASN_NOPRINTON
5810 void H248_AuthenticationHeader::PrintOn(ostream & strm) const
5812 int indent = strm.precision() + 2;
5813 strm << "{\n";
5814 strm << setw(indent+15) << "secParmIndex = " << setprecision(indent) << m_secParmIndex << '\n';
5815 strm << setw(indent+9) << "seqNum = " << setprecision(indent) << m_seqNum << '\n';
5816 strm << setw(indent+5) << "ad = " << setprecision(indent) << m_ad << '\n';
5817 strm << setw(indent-1) << setprecision(indent-2) << "}";
5819 #endif
5822 PObject::Comparison H248_AuthenticationHeader::Compare(const PObject & obj) const
5824 #ifndef PASN_LEANANDMEAN
5825 PAssert(PIsDescendant(&obj, H248_AuthenticationHeader), PInvalidCast);
5826 #endif
5827 const H248_AuthenticationHeader & other = (const H248_AuthenticationHeader &)obj;
5829 Comparison result;
5831 if ((result = m_secParmIndex.Compare(other.m_secParmIndex)) != EqualTo)
5832 return result;
5833 if ((result = m_seqNum.Compare(other.m_seqNum)) != EqualTo)
5834 return result;
5835 if ((result = m_ad.Compare(other.m_ad)) != EqualTo)
5836 return result;
5838 return PASN_Sequence::Compare(other);
5842 PINDEX H248_AuthenticationHeader::GetDataLength() const
5844 PINDEX length = 0;
5845 length += m_secParmIndex.GetObjectLength();
5846 length += m_seqNum.GetObjectLength();
5847 length += m_ad.GetObjectLength();
5848 return length;
5852 BOOL H248_AuthenticationHeader::Decode(PASN_Stream & strm)
5854 if (!PreambleDecode(strm))
5855 return FALSE;
5857 if (!m_secParmIndex.Decode(strm))
5858 return FALSE;
5859 if (!m_seqNum.Decode(strm))
5860 return FALSE;
5861 if (!m_ad.Decode(strm))
5862 return FALSE;
5864 return UnknownExtensionsDecode(strm);
5868 void H248_AuthenticationHeader::Encode(PASN_Stream & strm) const
5870 PreambleEncode(strm);
5872 m_secParmIndex.Encode(strm);
5873 m_seqNum.Encode(strm);
5874 m_ad.Encode(strm);
5876 UnknownExtensionsEncode(strm);
5880 PObject * H248_AuthenticationHeader::Clone() const
5882 #ifndef PASN_LEANANDMEAN
5883 PAssert(IsClass(H248_AuthenticationHeader::Class()), PInvalidCast);
5884 #endif
5885 return new H248_AuthenticationHeader(*this);
5890 // Message
5893 H248_Message::H248_Message(unsigned tag, PASN_Object::TagClass tagClass)
5894 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
5896 m_version.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
5900 #ifndef PASN_NOPRINTON
5901 void H248_Message::PrintOn(ostream & strm) const
5903 int indent = strm.precision() + 2;
5904 strm << "{\n";
5905 strm << setw(indent+10) << "version = " << setprecision(indent) << m_version << '\n';
5906 strm << setw(indent+6) << "mId = " << setprecision(indent) << m_mId << '\n';
5907 strm << setw(indent+14) << "messageBody = " << setprecision(indent) << m_messageBody << '\n';
5908 strm << setw(indent-1) << setprecision(indent-2) << "}";
5910 #endif
5913 PObject::Comparison H248_Message::Compare(const PObject & obj) const
5915 #ifndef PASN_LEANANDMEAN
5916 PAssert(PIsDescendant(&obj, H248_Message), PInvalidCast);
5917 #endif
5918 const H248_Message & other = (const H248_Message &)obj;
5920 Comparison result;
5922 if ((result = m_version.Compare(other.m_version)) != EqualTo)
5923 return result;
5924 if ((result = m_mId.Compare(other.m_mId)) != EqualTo)
5925 return result;
5926 if ((result = m_messageBody.Compare(other.m_messageBody)) != EqualTo)
5927 return result;
5929 return PASN_Sequence::Compare(other);
5933 PINDEX H248_Message::GetDataLength() const
5935 PINDEX length = 0;
5936 length += m_version.GetObjectLength();
5937 length += m_mId.GetObjectLength();
5938 length += m_messageBody.GetObjectLength();
5939 return length;
5943 BOOL H248_Message::Decode(PASN_Stream & strm)
5945 if (!PreambleDecode(strm))
5946 return FALSE;
5948 if (!m_version.Decode(strm))
5949 return FALSE;
5950 if (!m_mId.Decode(strm))
5951 return FALSE;
5952 if (!m_messageBody.Decode(strm))
5953 return FALSE;
5955 return UnknownExtensionsDecode(strm);
5959 void H248_Message::Encode(PASN_Stream & strm) const
5961 PreambleEncode(strm);
5963 m_version.Encode(strm);
5964 m_mId.Encode(strm);
5965 m_messageBody.Encode(strm);
5967 UnknownExtensionsEncode(strm);
5971 PObject * H248_Message::Clone() const
5973 #ifndef PASN_LEANANDMEAN
5974 PAssert(IsClass(H248_Message::Class()), PInvalidCast);
5975 #endif
5976 return new H248_Message(*this);
5981 // TransactionRequest
5984 H248_TransactionRequest::H248_TransactionRequest(unsigned tag, PASN_Object::TagClass tagClass)
5985 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
5990 #ifndef PASN_NOPRINTON
5991 void H248_TransactionRequest::PrintOn(ostream & strm) const
5993 int indent = strm.precision() + 2;
5994 strm << "{\n";
5995 strm << setw(indent+16) << "transactionId = " << setprecision(indent) << m_transactionId << '\n';
5996 strm << setw(indent+10) << "actions = " << setprecision(indent) << m_actions << '\n';
5997 strm << setw(indent-1) << setprecision(indent-2) << "}";
5999 #endif
6002 PObject::Comparison H248_TransactionRequest::Compare(const PObject & obj) const
6004 #ifndef PASN_LEANANDMEAN
6005 PAssert(PIsDescendant(&obj, H248_TransactionRequest), PInvalidCast);
6006 #endif
6007 const H248_TransactionRequest & other = (const H248_TransactionRequest &)obj;
6009 Comparison result;
6011 if ((result = m_transactionId.Compare(other.m_transactionId)) != EqualTo)
6012 return result;
6013 if ((result = m_actions.Compare(other.m_actions)) != EqualTo)
6014 return result;
6016 return PASN_Sequence::Compare(other);
6020 PINDEX H248_TransactionRequest::GetDataLength() const
6022 PINDEX length = 0;
6023 length += m_transactionId.GetObjectLength();
6024 length += m_actions.GetObjectLength();
6025 return length;
6029 BOOL H248_TransactionRequest::Decode(PASN_Stream & strm)
6031 if (!PreambleDecode(strm))
6032 return FALSE;
6034 if (!m_transactionId.Decode(strm))
6035 return FALSE;
6036 if (!m_actions.Decode(strm))
6037 return FALSE;
6039 return UnknownExtensionsDecode(strm);
6043 void H248_TransactionRequest::Encode(PASN_Stream & strm) const
6045 PreambleEncode(strm);
6047 m_transactionId.Encode(strm);
6048 m_actions.Encode(strm);
6050 UnknownExtensionsEncode(strm);
6054 PObject * H248_TransactionRequest::Clone() const
6056 #ifndef PASN_LEANANDMEAN
6057 PAssert(IsClass(H248_TransactionRequest::Class()), PInvalidCast);
6058 #endif
6059 return new H248_TransactionRequest(*this);
6064 // TransactionReply
6067 H248_TransactionReply::H248_TransactionReply(unsigned tag, PASN_Object::TagClass tagClass)
6068 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
6073 #ifndef PASN_NOPRINTON
6074 void H248_TransactionReply::PrintOn(ostream & strm) const
6076 int indent = strm.precision() + 2;
6077 strm << "{\n";
6078 strm << setw(indent+16) << "transactionId = " << setprecision(indent) << m_transactionId << '\n';
6079 if (HasOptionalField(e_immAckRequired))
6080 strm << setw(indent+17) << "immAckRequired = " << setprecision(indent) << m_immAckRequired << '\n';
6081 strm << setw(indent+20) << "transactionResult = " << setprecision(indent) << m_transactionResult << '\n';
6082 strm << setw(indent-1) << setprecision(indent-2) << "}";
6084 #endif
6087 PObject::Comparison H248_TransactionReply::Compare(const PObject & obj) const
6089 #ifndef PASN_LEANANDMEAN
6090 PAssert(PIsDescendant(&obj, H248_TransactionReply), PInvalidCast);
6091 #endif
6092 const H248_TransactionReply & other = (const H248_TransactionReply &)obj;
6094 Comparison result;
6096 if ((result = m_transactionId.Compare(other.m_transactionId)) != EqualTo)
6097 return result;
6098 if ((result = m_immAckRequired.Compare(other.m_immAckRequired)) != EqualTo)
6099 return result;
6100 if ((result = m_transactionResult.Compare(other.m_transactionResult)) != EqualTo)
6101 return result;
6103 return PASN_Sequence::Compare(other);
6107 PINDEX H248_TransactionReply::GetDataLength() const
6109 PINDEX length = 0;
6110 length += m_transactionId.GetObjectLength();
6111 if (HasOptionalField(e_immAckRequired))
6112 length += m_immAckRequired.GetObjectLength();
6113 length += m_transactionResult.GetObjectLength();
6114 return length;
6118 BOOL H248_TransactionReply::Decode(PASN_Stream & strm)
6120 if (!PreambleDecode(strm))
6121 return FALSE;
6123 if (!m_transactionId.Decode(strm))
6124 return FALSE;
6125 if (HasOptionalField(e_immAckRequired) && !m_immAckRequired.Decode(strm))
6126 return FALSE;
6127 if (!m_transactionResult.Decode(strm))
6128 return FALSE;
6130 return UnknownExtensionsDecode(strm);
6134 void H248_TransactionReply::Encode(PASN_Stream & strm) const
6136 PreambleEncode(strm);
6138 m_transactionId.Encode(strm);
6139 if (HasOptionalField(e_immAckRequired))
6140 m_immAckRequired.Encode(strm);
6141 m_transactionResult.Encode(strm);
6143 UnknownExtensionsEncode(strm);
6147 PObject * H248_TransactionReply::Clone() const
6149 #ifndef PASN_LEANANDMEAN
6150 PAssert(IsClass(H248_TransactionReply::Class()), PInvalidCast);
6151 #endif
6152 return new H248_TransactionReply(*this);
6157 // ErrorDescriptor
6160 H248_ErrorDescriptor::H248_ErrorDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
6161 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
6166 #ifndef PASN_NOPRINTON
6167 void H248_ErrorDescriptor::PrintOn(ostream & strm) const
6169 int indent = strm.precision() + 2;
6170 strm << "{\n";
6171 strm << setw(indent+12) << "errorCode = " << setprecision(indent) << m_errorCode << '\n';
6172 if (HasOptionalField(e_errorText))
6173 strm << setw(indent+12) << "errorText = " << setprecision(indent) << m_errorText << '\n';
6174 strm << setw(indent-1) << setprecision(indent-2) << "}";
6176 #endif
6179 PObject::Comparison H248_ErrorDescriptor::Compare(const PObject & obj) const
6181 #ifndef PASN_LEANANDMEAN
6182 PAssert(PIsDescendant(&obj, H248_ErrorDescriptor), PInvalidCast);
6183 #endif
6184 const H248_ErrorDescriptor & other = (const H248_ErrorDescriptor &)obj;
6186 Comparison result;
6188 if ((result = m_errorCode.Compare(other.m_errorCode)) != EqualTo)
6189 return result;
6190 if ((result = m_errorText.Compare(other.m_errorText)) != EqualTo)
6191 return result;
6193 return PASN_Sequence::Compare(other);
6197 PINDEX H248_ErrorDescriptor::GetDataLength() const
6199 PINDEX length = 0;
6200 length += m_errorCode.GetObjectLength();
6201 if (HasOptionalField(e_errorText))
6202 length += m_errorText.GetObjectLength();
6203 return length;
6207 BOOL H248_ErrorDescriptor::Decode(PASN_Stream & strm)
6209 if (!PreambleDecode(strm))
6210 return FALSE;
6212 if (!m_errorCode.Decode(strm))
6213 return FALSE;
6214 if (HasOptionalField(e_errorText) && !m_errorText.Decode(strm))
6215 return FALSE;
6217 return UnknownExtensionsDecode(strm);
6221 void H248_ErrorDescriptor::Encode(PASN_Stream & strm) const
6223 PreambleEncode(strm);
6225 m_errorCode.Encode(strm);
6226 if (HasOptionalField(e_errorText))
6227 m_errorText.Encode(strm);
6229 UnknownExtensionsEncode(strm);
6233 PObject * H248_ErrorDescriptor::Clone() const
6235 #ifndef PASN_LEANANDMEAN
6236 PAssert(IsClass(H248_ErrorDescriptor::Class()), PInvalidCast);
6237 #endif
6238 return new H248_ErrorDescriptor(*this);
6243 // ContextRequest
6246 H248_ContextRequest::H248_ContextRequest(unsigned tag, PASN_Object::TagClass tagClass)
6247 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
6249 m_priority.SetConstraints(PASN_Object::FixedConstraint, 0, 15);
6253 #ifndef PASN_NOPRINTON
6254 void H248_ContextRequest::PrintOn(ostream & strm) const
6256 int indent = strm.precision() + 2;
6257 strm << "{\n";
6258 if (HasOptionalField(e_priority))
6259 strm << setw(indent+11) << "priority = " << setprecision(indent) << m_priority << '\n';
6260 if (HasOptionalField(e_emergency))
6261 strm << setw(indent+12) << "emergency = " << setprecision(indent) << m_emergency << '\n';
6262 if (HasOptionalField(e_topologyReq))
6263 strm << setw(indent+14) << "topologyReq = " << setprecision(indent) << m_topologyReq << '\n';
6264 strm << setw(indent-1) << setprecision(indent-2) << "}";
6266 #endif
6269 PObject::Comparison H248_ContextRequest::Compare(const PObject & obj) const
6271 #ifndef PASN_LEANANDMEAN
6272 PAssert(PIsDescendant(&obj, H248_ContextRequest), PInvalidCast);
6273 #endif
6274 const H248_ContextRequest & other = (const H248_ContextRequest &)obj;
6276 Comparison result;
6278 if ((result = m_priority.Compare(other.m_priority)) != EqualTo)
6279 return result;
6280 if ((result = m_emergency.Compare(other.m_emergency)) != EqualTo)
6281 return result;
6282 if ((result = m_topologyReq.Compare(other.m_topologyReq)) != EqualTo)
6283 return result;
6285 return PASN_Sequence::Compare(other);
6289 PINDEX H248_ContextRequest::GetDataLength() const
6291 PINDEX length = 0;
6292 if (HasOptionalField(e_priority))
6293 length += m_priority.GetObjectLength();
6294 if (HasOptionalField(e_emergency))
6295 length += m_emergency.GetObjectLength();
6296 if (HasOptionalField(e_topologyReq))
6297 length += m_topologyReq.GetObjectLength();
6298 return length;
6302 BOOL H248_ContextRequest::Decode(PASN_Stream & strm)
6304 if (!PreambleDecode(strm))
6305 return FALSE;
6307 if (HasOptionalField(e_priority) && !m_priority.Decode(strm))
6308 return FALSE;
6309 if (HasOptionalField(e_emergency) && !m_emergency.Decode(strm))
6310 return FALSE;
6311 if (HasOptionalField(e_topologyReq) && !m_topologyReq.Decode(strm))
6312 return FALSE;
6314 return UnknownExtensionsDecode(strm);
6318 void H248_ContextRequest::Encode(PASN_Stream & strm) const
6320 PreambleEncode(strm);
6322 if (HasOptionalField(e_priority))
6323 m_priority.Encode(strm);
6324 if (HasOptionalField(e_emergency))
6325 m_emergency.Encode(strm);
6326 if (HasOptionalField(e_topologyReq))
6327 m_topologyReq.Encode(strm);
6329 UnknownExtensionsEncode(strm);
6333 PObject * H248_ContextRequest::Clone() const
6335 #ifndef PASN_LEANANDMEAN
6336 PAssert(IsClass(H248_ContextRequest::Class()), PInvalidCast);
6337 #endif
6338 return new H248_ContextRequest(*this);
6343 // CommandRequest
6346 H248_CommandRequest::H248_CommandRequest(unsigned tag, PASN_Object::TagClass tagClass)
6347 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
6352 #ifndef PASN_NOPRINTON
6353 void H248_CommandRequest::PrintOn(ostream & strm) const
6355 int indent = strm.precision() + 2;
6356 strm << "{\n";
6357 strm << setw(indent+10) << "command = " << setprecision(indent) << m_command << '\n';
6358 if (HasOptionalField(e_optional))
6359 strm << setw(indent+11) << "optional = " << setprecision(indent) << m_optional << '\n';
6360 if (HasOptionalField(e_wildcardReturn))
6361 strm << setw(indent+17) << "wildcardReturn = " << setprecision(indent) << m_wildcardReturn << '\n';
6362 strm << setw(indent-1) << setprecision(indent-2) << "}";
6364 #endif
6367 PObject::Comparison H248_CommandRequest::Compare(const PObject & obj) const
6369 #ifndef PASN_LEANANDMEAN
6370 PAssert(PIsDescendant(&obj, H248_CommandRequest), PInvalidCast);
6371 #endif
6372 const H248_CommandRequest & other = (const H248_CommandRequest &)obj;
6374 Comparison result;
6376 if ((result = m_command.Compare(other.m_command)) != EqualTo)
6377 return result;
6378 if ((result = m_optional.Compare(other.m_optional)) != EqualTo)
6379 return result;
6380 if ((result = m_wildcardReturn.Compare(other.m_wildcardReturn)) != EqualTo)
6381 return result;
6383 return PASN_Sequence::Compare(other);
6387 PINDEX H248_CommandRequest::GetDataLength() const
6389 PINDEX length = 0;
6390 length += m_command.GetObjectLength();
6391 if (HasOptionalField(e_optional))
6392 length += m_optional.GetObjectLength();
6393 if (HasOptionalField(e_wildcardReturn))
6394 length += m_wildcardReturn.GetObjectLength();
6395 return length;
6399 BOOL H248_CommandRequest::Decode(PASN_Stream & strm)
6401 if (!PreambleDecode(strm))
6402 return FALSE;
6404 if (!m_command.Decode(strm))
6405 return FALSE;
6406 if (HasOptionalField(e_optional) && !m_optional.Decode(strm))
6407 return FALSE;
6408 if (HasOptionalField(e_wildcardReturn) && !m_wildcardReturn.Decode(strm))
6409 return FALSE;
6411 return UnknownExtensionsDecode(strm);
6415 void H248_CommandRequest::Encode(PASN_Stream & strm) const
6417 PreambleEncode(strm);
6419 m_command.Encode(strm);
6420 if (HasOptionalField(e_optional))
6421 m_optional.Encode(strm);
6422 if (HasOptionalField(e_wildcardReturn))
6423 m_wildcardReturn.Encode(strm);
6425 UnknownExtensionsEncode(strm);
6429 PObject * H248_CommandRequest::Clone() const
6431 #ifndef PASN_LEANANDMEAN
6432 PAssert(IsClass(H248_CommandRequest::Class()), PInvalidCast);
6433 #endif
6434 return new H248_CommandRequest(*this);
6439 // AmmRequest
6442 H248_AmmRequest::H248_AmmRequest(unsigned tag, PASN_Object::TagClass tagClass)
6443 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6448 #ifndef PASN_NOPRINTON
6449 void H248_AmmRequest::PrintOn(ostream & strm) const
6451 int indent = strm.precision() + 2;
6452 strm << "{\n";
6453 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
6454 strm << setw(indent+14) << "descriptors = " << setprecision(indent) << m_descriptors << '\n';
6455 strm << setw(indent-1) << setprecision(indent-2) << "}";
6457 #endif
6460 PObject::Comparison H248_AmmRequest::Compare(const PObject & obj) const
6462 #ifndef PASN_LEANANDMEAN
6463 PAssert(PIsDescendant(&obj, H248_AmmRequest), PInvalidCast);
6464 #endif
6465 const H248_AmmRequest & other = (const H248_AmmRequest &)obj;
6467 Comparison result;
6469 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
6470 return result;
6471 if ((result = m_descriptors.Compare(other.m_descriptors)) != EqualTo)
6472 return result;
6474 return PASN_Sequence::Compare(other);
6478 PINDEX H248_AmmRequest::GetDataLength() const
6480 PINDEX length = 0;
6481 length += m_terminationID.GetObjectLength();
6482 length += m_descriptors.GetObjectLength();
6483 return length;
6487 BOOL H248_AmmRequest::Decode(PASN_Stream & strm)
6489 if (!PreambleDecode(strm))
6490 return FALSE;
6492 if (!m_terminationID.Decode(strm))
6493 return FALSE;
6494 if (!m_descriptors.Decode(strm))
6495 return FALSE;
6497 return UnknownExtensionsDecode(strm);
6501 void H248_AmmRequest::Encode(PASN_Stream & strm) const
6503 PreambleEncode(strm);
6505 m_terminationID.Encode(strm);
6506 m_descriptors.Encode(strm);
6508 UnknownExtensionsEncode(strm);
6512 PObject * H248_AmmRequest::Clone() const
6514 #ifndef PASN_LEANANDMEAN
6515 PAssert(IsClass(H248_AmmRequest::Class()), PInvalidCast);
6516 #endif
6517 return new H248_AmmRequest(*this);
6522 // AmmsReply
6525 H248_AmmsReply::H248_AmmsReply(unsigned tag, PASN_Object::TagClass tagClass)
6526 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
6531 #ifndef PASN_NOPRINTON
6532 void H248_AmmsReply::PrintOn(ostream & strm) const
6534 int indent = strm.precision() + 2;
6535 strm << "{\n";
6536 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
6537 if (HasOptionalField(e_terminationAudit))
6538 strm << setw(indent+19) << "terminationAudit = " << setprecision(indent) << m_terminationAudit << '\n';
6539 strm << setw(indent-1) << setprecision(indent-2) << "}";
6541 #endif
6544 PObject::Comparison H248_AmmsReply::Compare(const PObject & obj) const
6546 #ifndef PASN_LEANANDMEAN
6547 PAssert(PIsDescendant(&obj, H248_AmmsReply), PInvalidCast);
6548 #endif
6549 const H248_AmmsReply & other = (const H248_AmmsReply &)obj;
6551 Comparison result;
6553 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
6554 return result;
6555 if ((result = m_terminationAudit.Compare(other.m_terminationAudit)) != EqualTo)
6556 return result;
6558 return PASN_Sequence::Compare(other);
6562 PINDEX H248_AmmsReply::GetDataLength() const
6564 PINDEX length = 0;
6565 length += m_terminationID.GetObjectLength();
6566 if (HasOptionalField(e_terminationAudit))
6567 length += m_terminationAudit.GetObjectLength();
6568 return length;
6572 BOOL H248_AmmsReply::Decode(PASN_Stream & strm)
6574 if (!PreambleDecode(strm))
6575 return FALSE;
6577 if (!m_terminationID.Decode(strm))
6578 return FALSE;
6579 if (HasOptionalField(e_terminationAudit) && !m_terminationAudit.Decode(strm))
6580 return FALSE;
6582 return UnknownExtensionsDecode(strm);
6586 void H248_AmmsReply::Encode(PASN_Stream & strm) const
6588 PreambleEncode(strm);
6590 m_terminationID.Encode(strm);
6591 if (HasOptionalField(e_terminationAudit))
6592 m_terminationAudit.Encode(strm);
6594 UnknownExtensionsEncode(strm);
6598 PObject * H248_AmmsReply::Clone() const
6600 #ifndef PASN_LEANANDMEAN
6601 PAssert(IsClass(H248_AmmsReply::Class()), PInvalidCast);
6602 #endif
6603 return new H248_AmmsReply(*this);
6608 // AuditDescriptor
6611 H248_AuditDescriptor::H248_AuditDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
6612 : PASN_Sequence(tag, tagClass, 1, TRUE, 1)
6617 #ifndef PASN_NOPRINTON
6618 void H248_AuditDescriptor::PrintOn(ostream & strm) const
6620 int indent = strm.precision() + 2;
6621 strm << "{\n";
6622 if (HasOptionalField(e_auditToken))
6623 strm << setw(indent+13) << "auditToken = " << setprecision(indent) << m_auditToken << '\n';
6624 if (HasOptionalField(e_auditPropertyToken))
6625 strm << setw(indent+21) << "auditPropertyToken = " << setprecision(indent) << m_auditPropertyToken << '\n';
6626 strm << setw(indent-1) << setprecision(indent-2) << "}";
6628 #endif
6631 PObject::Comparison H248_AuditDescriptor::Compare(const PObject & obj) const
6633 #ifndef PASN_LEANANDMEAN
6634 PAssert(PIsDescendant(&obj, H248_AuditDescriptor), PInvalidCast);
6635 #endif
6636 const H248_AuditDescriptor & other = (const H248_AuditDescriptor &)obj;
6638 Comparison result;
6640 if ((result = m_auditToken.Compare(other.m_auditToken)) != EqualTo)
6641 return result;
6643 return PASN_Sequence::Compare(other);
6647 PINDEX H248_AuditDescriptor::GetDataLength() const
6649 PINDEX length = 0;
6650 if (HasOptionalField(e_auditToken))
6651 length += m_auditToken.GetObjectLength();
6652 return length;
6656 BOOL H248_AuditDescriptor::Decode(PASN_Stream & strm)
6658 if (!PreambleDecode(strm))
6659 return FALSE;
6661 if (HasOptionalField(e_auditToken) && !m_auditToken.Decode(strm))
6662 return FALSE;
6663 if (!KnownExtensionDecode(strm, e_auditPropertyToken, m_auditPropertyToken))
6664 return FALSE;
6666 return UnknownExtensionsDecode(strm);
6670 void H248_AuditDescriptor::Encode(PASN_Stream & strm) const
6672 PreambleEncode(strm);
6674 if (HasOptionalField(e_auditToken))
6675 m_auditToken.Encode(strm);
6676 KnownExtensionEncode(strm, e_auditPropertyToken, m_auditPropertyToken);
6678 UnknownExtensionsEncode(strm);
6682 PObject * H248_AuditDescriptor::Clone() const
6684 #ifndef PASN_LEANANDMEAN
6685 PAssert(IsClass(H248_AuditDescriptor::Class()), PInvalidCast);
6686 #endif
6687 return new H248_AuditDescriptor(*this);
6692 // IndAudLocalControlDescriptor
6695 H248_IndAudLocalControlDescriptor::H248_IndAudLocalControlDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
6696 : PASN_Sequence(tag, tagClass, 4, TRUE, 0)
6701 #ifndef PASN_NOPRINTON
6702 void H248_IndAudLocalControlDescriptor::PrintOn(ostream & strm) const
6704 int indent = strm.precision() + 2;
6705 strm << "{\n";
6706 if (HasOptionalField(e_streamMode))
6707 strm << setw(indent+13) << "streamMode = " << setprecision(indent) << m_streamMode << '\n';
6708 if (HasOptionalField(e_reserveValue))
6709 strm << setw(indent+15) << "reserveValue = " << setprecision(indent) << m_reserveValue << '\n';
6710 if (HasOptionalField(e_reserveGroup))
6711 strm << setw(indent+15) << "reserveGroup = " << setprecision(indent) << m_reserveGroup << '\n';
6712 if (HasOptionalField(e_propertyParms))
6713 strm << setw(indent+16) << "propertyParms = " << setprecision(indent) << m_propertyParms << '\n';
6714 strm << setw(indent-1) << setprecision(indent-2) << "}";
6716 #endif
6719 PObject::Comparison H248_IndAudLocalControlDescriptor::Compare(const PObject & obj) const
6721 #ifndef PASN_LEANANDMEAN
6722 PAssert(PIsDescendant(&obj, H248_IndAudLocalControlDescriptor), PInvalidCast);
6723 #endif
6724 const H248_IndAudLocalControlDescriptor & other = (const H248_IndAudLocalControlDescriptor &)obj;
6726 Comparison result;
6728 if ((result = m_streamMode.Compare(other.m_streamMode)) != EqualTo)
6729 return result;
6730 if ((result = m_reserveValue.Compare(other.m_reserveValue)) != EqualTo)
6731 return result;
6732 if ((result = m_reserveGroup.Compare(other.m_reserveGroup)) != EqualTo)
6733 return result;
6734 if ((result = m_propertyParms.Compare(other.m_propertyParms)) != EqualTo)
6735 return result;
6737 return PASN_Sequence::Compare(other);
6741 PINDEX H248_IndAudLocalControlDescriptor::GetDataLength() const
6743 PINDEX length = 0;
6744 if (HasOptionalField(e_streamMode))
6745 length += m_streamMode.GetObjectLength();
6746 if (HasOptionalField(e_reserveValue))
6747 length += m_reserveValue.GetObjectLength();
6748 if (HasOptionalField(e_reserveGroup))
6749 length += m_reserveGroup.GetObjectLength();
6750 if (HasOptionalField(e_propertyParms))
6751 length += m_propertyParms.GetObjectLength();
6752 return length;
6756 BOOL H248_IndAudLocalControlDescriptor::Decode(PASN_Stream & strm)
6758 if (!PreambleDecode(strm))
6759 return FALSE;
6761 if (HasOptionalField(e_streamMode) && !m_streamMode.Decode(strm))
6762 return FALSE;
6763 if (HasOptionalField(e_reserveValue) && !m_reserveValue.Decode(strm))
6764 return FALSE;
6765 if (HasOptionalField(e_reserveGroup) && !m_reserveGroup.Decode(strm))
6766 return FALSE;
6767 if (HasOptionalField(e_propertyParms) && !m_propertyParms.Decode(strm))
6768 return FALSE;
6770 return UnknownExtensionsDecode(strm);
6774 void H248_IndAudLocalControlDescriptor::Encode(PASN_Stream & strm) const
6776 PreambleEncode(strm);
6778 if (HasOptionalField(e_streamMode))
6779 m_streamMode.Encode(strm);
6780 if (HasOptionalField(e_reserveValue))
6781 m_reserveValue.Encode(strm);
6782 if (HasOptionalField(e_reserveGroup))
6783 m_reserveGroup.Encode(strm);
6784 if (HasOptionalField(e_propertyParms))
6785 m_propertyParms.Encode(strm);
6787 UnknownExtensionsEncode(strm);
6791 PObject * H248_IndAudLocalControlDescriptor::Clone() const
6793 #ifndef PASN_LEANANDMEAN
6794 PAssert(IsClass(H248_IndAudLocalControlDescriptor::Class()), PInvalidCast);
6795 #endif
6796 return new H248_IndAudLocalControlDescriptor(*this);
6801 // IndAudPropertyParm
6804 H248_IndAudPropertyParm::H248_IndAudPropertyParm(unsigned tag, PASN_Object::TagClass tagClass)
6805 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
6810 #ifndef PASN_NOPRINTON
6811 void H248_IndAudPropertyParm::PrintOn(ostream & strm) const
6813 int indent = strm.precision() + 2;
6814 strm << "{\n";
6815 strm << setw(indent+7) << "name = " << setprecision(indent) << m_name << '\n';
6816 strm << setw(indent-1) << setprecision(indent-2) << "}";
6818 #endif
6821 PObject::Comparison H248_IndAudPropertyParm::Compare(const PObject & obj) const
6823 #ifndef PASN_LEANANDMEAN
6824 PAssert(PIsDescendant(&obj, H248_IndAudPropertyParm), PInvalidCast);
6825 #endif
6826 const H248_IndAudPropertyParm & other = (const H248_IndAudPropertyParm &)obj;
6828 Comparison result;
6830 if ((result = m_name.Compare(other.m_name)) != EqualTo)
6831 return result;
6833 return PASN_Sequence::Compare(other);
6837 PINDEX H248_IndAudPropertyParm::GetDataLength() const
6839 PINDEX length = 0;
6840 length += m_name.GetObjectLength();
6841 return length;
6845 BOOL H248_IndAudPropertyParm::Decode(PASN_Stream & strm)
6847 if (!PreambleDecode(strm))
6848 return FALSE;
6850 if (!m_name.Decode(strm))
6851 return FALSE;
6853 return UnknownExtensionsDecode(strm);
6857 void H248_IndAudPropertyParm::Encode(PASN_Stream & strm) const
6859 PreambleEncode(strm);
6861 m_name.Encode(strm);
6863 UnknownExtensionsEncode(strm);
6867 PObject * H248_IndAudPropertyParm::Clone() const
6869 #ifndef PASN_LEANANDMEAN
6870 PAssert(IsClass(H248_IndAudPropertyParm::Class()), PInvalidCast);
6871 #endif
6872 return new H248_IndAudPropertyParm(*this);
6877 // IndAudLocalRemoteDescriptor
6880 H248_IndAudLocalRemoteDescriptor::H248_IndAudLocalRemoteDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
6881 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
6883 m_propGroupID.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
6887 #ifndef PASN_NOPRINTON
6888 void H248_IndAudLocalRemoteDescriptor::PrintOn(ostream & strm) const
6890 int indent = strm.precision() + 2;
6891 strm << "{\n";
6892 if (HasOptionalField(e_propGroupID))
6893 strm << setw(indent+14) << "propGroupID = " << setprecision(indent) << m_propGroupID << '\n';
6894 strm << setw(indent+11) << "propGrps = " << setprecision(indent) << m_propGrps << '\n';
6895 strm << setw(indent-1) << setprecision(indent-2) << "}";
6897 #endif
6900 PObject::Comparison H248_IndAudLocalRemoteDescriptor::Compare(const PObject & obj) const
6902 #ifndef PASN_LEANANDMEAN
6903 PAssert(PIsDescendant(&obj, H248_IndAudLocalRemoteDescriptor), PInvalidCast);
6904 #endif
6905 const H248_IndAudLocalRemoteDescriptor & other = (const H248_IndAudLocalRemoteDescriptor &)obj;
6907 Comparison result;
6909 if ((result = m_propGroupID.Compare(other.m_propGroupID)) != EqualTo)
6910 return result;
6911 if ((result = m_propGrps.Compare(other.m_propGrps)) != EqualTo)
6912 return result;
6914 return PASN_Sequence::Compare(other);
6918 PINDEX H248_IndAudLocalRemoteDescriptor::GetDataLength() const
6920 PINDEX length = 0;
6921 if (HasOptionalField(e_propGroupID))
6922 length += m_propGroupID.GetObjectLength();
6923 length += m_propGrps.GetObjectLength();
6924 return length;
6928 BOOL H248_IndAudLocalRemoteDescriptor::Decode(PASN_Stream & strm)
6930 if (!PreambleDecode(strm))
6931 return FALSE;
6933 if (HasOptionalField(e_propGroupID) && !m_propGroupID.Decode(strm))
6934 return FALSE;
6935 if (!m_propGrps.Decode(strm))
6936 return FALSE;
6938 return UnknownExtensionsDecode(strm);
6942 void H248_IndAudLocalRemoteDescriptor::Encode(PASN_Stream & strm) const
6944 PreambleEncode(strm);
6946 if (HasOptionalField(e_propGroupID))
6947 m_propGroupID.Encode(strm);
6948 m_propGrps.Encode(strm);
6950 UnknownExtensionsEncode(strm);
6954 PObject * H248_IndAudLocalRemoteDescriptor::Clone() const
6956 #ifndef PASN_LEANANDMEAN
6957 PAssert(IsClass(H248_IndAudLocalRemoteDescriptor::Class()), PInvalidCast);
6958 #endif
6959 return new H248_IndAudLocalRemoteDescriptor(*this);
6964 // IndAudTerminationStateDescriptor
6967 H248_IndAudTerminationStateDescriptor::H248_IndAudTerminationStateDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
6968 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
6973 #ifndef PASN_NOPRINTON
6974 void H248_IndAudTerminationStateDescriptor::PrintOn(ostream & strm) const
6976 int indent = strm.precision() + 2;
6977 strm << "{\n";
6978 strm << setw(indent+16) << "propertyParms = " << setprecision(indent) << m_propertyParms << '\n';
6979 if (HasOptionalField(e_eventBufferControl))
6980 strm << setw(indent+21) << "eventBufferControl = " << setprecision(indent) << m_eventBufferControl << '\n';
6981 if (HasOptionalField(e_serviceState))
6982 strm << setw(indent+15) << "serviceState = " << setprecision(indent) << m_serviceState << '\n';
6983 strm << setw(indent-1) << setprecision(indent-2) << "}";
6985 #endif
6988 PObject::Comparison H248_IndAudTerminationStateDescriptor::Compare(const PObject & obj) const
6990 #ifndef PASN_LEANANDMEAN
6991 PAssert(PIsDescendant(&obj, H248_IndAudTerminationStateDescriptor), PInvalidCast);
6992 #endif
6993 const H248_IndAudTerminationStateDescriptor & other = (const H248_IndAudTerminationStateDescriptor &)obj;
6995 Comparison result;
6997 if ((result = m_propertyParms.Compare(other.m_propertyParms)) != EqualTo)
6998 return result;
6999 if ((result = m_eventBufferControl.Compare(other.m_eventBufferControl)) != EqualTo)
7000 return result;
7001 if ((result = m_serviceState.Compare(other.m_serviceState)) != EqualTo)
7002 return result;
7004 return PASN_Sequence::Compare(other);
7008 PINDEX H248_IndAudTerminationStateDescriptor::GetDataLength() const
7010 PINDEX length = 0;
7011 length += m_propertyParms.GetObjectLength();
7012 if (HasOptionalField(e_eventBufferControl))
7013 length += m_eventBufferControl.GetObjectLength();
7014 if (HasOptionalField(e_serviceState))
7015 length += m_serviceState.GetObjectLength();
7016 return length;
7020 BOOL H248_IndAudTerminationStateDescriptor::Decode(PASN_Stream & strm)
7022 if (!PreambleDecode(strm))
7023 return FALSE;
7025 if (!m_propertyParms.Decode(strm))
7026 return FALSE;
7027 if (HasOptionalField(e_eventBufferControl) && !m_eventBufferControl.Decode(strm))
7028 return FALSE;
7029 if (HasOptionalField(e_serviceState) && !m_serviceState.Decode(strm))
7030 return FALSE;
7032 return UnknownExtensionsDecode(strm);
7036 void H248_IndAudTerminationStateDescriptor::Encode(PASN_Stream & strm) const
7038 PreambleEncode(strm);
7040 m_propertyParms.Encode(strm);
7041 if (HasOptionalField(e_eventBufferControl))
7042 m_eventBufferControl.Encode(strm);
7043 if (HasOptionalField(e_serviceState))
7044 m_serviceState.Encode(strm);
7046 UnknownExtensionsEncode(strm);
7050 PObject * H248_IndAudTerminationStateDescriptor::Clone() const
7052 #ifndef PASN_LEANANDMEAN
7053 PAssert(IsClass(H248_IndAudTerminationStateDescriptor::Class()), PInvalidCast);
7054 #endif
7055 return new H248_IndAudTerminationStateDescriptor(*this);
7060 // IndAudEventsDescriptor
7063 H248_IndAudEventsDescriptor::H248_IndAudEventsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7064 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
7069 #ifndef PASN_NOPRINTON
7070 void H248_IndAudEventsDescriptor::PrintOn(ostream & strm) const
7072 int indent = strm.precision() + 2;
7073 strm << "{\n";
7074 if (HasOptionalField(e_requestID))
7075 strm << setw(indent+12) << "requestID = " << setprecision(indent) << m_requestID << '\n';
7076 strm << setw(indent+11) << "pkgdName = " << setprecision(indent) << m_pkgdName << '\n';
7077 if (HasOptionalField(e_streamID))
7078 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
7079 strm << setw(indent-1) << setprecision(indent-2) << "}";
7081 #endif
7084 PObject::Comparison H248_IndAudEventsDescriptor::Compare(const PObject & obj) const
7086 #ifndef PASN_LEANANDMEAN
7087 PAssert(PIsDescendant(&obj, H248_IndAudEventsDescriptor), PInvalidCast);
7088 #endif
7089 const H248_IndAudEventsDescriptor & other = (const H248_IndAudEventsDescriptor &)obj;
7091 Comparison result;
7093 if ((result = m_requestID.Compare(other.m_requestID)) != EqualTo)
7094 return result;
7095 if ((result = m_pkgdName.Compare(other.m_pkgdName)) != EqualTo)
7096 return result;
7097 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
7098 return result;
7100 return PASN_Sequence::Compare(other);
7104 PINDEX H248_IndAudEventsDescriptor::GetDataLength() const
7106 PINDEX length = 0;
7107 if (HasOptionalField(e_requestID))
7108 length += m_requestID.GetObjectLength();
7109 length += m_pkgdName.GetObjectLength();
7110 if (HasOptionalField(e_streamID))
7111 length += m_streamID.GetObjectLength();
7112 return length;
7116 BOOL H248_IndAudEventsDescriptor::Decode(PASN_Stream & strm)
7118 if (!PreambleDecode(strm))
7119 return FALSE;
7121 if (HasOptionalField(e_requestID) && !m_requestID.Decode(strm))
7122 return FALSE;
7123 if (!m_pkgdName.Decode(strm))
7124 return FALSE;
7125 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
7126 return FALSE;
7128 return UnknownExtensionsDecode(strm);
7132 void H248_IndAudEventsDescriptor::Encode(PASN_Stream & strm) const
7134 PreambleEncode(strm);
7136 if (HasOptionalField(e_requestID))
7137 m_requestID.Encode(strm);
7138 m_pkgdName.Encode(strm);
7139 if (HasOptionalField(e_streamID))
7140 m_streamID.Encode(strm);
7142 UnknownExtensionsEncode(strm);
7146 PObject * H248_IndAudEventsDescriptor::Clone() const
7148 #ifndef PASN_LEANANDMEAN
7149 PAssert(IsClass(H248_IndAudEventsDescriptor::Class()), PInvalidCast);
7150 #endif
7151 return new H248_IndAudEventsDescriptor(*this);
7156 // IndAudEventBufferDescriptor
7159 H248_IndAudEventBufferDescriptor::H248_IndAudEventBufferDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7160 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
7165 #ifndef PASN_NOPRINTON
7166 void H248_IndAudEventBufferDescriptor::PrintOn(ostream & strm) const
7168 int indent = strm.precision() + 2;
7169 strm << "{\n";
7170 strm << setw(indent+12) << "eventName = " << setprecision(indent) << m_eventName << '\n';
7171 if (HasOptionalField(e_streamID))
7172 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
7173 strm << setw(indent-1) << setprecision(indent-2) << "}";
7175 #endif
7178 PObject::Comparison H248_IndAudEventBufferDescriptor::Compare(const PObject & obj) const
7180 #ifndef PASN_LEANANDMEAN
7181 PAssert(PIsDescendant(&obj, H248_IndAudEventBufferDescriptor), PInvalidCast);
7182 #endif
7183 const H248_IndAudEventBufferDescriptor & other = (const H248_IndAudEventBufferDescriptor &)obj;
7185 Comparison result;
7187 if ((result = m_eventName.Compare(other.m_eventName)) != EqualTo)
7188 return result;
7189 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
7190 return result;
7192 return PASN_Sequence::Compare(other);
7196 PINDEX H248_IndAudEventBufferDescriptor::GetDataLength() const
7198 PINDEX length = 0;
7199 length += m_eventName.GetObjectLength();
7200 if (HasOptionalField(e_streamID))
7201 length += m_streamID.GetObjectLength();
7202 return length;
7206 BOOL H248_IndAudEventBufferDescriptor::Decode(PASN_Stream & strm)
7208 if (!PreambleDecode(strm))
7209 return FALSE;
7211 if (!m_eventName.Decode(strm))
7212 return FALSE;
7213 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
7214 return FALSE;
7216 return UnknownExtensionsDecode(strm);
7220 void H248_IndAudEventBufferDescriptor::Encode(PASN_Stream & strm) const
7222 PreambleEncode(strm);
7224 m_eventName.Encode(strm);
7225 if (HasOptionalField(e_streamID))
7226 m_streamID.Encode(strm);
7228 UnknownExtensionsEncode(strm);
7232 PObject * H248_IndAudEventBufferDescriptor::Clone() const
7234 #ifndef PASN_LEANANDMEAN
7235 PAssert(IsClass(H248_IndAudEventBufferDescriptor::Class()), PInvalidCast);
7236 #endif
7237 return new H248_IndAudEventBufferDescriptor(*this);
7242 // IndAudSignal
7245 H248_IndAudSignal::H248_IndAudSignal(unsigned tag, PASN_Object::TagClass tagClass)
7246 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
7251 #ifndef PASN_NOPRINTON
7252 void H248_IndAudSignal::PrintOn(ostream & strm) const
7254 int indent = strm.precision() + 2;
7255 strm << "{\n";
7256 strm << setw(indent+13) << "signalName = " << setprecision(indent) << m_signalName << '\n';
7257 if (HasOptionalField(e_streamID))
7258 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
7259 strm << setw(indent-1) << setprecision(indent-2) << "}";
7261 #endif
7264 PObject::Comparison H248_IndAudSignal::Compare(const PObject & obj) const
7266 #ifndef PASN_LEANANDMEAN
7267 PAssert(PIsDescendant(&obj, H248_IndAudSignal), PInvalidCast);
7268 #endif
7269 const H248_IndAudSignal & other = (const H248_IndAudSignal &)obj;
7271 Comparison result;
7273 if ((result = m_signalName.Compare(other.m_signalName)) != EqualTo)
7274 return result;
7275 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
7276 return result;
7278 return PASN_Sequence::Compare(other);
7282 PINDEX H248_IndAudSignal::GetDataLength() const
7284 PINDEX length = 0;
7285 length += m_signalName.GetObjectLength();
7286 if (HasOptionalField(e_streamID))
7287 length += m_streamID.GetObjectLength();
7288 return length;
7292 BOOL H248_IndAudSignal::Decode(PASN_Stream & strm)
7294 if (!PreambleDecode(strm))
7295 return FALSE;
7297 if (!m_signalName.Decode(strm))
7298 return FALSE;
7299 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
7300 return FALSE;
7302 return UnknownExtensionsDecode(strm);
7306 void H248_IndAudSignal::Encode(PASN_Stream & strm) const
7308 PreambleEncode(strm);
7310 m_signalName.Encode(strm);
7311 if (HasOptionalField(e_streamID))
7312 m_streamID.Encode(strm);
7314 UnknownExtensionsEncode(strm);
7318 PObject * H248_IndAudSignal::Clone() const
7320 #ifndef PASN_LEANANDMEAN
7321 PAssert(IsClass(H248_IndAudSignal::Class()), PInvalidCast);
7322 #endif
7323 return new H248_IndAudSignal(*this);
7328 // IndAudDigitMapDescriptor
7331 H248_IndAudDigitMapDescriptor::H248_IndAudDigitMapDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7332 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
7337 #ifndef PASN_NOPRINTON
7338 void H248_IndAudDigitMapDescriptor::PrintOn(ostream & strm) const
7340 int indent = strm.precision() + 2;
7341 strm << "{\n";
7342 if (HasOptionalField(e_digitMapName))
7343 strm << setw(indent+15) << "digitMapName = " << setprecision(indent) << m_digitMapName << '\n';
7344 strm << setw(indent-1) << setprecision(indent-2) << "}";
7346 #endif
7349 PObject::Comparison H248_IndAudDigitMapDescriptor::Compare(const PObject & obj) const
7351 #ifndef PASN_LEANANDMEAN
7352 PAssert(PIsDescendant(&obj, H248_IndAudDigitMapDescriptor), PInvalidCast);
7353 #endif
7354 const H248_IndAudDigitMapDescriptor & other = (const H248_IndAudDigitMapDescriptor &)obj;
7356 Comparison result;
7358 if ((result = m_digitMapName.Compare(other.m_digitMapName)) != EqualTo)
7359 return result;
7361 return PASN_Sequence::Compare(other);
7365 PINDEX H248_IndAudDigitMapDescriptor::GetDataLength() const
7367 PINDEX length = 0;
7368 if (HasOptionalField(e_digitMapName))
7369 length += m_digitMapName.GetObjectLength();
7370 return length;
7374 BOOL H248_IndAudDigitMapDescriptor::Decode(PASN_Stream & strm)
7376 if (!PreambleDecode(strm))
7377 return FALSE;
7379 if (HasOptionalField(e_digitMapName) && !m_digitMapName.Decode(strm))
7380 return FALSE;
7382 return UnknownExtensionsDecode(strm);
7386 void H248_IndAudDigitMapDescriptor::Encode(PASN_Stream & strm) const
7388 PreambleEncode(strm);
7390 if (HasOptionalField(e_digitMapName))
7391 m_digitMapName.Encode(strm);
7393 UnknownExtensionsEncode(strm);
7397 PObject * H248_IndAudDigitMapDescriptor::Clone() const
7399 #ifndef PASN_LEANANDMEAN
7400 PAssert(IsClass(H248_IndAudDigitMapDescriptor::Class()), PInvalidCast);
7401 #endif
7402 return new H248_IndAudDigitMapDescriptor(*this);
7407 // IndAudStatisticsDescriptor
7410 H248_IndAudStatisticsDescriptor::H248_IndAudStatisticsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7411 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
7416 #ifndef PASN_NOPRINTON
7417 void H248_IndAudStatisticsDescriptor::PrintOn(ostream & strm) const
7419 int indent = strm.precision() + 2;
7420 strm << "{\n";
7421 strm << setw(indent+11) << "statName = " << setprecision(indent) << m_statName << '\n';
7422 strm << setw(indent-1) << setprecision(indent-2) << "}";
7424 #endif
7427 PObject::Comparison H248_IndAudStatisticsDescriptor::Compare(const PObject & obj) const
7429 #ifndef PASN_LEANANDMEAN
7430 PAssert(PIsDescendant(&obj, H248_IndAudStatisticsDescriptor), PInvalidCast);
7431 #endif
7432 const H248_IndAudStatisticsDescriptor & other = (const H248_IndAudStatisticsDescriptor &)obj;
7434 Comparison result;
7436 if ((result = m_statName.Compare(other.m_statName)) != EqualTo)
7437 return result;
7439 return PASN_Sequence::Compare(other);
7443 PINDEX H248_IndAudStatisticsDescriptor::GetDataLength() const
7445 PINDEX length = 0;
7446 length += m_statName.GetObjectLength();
7447 return length;
7451 BOOL H248_IndAudStatisticsDescriptor::Decode(PASN_Stream & strm)
7453 if (!PreambleDecode(strm))
7454 return FALSE;
7456 if (!m_statName.Decode(strm))
7457 return FALSE;
7459 return UnknownExtensionsDecode(strm);
7463 void H248_IndAudStatisticsDescriptor::Encode(PASN_Stream & strm) const
7465 PreambleEncode(strm);
7467 m_statName.Encode(strm);
7469 UnknownExtensionsEncode(strm);
7473 PObject * H248_IndAudStatisticsDescriptor::Clone() const
7475 #ifndef PASN_LEANANDMEAN
7476 PAssert(IsClass(H248_IndAudStatisticsDescriptor::Class()), PInvalidCast);
7477 #endif
7478 return new H248_IndAudStatisticsDescriptor(*this);
7483 // IndAudPackagesDescriptor
7486 H248_IndAudPackagesDescriptor::H248_IndAudPackagesDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7487 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7489 m_packageVersion.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
7493 #ifndef PASN_NOPRINTON
7494 void H248_IndAudPackagesDescriptor::PrintOn(ostream & strm) const
7496 int indent = strm.precision() + 2;
7497 strm << "{\n";
7498 strm << setw(indent+14) << "packageName = " << setprecision(indent) << m_packageName << '\n';
7499 strm << setw(indent+17) << "packageVersion = " << setprecision(indent) << m_packageVersion << '\n';
7500 strm << setw(indent-1) << setprecision(indent-2) << "}";
7502 #endif
7505 PObject::Comparison H248_IndAudPackagesDescriptor::Compare(const PObject & obj) const
7507 #ifndef PASN_LEANANDMEAN
7508 PAssert(PIsDescendant(&obj, H248_IndAudPackagesDescriptor), PInvalidCast);
7509 #endif
7510 const H248_IndAudPackagesDescriptor & other = (const H248_IndAudPackagesDescriptor &)obj;
7512 Comparison result;
7514 if ((result = m_packageName.Compare(other.m_packageName)) != EqualTo)
7515 return result;
7516 if ((result = m_packageVersion.Compare(other.m_packageVersion)) != EqualTo)
7517 return result;
7519 return PASN_Sequence::Compare(other);
7523 PINDEX H248_IndAudPackagesDescriptor::GetDataLength() const
7525 PINDEX length = 0;
7526 length += m_packageName.GetObjectLength();
7527 length += m_packageVersion.GetObjectLength();
7528 return length;
7532 BOOL H248_IndAudPackagesDescriptor::Decode(PASN_Stream & strm)
7534 if (!PreambleDecode(strm))
7535 return FALSE;
7537 if (!m_packageName.Decode(strm))
7538 return FALSE;
7539 if (!m_packageVersion.Decode(strm))
7540 return FALSE;
7542 return UnknownExtensionsDecode(strm);
7546 void H248_IndAudPackagesDescriptor::Encode(PASN_Stream & strm) const
7548 PreambleEncode(strm);
7550 m_packageName.Encode(strm);
7551 m_packageVersion.Encode(strm);
7553 UnknownExtensionsEncode(strm);
7557 PObject * H248_IndAudPackagesDescriptor::Clone() const
7559 #ifndef PASN_LEANANDMEAN
7560 PAssert(IsClass(H248_IndAudPackagesDescriptor::Class()), PInvalidCast);
7561 #endif
7562 return new H248_IndAudPackagesDescriptor(*this);
7567 // NotifyReply
7570 H248_NotifyReply::H248_NotifyReply(unsigned tag, PASN_Object::TagClass tagClass)
7571 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
7576 #ifndef PASN_NOPRINTON
7577 void H248_NotifyReply::PrintOn(ostream & strm) const
7579 int indent = strm.precision() + 2;
7580 strm << "{\n";
7581 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
7582 if (HasOptionalField(e_errorDescriptor))
7583 strm << setw(indent+18) << "errorDescriptor = " << setprecision(indent) << m_errorDescriptor << '\n';
7584 strm << setw(indent-1) << setprecision(indent-2) << "}";
7586 #endif
7589 PObject::Comparison H248_NotifyReply::Compare(const PObject & obj) const
7591 #ifndef PASN_LEANANDMEAN
7592 PAssert(PIsDescendant(&obj, H248_NotifyReply), PInvalidCast);
7593 #endif
7594 const H248_NotifyReply & other = (const H248_NotifyReply &)obj;
7596 Comparison result;
7598 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
7599 return result;
7600 if ((result = m_errorDescriptor.Compare(other.m_errorDescriptor)) != EqualTo)
7601 return result;
7603 return PASN_Sequence::Compare(other);
7607 PINDEX H248_NotifyReply::GetDataLength() const
7609 PINDEX length = 0;
7610 length += m_terminationID.GetObjectLength();
7611 if (HasOptionalField(e_errorDescriptor))
7612 length += m_errorDescriptor.GetObjectLength();
7613 return length;
7617 BOOL H248_NotifyReply::Decode(PASN_Stream & strm)
7619 if (!PreambleDecode(strm))
7620 return FALSE;
7622 if (!m_terminationID.Decode(strm))
7623 return FALSE;
7624 if (HasOptionalField(e_errorDescriptor) && !m_errorDescriptor.Decode(strm))
7625 return FALSE;
7627 return UnknownExtensionsDecode(strm);
7631 void H248_NotifyReply::Encode(PASN_Stream & strm) const
7633 PreambleEncode(strm);
7635 m_terminationID.Encode(strm);
7636 if (HasOptionalField(e_errorDescriptor))
7637 m_errorDescriptor.Encode(strm);
7639 UnknownExtensionsEncode(strm);
7643 PObject * H248_NotifyReply::Clone() const
7645 #ifndef PASN_LEANANDMEAN
7646 PAssert(IsClass(H248_NotifyReply::Class()), PInvalidCast);
7647 #endif
7648 return new H248_NotifyReply(*this);
7653 // ObservedEventsDescriptor
7656 H248_ObservedEventsDescriptor::H248_ObservedEventsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
7657 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
7662 #ifndef PASN_NOPRINTON
7663 void H248_ObservedEventsDescriptor::PrintOn(ostream & strm) const
7665 int indent = strm.precision() + 2;
7666 strm << "{\n";
7667 strm << setw(indent+12) << "requestId = " << setprecision(indent) << m_requestId << '\n';
7668 strm << setw(indent+19) << "observedEventLst = " << setprecision(indent) << m_observedEventLst << '\n';
7669 strm << setw(indent-1) << setprecision(indent-2) << "}";
7671 #endif
7674 PObject::Comparison H248_ObservedEventsDescriptor::Compare(const PObject & obj) const
7676 #ifndef PASN_LEANANDMEAN
7677 PAssert(PIsDescendant(&obj, H248_ObservedEventsDescriptor), PInvalidCast);
7678 #endif
7679 const H248_ObservedEventsDescriptor & other = (const H248_ObservedEventsDescriptor &)obj;
7681 Comparison result;
7683 if ((result = m_requestId.Compare(other.m_requestId)) != EqualTo)
7684 return result;
7685 if ((result = m_observedEventLst.Compare(other.m_observedEventLst)) != EqualTo)
7686 return result;
7688 return PASN_Sequence::Compare(other);
7692 PINDEX H248_ObservedEventsDescriptor::GetDataLength() const
7694 PINDEX length = 0;
7695 length += m_requestId.GetObjectLength();
7696 length += m_observedEventLst.GetObjectLength();
7697 return length;
7701 BOOL H248_ObservedEventsDescriptor::Decode(PASN_Stream & strm)
7703 if (!PreambleDecode(strm))
7704 return FALSE;
7706 if (!m_requestId.Decode(strm))
7707 return FALSE;
7708 if (!m_observedEventLst.Decode(strm))
7709 return FALSE;
7711 return UnknownExtensionsDecode(strm);
7715 void H248_ObservedEventsDescriptor::Encode(PASN_Stream & strm) const
7717 PreambleEncode(strm);
7719 m_requestId.Encode(strm);
7720 m_observedEventLst.Encode(strm);
7722 UnknownExtensionsEncode(strm);
7726 PObject * H248_ObservedEventsDescriptor::Clone() const
7728 #ifndef PASN_LEANANDMEAN
7729 PAssert(IsClass(H248_ObservedEventsDescriptor::Class()), PInvalidCast);
7730 #endif
7731 return new H248_ObservedEventsDescriptor(*this);
7736 // EventName
7739 H248_EventName::H248_EventName(unsigned tag, PASN_Object::TagClass tagClass)
7740 : H248_PkgdName(tag, tagClass)
7745 H248_EventName::H248_EventName(const char * v)
7747 SetValue(v);
7751 H248_EventName::H248_EventName(const PString & v)
7753 SetValue(v);
7757 H248_EventName::H248_EventName(const PBYTEArray & v)
7759 SetValue(v);
7763 H248_EventName & H248_EventName::operator=(const char * v)
7765 SetValue(v);
7766 return *this;
7770 H248_EventName & H248_EventName::operator=(const PString & v)
7772 SetValue(v);
7773 return *this;
7777 H248_EventName & H248_EventName::operator=(const PBYTEArray & v)
7779 SetValue(v);
7780 return *this;
7784 PObject * H248_EventName::Clone() const
7786 #ifndef PASN_LEANANDMEAN
7787 PAssert(IsClass(H248_EventName::Class()), PInvalidCast);
7788 #endif
7789 return new H248_EventName(*this);
7794 // EventParameter
7797 H248_EventParameter::H248_EventParameter(unsigned tag, PASN_Object::TagClass tagClass)
7798 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
7803 #ifndef PASN_NOPRINTON
7804 void H248_EventParameter::PrintOn(ostream & strm) const
7806 int indent = strm.precision() + 2;
7807 strm << "{\n";
7808 strm << setw(indent+21) << "eventParameterName = " << setprecision(indent) << m_eventParameterName << '\n';
7809 strm << setw(indent+8) << "value = " << setprecision(indent) << m_value << '\n';
7810 if (HasOptionalField(e_extraInfo))
7811 strm << setw(indent+12) << "extraInfo = " << setprecision(indent) << m_extraInfo << '\n';
7812 strm << setw(indent-1) << setprecision(indent-2) << "}";
7814 #endif
7817 PObject::Comparison H248_EventParameter::Compare(const PObject & obj) const
7819 #ifndef PASN_LEANANDMEAN
7820 PAssert(PIsDescendant(&obj, H248_EventParameter), PInvalidCast);
7821 #endif
7822 const H248_EventParameter & other = (const H248_EventParameter &)obj;
7824 Comparison result;
7826 if ((result = m_eventParameterName.Compare(other.m_eventParameterName)) != EqualTo)
7827 return result;
7828 if ((result = m_value.Compare(other.m_value)) != EqualTo)
7829 return result;
7830 if ((result = m_extraInfo.Compare(other.m_extraInfo)) != EqualTo)
7831 return result;
7833 return PASN_Sequence::Compare(other);
7837 PINDEX H248_EventParameter::GetDataLength() const
7839 PINDEX length = 0;
7840 length += m_eventParameterName.GetObjectLength();
7841 length += m_value.GetObjectLength();
7842 if (HasOptionalField(e_extraInfo))
7843 length += m_extraInfo.GetObjectLength();
7844 return length;
7848 BOOL H248_EventParameter::Decode(PASN_Stream & strm)
7850 if (!PreambleDecode(strm))
7851 return FALSE;
7853 if (!m_eventParameterName.Decode(strm))
7854 return FALSE;
7855 if (!m_value.Decode(strm))
7856 return FALSE;
7857 if (HasOptionalField(e_extraInfo) && !m_extraInfo.Decode(strm))
7858 return FALSE;
7860 return UnknownExtensionsDecode(strm);
7864 void H248_EventParameter::Encode(PASN_Stream & strm) const
7866 PreambleEncode(strm);
7868 m_eventParameterName.Encode(strm);
7869 m_value.Encode(strm);
7870 if (HasOptionalField(e_extraInfo))
7871 m_extraInfo.Encode(strm);
7873 UnknownExtensionsEncode(strm);
7877 PObject * H248_EventParameter::Clone() const
7879 #ifndef PASN_LEANANDMEAN
7880 PAssert(IsClass(H248_EventParameter::Class()), PInvalidCast);
7881 #endif
7882 return new H248_EventParameter(*this);
7887 // ServiceChangeReply
7890 H248_ServiceChangeReply::H248_ServiceChangeReply(unsigned tag, PASN_Object::TagClass tagClass)
7891 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7896 #ifndef PASN_NOPRINTON
7897 void H248_ServiceChangeReply::PrintOn(ostream & strm) const
7899 int indent = strm.precision() + 2;
7900 strm << "{\n";
7901 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
7902 strm << setw(indent+22) << "serviceChangeResult = " << setprecision(indent) << m_serviceChangeResult << '\n';
7903 strm << setw(indent-1) << setprecision(indent-2) << "}";
7905 #endif
7908 PObject::Comparison H248_ServiceChangeReply::Compare(const PObject & obj) const
7910 #ifndef PASN_LEANANDMEAN
7911 PAssert(PIsDescendant(&obj, H248_ServiceChangeReply), PInvalidCast);
7912 #endif
7913 const H248_ServiceChangeReply & other = (const H248_ServiceChangeReply &)obj;
7915 Comparison result;
7917 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
7918 return result;
7919 if ((result = m_serviceChangeResult.Compare(other.m_serviceChangeResult)) != EqualTo)
7920 return result;
7922 return PASN_Sequence::Compare(other);
7926 PINDEX H248_ServiceChangeReply::GetDataLength() const
7928 PINDEX length = 0;
7929 length += m_terminationID.GetObjectLength();
7930 length += m_serviceChangeResult.GetObjectLength();
7931 return length;
7935 BOOL H248_ServiceChangeReply::Decode(PASN_Stream & strm)
7937 if (!PreambleDecode(strm))
7938 return FALSE;
7940 if (!m_terminationID.Decode(strm))
7941 return FALSE;
7942 if (!m_serviceChangeResult.Decode(strm))
7943 return FALSE;
7945 return UnknownExtensionsDecode(strm);
7949 void H248_ServiceChangeReply::Encode(PASN_Stream & strm) const
7951 PreambleEncode(strm);
7953 m_terminationID.Encode(strm);
7954 m_serviceChangeResult.Encode(strm);
7956 UnknownExtensionsEncode(strm);
7960 PObject * H248_ServiceChangeReply::Clone() const
7962 #ifndef PASN_LEANANDMEAN
7963 PAssert(IsClass(H248_ServiceChangeReply::Class()), PInvalidCast);
7964 #endif
7965 return new H248_ServiceChangeReply(*this);
7970 // TerminationID
7973 H248_TerminationID::H248_TerminationID(unsigned tag, PASN_Object::TagClass tagClass)
7974 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
7976 m_id.SetConstraints(PASN_Object::FixedConstraint, 1, 8);
7980 #ifndef PASN_NOPRINTON
7981 void H248_TerminationID::PrintOn(ostream & strm) const
7983 int indent = strm.precision() + 2;
7984 strm << "{\n";
7985 strm << setw(indent+11) << "wildcard = " << setprecision(indent) << m_wildcard << '\n';
7986 strm << setw(indent+5) << "id = " << setprecision(indent) << m_id << '\n';
7987 strm << setw(indent-1) << setprecision(indent-2) << "}";
7989 #endif
7992 PObject::Comparison H248_TerminationID::Compare(const PObject & obj) const
7994 #ifndef PASN_LEANANDMEAN
7995 PAssert(PIsDescendant(&obj, H248_TerminationID), PInvalidCast);
7996 #endif
7997 const H248_TerminationID & other = (const H248_TerminationID &)obj;
7999 Comparison result;
8001 if ((result = m_wildcard.Compare(other.m_wildcard)) != EqualTo)
8002 return result;
8003 if ((result = m_id.Compare(other.m_id)) != EqualTo)
8004 return result;
8006 return PASN_Sequence::Compare(other);
8010 PINDEX H248_TerminationID::GetDataLength() const
8012 PINDEX length = 0;
8013 length += m_wildcard.GetObjectLength();
8014 length += m_id.GetObjectLength();
8015 return length;
8019 BOOL H248_TerminationID::Decode(PASN_Stream & strm)
8021 if (!PreambleDecode(strm))
8022 return FALSE;
8024 if (!m_wildcard.Decode(strm))
8025 return FALSE;
8026 if (!m_id.Decode(strm))
8027 return FALSE;
8029 return UnknownExtensionsDecode(strm);
8033 void H248_TerminationID::Encode(PASN_Stream & strm) const
8035 PreambleEncode(strm);
8037 m_wildcard.Encode(strm);
8038 m_id.Encode(strm);
8040 UnknownExtensionsEncode(strm);
8044 PObject * H248_TerminationID::Clone() const
8046 #ifndef PASN_LEANANDMEAN
8047 PAssert(IsClass(H248_TerminationID::Class()), PInvalidCast);
8048 #endif
8049 return new H248_TerminationID(*this);
8054 // LocalControlDescriptor
8057 H248_LocalControlDescriptor::H248_LocalControlDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
8058 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
8063 #ifndef PASN_NOPRINTON
8064 void H248_LocalControlDescriptor::PrintOn(ostream & strm) const
8066 int indent = strm.precision() + 2;
8067 strm << "{\n";
8068 if (HasOptionalField(e_streamMode))
8069 strm << setw(indent+13) << "streamMode = " << setprecision(indent) << m_streamMode << '\n';
8070 if (HasOptionalField(e_reserveValue))
8071 strm << setw(indent+15) << "reserveValue = " << setprecision(indent) << m_reserveValue << '\n';
8072 if (HasOptionalField(e_reserveGroup))
8073 strm << setw(indent+15) << "reserveGroup = " << setprecision(indent) << m_reserveGroup << '\n';
8074 strm << setw(indent+16) << "propertyParms = " << setprecision(indent) << m_propertyParms << '\n';
8075 strm << setw(indent-1) << setprecision(indent-2) << "}";
8077 #endif
8080 PObject::Comparison H248_LocalControlDescriptor::Compare(const PObject & obj) const
8082 #ifndef PASN_LEANANDMEAN
8083 PAssert(PIsDescendant(&obj, H248_LocalControlDescriptor), PInvalidCast);
8084 #endif
8085 const H248_LocalControlDescriptor & other = (const H248_LocalControlDescriptor &)obj;
8087 Comparison result;
8089 if ((result = m_streamMode.Compare(other.m_streamMode)) != EqualTo)
8090 return result;
8091 if ((result = m_reserveValue.Compare(other.m_reserveValue)) != EqualTo)
8092 return result;
8093 if ((result = m_reserveGroup.Compare(other.m_reserveGroup)) != EqualTo)
8094 return result;
8095 if ((result = m_propertyParms.Compare(other.m_propertyParms)) != EqualTo)
8096 return result;
8098 return PASN_Sequence::Compare(other);
8102 PINDEX H248_LocalControlDescriptor::GetDataLength() const
8104 PINDEX length = 0;
8105 if (HasOptionalField(e_streamMode))
8106 length += m_streamMode.GetObjectLength();
8107 if (HasOptionalField(e_reserveValue))
8108 length += m_reserveValue.GetObjectLength();
8109 if (HasOptionalField(e_reserveGroup))
8110 length += m_reserveGroup.GetObjectLength();
8111 length += m_propertyParms.GetObjectLength();
8112 return length;
8116 BOOL H248_LocalControlDescriptor::Decode(PASN_Stream & strm)
8118 if (!PreambleDecode(strm))
8119 return FALSE;
8121 if (HasOptionalField(e_streamMode) && !m_streamMode.Decode(strm))
8122 return FALSE;
8123 if (HasOptionalField(e_reserveValue) && !m_reserveValue.Decode(strm))
8124 return FALSE;
8125 if (HasOptionalField(e_reserveGroup) && !m_reserveGroup.Decode(strm))
8126 return FALSE;
8127 if (!m_propertyParms.Decode(strm))
8128 return FALSE;
8130 return UnknownExtensionsDecode(strm);
8134 void H248_LocalControlDescriptor::Encode(PASN_Stream & strm) const
8136 PreambleEncode(strm);
8138 if (HasOptionalField(e_streamMode))
8139 m_streamMode.Encode(strm);
8140 if (HasOptionalField(e_reserveValue))
8141 m_reserveValue.Encode(strm);
8142 if (HasOptionalField(e_reserveGroup))
8143 m_reserveGroup.Encode(strm);
8144 m_propertyParms.Encode(strm);
8146 UnknownExtensionsEncode(strm);
8150 PObject * H248_LocalControlDescriptor::Clone() const
8152 #ifndef PASN_LEANANDMEAN
8153 PAssert(IsClass(H248_LocalControlDescriptor::Class()), PInvalidCast);
8154 #endif
8155 return new H248_LocalControlDescriptor(*this);
8160 // PropertyParm
8163 H248_PropertyParm::H248_PropertyParm(unsigned tag, PASN_Object::TagClass tagClass)
8164 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
8169 #ifndef PASN_NOPRINTON
8170 void H248_PropertyParm::PrintOn(ostream & strm) const
8172 int indent = strm.precision() + 2;
8173 strm << "{\n";
8174 strm << setw(indent+7) << "name = " << setprecision(indent) << m_name << '\n';
8175 strm << setw(indent+8) << "value = " << setprecision(indent) << m_value << '\n';
8176 if (HasOptionalField(e_extraInfo))
8177 strm << setw(indent+12) << "extraInfo = " << setprecision(indent) << m_extraInfo << '\n';
8178 strm << setw(indent-1) << setprecision(indent-2) << "}";
8180 #endif
8183 PObject::Comparison H248_PropertyParm::Compare(const PObject & obj) const
8185 #ifndef PASN_LEANANDMEAN
8186 PAssert(PIsDescendant(&obj, H248_PropertyParm), PInvalidCast);
8187 #endif
8188 const H248_PropertyParm & other = (const H248_PropertyParm &)obj;
8190 Comparison result;
8192 if ((result = m_name.Compare(other.m_name)) != EqualTo)
8193 return result;
8194 if ((result = m_value.Compare(other.m_value)) != EqualTo)
8195 return result;
8196 if ((result = m_extraInfo.Compare(other.m_extraInfo)) != EqualTo)
8197 return result;
8199 return PASN_Sequence::Compare(other);
8203 PINDEX H248_PropertyParm::GetDataLength() const
8205 PINDEX length = 0;
8206 length += m_name.GetObjectLength();
8207 length += m_value.GetObjectLength();
8208 if (HasOptionalField(e_extraInfo))
8209 length += m_extraInfo.GetObjectLength();
8210 return length;
8214 BOOL H248_PropertyParm::Decode(PASN_Stream & strm)
8216 if (!PreambleDecode(strm))
8217 return FALSE;
8219 if (!m_name.Decode(strm))
8220 return FALSE;
8221 if (!m_value.Decode(strm))
8222 return FALSE;
8223 if (HasOptionalField(e_extraInfo) && !m_extraInfo.Decode(strm))
8224 return FALSE;
8226 return UnknownExtensionsDecode(strm);
8230 void H248_PropertyParm::Encode(PASN_Stream & strm) const
8232 PreambleEncode(strm);
8234 m_name.Encode(strm);
8235 m_value.Encode(strm);
8236 if (HasOptionalField(e_extraInfo))
8237 m_extraInfo.Encode(strm);
8239 UnknownExtensionsEncode(strm);
8243 PObject * H248_PropertyParm::Clone() const
8245 #ifndef PASN_LEANANDMEAN
8246 PAssert(IsClass(H248_PropertyParm::Class()), PInvalidCast);
8247 #endif
8248 return new H248_PropertyParm(*this);
8253 // LocalRemoteDescriptor
8256 H248_LocalRemoteDescriptor::H248_LocalRemoteDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
8257 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
8262 #ifndef PASN_NOPRINTON
8263 void H248_LocalRemoteDescriptor::PrintOn(ostream & strm) const
8265 int indent = strm.precision() + 2;
8266 strm << "{\n";
8267 strm << setw(indent+11) << "propGrps = " << setprecision(indent) << m_propGrps << '\n';
8268 strm << setw(indent-1) << setprecision(indent-2) << "}";
8270 #endif
8273 PObject::Comparison H248_LocalRemoteDescriptor::Compare(const PObject & obj) const
8275 #ifndef PASN_LEANANDMEAN
8276 PAssert(PIsDescendant(&obj, H248_LocalRemoteDescriptor), PInvalidCast);
8277 #endif
8278 const H248_LocalRemoteDescriptor & other = (const H248_LocalRemoteDescriptor &)obj;
8280 Comparison result;
8282 if ((result = m_propGrps.Compare(other.m_propGrps)) != EqualTo)
8283 return result;
8285 return PASN_Sequence::Compare(other);
8289 PINDEX H248_LocalRemoteDescriptor::GetDataLength() const
8291 PINDEX length = 0;
8292 length += m_propGrps.GetObjectLength();
8293 return length;
8297 BOOL H248_LocalRemoteDescriptor::Decode(PASN_Stream & strm)
8299 if (!PreambleDecode(strm))
8300 return FALSE;
8302 if (!m_propGrps.Decode(strm))
8303 return FALSE;
8305 return UnknownExtensionsDecode(strm);
8309 void H248_LocalRemoteDescriptor::Encode(PASN_Stream & strm) const
8311 PreambleEncode(strm);
8313 m_propGrps.Encode(strm);
8315 UnknownExtensionsEncode(strm);
8319 PObject * H248_LocalRemoteDescriptor::Clone() const
8321 #ifndef PASN_LEANANDMEAN
8322 PAssert(IsClass(H248_LocalRemoteDescriptor::Class()), PInvalidCast);
8323 #endif
8324 return new H248_LocalRemoteDescriptor(*this);
8329 // TerminationStateDescriptor
8332 H248_TerminationStateDescriptor::H248_TerminationStateDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
8333 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
8338 #ifndef PASN_NOPRINTON
8339 void H248_TerminationStateDescriptor::PrintOn(ostream & strm) const
8341 int indent = strm.precision() + 2;
8342 strm << "{\n";
8343 strm << setw(indent+16) << "propertyParms = " << setprecision(indent) << m_propertyParms << '\n';
8344 if (HasOptionalField(e_eventBufferControl))
8345 strm << setw(indent+21) << "eventBufferControl = " << setprecision(indent) << m_eventBufferControl << '\n';
8346 if (HasOptionalField(e_serviceState))
8347 strm << setw(indent+15) << "serviceState = " << setprecision(indent) << m_serviceState << '\n';
8348 strm << setw(indent-1) << setprecision(indent-2) << "}";
8350 #endif
8353 PObject::Comparison H248_TerminationStateDescriptor::Compare(const PObject & obj) const
8355 #ifndef PASN_LEANANDMEAN
8356 PAssert(PIsDescendant(&obj, H248_TerminationStateDescriptor), PInvalidCast);
8357 #endif
8358 const H248_TerminationStateDescriptor & other = (const H248_TerminationStateDescriptor &)obj;
8360 Comparison result;
8362 if ((result = m_propertyParms.Compare(other.m_propertyParms)) != EqualTo)
8363 return result;
8364 if ((result = m_eventBufferControl.Compare(other.m_eventBufferControl)) != EqualTo)
8365 return result;
8366 if ((result = m_serviceState.Compare(other.m_serviceState)) != EqualTo)
8367 return result;
8369 return PASN_Sequence::Compare(other);
8373 PINDEX H248_TerminationStateDescriptor::GetDataLength() const
8375 PINDEX length = 0;
8376 length += m_propertyParms.GetObjectLength();
8377 if (HasOptionalField(e_eventBufferControl))
8378 length += m_eventBufferControl.GetObjectLength();
8379 if (HasOptionalField(e_serviceState))
8380 length += m_serviceState.GetObjectLength();
8381 return length;
8385 BOOL H248_TerminationStateDescriptor::Decode(PASN_Stream & strm)
8387 if (!PreambleDecode(strm))
8388 return FALSE;
8390 if (!m_propertyParms.Decode(strm))
8391 return FALSE;
8392 if (HasOptionalField(e_eventBufferControl) && !m_eventBufferControl.Decode(strm))
8393 return FALSE;
8394 if (HasOptionalField(e_serviceState) && !m_serviceState.Decode(strm))
8395 return FALSE;
8397 return UnknownExtensionsDecode(strm);
8401 void H248_TerminationStateDescriptor::Encode(PASN_Stream & strm) const
8403 PreambleEncode(strm);
8405 m_propertyParms.Encode(strm);
8406 if (HasOptionalField(e_eventBufferControl))
8407 m_eventBufferControl.Encode(strm);
8408 if (HasOptionalField(e_serviceState))
8409 m_serviceState.Encode(strm);
8411 UnknownExtensionsEncode(strm);
8415 PObject * H248_TerminationStateDescriptor::Clone() const
8417 #ifndef PASN_LEANANDMEAN
8418 PAssert(IsClass(H248_TerminationStateDescriptor::Class()), PInvalidCast);
8419 #endif
8420 return new H248_TerminationStateDescriptor(*this);
8425 // EventsDescriptor
8428 H248_EventsDescriptor::H248_EventsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
8429 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
8434 #ifndef PASN_NOPRINTON
8435 void H248_EventsDescriptor::PrintOn(ostream & strm) const
8437 int indent = strm.precision() + 2;
8438 strm << "{\n";
8439 if (HasOptionalField(e_requestID))
8440 strm << setw(indent+12) << "requestID = " << setprecision(indent) << m_requestID << '\n';
8441 strm << setw(indent+12) << "eventList = " << setprecision(indent) << m_eventList << '\n';
8442 strm << setw(indent-1) << setprecision(indent-2) << "}";
8444 #endif
8447 PObject::Comparison H248_EventsDescriptor::Compare(const PObject & obj) const
8449 #ifndef PASN_LEANANDMEAN
8450 PAssert(PIsDescendant(&obj, H248_EventsDescriptor), PInvalidCast);
8451 #endif
8452 const H248_EventsDescriptor & other = (const H248_EventsDescriptor &)obj;
8454 Comparison result;
8456 if ((result = m_requestID.Compare(other.m_requestID)) != EqualTo)
8457 return result;
8458 if ((result = m_eventList.Compare(other.m_eventList)) != EqualTo)
8459 return result;
8461 return PASN_Sequence::Compare(other);
8465 PINDEX H248_EventsDescriptor::GetDataLength() const
8467 PINDEX length = 0;
8468 if (HasOptionalField(e_requestID))
8469 length += m_requestID.GetObjectLength();
8470 length += m_eventList.GetObjectLength();
8471 return length;
8475 BOOL H248_EventsDescriptor::Decode(PASN_Stream & strm)
8477 if (!PreambleDecode(strm))
8478 return FALSE;
8480 if (HasOptionalField(e_requestID) && !m_requestID.Decode(strm))
8481 return FALSE;
8482 if (!m_eventList.Decode(strm))
8483 return FALSE;
8485 return UnknownExtensionsDecode(strm);
8489 void H248_EventsDescriptor::Encode(PASN_Stream & strm) const
8491 PreambleEncode(strm);
8493 if (HasOptionalField(e_requestID))
8494 m_requestID.Encode(strm);
8495 m_eventList.Encode(strm);
8497 UnknownExtensionsEncode(strm);
8501 PObject * H248_EventsDescriptor::Clone() const
8503 #ifndef PASN_LEANANDMEAN
8504 PAssert(IsClass(H248_EventsDescriptor::Class()), PInvalidCast);
8505 #endif
8506 return new H248_EventsDescriptor(*this);
8511 // SecondEventsDescriptor
8514 H248_SecondEventsDescriptor::H248_SecondEventsDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
8515 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
8520 #ifndef PASN_NOPRINTON
8521 void H248_SecondEventsDescriptor::PrintOn(ostream & strm) const
8523 int indent = strm.precision() + 2;
8524 strm << "{\n";
8525 if (HasOptionalField(e_requestID))
8526 strm << setw(indent+12) << "requestID = " << setprecision(indent) << m_requestID << '\n';
8527 strm << setw(indent+12) << "eventList = " << setprecision(indent) << m_eventList << '\n';
8528 strm << setw(indent-1) << setprecision(indent-2) << "}";
8530 #endif
8533 PObject::Comparison H248_SecondEventsDescriptor::Compare(const PObject & obj) const
8535 #ifndef PASN_LEANANDMEAN
8536 PAssert(PIsDescendant(&obj, H248_SecondEventsDescriptor), PInvalidCast);
8537 #endif
8538 const H248_SecondEventsDescriptor & other = (const H248_SecondEventsDescriptor &)obj;
8540 Comparison result;
8542 if ((result = m_requestID.Compare(other.m_requestID)) != EqualTo)
8543 return result;
8544 if ((result = m_eventList.Compare(other.m_eventList)) != EqualTo)
8545 return result;
8547 return PASN_Sequence::Compare(other);
8551 PINDEX H248_SecondEventsDescriptor::GetDataLength() const
8553 PINDEX length = 0;
8554 if (HasOptionalField(e_requestID))
8555 length += m_requestID.GetObjectLength();
8556 length += m_eventList.GetObjectLength();
8557 return length;
8561 BOOL H248_SecondEventsDescriptor::Decode(PASN_Stream & strm)
8563 if (!PreambleDecode(strm))
8564 return FALSE;
8566 if (HasOptionalField(e_requestID) && !m_requestID.Decode(strm))
8567 return FALSE;
8568 if (!m_eventList.Decode(strm))
8569 return FALSE;
8571 return UnknownExtensionsDecode(strm);
8575 void H248_SecondEventsDescriptor::Encode(PASN_Stream & strm) const
8577 PreambleEncode(strm);
8579 if (HasOptionalField(e_requestID))
8580 m_requestID.Encode(strm);
8581 m_eventList.Encode(strm);
8583 UnknownExtensionsEncode(strm);
8587 PObject * H248_SecondEventsDescriptor::Clone() const
8589 #ifndef PASN_LEANANDMEAN
8590 PAssert(IsClass(H248_SecondEventsDescriptor::Class()), PInvalidCast);
8591 #endif
8592 return new H248_SecondEventsDescriptor(*this);
8597 // SecondRequestedActions
8600 H248_SecondRequestedActions::H248_SecondRequestedActions(unsigned tag, PASN_Object::TagClass tagClass)
8601 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
8606 #ifndef PASN_NOPRINTON
8607 void H248_SecondRequestedActions::PrintOn(ostream & strm) const
8609 int indent = strm.precision() + 2;
8610 strm << "{\n";
8611 if (HasOptionalField(e_keepActive))
8612 strm << setw(indent+13) << "keepActive = " << setprecision(indent) << m_keepActive << '\n';
8613 if (HasOptionalField(e_eventDM))
8614 strm << setw(indent+10) << "eventDM = " << setprecision(indent) << m_eventDM << '\n';
8615 if (HasOptionalField(e_signalsDescriptor))
8616 strm << setw(indent+20) << "signalsDescriptor = " << setprecision(indent) << m_signalsDescriptor << '\n';
8617 strm << setw(indent-1) << setprecision(indent-2) << "}";
8619 #endif
8622 PObject::Comparison H248_SecondRequestedActions::Compare(const PObject & obj) const
8624 #ifndef PASN_LEANANDMEAN
8625 PAssert(PIsDescendant(&obj, H248_SecondRequestedActions), PInvalidCast);
8626 #endif
8627 const H248_SecondRequestedActions & other = (const H248_SecondRequestedActions &)obj;
8629 Comparison result;
8631 if ((result = m_keepActive.Compare(other.m_keepActive)) != EqualTo)
8632 return result;
8633 if ((result = m_eventDM.Compare(other.m_eventDM)) != EqualTo)
8634 return result;
8635 if ((result = m_signalsDescriptor.Compare(other.m_signalsDescriptor)) != EqualTo)
8636 return result;
8638 return PASN_Sequence::Compare(other);
8642 PINDEX H248_SecondRequestedActions::GetDataLength() const
8644 PINDEX length = 0;
8645 if (HasOptionalField(e_keepActive))
8646 length += m_keepActive.GetObjectLength();
8647 if (HasOptionalField(e_eventDM))
8648 length += m_eventDM.GetObjectLength();
8649 if (HasOptionalField(e_signalsDescriptor))
8650 length += m_signalsDescriptor.GetObjectLength();
8651 return length;
8655 BOOL H248_SecondRequestedActions::Decode(PASN_Stream & strm)
8657 if (!PreambleDecode(strm))
8658 return FALSE;
8660 if (HasOptionalField(e_keepActive) && !m_keepActive.Decode(strm))
8661 return FALSE;
8662 if (HasOptionalField(e_eventDM) && !m_eventDM.Decode(strm))
8663 return FALSE;
8664 if (HasOptionalField(e_signalsDescriptor) && !m_signalsDescriptor.Decode(strm))
8665 return FALSE;
8667 return UnknownExtensionsDecode(strm);
8671 void H248_SecondRequestedActions::Encode(PASN_Stream & strm) const
8673 PreambleEncode(strm);
8675 if (HasOptionalField(e_keepActive))
8676 m_keepActive.Encode(strm);
8677 if (HasOptionalField(e_eventDM))
8678 m_eventDM.Encode(strm);
8679 if (HasOptionalField(e_signalsDescriptor))
8680 m_signalsDescriptor.Encode(strm);
8682 UnknownExtensionsEncode(strm);
8686 PObject * H248_SecondRequestedActions::Clone() const
8688 #ifndef PASN_LEANANDMEAN
8689 PAssert(IsClass(H248_SecondRequestedActions::Class()), PInvalidCast);
8690 #endif
8691 return new H248_SecondRequestedActions(*this);
8696 // EventSpec
8699 H248_EventSpec::H248_EventSpec(unsigned tag, PASN_Object::TagClass tagClass)
8700 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
8705 #ifndef PASN_NOPRINTON
8706 void H248_EventSpec::PrintOn(ostream & strm) const
8708 int indent = strm.precision() + 2;
8709 strm << "{\n";
8710 strm << setw(indent+12) << "eventName = " << setprecision(indent) << m_eventName << '\n';
8711 if (HasOptionalField(e_streamID))
8712 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
8713 strm << setw(indent+15) << "eventParList = " << setprecision(indent) << m_eventParList << '\n';
8714 strm << setw(indent-1) << setprecision(indent-2) << "}";
8716 #endif
8719 PObject::Comparison H248_EventSpec::Compare(const PObject & obj) const
8721 #ifndef PASN_LEANANDMEAN
8722 PAssert(PIsDescendant(&obj, H248_EventSpec), PInvalidCast);
8723 #endif
8724 const H248_EventSpec & other = (const H248_EventSpec &)obj;
8726 Comparison result;
8728 if ((result = m_eventName.Compare(other.m_eventName)) != EqualTo)
8729 return result;
8730 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
8731 return result;
8732 if ((result = m_eventParList.Compare(other.m_eventParList)) != EqualTo)
8733 return result;
8735 return PASN_Sequence::Compare(other);
8739 PINDEX H248_EventSpec::GetDataLength() const
8741 PINDEX length = 0;
8742 length += m_eventName.GetObjectLength();
8743 if (HasOptionalField(e_streamID))
8744 length += m_streamID.GetObjectLength();
8745 length += m_eventParList.GetObjectLength();
8746 return length;
8750 BOOL H248_EventSpec::Decode(PASN_Stream & strm)
8752 if (!PreambleDecode(strm))
8753 return FALSE;
8755 if (!m_eventName.Decode(strm))
8756 return FALSE;
8757 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
8758 return FALSE;
8759 if (!m_eventParList.Decode(strm))
8760 return FALSE;
8762 return UnknownExtensionsDecode(strm);
8766 void H248_EventSpec::Encode(PASN_Stream & strm) const
8768 PreambleEncode(strm);
8770 m_eventName.Encode(strm);
8771 if (HasOptionalField(e_streamID))
8772 m_streamID.Encode(strm);
8773 m_eventParList.Encode(strm);
8775 UnknownExtensionsEncode(strm);
8779 PObject * H248_EventSpec::Clone() const
8781 #ifndef PASN_LEANANDMEAN
8782 PAssert(IsClass(H248_EventSpec::Class()), PInvalidCast);
8783 #endif
8784 return new H248_EventSpec(*this);
8789 // SeqSigList
8792 H248_SeqSigList::H248_SeqSigList(unsigned tag, PASN_Object::TagClass tagClass)
8793 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
8795 m_id.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
8799 #ifndef PASN_NOPRINTON
8800 void H248_SeqSigList::PrintOn(ostream & strm) const
8802 int indent = strm.precision() + 2;
8803 strm << "{\n";
8804 strm << setw(indent+5) << "id = " << setprecision(indent) << m_id << '\n';
8805 strm << setw(indent+13) << "signalList = " << setprecision(indent) << m_signalList << '\n';
8806 strm << setw(indent-1) << setprecision(indent-2) << "}";
8808 #endif
8811 PObject::Comparison H248_SeqSigList::Compare(const PObject & obj) const
8813 #ifndef PASN_LEANANDMEAN
8814 PAssert(PIsDescendant(&obj, H248_SeqSigList), PInvalidCast);
8815 #endif
8816 const H248_SeqSigList & other = (const H248_SeqSigList &)obj;
8818 Comparison result;
8820 if ((result = m_id.Compare(other.m_id)) != EqualTo)
8821 return result;
8822 if ((result = m_signalList.Compare(other.m_signalList)) != EqualTo)
8823 return result;
8825 return PASN_Sequence::Compare(other);
8829 PINDEX H248_SeqSigList::GetDataLength() const
8831 PINDEX length = 0;
8832 length += m_id.GetObjectLength();
8833 length += m_signalList.GetObjectLength();
8834 return length;
8838 BOOL H248_SeqSigList::Decode(PASN_Stream & strm)
8840 if (!PreambleDecode(strm))
8841 return FALSE;
8843 if (!m_id.Decode(strm))
8844 return FALSE;
8845 if (!m_signalList.Decode(strm))
8846 return FALSE;
8848 return UnknownExtensionsDecode(strm);
8852 void H248_SeqSigList::Encode(PASN_Stream & strm) const
8854 PreambleEncode(strm);
8856 m_id.Encode(strm);
8857 m_signalList.Encode(strm);
8859 UnknownExtensionsEncode(strm);
8863 PObject * H248_SeqSigList::Clone() const
8865 #ifndef PASN_LEANANDMEAN
8866 PAssert(IsClass(H248_SeqSigList::Class()), PInvalidCast);
8867 #endif
8868 return new H248_SeqSigList(*this);
8873 // Signal
8876 H248_Signal::H248_Signal(unsigned tag, PASN_Object::TagClass tagClass)
8877 : PASN_Sequence(tag, tagClass, 5, TRUE, 0)
8879 m_duration.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
8883 #ifndef PASN_NOPRINTON
8884 void H248_Signal::PrintOn(ostream & strm) const
8886 int indent = strm.precision() + 2;
8887 strm << "{\n";
8888 strm << setw(indent+13) << "signalName = " << setprecision(indent) << m_signalName << '\n';
8889 if (HasOptionalField(e_streamID))
8890 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
8891 if (HasOptionalField(e_sigType))
8892 strm << setw(indent+10) << "sigType = " << setprecision(indent) << m_sigType << '\n';
8893 if (HasOptionalField(e_duration))
8894 strm << setw(indent+11) << "duration = " << setprecision(indent) << m_duration << '\n';
8895 if (HasOptionalField(e_notifyCompletion))
8896 strm << setw(indent+19) << "notifyCompletion = " << setprecision(indent) << m_notifyCompletion << '\n';
8897 if (HasOptionalField(e_keepActive))
8898 strm << setw(indent+13) << "keepActive = " << setprecision(indent) << m_keepActive << '\n';
8899 strm << setw(indent+13) << "sigParList = " << setprecision(indent) << m_sigParList << '\n';
8900 strm << setw(indent-1) << setprecision(indent-2) << "}";
8902 #endif
8905 PObject::Comparison H248_Signal::Compare(const PObject & obj) const
8907 #ifndef PASN_LEANANDMEAN
8908 PAssert(PIsDescendant(&obj, H248_Signal), PInvalidCast);
8909 #endif
8910 const H248_Signal & other = (const H248_Signal &)obj;
8912 Comparison result;
8914 if ((result = m_signalName.Compare(other.m_signalName)) != EqualTo)
8915 return result;
8916 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
8917 return result;
8918 if ((result = m_sigType.Compare(other.m_sigType)) != EqualTo)
8919 return result;
8920 if ((result = m_duration.Compare(other.m_duration)) != EqualTo)
8921 return result;
8922 if ((result = m_notifyCompletion.Compare(other.m_notifyCompletion)) != EqualTo)
8923 return result;
8924 if ((result = m_keepActive.Compare(other.m_keepActive)) != EqualTo)
8925 return result;
8926 if ((result = m_sigParList.Compare(other.m_sigParList)) != EqualTo)
8927 return result;
8929 return PASN_Sequence::Compare(other);
8933 PINDEX H248_Signal::GetDataLength() const
8935 PINDEX length = 0;
8936 length += m_signalName.GetObjectLength();
8937 if (HasOptionalField(e_streamID))
8938 length += m_streamID.GetObjectLength();
8939 if (HasOptionalField(e_sigType))
8940 length += m_sigType.GetObjectLength();
8941 if (HasOptionalField(e_duration))
8942 length += m_duration.GetObjectLength();
8943 if (HasOptionalField(e_notifyCompletion))
8944 length += m_notifyCompletion.GetObjectLength();
8945 if (HasOptionalField(e_keepActive))
8946 length += m_keepActive.GetObjectLength();
8947 length += m_sigParList.GetObjectLength();
8948 return length;
8952 BOOL H248_Signal::Decode(PASN_Stream & strm)
8954 if (!PreambleDecode(strm))
8955 return FALSE;
8957 if (!m_signalName.Decode(strm))
8958 return FALSE;
8959 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
8960 return FALSE;
8961 if (HasOptionalField(e_sigType) && !m_sigType.Decode(strm))
8962 return FALSE;
8963 if (HasOptionalField(e_duration) && !m_duration.Decode(strm))
8964 return FALSE;
8965 if (HasOptionalField(e_notifyCompletion) && !m_notifyCompletion.Decode(strm))
8966 return FALSE;
8967 if (HasOptionalField(e_keepActive) && !m_keepActive.Decode(strm))
8968 return FALSE;
8969 if (!m_sigParList.Decode(strm))
8970 return FALSE;
8972 return UnknownExtensionsDecode(strm);
8976 void H248_Signal::Encode(PASN_Stream & strm) const
8978 PreambleEncode(strm);
8980 m_signalName.Encode(strm);
8981 if (HasOptionalField(e_streamID))
8982 m_streamID.Encode(strm);
8983 if (HasOptionalField(e_sigType))
8984 m_sigType.Encode(strm);
8985 if (HasOptionalField(e_duration))
8986 m_duration.Encode(strm);
8987 if (HasOptionalField(e_notifyCompletion))
8988 m_notifyCompletion.Encode(strm);
8989 if (HasOptionalField(e_keepActive))
8990 m_keepActive.Encode(strm);
8991 m_sigParList.Encode(strm);
8993 UnknownExtensionsEncode(strm);
8997 PObject * H248_Signal::Clone() const
8999 #ifndef PASN_LEANANDMEAN
9000 PAssert(IsClass(H248_Signal::Class()), PInvalidCast);
9001 #endif
9002 return new H248_Signal(*this);
9007 // SigParameter
9010 H248_SigParameter::H248_SigParameter(unsigned tag, PASN_Object::TagClass tagClass)
9011 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
9016 #ifndef PASN_NOPRINTON
9017 void H248_SigParameter::PrintOn(ostream & strm) const
9019 int indent = strm.precision() + 2;
9020 strm << "{\n";
9021 strm << setw(indent+19) << "sigParameterName = " << setprecision(indent) << m_sigParameterName << '\n';
9022 strm << setw(indent+8) << "value = " << setprecision(indent) << m_value << '\n';
9023 if (HasOptionalField(e_extraInfo))
9024 strm << setw(indent+12) << "extraInfo = " << setprecision(indent) << m_extraInfo << '\n';
9025 strm << setw(indent-1) << setprecision(indent-2) << "}";
9027 #endif
9030 PObject::Comparison H248_SigParameter::Compare(const PObject & obj) const
9032 #ifndef PASN_LEANANDMEAN
9033 PAssert(PIsDescendant(&obj, H248_SigParameter), PInvalidCast);
9034 #endif
9035 const H248_SigParameter & other = (const H248_SigParameter &)obj;
9037 Comparison result;
9039 if ((result = m_sigParameterName.Compare(other.m_sigParameterName)) != EqualTo)
9040 return result;
9041 if ((result = m_value.Compare(other.m_value)) != EqualTo)
9042 return result;
9043 if ((result = m_extraInfo.Compare(other.m_extraInfo)) != EqualTo)
9044 return result;
9046 return PASN_Sequence::Compare(other);
9050 PINDEX H248_SigParameter::GetDataLength() const
9052 PINDEX length = 0;
9053 length += m_sigParameterName.GetObjectLength();
9054 length += m_value.GetObjectLength();
9055 if (HasOptionalField(e_extraInfo))
9056 length += m_extraInfo.GetObjectLength();
9057 return length;
9061 BOOL H248_SigParameter::Decode(PASN_Stream & strm)
9063 if (!PreambleDecode(strm))
9064 return FALSE;
9066 if (!m_sigParameterName.Decode(strm))
9067 return FALSE;
9068 if (!m_value.Decode(strm))
9069 return FALSE;
9070 if (HasOptionalField(e_extraInfo) && !m_extraInfo.Decode(strm))
9071 return FALSE;
9073 return UnknownExtensionsDecode(strm);
9077 void H248_SigParameter::Encode(PASN_Stream & strm) const
9079 PreambleEncode(strm);
9081 m_sigParameterName.Encode(strm);
9082 m_value.Encode(strm);
9083 if (HasOptionalField(e_extraInfo))
9084 m_extraInfo.Encode(strm);
9086 UnknownExtensionsEncode(strm);
9090 PObject * H248_SigParameter::Clone() const
9092 #ifndef PASN_LEANANDMEAN
9093 PAssert(IsClass(H248_SigParameter::Class()), PInvalidCast);
9094 #endif
9095 return new H248_SigParameter(*this);
9100 // DigitMapDescriptor
9103 H248_DigitMapDescriptor::H248_DigitMapDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
9104 : PASN_Sequence(tag, tagClass, 2, FALSE, 0)
9109 #ifndef PASN_NOPRINTON
9110 void H248_DigitMapDescriptor::PrintOn(ostream & strm) const
9112 int indent = strm.precision() + 2;
9113 strm << "{\n";
9114 if (HasOptionalField(e_digitMapName))
9115 strm << setw(indent+15) << "digitMapName = " << setprecision(indent) << m_digitMapName << '\n';
9116 if (HasOptionalField(e_digitMapValue))
9117 strm << setw(indent+16) << "digitMapValue = " << setprecision(indent) << m_digitMapValue << '\n';
9118 strm << setw(indent-1) << setprecision(indent-2) << "}";
9120 #endif
9123 PObject::Comparison H248_DigitMapDescriptor::Compare(const PObject & obj) const
9125 #ifndef PASN_LEANANDMEAN
9126 PAssert(PIsDescendant(&obj, H248_DigitMapDescriptor), PInvalidCast);
9127 #endif
9128 const H248_DigitMapDescriptor & other = (const H248_DigitMapDescriptor &)obj;
9130 Comparison result;
9132 if ((result = m_digitMapName.Compare(other.m_digitMapName)) != EqualTo)
9133 return result;
9134 if ((result = m_digitMapValue.Compare(other.m_digitMapValue)) != EqualTo)
9135 return result;
9137 return PASN_Sequence::Compare(other);
9141 PINDEX H248_DigitMapDescriptor::GetDataLength() const
9143 PINDEX length = 0;
9144 if (HasOptionalField(e_digitMapName))
9145 length += m_digitMapName.GetObjectLength();
9146 if (HasOptionalField(e_digitMapValue))
9147 length += m_digitMapValue.GetObjectLength();
9148 return length;
9152 BOOL H248_DigitMapDescriptor::Decode(PASN_Stream & strm)
9154 if (!PreambleDecode(strm))
9155 return FALSE;
9157 if (HasOptionalField(e_digitMapName) && !m_digitMapName.Decode(strm))
9158 return FALSE;
9159 if (HasOptionalField(e_digitMapValue) && !m_digitMapValue.Decode(strm))
9160 return FALSE;
9162 return UnknownExtensionsDecode(strm);
9166 void H248_DigitMapDescriptor::Encode(PASN_Stream & strm) const
9168 PreambleEncode(strm);
9170 if (HasOptionalField(e_digitMapName))
9171 m_digitMapName.Encode(strm);
9172 if (HasOptionalField(e_digitMapValue))
9173 m_digitMapValue.Encode(strm);
9175 UnknownExtensionsEncode(strm);
9179 PObject * H248_DigitMapDescriptor::Clone() const
9181 #ifndef PASN_LEANANDMEAN
9182 PAssert(IsClass(H248_DigitMapDescriptor::Class()), PInvalidCast);
9183 #endif
9184 return new H248_DigitMapDescriptor(*this);
9189 // ServiceChangeResParm
9192 H248_ServiceChangeResParm::H248_ServiceChangeResParm(unsigned tag, PASN_Object::TagClass tagClass)
9193 : PASN_Sequence(tag, tagClass, 5, TRUE, 0)
9195 m_serviceChangeVersion.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
9199 #ifndef PASN_NOPRINTON
9200 void H248_ServiceChangeResParm::PrintOn(ostream & strm) const
9202 int indent = strm.precision() + 2;
9203 strm << "{\n";
9204 if (HasOptionalField(e_serviceChangeMgcId))
9205 strm << setw(indent+21) << "serviceChangeMgcId = " << setprecision(indent) << m_serviceChangeMgcId << '\n';
9206 if (HasOptionalField(e_serviceChangeAddress))
9207 strm << setw(indent+23) << "serviceChangeAddress = " << setprecision(indent) << m_serviceChangeAddress << '\n';
9208 if (HasOptionalField(e_serviceChangeVersion))
9209 strm << setw(indent+23) << "serviceChangeVersion = " << setprecision(indent) << m_serviceChangeVersion << '\n';
9210 if (HasOptionalField(e_serviceChangeProfile))
9211 strm << setw(indent+23) << "serviceChangeProfile = " << setprecision(indent) << m_serviceChangeProfile << '\n';
9212 if (HasOptionalField(e_timestamp))
9213 strm << setw(indent+12) << "timestamp = " << setprecision(indent) << m_timestamp << '\n';
9214 strm << setw(indent-1) << setprecision(indent-2) << "}";
9216 #endif
9219 PObject::Comparison H248_ServiceChangeResParm::Compare(const PObject & obj) const
9221 #ifndef PASN_LEANANDMEAN
9222 PAssert(PIsDescendant(&obj, H248_ServiceChangeResParm), PInvalidCast);
9223 #endif
9224 const H248_ServiceChangeResParm & other = (const H248_ServiceChangeResParm &)obj;
9226 Comparison result;
9228 if ((result = m_serviceChangeMgcId.Compare(other.m_serviceChangeMgcId)) != EqualTo)
9229 return result;
9230 if ((result = m_serviceChangeAddress.Compare(other.m_serviceChangeAddress)) != EqualTo)
9231 return result;
9232 if ((result = m_serviceChangeVersion.Compare(other.m_serviceChangeVersion)) != EqualTo)
9233 return result;
9234 if ((result = m_serviceChangeProfile.Compare(other.m_serviceChangeProfile)) != EqualTo)
9235 return result;
9236 if ((result = m_timestamp.Compare(other.m_timestamp)) != EqualTo)
9237 return result;
9239 return PASN_Sequence::Compare(other);
9243 PINDEX H248_ServiceChangeResParm::GetDataLength() const
9245 PINDEX length = 0;
9246 if (HasOptionalField(e_serviceChangeMgcId))
9247 length += m_serviceChangeMgcId.GetObjectLength();
9248 if (HasOptionalField(e_serviceChangeAddress))
9249 length += m_serviceChangeAddress.GetObjectLength();
9250 if (HasOptionalField(e_serviceChangeVersion))
9251 length += m_serviceChangeVersion.GetObjectLength();
9252 if (HasOptionalField(e_serviceChangeProfile))
9253 length += m_serviceChangeProfile.GetObjectLength();
9254 if (HasOptionalField(e_timestamp))
9255 length += m_timestamp.GetObjectLength();
9256 return length;
9260 BOOL H248_ServiceChangeResParm::Decode(PASN_Stream & strm)
9262 if (!PreambleDecode(strm))
9263 return FALSE;
9265 if (HasOptionalField(e_serviceChangeMgcId) && !m_serviceChangeMgcId.Decode(strm))
9266 return FALSE;
9267 if (HasOptionalField(e_serviceChangeAddress) && !m_serviceChangeAddress.Decode(strm))
9268 return FALSE;
9269 if (HasOptionalField(e_serviceChangeVersion) && !m_serviceChangeVersion.Decode(strm))
9270 return FALSE;
9271 if (HasOptionalField(e_serviceChangeProfile) && !m_serviceChangeProfile.Decode(strm))
9272 return FALSE;
9273 if (HasOptionalField(e_timestamp) && !m_timestamp.Decode(strm))
9274 return FALSE;
9276 return UnknownExtensionsDecode(strm);
9280 void H248_ServiceChangeResParm::Encode(PASN_Stream & strm) const
9282 PreambleEncode(strm);
9284 if (HasOptionalField(e_serviceChangeMgcId))
9285 m_serviceChangeMgcId.Encode(strm);
9286 if (HasOptionalField(e_serviceChangeAddress))
9287 m_serviceChangeAddress.Encode(strm);
9288 if (HasOptionalField(e_serviceChangeVersion))
9289 m_serviceChangeVersion.Encode(strm);
9290 if (HasOptionalField(e_serviceChangeProfile))
9291 m_serviceChangeProfile.Encode(strm);
9292 if (HasOptionalField(e_timestamp))
9293 m_timestamp.Encode(strm);
9295 UnknownExtensionsEncode(strm);
9299 PObject * H248_ServiceChangeResParm::Clone() const
9301 #ifndef PASN_LEANANDMEAN
9302 PAssert(IsClass(H248_ServiceChangeResParm::Class()), PInvalidCast);
9303 #endif
9304 return new H248_ServiceChangeResParm(*this);
9309 // StatisticsParameter
9312 H248_StatisticsParameter::H248_StatisticsParameter(unsigned tag, PASN_Object::TagClass tagClass)
9313 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
9318 #ifndef PASN_NOPRINTON
9319 void H248_StatisticsParameter::PrintOn(ostream & strm) const
9321 int indent = strm.precision() + 2;
9322 strm << "{\n";
9323 strm << setw(indent+11) << "statName = " << setprecision(indent) << m_statName << '\n';
9324 if (HasOptionalField(e_statValue))
9325 strm << setw(indent+12) << "statValue = " << setprecision(indent) << m_statValue << '\n';
9326 strm << setw(indent-1) << setprecision(indent-2) << "}";
9328 #endif
9331 PObject::Comparison H248_StatisticsParameter::Compare(const PObject & obj) const
9333 #ifndef PASN_LEANANDMEAN
9334 PAssert(PIsDescendant(&obj, H248_StatisticsParameter), PInvalidCast);
9335 #endif
9336 const H248_StatisticsParameter & other = (const H248_StatisticsParameter &)obj;
9338 Comparison result;
9340 if ((result = m_statName.Compare(other.m_statName)) != EqualTo)
9341 return result;
9342 if ((result = m_statValue.Compare(other.m_statValue)) != EqualTo)
9343 return result;
9345 return PASN_Sequence::Compare(other);
9349 PINDEX H248_StatisticsParameter::GetDataLength() const
9351 PINDEX length = 0;
9352 length += m_statName.GetObjectLength();
9353 if (HasOptionalField(e_statValue))
9354 length += m_statValue.GetObjectLength();
9355 return length;
9359 BOOL H248_StatisticsParameter::Decode(PASN_Stream & strm)
9361 if (!PreambleDecode(strm))
9362 return FALSE;
9364 if (!m_statName.Decode(strm))
9365 return FALSE;
9366 if (HasOptionalField(e_statValue) && !m_statValue.Decode(strm))
9367 return FALSE;
9369 return UnknownExtensionsDecode(strm);
9373 void H248_StatisticsParameter::Encode(PASN_Stream & strm) const
9375 PreambleEncode(strm);
9377 m_statName.Encode(strm);
9378 if (HasOptionalField(e_statValue))
9379 m_statValue.Encode(strm);
9381 UnknownExtensionsEncode(strm);
9385 PObject * H248_StatisticsParameter::Clone() const
9387 #ifndef PASN_LEANANDMEAN
9388 PAssert(IsClass(H248_StatisticsParameter::Class()), PInvalidCast);
9389 #endif
9390 return new H248_StatisticsParameter(*this);
9395 // NonStandardData
9398 H248_NonStandardData::H248_NonStandardData(unsigned tag, PASN_Object::TagClass tagClass)
9399 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
9404 #ifndef PASN_NOPRINTON
9405 void H248_NonStandardData::PrintOn(ostream & strm) const
9407 int indent = strm.precision() + 2;
9408 strm << "{\n";
9409 strm << setw(indent+24) << "nonStandardIdentifier = " << setprecision(indent) << m_nonStandardIdentifier << '\n';
9410 strm << setw(indent+7) << "data = " << setprecision(indent) << m_data << '\n';
9411 strm << setw(indent-1) << setprecision(indent-2) << "}";
9413 #endif
9416 PObject::Comparison H248_NonStandardData::Compare(const PObject & obj) const
9418 #ifndef PASN_LEANANDMEAN
9419 PAssert(PIsDescendant(&obj, H248_NonStandardData), PInvalidCast);
9420 #endif
9421 const H248_NonStandardData & other = (const H248_NonStandardData &)obj;
9423 Comparison result;
9425 if ((result = m_nonStandardIdentifier.Compare(other.m_nonStandardIdentifier)) != EqualTo)
9426 return result;
9427 if ((result = m_data.Compare(other.m_data)) != EqualTo)
9428 return result;
9430 return PASN_Sequence::Compare(other);
9434 PINDEX H248_NonStandardData::GetDataLength() const
9436 PINDEX length = 0;
9437 length += m_nonStandardIdentifier.GetObjectLength();
9438 length += m_data.GetObjectLength();
9439 return length;
9443 BOOL H248_NonStandardData::Decode(PASN_Stream & strm)
9445 if (!PreambleDecode(strm))
9446 return FALSE;
9448 if (!m_nonStandardIdentifier.Decode(strm))
9449 return FALSE;
9450 if (!m_data.Decode(strm))
9451 return FALSE;
9453 return UnknownExtensionsDecode(strm);
9457 void H248_NonStandardData::Encode(PASN_Stream & strm) const
9459 PreambleEncode(strm);
9461 m_nonStandardIdentifier.Encode(strm);
9462 m_data.Encode(strm);
9464 UnknownExtensionsEncode(strm);
9468 PObject * H248_NonStandardData::Clone() const
9470 #ifndef PASN_LEANANDMEAN
9471 PAssert(IsClass(H248_NonStandardData::Class()), PInvalidCast);
9472 #endif
9473 return new H248_NonStandardData(*this);
9478 // MegacoMessage
9481 H248_MegacoMessage::H248_MegacoMessage(unsigned tag, PASN_Object::TagClass tagClass)
9482 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
9487 #ifndef PASN_NOPRINTON
9488 void H248_MegacoMessage::PrintOn(ostream & strm) const
9490 int indent = strm.precision() + 2;
9491 strm << "{\n";
9492 if (HasOptionalField(e_authHeader))
9493 strm << setw(indent+13) << "authHeader = " << setprecision(indent) << m_authHeader << '\n';
9494 strm << setw(indent+7) << "mess = " << setprecision(indent) << m_mess << '\n';
9495 strm << setw(indent-1) << setprecision(indent-2) << "}";
9497 #endif
9500 PObject::Comparison H248_MegacoMessage::Compare(const PObject & obj) const
9502 #ifndef PASN_LEANANDMEAN
9503 PAssert(PIsDescendant(&obj, H248_MegacoMessage), PInvalidCast);
9504 #endif
9505 const H248_MegacoMessage & other = (const H248_MegacoMessage &)obj;
9507 Comparison result;
9509 if ((result = m_authHeader.Compare(other.m_authHeader)) != EqualTo)
9510 return result;
9511 if ((result = m_mess.Compare(other.m_mess)) != EqualTo)
9512 return result;
9514 return PASN_Sequence::Compare(other);
9518 PINDEX H248_MegacoMessage::GetDataLength() const
9520 PINDEX length = 0;
9521 if (HasOptionalField(e_authHeader))
9522 length += m_authHeader.GetObjectLength();
9523 length += m_mess.GetObjectLength();
9524 return length;
9528 BOOL H248_MegacoMessage::Decode(PASN_Stream & strm)
9530 if (!PreambleDecode(strm))
9531 return FALSE;
9533 if (HasOptionalField(e_authHeader) && !m_authHeader.Decode(strm))
9534 return FALSE;
9535 if (!m_mess.Decode(strm))
9536 return FALSE;
9538 return UnknownExtensionsDecode(strm);
9542 void H248_MegacoMessage::Encode(PASN_Stream & strm) const
9544 PreambleEncode(strm);
9546 if (HasOptionalField(e_authHeader))
9547 m_authHeader.Encode(strm);
9548 m_mess.Encode(strm);
9550 UnknownExtensionsEncode(strm);
9554 PObject * H248_MegacoMessage::Clone() const
9556 #ifndef PASN_LEANANDMEAN
9557 PAssert(IsClass(H248_MegacoMessage::Class()), PInvalidCast);
9558 #endif
9559 return new H248_MegacoMessage(*this);
9564 // ActionRequest
9567 H248_ActionRequest::H248_ActionRequest(unsigned tag, PASN_Object::TagClass tagClass)
9568 : PASN_Sequence(tag, tagClass, 2, FALSE, 0)
9573 #ifndef PASN_NOPRINTON
9574 void H248_ActionRequest::PrintOn(ostream & strm) const
9576 int indent = strm.precision() + 2;
9577 strm << "{\n";
9578 strm << setw(indent+12) << "contextId = " << setprecision(indent) << m_contextId << '\n';
9579 if (HasOptionalField(e_contextRequest))
9580 strm << setw(indent+17) << "contextRequest = " << setprecision(indent) << m_contextRequest << '\n';
9581 if (HasOptionalField(e_contextAttrAuditReq))
9582 strm << setw(indent+22) << "contextAttrAuditReq = " << setprecision(indent) << m_contextAttrAuditReq << '\n';
9583 strm << setw(indent+18) << "commandRequests = " << setprecision(indent) << m_commandRequests << '\n';
9584 strm << setw(indent-1) << setprecision(indent-2) << "}";
9586 #endif
9589 PObject::Comparison H248_ActionRequest::Compare(const PObject & obj) const
9591 #ifndef PASN_LEANANDMEAN
9592 PAssert(PIsDescendant(&obj, H248_ActionRequest), PInvalidCast);
9593 #endif
9594 const H248_ActionRequest & other = (const H248_ActionRequest &)obj;
9596 Comparison result;
9598 if ((result = m_contextId.Compare(other.m_contextId)) != EqualTo)
9599 return result;
9600 if ((result = m_contextRequest.Compare(other.m_contextRequest)) != EqualTo)
9601 return result;
9602 if ((result = m_contextAttrAuditReq.Compare(other.m_contextAttrAuditReq)) != EqualTo)
9603 return result;
9604 if ((result = m_commandRequests.Compare(other.m_commandRequests)) != EqualTo)
9605 return result;
9607 return PASN_Sequence::Compare(other);
9611 PINDEX H248_ActionRequest::GetDataLength() const
9613 PINDEX length = 0;
9614 length += m_contextId.GetObjectLength();
9615 if (HasOptionalField(e_contextRequest))
9616 length += m_contextRequest.GetObjectLength();
9617 if (HasOptionalField(e_contextAttrAuditReq))
9618 length += m_contextAttrAuditReq.GetObjectLength();
9619 length += m_commandRequests.GetObjectLength();
9620 return length;
9624 BOOL H248_ActionRequest::Decode(PASN_Stream & strm)
9626 if (!PreambleDecode(strm))
9627 return FALSE;
9629 if (!m_contextId.Decode(strm))
9630 return FALSE;
9631 if (HasOptionalField(e_contextRequest) && !m_contextRequest.Decode(strm))
9632 return FALSE;
9633 if (HasOptionalField(e_contextAttrAuditReq) && !m_contextAttrAuditReq.Decode(strm))
9634 return FALSE;
9635 if (!m_commandRequests.Decode(strm))
9636 return FALSE;
9638 return UnknownExtensionsDecode(strm);
9642 void H248_ActionRequest::Encode(PASN_Stream & strm) const
9644 PreambleEncode(strm);
9646 m_contextId.Encode(strm);
9647 if (HasOptionalField(e_contextRequest))
9648 m_contextRequest.Encode(strm);
9649 if (HasOptionalField(e_contextAttrAuditReq))
9650 m_contextAttrAuditReq.Encode(strm);
9651 m_commandRequests.Encode(strm);
9653 UnknownExtensionsEncode(strm);
9657 PObject * H248_ActionRequest::Clone() const
9659 #ifndef PASN_LEANANDMEAN
9660 PAssert(IsClass(H248_ActionRequest::Class()), PInvalidCast);
9661 #endif
9662 return new H248_ActionRequest(*this);
9667 // ActionReply
9670 H248_ActionReply::H248_ActionReply(unsigned tag, PASN_Object::TagClass tagClass)
9671 : PASN_Sequence(tag, tagClass, 2, FALSE, 0)
9676 #ifndef PASN_NOPRINTON
9677 void H248_ActionReply::PrintOn(ostream & strm) const
9679 int indent = strm.precision() + 2;
9680 strm << "{\n";
9681 strm << setw(indent+12) << "contextId = " << setprecision(indent) << m_contextId << '\n';
9682 if (HasOptionalField(e_errorDescriptor))
9683 strm << setw(indent+18) << "errorDescriptor = " << setprecision(indent) << m_errorDescriptor << '\n';
9684 if (HasOptionalField(e_contextReply))
9685 strm << setw(indent+15) << "contextReply = " << setprecision(indent) << m_contextReply << '\n';
9686 strm << setw(indent+15) << "commandReply = " << setprecision(indent) << m_commandReply << '\n';
9687 strm << setw(indent-1) << setprecision(indent-2) << "}";
9689 #endif
9692 PObject::Comparison H248_ActionReply::Compare(const PObject & obj) const
9694 #ifndef PASN_LEANANDMEAN
9695 PAssert(PIsDescendant(&obj, H248_ActionReply), PInvalidCast);
9696 #endif
9697 const H248_ActionReply & other = (const H248_ActionReply &)obj;
9699 Comparison result;
9701 if ((result = m_contextId.Compare(other.m_contextId)) != EqualTo)
9702 return result;
9703 if ((result = m_errorDescriptor.Compare(other.m_errorDescriptor)) != EqualTo)
9704 return result;
9705 if ((result = m_contextReply.Compare(other.m_contextReply)) != EqualTo)
9706 return result;
9707 if ((result = m_commandReply.Compare(other.m_commandReply)) != EqualTo)
9708 return result;
9710 return PASN_Sequence::Compare(other);
9714 PINDEX H248_ActionReply::GetDataLength() const
9716 PINDEX length = 0;
9717 length += m_contextId.GetObjectLength();
9718 if (HasOptionalField(e_errorDescriptor))
9719 length += m_errorDescriptor.GetObjectLength();
9720 if (HasOptionalField(e_contextReply))
9721 length += m_contextReply.GetObjectLength();
9722 length += m_commandReply.GetObjectLength();
9723 return length;
9727 BOOL H248_ActionReply::Decode(PASN_Stream & strm)
9729 if (!PreambleDecode(strm))
9730 return FALSE;
9732 if (!m_contextId.Decode(strm))
9733 return FALSE;
9734 if (HasOptionalField(e_errorDescriptor) && !m_errorDescriptor.Decode(strm))
9735 return FALSE;
9736 if (HasOptionalField(e_contextReply) && !m_contextReply.Decode(strm))
9737 return FALSE;
9738 if (!m_commandReply.Decode(strm))
9739 return FALSE;
9741 return UnknownExtensionsDecode(strm);
9745 void H248_ActionReply::Encode(PASN_Stream & strm) const
9747 PreambleEncode(strm);
9749 m_contextId.Encode(strm);
9750 if (HasOptionalField(e_errorDescriptor))
9751 m_errorDescriptor.Encode(strm);
9752 if (HasOptionalField(e_contextReply))
9753 m_contextReply.Encode(strm);
9754 m_commandReply.Encode(strm);
9756 UnknownExtensionsEncode(strm);
9760 PObject * H248_ActionReply::Clone() const
9762 #ifndef PASN_LEANANDMEAN
9763 PAssert(IsClass(H248_ActionReply::Class()), PInvalidCast);
9764 #endif
9765 return new H248_ActionReply(*this);
9770 // TopologyRequest
9773 H248_TopologyRequest::H248_TopologyRequest(unsigned tag, PASN_Object::TagClass tagClass)
9774 : PASN_Sequence(tag, tagClass, 0, TRUE, 1)
9779 #ifndef PASN_NOPRINTON
9780 void H248_TopologyRequest::PrintOn(ostream & strm) const
9782 int indent = strm.precision() + 2;
9783 strm << "{\n";
9784 strm << setw(indent+18) << "terminationFrom = " << setprecision(indent) << m_terminationFrom << '\n';
9785 strm << setw(indent+16) << "terminationTo = " << setprecision(indent) << m_terminationTo << '\n';
9786 strm << setw(indent+20) << "topologyDirection = " << setprecision(indent) << m_topologyDirection << '\n';
9787 if (HasOptionalField(e_streamID))
9788 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
9789 strm << setw(indent-1) << setprecision(indent-2) << "}";
9791 #endif
9794 PObject::Comparison H248_TopologyRequest::Compare(const PObject & obj) const
9796 #ifndef PASN_LEANANDMEAN
9797 PAssert(PIsDescendant(&obj, H248_TopologyRequest), PInvalidCast);
9798 #endif
9799 const H248_TopologyRequest & other = (const H248_TopologyRequest &)obj;
9801 Comparison result;
9803 if ((result = m_terminationFrom.Compare(other.m_terminationFrom)) != EqualTo)
9804 return result;
9805 if ((result = m_terminationTo.Compare(other.m_terminationTo)) != EqualTo)
9806 return result;
9807 if ((result = m_topologyDirection.Compare(other.m_topologyDirection)) != EqualTo)
9808 return result;
9810 return PASN_Sequence::Compare(other);
9814 PINDEX H248_TopologyRequest::GetDataLength() const
9816 PINDEX length = 0;
9817 length += m_terminationFrom.GetObjectLength();
9818 length += m_terminationTo.GetObjectLength();
9819 length += m_topologyDirection.GetObjectLength();
9820 return length;
9824 BOOL H248_TopologyRequest::Decode(PASN_Stream & strm)
9826 if (!PreambleDecode(strm))
9827 return FALSE;
9829 if (!m_terminationFrom.Decode(strm))
9830 return FALSE;
9831 if (!m_terminationTo.Decode(strm))
9832 return FALSE;
9833 if (!m_topologyDirection.Decode(strm))
9834 return FALSE;
9835 if (!KnownExtensionDecode(strm, e_streamID, m_streamID))
9836 return FALSE;
9838 return UnknownExtensionsDecode(strm);
9842 void H248_TopologyRequest::Encode(PASN_Stream & strm) const
9844 PreambleEncode(strm);
9846 m_terminationFrom.Encode(strm);
9847 m_terminationTo.Encode(strm);
9848 m_topologyDirection.Encode(strm);
9849 KnownExtensionEncode(strm, e_streamID, m_streamID);
9851 UnknownExtensionsEncode(strm);
9855 PObject * H248_TopologyRequest::Clone() const
9857 #ifndef PASN_LEANANDMEAN
9858 PAssert(IsClass(H248_TopologyRequest::Class()), PInvalidCast);
9859 #endif
9860 return new H248_TopologyRequest(*this);
9865 // SubtractRequest
9868 H248_SubtractRequest::H248_SubtractRequest(unsigned tag, PASN_Object::TagClass tagClass)
9869 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
9874 #ifndef PASN_NOPRINTON
9875 void H248_SubtractRequest::PrintOn(ostream & strm) const
9877 int indent = strm.precision() + 2;
9878 strm << "{\n";
9879 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
9880 if (HasOptionalField(e_auditDescriptor))
9881 strm << setw(indent+18) << "auditDescriptor = " << setprecision(indent) << m_auditDescriptor << '\n';
9882 strm << setw(indent-1) << setprecision(indent-2) << "}";
9884 #endif
9887 PObject::Comparison H248_SubtractRequest::Compare(const PObject & obj) const
9889 #ifndef PASN_LEANANDMEAN
9890 PAssert(PIsDescendant(&obj, H248_SubtractRequest), PInvalidCast);
9891 #endif
9892 const H248_SubtractRequest & other = (const H248_SubtractRequest &)obj;
9894 Comparison result;
9896 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
9897 return result;
9898 if ((result = m_auditDescriptor.Compare(other.m_auditDescriptor)) != EqualTo)
9899 return result;
9901 return PASN_Sequence::Compare(other);
9905 PINDEX H248_SubtractRequest::GetDataLength() const
9907 PINDEX length = 0;
9908 length += m_terminationID.GetObjectLength();
9909 if (HasOptionalField(e_auditDescriptor))
9910 length += m_auditDescriptor.GetObjectLength();
9911 return length;
9915 BOOL H248_SubtractRequest::Decode(PASN_Stream & strm)
9917 if (!PreambleDecode(strm))
9918 return FALSE;
9920 if (!m_terminationID.Decode(strm))
9921 return FALSE;
9922 if (HasOptionalField(e_auditDescriptor) && !m_auditDescriptor.Decode(strm))
9923 return FALSE;
9925 return UnknownExtensionsDecode(strm);
9929 void H248_SubtractRequest::Encode(PASN_Stream & strm) const
9931 PreambleEncode(strm);
9933 m_terminationID.Encode(strm);
9934 if (HasOptionalField(e_auditDescriptor))
9935 m_auditDescriptor.Encode(strm);
9937 UnknownExtensionsEncode(strm);
9941 PObject * H248_SubtractRequest::Clone() const
9943 #ifndef PASN_LEANANDMEAN
9944 PAssert(IsClass(H248_SubtractRequest::Class()), PInvalidCast);
9945 #endif
9946 return new H248_SubtractRequest(*this);
9951 // AuditRequest
9954 H248_AuditRequest::H248_AuditRequest(unsigned tag, PASN_Object::TagClass tagClass)
9955 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
9960 #ifndef PASN_NOPRINTON
9961 void H248_AuditRequest::PrintOn(ostream & strm) const
9963 int indent = strm.precision() + 2;
9964 strm << "{\n";
9965 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
9966 strm << setw(indent+18) << "auditDescriptor = " << setprecision(indent) << m_auditDescriptor << '\n';
9967 strm << setw(indent-1) << setprecision(indent-2) << "}";
9969 #endif
9972 PObject::Comparison H248_AuditRequest::Compare(const PObject & obj) const
9974 #ifndef PASN_LEANANDMEAN
9975 PAssert(PIsDescendant(&obj, H248_AuditRequest), PInvalidCast);
9976 #endif
9977 const H248_AuditRequest & other = (const H248_AuditRequest &)obj;
9979 Comparison result;
9981 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
9982 return result;
9983 if ((result = m_auditDescriptor.Compare(other.m_auditDescriptor)) != EqualTo)
9984 return result;
9986 return PASN_Sequence::Compare(other);
9990 PINDEX H248_AuditRequest::GetDataLength() const
9992 PINDEX length = 0;
9993 length += m_terminationID.GetObjectLength();
9994 length += m_auditDescriptor.GetObjectLength();
9995 return length;
9999 BOOL H248_AuditRequest::Decode(PASN_Stream & strm)
10001 if (!PreambleDecode(strm))
10002 return FALSE;
10004 if (!m_terminationID.Decode(strm))
10005 return FALSE;
10006 if (!m_auditDescriptor.Decode(strm))
10007 return FALSE;
10009 return UnknownExtensionsDecode(strm);
10013 void H248_AuditRequest::Encode(PASN_Stream & strm) const
10015 PreambleEncode(strm);
10017 m_terminationID.Encode(strm);
10018 m_auditDescriptor.Encode(strm);
10020 UnknownExtensionsEncode(strm);
10024 PObject * H248_AuditRequest::Clone() const
10026 #ifndef PASN_LEANANDMEAN
10027 PAssert(IsClass(H248_AuditRequest::Class()), PInvalidCast);
10028 #endif
10029 return new H248_AuditRequest(*this);
10034 // AuditResult
10037 H248_AuditResult::H248_AuditResult(unsigned tag, PASN_Object::TagClass tagClass)
10038 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
10043 #ifndef PASN_NOPRINTON
10044 void H248_AuditResult::PrintOn(ostream & strm) const
10046 int indent = strm.precision() + 2;
10047 strm << "{\n";
10048 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
10049 strm << setw(indent+25) << "terminationAuditResult = " << setprecision(indent) << m_terminationAuditResult << '\n';
10050 strm << setw(indent-1) << setprecision(indent-2) << "}";
10052 #endif
10055 PObject::Comparison H248_AuditResult::Compare(const PObject & obj) const
10057 #ifndef PASN_LEANANDMEAN
10058 PAssert(PIsDescendant(&obj, H248_AuditResult), PInvalidCast);
10059 #endif
10060 const H248_AuditResult & other = (const H248_AuditResult &)obj;
10062 Comparison result;
10064 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
10065 return result;
10066 if ((result = m_terminationAuditResult.Compare(other.m_terminationAuditResult)) != EqualTo)
10067 return result;
10069 return PASN_Sequence::Compare(other);
10073 PINDEX H248_AuditResult::GetDataLength() const
10075 PINDEX length = 0;
10076 length += m_terminationID.GetObjectLength();
10077 length += m_terminationAuditResult.GetObjectLength();
10078 return length;
10082 BOOL H248_AuditResult::Decode(PASN_Stream & strm)
10084 if (!PreambleDecode(strm))
10085 return FALSE;
10087 if (!m_terminationID.Decode(strm))
10088 return FALSE;
10089 if (!m_terminationAuditResult.Decode(strm))
10090 return FALSE;
10092 return UnknownExtensionsDecode(strm);
10096 void H248_AuditResult::Encode(PASN_Stream & strm) const
10098 PreambleEncode(strm);
10100 m_terminationID.Encode(strm);
10101 m_terminationAuditResult.Encode(strm);
10103 UnknownExtensionsEncode(strm);
10107 PObject * H248_AuditResult::Clone() const
10109 #ifndef PASN_LEANANDMEAN
10110 PAssert(IsClass(H248_AuditResult::Class()), PInvalidCast);
10111 #endif
10112 return new H248_AuditResult(*this);
10117 // IndAudMediaDescriptor
10120 H248_IndAudMediaDescriptor::H248_IndAudMediaDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
10121 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
10126 #ifndef PASN_NOPRINTON
10127 void H248_IndAudMediaDescriptor::PrintOn(ostream & strm) const
10129 int indent = strm.precision() + 2;
10130 strm << "{\n";
10131 if (HasOptionalField(e_termStateDescr))
10132 strm << setw(indent+17) << "termStateDescr = " << setprecision(indent) << m_termStateDescr << '\n';
10133 if (HasOptionalField(e_streams))
10134 strm << setw(indent+10) << "streams = " << setprecision(indent) << m_streams << '\n';
10135 strm << setw(indent-1) << setprecision(indent-2) << "}";
10137 #endif
10140 PObject::Comparison H248_IndAudMediaDescriptor::Compare(const PObject & obj) const
10142 #ifndef PASN_LEANANDMEAN
10143 PAssert(PIsDescendant(&obj, H248_IndAudMediaDescriptor), PInvalidCast);
10144 #endif
10145 const H248_IndAudMediaDescriptor & other = (const H248_IndAudMediaDescriptor &)obj;
10147 Comparison result;
10149 if ((result = m_termStateDescr.Compare(other.m_termStateDescr)) != EqualTo)
10150 return result;
10151 if ((result = m_streams.Compare(other.m_streams)) != EqualTo)
10152 return result;
10154 return PASN_Sequence::Compare(other);
10158 PINDEX H248_IndAudMediaDescriptor::GetDataLength() const
10160 PINDEX length = 0;
10161 if (HasOptionalField(e_termStateDescr))
10162 length += m_termStateDescr.GetObjectLength();
10163 if (HasOptionalField(e_streams))
10164 length += m_streams.GetObjectLength();
10165 return length;
10169 BOOL H248_IndAudMediaDescriptor::Decode(PASN_Stream & strm)
10171 if (!PreambleDecode(strm))
10172 return FALSE;
10174 if (HasOptionalField(e_termStateDescr) && !m_termStateDescr.Decode(strm))
10175 return FALSE;
10176 if (HasOptionalField(e_streams) && !m_streams.Decode(strm))
10177 return FALSE;
10179 return UnknownExtensionsDecode(strm);
10183 void H248_IndAudMediaDescriptor::Encode(PASN_Stream & strm) const
10185 PreambleEncode(strm);
10187 if (HasOptionalField(e_termStateDescr))
10188 m_termStateDescr.Encode(strm);
10189 if (HasOptionalField(e_streams))
10190 m_streams.Encode(strm);
10192 UnknownExtensionsEncode(strm);
10196 PObject * H248_IndAudMediaDescriptor::Clone() const
10198 #ifndef PASN_LEANANDMEAN
10199 PAssert(IsClass(H248_IndAudMediaDescriptor::Class()), PInvalidCast);
10200 #endif
10201 return new H248_IndAudMediaDescriptor(*this);
10206 // IndAudStreamParms
10209 H248_IndAudStreamParms::H248_IndAudStreamParms(unsigned tag, PASN_Object::TagClass tagClass)
10210 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
10215 #ifndef PASN_NOPRINTON
10216 void H248_IndAudStreamParms::PrintOn(ostream & strm) const
10218 int indent = strm.precision() + 2;
10219 strm << "{\n";
10220 if (HasOptionalField(e_localControlDescriptor))
10221 strm << setw(indent+25) << "localControlDescriptor = " << setprecision(indent) << m_localControlDescriptor << '\n';
10222 if (HasOptionalField(e_localDescriptor))
10223 strm << setw(indent+18) << "localDescriptor = " << setprecision(indent) << m_localDescriptor << '\n';
10224 if (HasOptionalField(e_remoteDescriptor))
10225 strm << setw(indent+19) << "remoteDescriptor = " << setprecision(indent) << m_remoteDescriptor << '\n';
10226 strm << setw(indent-1) << setprecision(indent-2) << "}";
10228 #endif
10231 PObject::Comparison H248_IndAudStreamParms::Compare(const PObject & obj) const
10233 #ifndef PASN_LEANANDMEAN
10234 PAssert(PIsDescendant(&obj, H248_IndAudStreamParms), PInvalidCast);
10235 #endif
10236 const H248_IndAudStreamParms & other = (const H248_IndAudStreamParms &)obj;
10238 Comparison result;
10240 if ((result = m_localControlDescriptor.Compare(other.m_localControlDescriptor)) != EqualTo)
10241 return result;
10242 if ((result = m_localDescriptor.Compare(other.m_localDescriptor)) != EqualTo)
10243 return result;
10244 if ((result = m_remoteDescriptor.Compare(other.m_remoteDescriptor)) != EqualTo)
10245 return result;
10247 return PASN_Sequence::Compare(other);
10251 PINDEX H248_IndAudStreamParms::GetDataLength() const
10253 PINDEX length = 0;
10254 if (HasOptionalField(e_localControlDescriptor))
10255 length += m_localControlDescriptor.GetObjectLength();
10256 if (HasOptionalField(e_localDescriptor))
10257 length += m_localDescriptor.GetObjectLength();
10258 if (HasOptionalField(e_remoteDescriptor))
10259 length += m_remoteDescriptor.GetObjectLength();
10260 return length;
10264 BOOL H248_IndAudStreamParms::Decode(PASN_Stream & strm)
10266 if (!PreambleDecode(strm))
10267 return FALSE;
10269 if (HasOptionalField(e_localControlDescriptor) && !m_localControlDescriptor.Decode(strm))
10270 return FALSE;
10271 if (HasOptionalField(e_localDescriptor) && !m_localDescriptor.Decode(strm))
10272 return FALSE;
10273 if (HasOptionalField(e_remoteDescriptor) && !m_remoteDescriptor.Decode(strm))
10274 return FALSE;
10276 return UnknownExtensionsDecode(strm);
10280 void H248_IndAudStreamParms::Encode(PASN_Stream & strm) const
10282 PreambleEncode(strm);
10284 if (HasOptionalField(e_localControlDescriptor))
10285 m_localControlDescriptor.Encode(strm);
10286 if (HasOptionalField(e_localDescriptor))
10287 m_localDescriptor.Encode(strm);
10288 if (HasOptionalField(e_remoteDescriptor))
10289 m_remoteDescriptor.Encode(strm);
10291 UnknownExtensionsEncode(strm);
10295 PObject * H248_IndAudStreamParms::Clone() const
10297 #ifndef PASN_LEANANDMEAN
10298 PAssert(IsClass(H248_IndAudStreamParms::Class()), PInvalidCast);
10299 #endif
10300 return new H248_IndAudStreamParms(*this);
10305 // IndAudSeqSigList
10308 H248_IndAudSeqSigList::H248_IndAudSeqSigList(unsigned tag, PASN_Object::TagClass tagClass)
10309 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
10311 m_id.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
10315 #ifndef PASN_NOPRINTON
10316 void H248_IndAudSeqSigList::PrintOn(ostream & strm) const
10318 int indent = strm.precision() + 2;
10319 strm << "{\n";
10320 strm << setw(indent+5) << "id = " << setprecision(indent) << m_id << '\n';
10321 if (HasOptionalField(e_signalList))
10322 strm << setw(indent+13) << "signalList = " << setprecision(indent) << m_signalList << '\n';
10323 strm << setw(indent-1) << setprecision(indent-2) << "}";
10325 #endif
10328 PObject::Comparison H248_IndAudSeqSigList::Compare(const PObject & obj) const
10330 #ifndef PASN_LEANANDMEAN
10331 PAssert(PIsDescendant(&obj, H248_IndAudSeqSigList), PInvalidCast);
10332 #endif
10333 const H248_IndAudSeqSigList & other = (const H248_IndAudSeqSigList &)obj;
10335 Comparison result;
10337 if ((result = m_id.Compare(other.m_id)) != EqualTo)
10338 return result;
10339 if ((result = m_signalList.Compare(other.m_signalList)) != EqualTo)
10340 return result;
10342 return PASN_Sequence::Compare(other);
10346 PINDEX H248_IndAudSeqSigList::GetDataLength() const
10348 PINDEX length = 0;
10349 length += m_id.GetObjectLength();
10350 if (HasOptionalField(e_signalList))
10351 length += m_signalList.GetObjectLength();
10352 return length;
10356 BOOL H248_IndAudSeqSigList::Decode(PASN_Stream & strm)
10358 if (!PreambleDecode(strm))
10359 return FALSE;
10361 if (!m_id.Decode(strm))
10362 return FALSE;
10363 if (HasOptionalField(e_signalList) && !m_signalList.Decode(strm))
10364 return FALSE;
10366 return UnknownExtensionsDecode(strm);
10370 void H248_IndAudSeqSigList::Encode(PASN_Stream & strm) const
10372 PreambleEncode(strm);
10374 m_id.Encode(strm);
10375 if (HasOptionalField(e_signalList))
10376 m_signalList.Encode(strm);
10378 UnknownExtensionsEncode(strm);
10382 PObject * H248_IndAudSeqSigList::Clone() const
10384 #ifndef PASN_LEANANDMEAN
10385 PAssert(IsClass(H248_IndAudSeqSigList::Class()), PInvalidCast);
10386 #endif
10387 return new H248_IndAudSeqSigList(*this);
10392 // NotifyRequest
10395 H248_NotifyRequest::H248_NotifyRequest(unsigned tag, PASN_Object::TagClass tagClass)
10396 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
10401 #ifndef PASN_NOPRINTON
10402 void H248_NotifyRequest::PrintOn(ostream & strm) const
10404 int indent = strm.precision() + 2;
10405 strm << "{\n";
10406 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
10407 strm << setw(indent+27) << "observedEventsDescriptor = " << setprecision(indent) << m_observedEventsDescriptor << '\n';
10408 if (HasOptionalField(e_errorDescriptor))
10409 strm << setw(indent+18) << "errorDescriptor = " << setprecision(indent) << m_errorDescriptor << '\n';
10410 strm << setw(indent-1) << setprecision(indent-2) << "}";
10412 #endif
10415 PObject::Comparison H248_NotifyRequest::Compare(const PObject & obj) const
10417 #ifndef PASN_LEANANDMEAN
10418 PAssert(PIsDescendant(&obj, H248_NotifyRequest), PInvalidCast);
10419 #endif
10420 const H248_NotifyRequest & other = (const H248_NotifyRequest &)obj;
10422 Comparison result;
10424 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
10425 return result;
10426 if ((result = m_observedEventsDescriptor.Compare(other.m_observedEventsDescriptor)) != EqualTo)
10427 return result;
10428 if ((result = m_errorDescriptor.Compare(other.m_errorDescriptor)) != EqualTo)
10429 return result;
10431 return PASN_Sequence::Compare(other);
10435 PINDEX H248_NotifyRequest::GetDataLength() const
10437 PINDEX length = 0;
10438 length += m_terminationID.GetObjectLength();
10439 length += m_observedEventsDescriptor.GetObjectLength();
10440 if (HasOptionalField(e_errorDescriptor))
10441 length += m_errorDescriptor.GetObjectLength();
10442 return length;
10446 BOOL H248_NotifyRequest::Decode(PASN_Stream & strm)
10448 if (!PreambleDecode(strm))
10449 return FALSE;
10451 if (!m_terminationID.Decode(strm))
10452 return FALSE;
10453 if (!m_observedEventsDescriptor.Decode(strm))
10454 return FALSE;
10455 if (HasOptionalField(e_errorDescriptor) && !m_errorDescriptor.Decode(strm))
10456 return FALSE;
10458 return UnknownExtensionsDecode(strm);
10462 void H248_NotifyRequest::Encode(PASN_Stream & strm) const
10464 PreambleEncode(strm);
10466 m_terminationID.Encode(strm);
10467 m_observedEventsDescriptor.Encode(strm);
10468 if (HasOptionalField(e_errorDescriptor))
10469 m_errorDescriptor.Encode(strm);
10471 UnknownExtensionsEncode(strm);
10475 PObject * H248_NotifyRequest::Clone() const
10477 #ifndef PASN_LEANANDMEAN
10478 PAssert(IsClass(H248_NotifyRequest::Class()), PInvalidCast);
10479 #endif
10480 return new H248_NotifyRequest(*this);
10485 // ObservedEvent
10488 H248_ObservedEvent::H248_ObservedEvent(unsigned tag, PASN_Object::TagClass tagClass)
10489 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
10494 #ifndef PASN_NOPRINTON
10495 void H248_ObservedEvent::PrintOn(ostream & strm) const
10497 int indent = strm.precision() + 2;
10498 strm << "{\n";
10499 strm << setw(indent+12) << "eventName = " << setprecision(indent) << m_eventName << '\n';
10500 if (HasOptionalField(e_streamID))
10501 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
10502 strm << setw(indent+15) << "eventParList = " << setprecision(indent) << m_eventParList << '\n';
10503 if (HasOptionalField(e_timeNotation))
10504 strm << setw(indent+15) << "timeNotation = " << setprecision(indent) << m_timeNotation << '\n';
10505 strm << setw(indent-1) << setprecision(indent-2) << "}";
10507 #endif
10510 PObject::Comparison H248_ObservedEvent::Compare(const PObject & obj) const
10512 #ifndef PASN_LEANANDMEAN
10513 PAssert(PIsDescendant(&obj, H248_ObservedEvent), PInvalidCast);
10514 #endif
10515 const H248_ObservedEvent & other = (const H248_ObservedEvent &)obj;
10517 Comparison result;
10519 if ((result = m_eventName.Compare(other.m_eventName)) != EqualTo)
10520 return result;
10521 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
10522 return result;
10523 if ((result = m_eventParList.Compare(other.m_eventParList)) != EqualTo)
10524 return result;
10525 if ((result = m_timeNotation.Compare(other.m_timeNotation)) != EqualTo)
10526 return result;
10528 return PASN_Sequence::Compare(other);
10532 PINDEX H248_ObservedEvent::GetDataLength() const
10534 PINDEX length = 0;
10535 length += m_eventName.GetObjectLength();
10536 if (HasOptionalField(e_streamID))
10537 length += m_streamID.GetObjectLength();
10538 length += m_eventParList.GetObjectLength();
10539 if (HasOptionalField(e_timeNotation))
10540 length += m_timeNotation.GetObjectLength();
10541 return length;
10545 BOOL H248_ObservedEvent::Decode(PASN_Stream & strm)
10547 if (!PreambleDecode(strm))
10548 return FALSE;
10550 if (!m_eventName.Decode(strm))
10551 return FALSE;
10552 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
10553 return FALSE;
10554 if (!m_eventParList.Decode(strm))
10555 return FALSE;
10556 if (HasOptionalField(e_timeNotation) && !m_timeNotation.Decode(strm))
10557 return FALSE;
10559 return UnknownExtensionsDecode(strm);
10563 void H248_ObservedEvent::Encode(PASN_Stream & strm) const
10565 PreambleEncode(strm);
10567 m_eventName.Encode(strm);
10568 if (HasOptionalField(e_streamID))
10569 m_streamID.Encode(strm);
10570 m_eventParList.Encode(strm);
10571 if (HasOptionalField(e_timeNotation))
10572 m_timeNotation.Encode(strm);
10574 UnknownExtensionsEncode(strm);
10578 PObject * H248_ObservedEvent::Clone() const
10580 #ifndef PASN_LEANANDMEAN
10581 PAssert(IsClass(H248_ObservedEvent::Class()), PInvalidCast);
10582 #endif
10583 return new H248_ObservedEvent(*this);
10588 // MediaDescriptor
10591 H248_MediaDescriptor::H248_MediaDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
10592 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
10597 #ifndef PASN_NOPRINTON
10598 void H248_MediaDescriptor::PrintOn(ostream & strm) const
10600 int indent = strm.precision() + 2;
10601 strm << "{\n";
10602 if (HasOptionalField(e_termStateDescr))
10603 strm << setw(indent+17) << "termStateDescr = " << setprecision(indent) << m_termStateDescr << '\n';
10604 if (HasOptionalField(e_streams))
10605 strm << setw(indent+10) << "streams = " << setprecision(indent) << m_streams << '\n';
10606 strm << setw(indent-1) << setprecision(indent-2) << "}";
10608 #endif
10611 PObject::Comparison H248_MediaDescriptor::Compare(const PObject & obj) const
10613 #ifndef PASN_LEANANDMEAN
10614 PAssert(PIsDescendant(&obj, H248_MediaDescriptor), PInvalidCast);
10615 #endif
10616 const H248_MediaDescriptor & other = (const H248_MediaDescriptor &)obj;
10618 Comparison result;
10620 if ((result = m_termStateDescr.Compare(other.m_termStateDescr)) != EqualTo)
10621 return result;
10622 if ((result = m_streams.Compare(other.m_streams)) != EqualTo)
10623 return result;
10625 return PASN_Sequence::Compare(other);
10629 PINDEX H248_MediaDescriptor::GetDataLength() const
10631 PINDEX length = 0;
10632 if (HasOptionalField(e_termStateDescr))
10633 length += m_termStateDescr.GetObjectLength();
10634 if (HasOptionalField(e_streams))
10635 length += m_streams.GetObjectLength();
10636 return length;
10640 BOOL H248_MediaDescriptor::Decode(PASN_Stream & strm)
10642 if (!PreambleDecode(strm))
10643 return FALSE;
10645 if (HasOptionalField(e_termStateDescr) && !m_termStateDescr.Decode(strm))
10646 return FALSE;
10647 if (HasOptionalField(e_streams) && !m_streams.Decode(strm))
10648 return FALSE;
10650 return UnknownExtensionsDecode(strm);
10654 void H248_MediaDescriptor::Encode(PASN_Stream & strm) const
10656 PreambleEncode(strm);
10658 if (HasOptionalField(e_termStateDescr))
10659 m_termStateDescr.Encode(strm);
10660 if (HasOptionalField(e_streams))
10661 m_streams.Encode(strm);
10663 UnknownExtensionsEncode(strm);
10667 PObject * H248_MediaDescriptor::Clone() const
10669 #ifndef PASN_LEANANDMEAN
10670 PAssert(IsClass(H248_MediaDescriptor::Class()), PInvalidCast);
10671 #endif
10672 return new H248_MediaDescriptor(*this);
10677 // StreamParms
10680 H248_StreamParms::H248_StreamParms(unsigned tag, PASN_Object::TagClass tagClass)
10681 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
10686 #ifndef PASN_NOPRINTON
10687 void H248_StreamParms::PrintOn(ostream & strm) const
10689 int indent = strm.precision() + 2;
10690 strm << "{\n";
10691 if (HasOptionalField(e_localControlDescriptor))
10692 strm << setw(indent+25) << "localControlDescriptor = " << setprecision(indent) << m_localControlDescriptor << '\n';
10693 if (HasOptionalField(e_localDescriptor))
10694 strm << setw(indent+18) << "localDescriptor = " << setprecision(indent) << m_localDescriptor << '\n';
10695 if (HasOptionalField(e_remoteDescriptor))
10696 strm << setw(indent+19) << "remoteDescriptor = " << setprecision(indent) << m_remoteDescriptor << '\n';
10697 strm << setw(indent-1) << setprecision(indent-2) << "}";
10699 #endif
10702 PObject::Comparison H248_StreamParms::Compare(const PObject & obj) const
10704 #ifndef PASN_LEANANDMEAN
10705 PAssert(PIsDescendant(&obj, H248_StreamParms), PInvalidCast);
10706 #endif
10707 const H248_StreamParms & other = (const H248_StreamParms &)obj;
10709 Comparison result;
10711 if ((result = m_localControlDescriptor.Compare(other.m_localControlDescriptor)) != EqualTo)
10712 return result;
10713 if ((result = m_localDescriptor.Compare(other.m_localDescriptor)) != EqualTo)
10714 return result;
10715 if ((result = m_remoteDescriptor.Compare(other.m_remoteDescriptor)) != EqualTo)
10716 return result;
10718 return PASN_Sequence::Compare(other);
10722 PINDEX H248_StreamParms::GetDataLength() const
10724 PINDEX length = 0;
10725 if (HasOptionalField(e_localControlDescriptor))
10726 length += m_localControlDescriptor.GetObjectLength();
10727 if (HasOptionalField(e_localDescriptor))
10728 length += m_localDescriptor.GetObjectLength();
10729 if (HasOptionalField(e_remoteDescriptor))
10730 length += m_remoteDescriptor.GetObjectLength();
10731 return length;
10735 BOOL H248_StreamParms::Decode(PASN_Stream & strm)
10737 if (!PreambleDecode(strm))
10738 return FALSE;
10740 if (HasOptionalField(e_localControlDescriptor) && !m_localControlDescriptor.Decode(strm))
10741 return FALSE;
10742 if (HasOptionalField(e_localDescriptor) && !m_localDescriptor.Decode(strm))
10743 return FALSE;
10744 if (HasOptionalField(e_remoteDescriptor) && !m_remoteDescriptor.Decode(strm))
10745 return FALSE;
10747 return UnknownExtensionsDecode(strm);
10751 void H248_StreamParms::Encode(PASN_Stream & strm) const
10753 PreambleEncode(strm);
10755 if (HasOptionalField(e_localControlDescriptor))
10756 m_localControlDescriptor.Encode(strm);
10757 if (HasOptionalField(e_localDescriptor))
10758 m_localDescriptor.Encode(strm);
10759 if (HasOptionalField(e_remoteDescriptor))
10760 m_remoteDescriptor.Encode(strm);
10762 UnknownExtensionsEncode(strm);
10766 PObject * H248_StreamParms::Clone() const
10768 #ifndef PASN_LEANANDMEAN
10769 PAssert(IsClass(H248_StreamParms::Class()), PInvalidCast);
10770 #endif
10771 return new H248_StreamParms(*this);
10776 // MuxDescriptor
10779 H248_MuxDescriptor::H248_MuxDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
10780 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
10785 #ifndef PASN_NOPRINTON
10786 void H248_MuxDescriptor::PrintOn(ostream & strm) const
10788 int indent = strm.precision() + 2;
10789 strm << "{\n";
10790 strm << setw(indent+10) << "muxType = " << setprecision(indent) << m_muxType << '\n';
10791 strm << setw(indent+11) << "termList = " << setprecision(indent) << m_termList << '\n';
10792 if (HasOptionalField(e_nonStandardData))
10793 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
10794 strm << setw(indent-1) << setprecision(indent-2) << "}";
10796 #endif
10799 PObject::Comparison H248_MuxDescriptor::Compare(const PObject & obj) const
10801 #ifndef PASN_LEANANDMEAN
10802 PAssert(PIsDescendant(&obj, H248_MuxDescriptor), PInvalidCast);
10803 #endif
10804 const H248_MuxDescriptor & other = (const H248_MuxDescriptor &)obj;
10806 Comparison result;
10808 if ((result = m_muxType.Compare(other.m_muxType)) != EqualTo)
10809 return result;
10810 if ((result = m_termList.Compare(other.m_termList)) != EqualTo)
10811 return result;
10812 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
10813 return result;
10815 return PASN_Sequence::Compare(other);
10819 PINDEX H248_MuxDescriptor::GetDataLength() const
10821 PINDEX length = 0;
10822 length += m_muxType.GetObjectLength();
10823 length += m_termList.GetObjectLength();
10824 if (HasOptionalField(e_nonStandardData))
10825 length += m_nonStandardData.GetObjectLength();
10826 return length;
10830 BOOL H248_MuxDescriptor::Decode(PASN_Stream & strm)
10832 if (!PreambleDecode(strm))
10833 return FALSE;
10835 if (!m_muxType.Decode(strm))
10836 return FALSE;
10837 if (!m_termList.Decode(strm))
10838 return FALSE;
10839 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
10840 return FALSE;
10842 return UnknownExtensionsDecode(strm);
10846 void H248_MuxDescriptor::Encode(PASN_Stream & strm) const
10848 PreambleEncode(strm);
10850 m_muxType.Encode(strm);
10851 m_termList.Encode(strm);
10852 if (HasOptionalField(e_nonStandardData))
10853 m_nonStandardData.Encode(strm);
10855 UnknownExtensionsEncode(strm);
10859 PObject * H248_MuxDescriptor::Clone() const
10861 #ifndef PASN_LEANANDMEAN
10862 PAssert(IsClass(H248_MuxDescriptor::Class()), PInvalidCast);
10863 #endif
10864 return new H248_MuxDescriptor(*this);
10869 // RequestedActions
10872 H248_RequestedActions::H248_RequestedActions(unsigned tag, PASN_Object::TagClass tagClass)
10873 : PASN_Sequence(tag, tagClass, 4, TRUE, 0)
10878 #ifndef PASN_NOPRINTON
10879 void H248_RequestedActions::PrintOn(ostream & strm) const
10881 int indent = strm.precision() + 2;
10882 strm << "{\n";
10883 if (HasOptionalField(e_keepActive))
10884 strm << setw(indent+13) << "keepActive = " << setprecision(indent) << m_keepActive << '\n';
10885 if (HasOptionalField(e_eventDM))
10886 strm << setw(indent+10) << "eventDM = " << setprecision(indent) << m_eventDM << '\n';
10887 if (HasOptionalField(e_secondEvent))
10888 strm << setw(indent+14) << "secondEvent = " << setprecision(indent) << m_secondEvent << '\n';
10889 if (HasOptionalField(e_signalsDescriptor))
10890 strm << setw(indent+20) << "signalsDescriptor = " << setprecision(indent) << m_signalsDescriptor << '\n';
10891 strm << setw(indent-1) << setprecision(indent-2) << "}";
10893 #endif
10896 PObject::Comparison H248_RequestedActions::Compare(const PObject & obj) const
10898 #ifndef PASN_LEANANDMEAN
10899 PAssert(PIsDescendant(&obj, H248_RequestedActions), PInvalidCast);
10900 #endif
10901 const H248_RequestedActions & other = (const H248_RequestedActions &)obj;
10903 Comparison result;
10905 if ((result = m_keepActive.Compare(other.m_keepActive)) != EqualTo)
10906 return result;
10907 if ((result = m_eventDM.Compare(other.m_eventDM)) != EqualTo)
10908 return result;
10909 if ((result = m_secondEvent.Compare(other.m_secondEvent)) != EqualTo)
10910 return result;
10911 if ((result = m_signalsDescriptor.Compare(other.m_signalsDescriptor)) != EqualTo)
10912 return result;
10914 return PASN_Sequence::Compare(other);
10918 PINDEX H248_RequestedActions::GetDataLength() const
10920 PINDEX length = 0;
10921 if (HasOptionalField(e_keepActive))
10922 length += m_keepActive.GetObjectLength();
10923 if (HasOptionalField(e_eventDM))
10924 length += m_eventDM.GetObjectLength();
10925 if (HasOptionalField(e_secondEvent))
10926 length += m_secondEvent.GetObjectLength();
10927 if (HasOptionalField(e_signalsDescriptor))
10928 length += m_signalsDescriptor.GetObjectLength();
10929 return length;
10933 BOOL H248_RequestedActions::Decode(PASN_Stream & strm)
10935 if (!PreambleDecode(strm))
10936 return FALSE;
10938 if (HasOptionalField(e_keepActive) && !m_keepActive.Decode(strm))
10939 return FALSE;
10940 if (HasOptionalField(e_eventDM) && !m_eventDM.Decode(strm))
10941 return FALSE;
10942 if (HasOptionalField(e_secondEvent) && !m_secondEvent.Decode(strm))
10943 return FALSE;
10944 if (HasOptionalField(e_signalsDescriptor) && !m_signalsDescriptor.Decode(strm))
10945 return FALSE;
10947 return UnknownExtensionsDecode(strm);
10951 void H248_RequestedActions::Encode(PASN_Stream & strm) const
10953 PreambleEncode(strm);
10955 if (HasOptionalField(e_keepActive))
10956 m_keepActive.Encode(strm);
10957 if (HasOptionalField(e_eventDM))
10958 m_eventDM.Encode(strm);
10959 if (HasOptionalField(e_secondEvent))
10960 m_secondEvent.Encode(strm);
10961 if (HasOptionalField(e_signalsDescriptor))
10962 m_signalsDescriptor.Encode(strm);
10964 UnknownExtensionsEncode(strm);
10968 PObject * H248_RequestedActions::Clone() const
10970 #ifndef PASN_LEANANDMEAN
10971 PAssert(IsClass(H248_RequestedActions::Class()), PInvalidCast);
10972 #endif
10973 return new H248_RequestedActions(*this);
10978 // SecondRequestedEvent
10981 H248_SecondRequestedEvent::H248_SecondRequestedEvent(unsigned tag, PASN_Object::TagClass tagClass)
10982 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
10987 #ifndef PASN_NOPRINTON
10988 void H248_SecondRequestedEvent::PrintOn(ostream & strm) const
10990 int indent = strm.precision() + 2;
10991 strm << "{\n";
10992 strm << setw(indent+11) << "pkgdName = " << setprecision(indent) << m_pkgdName << '\n';
10993 if (HasOptionalField(e_streamID))
10994 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
10995 if (HasOptionalField(e_eventAction))
10996 strm << setw(indent+14) << "eventAction = " << setprecision(indent) << m_eventAction << '\n';
10997 strm << setw(indent+12) << "evParList = " << setprecision(indent) << m_evParList << '\n';
10998 strm << setw(indent-1) << setprecision(indent-2) << "}";
11000 #endif
11003 PObject::Comparison H248_SecondRequestedEvent::Compare(const PObject & obj) const
11005 #ifndef PASN_LEANANDMEAN
11006 PAssert(PIsDescendant(&obj, H248_SecondRequestedEvent), PInvalidCast);
11007 #endif
11008 const H248_SecondRequestedEvent & other = (const H248_SecondRequestedEvent &)obj;
11010 Comparison result;
11012 if ((result = m_pkgdName.Compare(other.m_pkgdName)) != EqualTo)
11013 return result;
11014 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
11015 return result;
11016 if ((result = m_eventAction.Compare(other.m_eventAction)) != EqualTo)
11017 return result;
11018 if ((result = m_evParList.Compare(other.m_evParList)) != EqualTo)
11019 return result;
11021 return PASN_Sequence::Compare(other);
11025 PINDEX H248_SecondRequestedEvent::GetDataLength() const
11027 PINDEX length = 0;
11028 length += m_pkgdName.GetObjectLength();
11029 if (HasOptionalField(e_streamID))
11030 length += m_streamID.GetObjectLength();
11031 if (HasOptionalField(e_eventAction))
11032 length += m_eventAction.GetObjectLength();
11033 length += m_evParList.GetObjectLength();
11034 return length;
11038 BOOL H248_SecondRequestedEvent::Decode(PASN_Stream & strm)
11040 if (!PreambleDecode(strm))
11041 return FALSE;
11043 if (!m_pkgdName.Decode(strm))
11044 return FALSE;
11045 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
11046 return FALSE;
11047 if (HasOptionalField(e_eventAction) && !m_eventAction.Decode(strm))
11048 return FALSE;
11049 if (!m_evParList.Decode(strm))
11050 return FALSE;
11052 return UnknownExtensionsDecode(strm);
11056 void H248_SecondRequestedEvent::Encode(PASN_Stream & strm) const
11058 PreambleEncode(strm);
11060 m_pkgdName.Encode(strm);
11061 if (HasOptionalField(e_streamID))
11062 m_streamID.Encode(strm);
11063 if (HasOptionalField(e_eventAction))
11064 m_eventAction.Encode(strm);
11065 m_evParList.Encode(strm);
11067 UnknownExtensionsEncode(strm);
11071 PObject * H248_SecondRequestedEvent::Clone() const
11073 #ifndef PASN_LEANANDMEAN
11074 PAssert(IsClass(H248_SecondRequestedEvent::Class()), PInvalidCast);
11075 #endif
11076 return new H248_SecondRequestedEvent(*this);
11081 // ModemDescriptor
11084 H248_ModemDescriptor::H248_ModemDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
11085 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
11090 #ifndef PASN_NOPRINTON
11091 void H248_ModemDescriptor::PrintOn(ostream & strm) const
11093 int indent = strm.precision() + 2;
11094 strm << "{\n";
11095 strm << setw(indent+6) << "mtl = " << setprecision(indent) << m_mtl << '\n';
11096 strm << setw(indent+6) << "mpl = " << setprecision(indent) << m_mpl << '\n';
11097 if (HasOptionalField(e_nonStandardData))
11098 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
11099 strm << setw(indent-1) << setprecision(indent-2) << "}";
11101 #endif
11104 PObject::Comparison H248_ModemDescriptor::Compare(const PObject & obj) const
11106 #ifndef PASN_LEANANDMEAN
11107 PAssert(PIsDescendant(&obj, H248_ModemDescriptor), PInvalidCast);
11108 #endif
11109 const H248_ModemDescriptor & other = (const H248_ModemDescriptor &)obj;
11111 Comparison result;
11113 if ((result = m_mtl.Compare(other.m_mtl)) != EqualTo)
11114 return result;
11115 if ((result = m_mpl.Compare(other.m_mpl)) != EqualTo)
11116 return result;
11117 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
11118 return result;
11120 return PASN_Sequence::Compare(other);
11124 PINDEX H248_ModemDescriptor::GetDataLength() const
11126 PINDEX length = 0;
11127 length += m_mtl.GetObjectLength();
11128 length += m_mpl.GetObjectLength();
11129 if (HasOptionalField(e_nonStandardData))
11130 length += m_nonStandardData.GetObjectLength();
11131 return length;
11135 BOOL H248_ModemDescriptor::Decode(PASN_Stream & strm)
11137 if (!PreambleDecode(strm))
11138 return FALSE;
11140 if (!m_mtl.Decode(strm))
11141 return FALSE;
11142 if (!m_mpl.Decode(strm))
11143 return FALSE;
11144 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
11145 return FALSE;
11147 return UnknownExtensionsDecode(strm);
11151 void H248_ModemDescriptor::Encode(PASN_Stream & strm) const
11153 PreambleEncode(strm);
11155 m_mtl.Encode(strm);
11156 m_mpl.Encode(strm);
11157 if (HasOptionalField(e_nonStandardData))
11158 m_nonStandardData.Encode(strm);
11160 UnknownExtensionsEncode(strm);
11164 PObject * H248_ModemDescriptor::Clone() const
11166 #ifndef PASN_LEANANDMEAN
11167 PAssert(IsClass(H248_ModemDescriptor::Class()), PInvalidCast);
11168 #endif
11169 return new H248_ModemDescriptor(*this);
11174 // ServiceChangeParm
11177 H248_ServiceChangeParm::H248_ServiceChangeParm(unsigned tag, PASN_Object::TagClass tagClass)
11178 : PASN_Sequence(tag, tagClass, 7, TRUE, 1)
11180 m_serviceChangeVersion.SetConstraints(PASN_Object::FixedConstraint, 0, 99);
11181 m_serviceChangeDelay.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
11185 #ifndef PASN_NOPRINTON
11186 void H248_ServiceChangeParm::PrintOn(ostream & strm) const
11188 int indent = strm.precision() + 2;
11189 strm << "{\n";
11190 strm << setw(indent+22) << "serviceChangeMethod = " << setprecision(indent) << m_serviceChangeMethod << '\n';
11191 if (HasOptionalField(e_serviceChangeAddress))
11192 strm << setw(indent+23) << "serviceChangeAddress = " << setprecision(indent) << m_serviceChangeAddress << '\n';
11193 if (HasOptionalField(e_serviceChangeVersion))
11194 strm << setw(indent+23) << "serviceChangeVersion = " << setprecision(indent) << m_serviceChangeVersion << '\n';
11195 if (HasOptionalField(e_serviceChangeProfile))
11196 strm << setw(indent+23) << "serviceChangeProfile = " << setprecision(indent) << m_serviceChangeProfile << '\n';
11197 strm << setw(indent+22) << "serviceChangeReason = " << setprecision(indent) << m_serviceChangeReason << '\n';
11198 if (HasOptionalField(e_serviceChangeDelay))
11199 strm << setw(indent+21) << "serviceChangeDelay = " << setprecision(indent) << m_serviceChangeDelay << '\n';
11200 if (HasOptionalField(e_serviceChangeMgcId))
11201 strm << setw(indent+21) << "serviceChangeMgcId = " << setprecision(indent) << m_serviceChangeMgcId << '\n';
11202 if (HasOptionalField(e_timeStamp))
11203 strm << setw(indent+12) << "timeStamp = " << setprecision(indent) << m_timeStamp << '\n';
11204 if (HasOptionalField(e_nonStandardData))
11205 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
11206 if (HasOptionalField(e_serviceChangeInfo))
11207 strm << setw(indent+20) << "serviceChangeInfo = " << setprecision(indent) << m_serviceChangeInfo << '\n';
11208 strm << setw(indent-1) << setprecision(indent-2) << "}";
11210 #endif
11213 PObject::Comparison H248_ServiceChangeParm::Compare(const PObject & obj) const
11215 #ifndef PASN_LEANANDMEAN
11216 PAssert(PIsDescendant(&obj, H248_ServiceChangeParm), PInvalidCast);
11217 #endif
11218 const H248_ServiceChangeParm & other = (const H248_ServiceChangeParm &)obj;
11220 Comparison result;
11222 if ((result = m_serviceChangeMethod.Compare(other.m_serviceChangeMethod)) != EqualTo)
11223 return result;
11224 if ((result = m_serviceChangeAddress.Compare(other.m_serviceChangeAddress)) != EqualTo)
11225 return result;
11226 if ((result = m_serviceChangeVersion.Compare(other.m_serviceChangeVersion)) != EqualTo)
11227 return result;
11228 if ((result = m_serviceChangeProfile.Compare(other.m_serviceChangeProfile)) != EqualTo)
11229 return result;
11230 if ((result = m_serviceChangeReason.Compare(other.m_serviceChangeReason)) != EqualTo)
11231 return result;
11232 if ((result = m_serviceChangeDelay.Compare(other.m_serviceChangeDelay)) != EqualTo)
11233 return result;
11234 if ((result = m_serviceChangeMgcId.Compare(other.m_serviceChangeMgcId)) != EqualTo)
11235 return result;
11236 if ((result = m_timeStamp.Compare(other.m_timeStamp)) != EqualTo)
11237 return result;
11238 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
11239 return result;
11241 return PASN_Sequence::Compare(other);
11245 PINDEX H248_ServiceChangeParm::GetDataLength() const
11247 PINDEX length = 0;
11248 length += m_serviceChangeMethod.GetObjectLength();
11249 if (HasOptionalField(e_serviceChangeAddress))
11250 length += m_serviceChangeAddress.GetObjectLength();
11251 if (HasOptionalField(e_serviceChangeVersion))
11252 length += m_serviceChangeVersion.GetObjectLength();
11253 if (HasOptionalField(e_serviceChangeProfile))
11254 length += m_serviceChangeProfile.GetObjectLength();
11255 length += m_serviceChangeReason.GetObjectLength();
11256 if (HasOptionalField(e_serviceChangeDelay))
11257 length += m_serviceChangeDelay.GetObjectLength();
11258 if (HasOptionalField(e_serviceChangeMgcId))
11259 length += m_serviceChangeMgcId.GetObjectLength();
11260 if (HasOptionalField(e_timeStamp))
11261 length += m_timeStamp.GetObjectLength();
11262 if (HasOptionalField(e_nonStandardData))
11263 length += m_nonStandardData.GetObjectLength();
11264 return length;
11268 BOOL H248_ServiceChangeParm::Decode(PASN_Stream & strm)
11270 if (!PreambleDecode(strm))
11271 return FALSE;
11273 if (!m_serviceChangeMethod.Decode(strm))
11274 return FALSE;
11275 if (HasOptionalField(e_serviceChangeAddress) && !m_serviceChangeAddress.Decode(strm))
11276 return FALSE;
11277 if (HasOptionalField(e_serviceChangeVersion) && !m_serviceChangeVersion.Decode(strm))
11278 return FALSE;
11279 if (HasOptionalField(e_serviceChangeProfile) && !m_serviceChangeProfile.Decode(strm))
11280 return FALSE;
11281 if (!m_serviceChangeReason.Decode(strm))
11282 return FALSE;
11283 if (HasOptionalField(e_serviceChangeDelay) && !m_serviceChangeDelay.Decode(strm))
11284 return FALSE;
11285 if (HasOptionalField(e_serviceChangeMgcId) && !m_serviceChangeMgcId.Decode(strm))
11286 return FALSE;
11287 if (HasOptionalField(e_timeStamp) && !m_timeStamp.Decode(strm))
11288 return FALSE;
11289 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
11290 return FALSE;
11291 if (!KnownExtensionDecode(strm, e_serviceChangeInfo, m_serviceChangeInfo))
11292 return FALSE;
11294 return UnknownExtensionsDecode(strm);
11298 void H248_ServiceChangeParm::Encode(PASN_Stream & strm) const
11300 PreambleEncode(strm);
11302 m_serviceChangeMethod.Encode(strm);
11303 if (HasOptionalField(e_serviceChangeAddress))
11304 m_serviceChangeAddress.Encode(strm);
11305 if (HasOptionalField(e_serviceChangeVersion))
11306 m_serviceChangeVersion.Encode(strm);
11307 if (HasOptionalField(e_serviceChangeProfile))
11308 m_serviceChangeProfile.Encode(strm);
11309 m_serviceChangeReason.Encode(strm);
11310 if (HasOptionalField(e_serviceChangeDelay))
11311 m_serviceChangeDelay.Encode(strm);
11312 if (HasOptionalField(e_serviceChangeMgcId))
11313 m_serviceChangeMgcId.Encode(strm);
11314 if (HasOptionalField(e_timeStamp))
11315 m_timeStamp.Encode(strm);
11316 if (HasOptionalField(e_nonStandardData))
11317 m_nonStandardData.Encode(strm);
11318 KnownExtensionEncode(strm, e_serviceChangeInfo, m_serviceChangeInfo);
11320 UnknownExtensionsEncode(strm);
11324 PObject * H248_ServiceChangeParm::Clone() const
11326 #ifndef PASN_LEANANDMEAN
11327 PAssert(IsClass(H248_ServiceChangeParm::Class()), PInvalidCast);
11328 #endif
11329 return new H248_ServiceChangeParm(*this);
11334 // IndAudStreamDescriptor
11337 H248_IndAudStreamDescriptor::H248_IndAudStreamDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
11338 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
11343 #ifndef PASN_NOPRINTON
11344 void H248_IndAudStreamDescriptor::PrintOn(ostream & strm) const
11346 int indent = strm.precision() + 2;
11347 strm << "{\n";
11348 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
11349 strm << setw(indent+14) << "streamParms = " << setprecision(indent) << m_streamParms << '\n';
11350 strm << setw(indent-1) << setprecision(indent-2) << "}";
11352 #endif
11355 PObject::Comparison H248_IndAudStreamDescriptor::Compare(const PObject & obj) const
11357 #ifndef PASN_LEANANDMEAN
11358 PAssert(PIsDescendant(&obj, H248_IndAudStreamDescriptor), PInvalidCast);
11359 #endif
11360 const H248_IndAudStreamDescriptor & other = (const H248_IndAudStreamDescriptor &)obj;
11362 Comparison result;
11364 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
11365 return result;
11366 if ((result = m_streamParms.Compare(other.m_streamParms)) != EqualTo)
11367 return result;
11369 return PASN_Sequence::Compare(other);
11373 PINDEX H248_IndAudStreamDescriptor::GetDataLength() const
11375 PINDEX length = 0;
11376 length += m_streamID.GetObjectLength();
11377 length += m_streamParms.GetObjectLength();
11378 return length;
11382 BOOL H248_IndAudStreamDescriptor::Decode(PASN_Stream & strm)
11384 if (!PreambleDecode(strm))
11385 return FALSE;
11387 if (!m_streamID.Decode(strm))
11388 return FALSE;
11389 if (!m_streamParms.Decode(strm))
11390 return FALSE;
11392 return UnknownExtensionsDecode(strm);
11396 void H248_IndAudStreamDescriptor::Encode(PASN_Stream & strm) const
11398 PreambleEncode(strm);
11400 m_streamID.Encode(strm);
11401 m_streamParms.Encode(strm);
11403 UnknownExtensionsEncode(strm);
11407 PObject * H248_IndAudStreamDescriptor::Clone() const
11409 #ifndef PASN_LEANANDMEAN
11410 PAssert(IsClass(H248_IndAudStreamDescriptor::Class()), PInvalidCast);
11411 #endif
11412 return new H248_IndAudStreamDescriptor(*this);
11417 // ServiceChangeRequest
11420 H248_ServiceChangeRequest::H248_ServiceChangeRequest(unsigned tag, PASN_Object::TagClass tagClass)
11421 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
11426 #ifndef PASN_NOPRINTON
11427 void H248_ServiceChangeRequest::PrintOn(ostream & strm) const
11429 int indent = strm.precision() + 2;
11430 strm << "{\n";
11431 strm << setw(indent+16) << "terminationID = " << setprecision(indent) << m_terminationID << '\n';
11432 strm << setw(indent+21) << "serviceChangeParms = " << setprecision(indent) << m_serviceChangeParms << '\n';
11433 strm << setw(indent-1) << setprecision(indent-2) << "}";
11435 #endif
11438 PObject::Comparison H248_ServiceChangeRequest::Compare(const PObject & obj) const
11440 #ifndef PASN_LEANANDMEAN
11441 PAssert(PIsDescendant(&obj, H248_ServiceChangeRequest), PInvalidCast);
11442 #endif
11443 const H248_ServiceChangeRequest & other = (const H248_ServiceChangeRequest &)obj;
11445 Comparison result;
11447 if ((result = m_terminationID.Compare(other.m_terminationID)) != EqualTo)
11448 return result;
11449 if ((result = m_serviceChangeParms.Compare(other.m_serviceChangeParms)) != EqualTo)
11450 return result;
11452 return PASN_Sequence::Compare(other);
11456 PINDEX H248_ServiceChangeRequest::GetDataLength() const
11458 PINDEX length = 0;
11459 length += m_terminationID.GetObjectLength();
11460 length += m_serviceChangeParms.GetObjectLength();
11461 return length;
11465 BOOL H248_ServiceChangeRequest::Decode(PASN_Stream & strm)
11467 if (!PreambleDecode(strm))
11468 return FALSE;
11470 if (!m_terminationID.Decode(strm))
11471 return FALSE;
11472 if (!m_serviceChangeParms.Decode(strm))
11473 return FALSE;
11475 return UnknownExtensionsDecode(strm);
11479 void H248_ServiceChangeRequest::Encode(PASN_Stream & strm) const
11481 PreambleEncode(strm);
11483 m_terminationID.Encode(strm);
11484 m_serviceChangeParms.Encode(strm);
11486 UnknownExtensionsEncode(strm);
11490 PObject * H248_ServiceChangeRequest::Clone() const
11492 #ifndef PASN_LEANANDMEAN
11493 PAssert(IsClass(H248_ServiceChangeRequest::Class()), PInvalidCast);
11494 #endif
11495 return new H248_ServiceChangeRequest(*this);
11500 // StreamDescriptor
11503 H248_StreamDescriptor::H248_StreamDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
11504 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
11509 #ifndef PASN_NOPRINTON
11510 void H248_StreamDescriptor::PrintOn(ostream & strm) const
11512 int indent = strm.precision() + 2;
11513 strm << "{\n";
11514 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
11515 strm << setw(indent+14) << "streamParms = " << setprecision(indent) << m_streamParms << '\n';
11516 strm << setw(indent-1) << setprecision(indent-2) << "}";
11518 #endif
11521 PObject::Comparison H248_StreamDescriptor::Compare(const PObject & obj) const
11523 #ifndef PASN_LEANANDMEAN
11524 PAssert(PIsDescendant(&obj, H248_StreamDescriptor), PInvalidCast);
11525 #endif
11526 const H248_StreamDescriptor & other = (const H248_StreamDescriptor &)obj;
11528 Comparison result;
11530 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
11531 return result;
11532 if ((result = m_streamParms.Compare(other.m_streamParms)) != EqualTo)
11533 return result;
11535 return PASN_Sequence::Compare(other);
11539 PINDEX H248_StreamDescriptor::GetDataLength() const
11541 PINDEX length = 0;
11542 length += m_streamID.GetObjectLength();
11543 length += m_streamParms.GetObjectLength();
11544 return length;
11548 BOOL H248_StreamDescriptor::Decode(PASN_Stream & strm)
11550 if (!PreambleDecode(strm))
11551 return FALSE;
11553 if (!m_streamID.Decode(strm))
11554 return FALSE;
11555 if (!m_streamParms.Decode(strm))
11556 return FALSE;
11558 return UnknownExtensionsDecode(strm);
11562 void H248_StreamDescriptor::Encode(PASN_Stream & strm) const
11564 PreambleEncode(strm);
11566 m_streamID.Encode(strm);
11567 m_streamParms.Encode(strm);
11569 UnknownExtensionsEncode(strm);
11573 PObject * H248_StreamDescriptor::Clone() const
11575 #ifndef PASN_LEANANDMEAN
11576 PAssert(IsClass(H248_StreamDescriptor::Class()), PInvalidCast);
11577 #endif
11578 return new H248_StreamDescriptor(*this);
11583 // RequestedEvent
11586 H248_RequestedEvent::H248_RequestedEvent(unsigned tag, PASN_Object::TagClass tagClass)
11587 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
11592 #ifndef PASN_NOPRINTON
11593 void H248_RequestedEvent::PrintOn(ostream & strm) const
11595 int indent = strm.precision() + 2;
11596 strm << "{\n";
11597 strm << setw(indent+11) << "pkgdName = " << setprecision(indent) << m_pkgdName << '\n';
11598 if (HasOptionalField(e_streamID))
11599 strm << setw(indent+11) << "streamID = " << setprecision(indent) << m_streamID << '\n';
11600 if (HasOptionalField(e_eventAction))
11601 strm << setw(indent+14) << "eventAction = " << setprecision(indent) << m_eventAction << '\n';
11602 strm << setw(indent+12) << "evParList = " << setprecision(indent) << m_evParList << '\n';
11603 strm << setw(indent-1) << setprecision(indent-2) << "}";
11605 #endif
11608 PObject::Comparison H248_RequestedEvent::Compare(const PObject & obj) const
11610 #ifndef PASN_LEANANDMEAN
11611 PAssert(PIsDescendant(&obj, H248_RequestedEvent), PInvalidCast);
11612 #endif
11613 const H248_RequestedEvent & other = (const H248_RequestedEvent &)obj;
11615 Comparison result;
11617 if ((result = m_pkgdName.Compare(other.m_pkgdName)) != EqualTo)
11618 return result;
11619 if ((result = m_streamID.Compare(other.m_streamID)) != EqualTo)
11620 return result;
11621 if ((result = m_eventAction.Compare(other.m_eventAction)) != EqualTo)
11622 return result;
11623 if ((result = m_evParList.Compare(other.m_evParList)) != EqualTo)
11624 return result;
11626 return PASN_Sequence::Compare(other);
11630 PINDEX H248_RequestedEvent::GetDataLength() const
11632 PINDEX length = 0;
11633 length += m_pkgdName.GetObjectLength();
11634 if (HasOptionalField(e_streamID))
11635 length += m_streamID.GetObjectLength();
11636 if (HasOptionalField(e_eventAction))
11637 length += m_eventAction.GetObjectLength();
11638 length += m_evParList.GetObjectLength();
11639 return length;
11643 BOOL H248_RequestedEvent::Decode(PASN_Stream & strm)
11645 if (!PreambleDecode(strm))
11646 return FALSE;
11648 if (!m_pkgdName.Decode(strm))
11649 return FALSE;
11650 if (HasOptionalField(e_streamID) && !m_streamID.Decode(strm))
11651 return FALSE;
11652 if (HasOptionalField(e_eventAction) && !m_eventAction.Decode(strm))
11653 return FALSE;
11654 if (!m_evParList.Decode(strm))
11655 return FALSE;
11657 return UnknownExtensionsDecode(strm);
11661 void H248_RequestedEvent::Encode(PASN_Stream & strm) const
11663 PreambleEncode(strm);
11665 m_pkgdName.Encode(strm);
11666 if (HasOptionalField(e_streamID))
11667 m_streamID.Encode(strm);
11668 if (HasOptionalField(e_eventAction))
11669 m_eventAction.Encode(strm);
11670 m_evParList.Encode(strm);
11672 UnknownExtensionsEncode(strm);
11676 PObject * H248_RequestedEvent::Clone() const
11678 #ifndef PASN_LEANANDMEAN
11679 PAssert(IsClass(H248_RequestedEvent::Class()), PInvalidCast);
11680 #endif
11681 return new H248_RequestedEvent(*this);
11685 #endif // if ! H323_DISABLE_H248
11688 // End of h248.cxx