4 // Code automatically generated by asnparse.
8 #pragma implementation "h4509.h"
17 #if ! H323_DISABLE_H4509
21 #ifndef PASN_NOPRINTON
22 const static PASN_Names Names_H4509_H323CallCompletionOperations[]={
26 ,{"ccExecPossible",29}
33 // H323CallCompletionOperations
36 H4509_H323CallCompletionOperations::H4509_H323CallCompletionOperations(unsigned tag, PASN_Object::TagClass tagClass)
37 : PASN_Enumeration(tag, tagClass, 40, FALSE
38 #ifndef PASN_NOPRINTON
39 ,(const PASN_Names *)Names_H4509_H323CallCompletionOperations,7
46 H4509_H323CallCompletionOperations & H4509_H323CallCompletionOperations::operator=(unsigned v)
53 PObject * H4509_H323CallCompletionOperations::Clone() const
55 #ifndef PASN_LEANANDMEAN
56 PAssert(IsClass(H4509_H323CallCompletionOperations::Class()), PInvalidCast);
58 return new H4509_H323CallCompletionOperations(*this);
63 #ifndef PASN_NOPRINTON
64 const static PASN_Names Names_H4509_CcArg[]={
73 H4509_CcArg::H4509_CcArg(unsigned tag, PASN_Object::TagClass tagClass)
74 : PASN_Choice(tag, tagClass, 2, TRUE
75 #ifndef PASN_NOPRINTON
76 ,(const PASN_Names *)Names_H4509_CcArg,2
83 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
84 H4509_CcArg::operator H4509_CcShortArg &() const
86 H4509_CcArg::operator H4509_CcShortArg &()
88 #ifndef PASN_LEANANDMEAN
89 PAssert(PIsDescendant(PAssertNULL(choice), H4509_CcShortArg), PInvalidCast);
91 return *(H4509_CcShortArg *)choice;
95 H4509_CcArg::operator const H4509_CcShortArg &() const
98 #ifndef PASN_LEANANDMEAN
99 PAssert(PIsDescendant(PAssertNULL(choice), H4509_CcShortArg), PInvalidCast);
101 return *(H4509_CcShortArg *)choice;
105 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
106 H4509_CcArg::operator H4509_CcLongArg &() const
108 H4509_CcArg::operator H4509_CcLongArg &()
110 #ifndef PASN_LEANANDMEAN
111 PAssert(PIsDescendant(PAssertNULL(choice), H4509_CcLongArg), PInvalidCast);
113 return *(H4509_CcLongArg *)choice;
117 H4509_CcArg::operator const H4509_CcLongArg &() const
120 #ifndef PASN_LEANANDMEAN
121 PAssert(PIsDescendant(PAssertNULL(choice), H4509_CcLongArg), PInvalidCast);
123 return *(H4509_CcLongArg *)choice;
127 BOOL H4509_CcArg::CreateObject()
131 choice = new H4509_CcShortArg();
134 choice = new H4509_CcLongArg();
143 PObject * H4509_CcArg::Clone() const
145 #ifndef PASN_LEANANDMEAN
146 PAssert(IsClass(H4509_CcArg::Class()), PInvalidCast);
148 return new H4509_CcArg(*this);
152 #ifndef PASN_NOPRINTON
153 const static PASN_Names Names_H4509_CallCompletionErrors[]={
154 {"shortTermRejection",1010}
155 ,{"longTermRejection",1011}
156 ,{"remoteUserBusyAgain",1012}
157 ,{"failureToMatch",1013}
161 // CallCompletionErrors
164 H4509_CallCompletionErrors::H4509_CallCompletionErrors(unsigned tag, PASN_Object::TagClass tagClass)
165 : PASN_Enumeration(tag, tagClass, 1013, FALSE
166 #ifndef PASN_NOPRINTON
167 ,(const PASN_Names *)Names_H4509_CallCompletionErrors,4
174 H4509_CallCompletionErrors & H4509_CallCompletionErrors::operator=(unsigned v)
181 PObject * H4509_CallCompletionErrors::Clone() const
183 #ifndef PASN_LEANANDMEAN
184 PAssert(IsClass(H4509_CallCompletionErrors::Class()), PInvalidCast);
186 return new H4509_CallCompletionErrors(*this);
191 // ArrayOf_MixedExtension
194 H4509_ArrayOf_MixedExtension::H4509_ArrayOf_MixedExtension(unsigned tag, PASN_Object::TagClass tagClass)
195 : PASN_Array(tag, tagClass)
200 PASN_Object * H4509_ArrayOf_MixedExtension::CreateObject() const
202 return new H4504_MixedExtension;
206 H4504_MixedExtension & H4509_ArrayOf_MixedExtension::operator[](PINDEX i) const
208 return (H4504_MixedExtension &)array[i];
212 PObject * H4509_ArrayOf_MixedExtension::Clone() const
214 #ifndef PASN_LEANANDMEAN
215 PAssert(IsClass(H4509_ArrayOf_MixedExtension::Class()), PInvalidCast);
217 return new H4509_ArrayOf_MixedExtension(*this);
225 H4509_CcRequestArg::H4509_CcRequestArg(unsigned tag, PASN_Object::TagClass tagClass)
226 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
228 m_extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
232 #ifndef PASN_NOPRINTON
233 void H4509_CcRequestArg::PrintOn(ostream & strm) const
235 int indent = strm.precision() + 2;
237 strm << setw(indent+10) << "numberA = " << setprecision(indent) << m_numberA << '\n';
238 strm << setw(indent+10) << "numberB = " << setprecision(indent) << m_numberB << '\n';
239 if (HasOptionalField(e_ccIdentifier))
240 strm << setw(indent+15) << "ccIdentifier = " << setprecision(indent) << m_ccIdentifier << '\n';
241 strm << setw(indent+10) << "service = " << setprecision(indent) << m_service << '\n';
242 strm << setw(indent+21) << "can_retain_service = " << setprecision(indent) << m_can_retain_service << '\n';
243 if (HasOptionalField(e_retain_sig_connection))
244 strm << setw(indent+24) << "retain_sig_connection = " << setprecision(indent) << m_retain_sig_connection << '\n';
245 if (HasOptionalField(e_extension))
246 strm << setw(indent+12) << "extension = " << setprecision(indent) << m_extension << '\n';
247 strm << setw(indent-1) << setprecision(indent-2) << "}";
252 PObject::Comparison H4509_CcRequestArg::Compare(const PObject & obj) const
254 #ifndef PASN_LEANANDMEAN
255 PAssert(PIsDescendant(&obj, H4509_CcRequestArg), PInvalidCast);
257 const H4509_CcRequestArg & other = (const H4509_CcRequestArg &)obj;
261 if ((result = m_numberA.Compare(other.m_numberA)) != EqualTo)
263 if ((result = m_numberB.Compare(other.m_numberB)) != EqualTo)
265 if ((result = m_ccIdentifier.Compare(other.m_ccIdentifier)) != EqualTo)
267 if ((result = m_service.Compare(other.m_service)) != EqualTo)
269 if ((result = m_can_retain_service.Compare(other.m_can_retain_service)) != EqualTo)
271 if ((result = m_retain_sig_connection.Compare(other.m_retain_sig_connection)) != EqualTo)
273 if ((result = m_extension.Compare(other.m_extension)) != EqualTo)
276 return PASN_Sequence::Compare(other);
280 PINDEX H4509_CcRequestArg::GetDataLength() const
283 length += m_numberA.GetObjectLength();
284 length += m_numberB.GetObjectLength();
285 if (HasOptionalField(e_ccIdentifier))
286 length += m_ccIdentifier.GetObjectLength();
287 length += m_service.GetObjectLength();
288 length += m_can_retain_service.GetObjectLength();
289 if (HasOptionalField(e_retain_sig_connection))
290 length += m_retain_sig_connection.GetObjectLength();
291 if (HasOptionalField(e_extension))
292 length += m_extension.GetObjectLength();
297 BOOL H4509_CcRequestArg::Decode(PASN_Stream & strm)
299 if (!PreambleDecode(strm))
302 if (!m_numberA.Decode(strm))
304 if (!m_numberB.Decode(strm))
306 if (HasOptionalField(e_ccIdentifier) && !m_ccIdentifier.Decode(strm))
308 if (!m_service.Decode(strm))
310 if (!m_can_retain_service.Decode(strm))
312 if (HasOptionalField(e_retain_sig_connection) && !m_retain_sig_connection.Decode(strm))
314 if (HasOptionalField(e_extension) && !m_extension.Decode(strm))
317 return UnknownExtensionsDecode(strm);
321 void H4509_CcRequestArg::Encode(PASN_Stream & strm) const
323 PreambleEncode(strm);
325 m_numberA.Encode(strm);
326 m_numberB.Encode(strm);
327 if (HasOptionalField(e_ccIdentifier))
328 m_ccIdentifier.Encode(strm);
329 m_service.Encode(strm);
330 m_can_retain_service.Encode(strm);
331 if (HasOptionalField(e_retain_sig_connection))
332 m_retain_sig_connection.Encode(strm);
333 if (HasOptionalField(e_extension))
334 m_extension.Encode(strm);
336 UnknownExtensionsEncode(strm);
340 PObject * H4509_CcRequestArg::Clone() const
342 #ifndef PASN_LEANANDMEAN
343 PAssert(IsClass(H4509_CcRequestArg::Class()), PInvalidCast);
345 return new H4509_CcRequestArg(*this);
353 H4509_CcRequestRes::H4509_CcRequestRes(unsigned tag, PASN_Object::TagClass tagClass)
354 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
356 m_extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
360 #ifndef PASN_NOPRINTON
361 void H4509_CcRequestRes::PrintOn(ostream & strm) const
363 int indent = strm.precision() + 2;
365 strm << setw(indent+17) << "retain_service = " << setprecision(indent) << m_retain_service << '\n';
366 if (HasOptionalField(e_extension))
367 strm << setw(indent+12) << "extension = " << setprecision(indent) << m_extension << '\n';
368 strm << setw(indent-1) << setprecision(indent-2) << "}";
373 PObject::Comparison H4509_CcRequestRes::Compare(const PObject & obj) const
375 #ifndef PASN_LEANANDMEAN
376 PAssert(PIsDescendant(&obj, H4509_CcRequestRes), PInvalidCast);
378 const H4509_CcRequestRes & other = (const H4509_CcRequestRes &)obj;
382 if ((result = m_retain_service.Compare(other.m_retain_service)) != EqualTo)
384 if ((result = m_extension.Compare(other.m_extension)) != EqualTo)
387 return PASN_Sequence::Compare(other);
391 PINDEX H4509_CcRequestRes::GetDataLength() const
394 length += m_retain_service.GetObjectLength();
395 if (HasOptionalField(e_extension))
396 length += m_extension.GetObjectLength();
401 BOOL H4509_CcRequestRes::Decode(PASN_Stream & strm)
403 if (!PreambleDecode(strm))
406 if (!m_retain_service.Decode(strm))
408 if (HasOptionalField(e_extension) && !m_extension.Decode(strm))
411 return UnknownExtensionsDecode(strm);
415 void H4509_CcRequestRes::Encode(PASN_Stream & strm) const
417 PreambleEncode(strm);
419 m_retain_service.Encode(strm);
420 if (HasOptionalField(e_extension))
421 m_extension.Encode(strm);
423 UnknownExtensionsEncode(strm);
427 PObject * H4509_CcRequestRes::Clone() const
429 #ifndef PASN_LEANANDMEAN
430 PAssert(IsClass(H4509_CcRequestRes::Class()), PInvalidCast);
432 return new H4509_CcRequestRes(*this);
440 H4509_CcShortArg::H4509_CcShortArg(unsigned tag, PASN_Object::TagClass tagClass)
441 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
443 m_extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
447 #ifndef PASN_NOPRINTON
448 void H4509_CcShortArg::PrintOn(ostream & strm) const
450 int indent = strm.precision() + 2;
452 if (HasOptionalField(e_ccIdentifier))
453 strm << setw(indent+15) << "ccIdentifier = " << setprecision(indent) << m_ccIdentifier << '\n';
454 if (HasOptionalField(e_extension))
455 strm << setw(indent+12) << "extension = " << setprecision(indent) << m_extension << '\n';
456 strm << setw(indent-1) << setprecision(indent-2) << "}";
461 PObject::Comparison H4509_CcShortArg::Compare(const PObject & obj) const
463 #ifndef PASN_LEANANDMEAN
464 PAssert(PIsDescendant(&obj, H4509_CcShortArg), PInvalidCast);
466 const H4509_CcShortArg & other = (const H4509_CcShortArg &)obj;
470 if ((result = m_ccIdentifier.Compare(other.m_ccIdentifier)) != EqualTo)
472 if ((result = m_extension.Compare(other.m_extension)) != EqualTo)
475 return PASN_Sequence::Compare(other);
479 PINDEX H4509_CcShortArg::GetDataLength() const
482 if (HasOptionalField(e_ccIdentifier))
483 length += m_ccIdentifier.GetObjectLength();
484 if (HasOptionalField(e_extension))
485 length += m_extension.GetObjectLength();
490 BOOL H4509_CcShortArg::Decode(PASN_Stream & strm)
492 if (!PreambleDecode(strm))
495 if (HasOptionalField(e_ccIdentifier) && !m_ccIdentifier.Decode(strm))
497 if (HasOptionalField(e_extension) && !m_extension.Decode(strm))
500 return UnknownExtensionsDecode(strm);
504 void H4509_CcShortArg::Encode(PASN_Stream & strm) const
506 PreambleEncode(strm);
508 if (HasOptionalField(e_ccIdentifier))
509 m_ccIdentifier.Encode(strm);
510 if (HasOptionalField(e_extension))
511 m_extension.Encode(strm);
513 UnknownExtensionsEncode(strm);
517 PObject * H4509_CcShortArg::Clone() const
519 #ifndef PASN_LEANANDMEAN
520 PAssert(IsClass(H4509_CcShortArg::Class()), PInvalidCast);
522 return new H4509_CcShortArg(*this);
530 H4509_CcLongArg::H4509_CcLongArg(unsigned tag, PASN_Object::TagClass tagClass)
531 : PASN_Sequence(tag, tagClass, 5, TRUE, 0)
533 m_extension.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
537 #ifndef PASN_NOPRINTON
538 void H4509_CcLongArg::PrintOn(ostream & strm) const
540 int indent = strm.precision() + 2;
542 if (HasOptionalField(e_numberA))
543 strm << setw(indent+10) << "numberA = " << setprecision(indent) << m_numberA << '\n';
544 if (HasOptionalField(e_numberB))
545 strm << setw(indent+10) << "numberB = " << setprecision(indent) << m_numberB << '\n';
546 if (HasOptionalField(e_ccIdentifier))
547 strm << setw(indent+15) << "ccIdentifier = " << setprecision(indent) << m_ccIdentifier << '\n';
548 if (HasOptionalField(e_service))
549 strm << setw(indent+10) << "service = " << setprecision(indent) << m_service << '\n';
550 if (HasOptionalField(e_extension))
551 strm << setw(indent+12) << "extension = " << setprecision(indent) << m_extension << '\n';
552 strm << setw(indent-1) << setprecision(indent-2) << "}";
557 PObject::Comparison H4509_CcLongArg::Compare(const PObject & obj) const
559 #ifndef PASN_LEANANDMEAN
560 PAssert(PIsDescendant(&obj, H4509_CcLongArg), PInvalidCast);
562 const H4509_CcLongArg & other = (const H4509_CcLongArg &)obj;
566 if ((result = m_numberA.Compare(other.m_numberA)) != EqualTo)
568 if ((result = m_numberB.Compare(other.m_numberB)) != EqualTo)
570 if ((result = m_ccIdentifier.Compare(other.m_ccIdentifier)) != EqualTo)
572 if ((result = m_service.Compare(other.m_service)) != EqualTo)
574 if ((result = m_extension.Compare(other.m_extension)) != EqualTo)
577 return PASN_Sequence::Compare(other);
581 PINDEX H4509_CcLongArg::GetDataLength() const
584 if (HasOptionalField(e_numberA))
585 length += m_numberA.GetObjectLength();
586 if (HasOptionalField(e_numberB))
587 length += m_numberB.GetObjectLength();
588 if (HasOptionalField(e_ccIdentifier))
589 length += m_ccIdentifier.GetObjectLength();
590 if (HasOptionalField(e_service))
591 length += m_service.GetObjectLength();
592 if (HasOptionalField(e_extension))
593 length += m_extension.GetObjectLength();
598 BOOL H4509_CcLongArg::Decode(PASN_Stream & strm)
600 if (!PreambleDecode(strm))
603 if (HasOptionalField(e_numberA) && !m_numberA.Decode(strm))
605 if (HasOptionalField(e_numberB) && !m_numberB.Decode(strm))
607 if (HasOptionalField(e_ccIdentifier) && !m_ccIdentifier.Decode(strm))
609 if (HasOptionalField(e_service) && !m_service.Decode(strm))
611 if (HasOptionalField(e_extension) && !m_extension.Decode(strm))
614 return UnknownExtensionsDecode(strm);
618 void H4509_CcLongArg::Encode(PASN_Stream & strm) const
620 PreambleEncode(strm);
622 if (HasOptionalField(e_numberA))
623 m_numberA.Encode(strm);
624 if (HasOptionalField(e_numberB))
625 m_numberB.Encode(strm);
626 if (HasOptionalField(e_ccIdentifier))
627 m_ccIdentifier.Encode(strm);
628 if (HasOptionalField(e_service))
629 m_service.Encode(strm);
630 if (HasOptionalField(e_extension))
631 m_extension.Encode(strm);
633 UnknownExtensionsEncode(strm);
637 PObject * H4509_CcLongArg::Clone() const
639 #ifndef PASN_LEANANDMEAN
640 PAssert(IsClass(H4509_CcLongArg::Class()), PInvalidCast);
642 return new H4509_CcLongArg(*this);
646 #endif // if ! H323_DISABLE_H4509