00001
00002
00003
00004
00005
00006
00007 #ifdef P_USE_PRAGMA
00008 #pragma implementation "gccpdu.h"
00009 #endif
00010
00011 #include <ptlib.h>
00012 #include "gccpdu.h"
00013
00014 #define new PNEW
00015
00016
00017 #if ! H323_DISABLE_GCC
00018
00019
00020
00021
00022
00023 GCC_ChannelID::GCC_ChannelID(unsigned tag, PASN_Object::TagClass tagClass)
00024 : PASN_Integer(tag, tagClass)
00025 {
00026 SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
00027 }
00028
00029
00030 GCC_ChannelID & GCC_ChannelID::operator=(int v)
00031 {
00032 SetValue(v);
00033 return *this;
00034 }
00035
00036
00037 GCC_ChannelID & GCC_ChannelID::operator=(unsigned v)
00038 {
00039 SetValue(v);
00040 return *this;
00041 }
00042
00043
00044 PObject * GCC_ChannelID::Clone() const
00045 {
00046 #ifndef PASN_LEANANDMEAN
00047 PAssert(IsClass(GCC_ChannelID::Class()), PInvalidCast);
00048 #endif
00049 return new GCC_ChannelID(*this);
00050 }
00051
00052
00053
00054
00055
00056
00057 GCC_StaticChannelID::GCC_StaticChannelID(unsigned tag, PASN_Object::TagClass tagClass)
00058 : PASN_Integer(tag, tagClass)
00059 {
00060 SetConstraints(PASN_Object::FixedConstraint, 1, 1000);
00061 }
00062
00063
00064 GCC_StaticChannelID & GCC_StaticChannelID::operator=(int v)
00065 {
00066 SetValue(v);
00067 return *this;
00068 }
00069
00070
00071 GCC_StaticChannelID & GCC_StaticChannelID::operator=(unsigned v)
00072 {
00073 SetValue(v);
00074 return *this;
00075 }
00076
00077
00078 PObject * GCC_StaticChannelID::Clone() const
00079 {
00080 #ifndef PASN_LEANANDMEAN
00081 PAssert(IsClass(GCC_StaticChannelID::Class()), PInvalidCast);
00082 #endif
00083 return new GCC_StaticChannelID(*this);
00084 }
00085
00086
00087
00088
00089
00090
00091 GCC_DynamicChannelID::GCC_DynamicChannelID(unsigned tag, PASN_Object::TagClass tagClass)
00092 : PASN_Integer(tag, tagClass)
00093 {
00094 SetConstraints(PASN_Object::FixedConstraint, 1001, 65535);
00095 }
00096
00097
00098 GCC_DynamicChannelID & GCC_DynamicChannelID::operator=(int v)
00099 {
00100 SetValue(v);
00101 return *this;
00102 }
00103
00104
00105 GCC_DynamicChannelID & GCC_DynamicChannelID::operator=(unsigned v)
00106 {
00107 SetValue(v);
00108 return *this;
00109 }
00110
00111
00112 PObject * GCC_DynamicChannelID::Clone() const
00113 {
00114 #ifndef PASN_LEANANDMEAN
00115 PAssert(IsClass(GCC_DynamicChannelID::Class()), PInvalidCast);
00116 #endif
00117 return new GCC_DynamicChannelID(*this);
00118 }
00119
00120
00121
00122
00123
00124
00125 GCC_UserID::GCC_UserID(unsigned tag, PASN_Object::TagClass tagClass)
00126 : GCC_DynamicChannelID(tag, tagClass)
00127 {
00128 }
00129
00130
00131 GCC_UserID & GCC_UserID::operator=(int v)
00132 {
00133 SetValue(v);
00134 return *this;
00135 }
00136
00137
00138 GCC_UserID & GCC_UserID::operator=(unsigned v)
00139 {
00140 SetValue(v);
00141 return *this;
00142 }
00143
00144
00145 PObject * GCC_UserID::Clone() const
00146 {
00147 #ifndef PASN_LEANANDMEAN
00148 PAssert(IsClass(GCC_UserID::Class()), PInvalidCast);
00149 #endif
00150 return new GCC_UserID(*this);
00151 }
00152
00153
00154
00155
00156
00157
00158 GCC_TokenID::GCC_TokenID(unsigned tag, PASN_Object::TagClass tagClass)
00159 : PASN_Integer(tag, tagClass)
00160 {
00161 SetConstraints(PASN_Object::FixedConstraint, 1, 65535);
00162 }
00163
00164
00165 GCC_TokenID & GCC_TokenID::operator=(int v)
00166 {
00167 SetValue(v);
00168 return *this;
00169 }
00170
00171
00172 GCC_TokenID & GCC_TokenID::operator=(unsigned v)
00173 {
00174 SetValue(v);
00175 return *this;
00176 }
00177
00178
00179 PObject * GCC_TokenID::Clone() const
00180 {
00181 #ifndef PASN_LEANANDMEAN
00182 PAssert(IsClass(GCC_TokenID::Class()), PInvalidCast);
00183 #endif
00184 return new GCC_TokenID(*this);
00185 }
00186
00187
00188
00189
00190
00191
00192 GCC_StaticTokenID::GCC_StaticTokenID(unsigned tag, PASN_Object::TagClass tagClass)
00193 : PASN_Integer(tag, tagClass)
00194 {
00195 SetConstraints(PASN_Object::FixedConstraint, 1, 16383);
00196 }
00197
00198
00199 GCC_StaticTokenID & GCC_StaticTokenID::operator=(int v)
00200 {
00201 SetValue(v);
00202 return *this;
00203 }
00204
00205
00206 GCC_StaticTokenID & GCC_StaticTokenID::operator=(unsigned v)
00207 {
00208 SetValue(v);
00209 return *this;
00210 }
00211
00212
00213 PObject * GCC_StaticTokenID::Clone() const
00214 {
00215 #ifndef PASN_LEANANDMEAN
00216 PAssert(IsClass(GCC_StaticTokenID::Class()), PInvalidCast);
00217 #endif
00218 return new GCC_StaticTokenID(*this);
00219 }
00220
00221
00222
00223
00224
00225
00226 GCC_DynamicTokenID::GCC_DynamicTokenID(unsigned tag, PASN_Object::TagClass tagClass)
00227 : PASN_Integer(tag, tagClass)
00228 {
00229 SetConstraints(PASN_Object::FixedConstraint, 16384, 65535);
00230 }
00231
00232
00233 GCC_DynamicTokenID & GCC_DynamicTokenID::operator=(int v)
00234 {
00235 SetValue(v);
00236 return *this;
00237 }
00238
00239
00240 GCC_DynamicTokenID & GCC_DynamicTokenID::operator=(unsigned v)
00241 {
00242 SetValue(v);
00243 return *this;
00244 }
00245
00246
00247 PObject * GCC_DynamicTokenID::Clone() const
00248 {
00249 #ifndef PASN_LEANANDMEAN
00250 PAssert(IsClass(GCC_DynamicTokenID::Class()), PInvalidCast);
00251 #endif
00252 return new GCC_DynamicTokenID(*this);
00253 }
00254
00255
00256
00257
00258
00259
00260 GCC_Time::GCC_Time(unsigned tag, PASN_Object::TagClass tagClass)
00261 : PASN_Integer(tag, tagClass)
00262 {
00263 SetConstraints(PASN_Object::FixedConstraint, -2147483647, 2147483647);
00264 }
00265
00266
00267 GCC_Time & GCC_Time::operator=(int v)
00268 {
00269 SetValue(v);
00270 return *this;
00271 }
00272
00273
00274 GCC_Time & GCC_Time::operator=(unsigned v)
00275 {
00276 SetValue(v);
00277 return *this;
00278 }
00279
00280
00281 PObject * GCC_Time::Clone() const
00282 {
00283 #ifndef PASN_LEANANDMEAN
00284 PAssert(IsClass(GCC_Time::Class()), PInvalidCast);
00285 #endif
00286 return new GCC_Time(*this);
00287 }
00288
00289
00290
00291
00292
00293
00294 GCC_Handle::GCC_Handle(unsigned tag, PASN_Object::TagClass tagClass)
00295 : PASN_Integer(tag, tagClass)
00296 {
00297 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
00298 }
00299
00300
00301 GCC_Handle & GCC_Handle::operator=(int v)
00302 {
00303 SetValue(v);
00304 return *this;
00305 }
00306
00307
00308 GCC_Handle & GCC_Handle::operator=(unsigned v)
00309 {
00310 SetValue(v);
00311 return *this;
00312 }
00313
00314
00315 PObject * GCC_Handle::Clone() const
00316 {
00317 #ifndef PASN_LEANANDMEAN
00318 PAssert(IsClass(GCC_Handle::Class()), PInvalidCast);
00319 #endif
00320 return new GCC_Handle(*this);
00321 }
00322
00323
00324
00325
00326
00327
00328 GCC_H221NonStandardIdentifier::GCC_H221NonStandardIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
00329 : PASN_OctetString(tag, tagClass)
00330 {
00331 SetConstraints(PASN_Object::FixedConstraint, 4, 255);
00332 }
00333
00334
00335 GCC_H221NonStandardIdentifier::GCC_H221NonStandardIdentifier(const char * v)
00336 {
00337 SetValue(v);
00338 }
00339
00340
00341 GCC_H221NonStandardIdentifier::GCC_H221NonStandardIdentifier(const PString & v)
00342 {
00343 SetValue(v);
00344 }
00345
00346
00347 GCC_H221NonStandardIdentifier::GCC_H221NonStandardIdentifier(const PBYTEArray & v)
00348 {
00349 SetValue(v);
00350 }
00351
00352
00353 GCC_H221NonStandardIdentifier & GCC_H221NonStandardIdentifier::operator=(const char * v)
00354 {
00355 SetValue(v);
00356 return *this;
00357 }
00358
00359
00360 GCC_H221NonStandardIdentifier & GCC_H221NonStandardIdentifier::operator=(const PString & v)
00361 {
00362 SetValue(v);
00363 return *this;
00364 }
00365
00366
00367 GCC_H221NonStandardIdentifier & GCC_H221NonStandardIdentifier::operator=(const PBYTEArray & v)
00368 {
00369 SetValue(v);
00370 return *this;
00371 }
00372
00373
00374 PObject * GCC_H221NonStandardIdentifier::Clone() const
00375 {
00376 #ifndef PASN_LEANANDMEAN
00377 PAssert(IsClass(GCC_H221NonStandardIdentifier::Class()), PInvalidCast);
00378 #endif
00379 return new GCC_H221NonStandardIdentifier(*this);
00380 }
00381
00382
00383
00384 #ifndef PASN_NOPRINTON
00385 const static PASN_Names Names_GCC_Key[]={
00386 {"object",0}
00387 ,{"h221NonStandard",1}
00388 };
00389 #endif
00390
00391
00392
00393
00394 GCC_Key::GCC_Key(unsigned tag, PASN_Object::TagClass tagClass)
00395 : PASN_Choice(tag, tagClass, 2, FALSE
00396 #ifndef PASN_NOPRINTON
00397 ,(const PASN_Names *)Names_GCC_Key,2
00398 #endif
00399 )
00400 {
00401 }
00402
00403
00404 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00405 GCC_Key::operator GCC_H221NonStandardIdentifier &() const
00406 #else
00407 GCC_Key::operator GCC_H221NonStandardIdentifier &()
00408 {
00409 #ifndef PASN_LEANANDMEAN
00410 PAssert(PIsDescendant(PAssertNULL(choice), GCC_H221NonStandardIdentifier), PInvalidCast);
00411 #endif
00412 return *(GCC_H221NonStandardIdentifier *)choice;
00413 }
00414
00415
00416 GCC_Key::operator const GCC_H221NonStandardIdentifier &() const
00417 #endif
00418 {
00419 #ifndef PASN_LEANANDMEAN
00420 PAssert(PIsDescendant(PAssertNULL(choice), GCC_H221NonStandardIdentifier), PInvalidCast);
00421 #endif
00422 return *(GCC_H221NonStandardIdentifier *)choice;
00423 }
00424
00425
00426 BOOL GCC_Key::CreateObject()
00427 {
00428 switch (tag) {
00429 case e_object :
00430 choice = new PASN_ObjectId();
00431 return TRUE;
00432 case e_h221NonStandard :
00433 choice = new GCC_H221NonStandardIdentifier();
00434 return TRUE;
00435 }
00436
00437 choice = NULL;
00438 return FALSE;
00439 }
00440
00441
00442 PObject * GCC_Key::Clone() const
00443 {
00444 #ifndef PASN_LEANANDMEAN
00445 PAssert(IsClass(GCC_Key::Class()), PInvalidCast);
00446 #endif
00447 return new GCC_Key(*this);
00448 }
00449
00450
00451
00452
00453
00454
00455 GCC_NonStandardParameter::GCC_NonStandardParameter(unsigned tag, PASN_Object::TagClass tagClass)
00456 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
00457 {
00458 }
00459
00460
00461 #ifndef PASN_NOPRINTON
00462 void GCC_NonStandardParameter::PrintOn(ostream & strm) const
00463 {
00464 int indent = strm.precision() + 2;
00465 strm << "{\n";
00466 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
00467 strm << setw(indent+7) << "data = " << setprecision(indent) << m_data << '\n';
00468 strm << setw(indent-1) << setprecision(indent-2) << "}";
00469 }
00470 #endif
00471
00472
00473 PObject::Comparison GCC_NonStandardParameter::Compare(const PObject & obj) const
00474 {
00475 #ifndef PASN_LEANANDMEAN
00476 PAssert(PIsDescendant(&obj, GCC_NonStandardParameter), PInvalidCast);
00477 #endif
00478 const GCC_NonStandardParameter & other = (const GCC_NonStandardParameter &)obj;
00479
00480 Comparison result;
00481
00482 if ((result = m_key.Compare(other.m_key)) != EqualTo)
00483 return result;
00484 if ((result = m_data.Compare(other.m_data)) != EqualTo)
00485 return result;
00486
00487 return PASN_Sequence::Compare(other);
00488 }
00489
00490
00491 PINDEX GCC_NonStandardParameter::GetDataLength() const
00492 {
00493 PINDEX length = 0;
00494 length += m_key.GetObjectLength();
00495 length += m_data.GetObjectLength();
00496 return length;
00497 }
00498
00499
00500 BOOL GCC_NonStandardParameter::Decode(PASN_Stream & strm)
00501 {
00502 if (!PreambleDecode(strm))
00503 return FALSE;
00504
00505 if (!m_key.Decode(strm))
00506 return FALSE;
00507 if (!m_data.Decode(strm))
00508 return FALSE;
00509
00510 return UnknownExtensionsDecode(strm);
00511 }
00512
00513
00514 void GCC_NonStandardParameter::Encode(PASN_Stream & strm) const
00515 {
00516 PreambleEncode(strm);
00517
00518 m_key.Encode(strm);
00519 m_data.Encode(strm);
00520
00521 UnknownExtensionsEncode(strm);
00522 }
00523
00524
00525 PObject * GCC_NonStandardParameter::Clone() const
00526 {
00527 #ifndef PASN_LEANANDMEAN
00528 PAssert(IsClass(GCC_NonStandardParameter::Class()), PInvalidCast);
00529 #endif
00530 return new GCC_NonStandardParameter(*this);
00531 }
00532
00533
00534
00535
00536
00537
00538 GCC_TextString::GCC_TextString(unsigned tag, PASN_Object::TagClass tagClass)
00539 : PASN_BMPString(tag, tagClass)
00540 {
00541 SetConstraints(PASN_Object::FixedConstraint, 0, 255);
00542 }
00543
00544
00545 GCC_TextString & GCC_TextString::operator=(const char * v)
00546 {
00547 SetValue(v);
00548 return *this;
00549 }
00550
00551
00552 GCC_TextString & GCC_TextString::operator=(const PString & v)
00553 {
00554 SetValue(v);
00555 return *this;
00556 }
00557
00558
00559 GCC_TextString & GCC_TextString::operator=(const PWORDArray & v)
00560 {
00561 SetValue(v);
00562 return *this;
00563 }
00564
00565
00566 GCC_TextString & GCC_TextString::operator=(const PASN_BMPString & v)
00567 {
00568 SetValue(v);
00569 return *this;
00570 }
00571
00572
00573 PObject * GCC_TextString::Clone() const
00574 {
00575 #ifndef PASN_LEANANDMEAN
00576 PAssert(IsClass(GCC_TextString::Class()), PInvalidCast);
00577 #endif
00578 return new GCC_TextString(*this);
00579 }
00580
00581
00582
00583
00584
00585
00586 GCC_SimpleTextString::GCC_SimpleTextString(unsigned tag, PASN_Object::TagClass tagClass)
00587 : PASN_BMPString(tag, tagClass)
00588 {
00589 SetConstraints(PASN_Object::FixedConstraint, 0, 255);
00590 SetCharacterSet(PASN_Object::FixedConstraint, 0, 255);
00591 }
00592
00593
00594 GCC_SimpleTextString & GCC_SimpleTextString::operator=(const char * v)
00595 {
00596 SetValue(v);
00597 return *this;
00598 }
00599
00600
00601 GCC_SimpleTextString & GCC_SimpleTextString::operator=(const PString & v)
00602 {
00603 SetValue(v);
00604 return *this;
00605 }
00606
00607
00608 GCC_SimpleTextString & GCC_SimpleTextString::operator=(const PWORDArray & v)
00609 {
00610 SetValue(v);
00611 return *this;
00612 }
00613
00614
00615 GCC_SimpleTextString & GCC_SimpleTextString::operator=(const PASN_BMPString & v)
00616 {
00617 SetValue(v);
00618 return *this;
00619 }
00620
00621
00622 PObject * GCC_SimpleTextString::Clone() const
00623 {
00624 #ifndef PASN_LEANANDMEAN
00625 PAssert(IsClass(GCC_SimpleTextString::Class()), PInvalidCast);
00626 #endif
00627 return new GCC_SimpleTextString(*this);
00628 }
00629
00630
00631
00632
00633
00634
00635 GCC_SimpleNumericString::GCC_SimpleNumericString(unsigned tag, PASN_Object::TagClass tagClass)
00636 : PASN_NumericString(tag, tagClass)
00637 {
00638 SetConstraints(PASN_Object::FixedConstraint, 1, 255);
00639 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789");
00640 }
00641
00642
00643 GCC_SimpleNumericString & GCC_SimpleNumericString::operator=(const char * v)
00644 {
00645 SetValue(v);
00646 return *this;
00647 }
00648
00649
00650 GCC_SimpleNumericString & GCC_SimpleNumericString::operator=(const PString & v)
00651 {
00652 SetValue(v);
00653 return *this;
00654 }
00655
00656
00657 PObject * GCC_SimpleNumericString::Clone() const
00658 {
00659 #ifndef PASN_LEANANDMEAN
00660 PAssert(IsClass(GCC_SimpleNumericString::Class()), PInvalidCast);
00661 #endif
00662 return new GCC_SimpleNumericString(*this);
00663 }
00664
00665
00666
00667
00668
00669
00670 GCC_DialingString::GCC_DialingString(unsigned tag, PASN_Object::TagClass tagClass)
00671 : PASN_NumericString(tag, tagClass)
00672 {
00673 SetConstraints(PASN_Object::FixedConstraint, 1, 16);
00674 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789");
00675 }
00676
00677
00678 GCC_DialingString & GCC_DialingString::operator=(const char * v)
00679 {
00680 SetValue(v);
00681 return *this;
00682 }
00683
00684
00685 GCC_DialingString & GCC_DialingString::operator=(const PString & v)
00686 {
00687 SetValue(v);
00688 return *this;
00689 }
00690
00691
00692 PObject * GCC_DialingString::Clone() const
00693 {
00694 #ifndef PASN_LEANANDMEAN
00695 PAssert(IsClass(GCC_DialingString::Class()), PInvalidCast);
00696 #endif
00697 return new GCC_DialingString(*this);
00698 }
00699
00700
00701
00702
00703
00704
00705 GCC_SubAddressString::GCC_SubAddressString(unsigned tag, PASN_Object::TagClass tagClass)
00706 : PASN_NumericString(tag, tagClass)
00707 {
00708 SetConstraints(PASN_Object::FixedConstraint, 1, 40);
00709 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789");
00710 }
00711
00712
00713 GCC_SubAddressString & GCC_SubAddressString::operator=(const char * v)
00714 {
00715 SetValue(v);
00716 return *this;
00717 }
00718
00719
00720 GCC_SubAddressString & GCC_SubAddressString::operator=(const PString & v)
00721 {
00722 SetValue(v);
00723 return *this;
00724 }
00725
00726
00727 PObject * GCC_SubAddressString::Clone() const
00728 {
00729 #ifndef PASN_LEANANDMEAN
00730 PAssert(IsClass(GCC_SubAddressString::Class()), PInvalidCast);
00731 #endif
00732 return new GCC_SubAddressString(*this);
00733 }
00734
00735
00736
00737
00738
00739
00740 GCC_ExtraDialingString::GCC_ExtraDialingString(unsigned tag, PASN_Object::TagClass tagClass)
00741 : PASN_BMPString(tag, tagClass)
00742 {
00743 SetConstraints(PASN_Object::FixedConstraint, 1, 255);
00744 SetCharacterSet(PASN_Object::FixedConstraint, "0123456789#*,");
00745 }
00746
00747
00748 GCC_ExtraDialingString & GCC_ExtraDialingString::operator=(const char * v)
00749 {
00750 SetValue(v);
00751 return *this;
00752 }
00753
00754
00755 GCC_ExtraDialingString & GCC_ExtraDialingString::operator=(const PString & v)
00756 {
00757 SetValue(v);
00758 return *this;
00759 }
00760
00761
00762 GCC_ExtraDialingString & GCC_ExtraDialingString::operator=(const PWORDArray & v)
00763 {
00764 SetValue(v);
00765 return *this;
00766 }
00767
00768
00769 GCC_ExtraDialingString & GCC_ExtraDialingString::operator=(const PASN_BMPString & v)
00770 {
00771 SetValue(v);
00772 return *this;
00773 }
00774
00775
00776 PObject * GCC_ExtraDialingString::Clone() const
00777 {
00778 #ifndef PASN_LEANANDMEAN
00779 PAssert(IsClass(GCC_ExtraDialingString::Class()), PInvalidCast);
00780 #endif
00781 return new GCC_ExtraDialingString(*this);
00782 }
00783
00784
00785
00786
00787
00788
00789 GCC_UserData::GCC_UserData(unsigned tag, PASN_Object::TagClass tagClass)
00790 : PASN_Array(tag, tagClass)
00791 {
00792 }
00793
00794
00795 PASN_Object * GCC_UserData::CreateObject() const
00796 {
00797 return new GCC_UserData_subtype;
00798 }
00799
00800
00801 GCC_UserData_subtype & GCC_UserData::operator[](PINDEX i) const
00802 {
00803 return (GCC_UserData_subtype &)array[i];
00804 }
00805
00806
00807 PObject * GCC_UserData::Clone() const
00808 {
00809 #ifndef PASN_LEANANDMEAN
00810 PAssert(IsClass(GCC_UserData::Class()), PInvalidCast);
00811 #endif
00812 return new GCC_UserData(*this);
00813 }
00814
00815
00816
00817
00818
00819
00820 GCC_Password::GCC_Password(unsigned tag, PASN_Object::TagClass tagClass)
00821 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
00822 {
00823 }
00824
00825
00826 #ifndef PASN_NOPRINTON
00827 void GCC_Password::PrintOn(ostream & strm) const
00828 {
00829 int indent = strm.precision() + 2;
00830 strm << "{\n";
00831 strm << setw(indent+10) << "numeric = " << setprecision(indent) << m_numeric << '\n';
00832 if (HasOptionalField(e_text))
00833 strm << setw(indent+7) << "text = " << setprecision(indent) << m_text << '\n';
00834 strm << setw(indent-1) << setprecision(indent-2) << "}";
00835 }
00836 #endif
00837
00838
00839 PObject::Comparison GCC_Password::Compare(const PObject & obj) const
00840 {
00841 #ifndef PASN_LEANANDMEAN
00842 PAssert(PIsDescendant(&obj, GCC_Password), PInvalidCast);
00843 #endif
00844 const GCC_Password & other = (const GCC_Password &)obj;
00845
00846 Comparison result;
00847
00848 if ((result = m_numeric.Compare(other.m_numeric)) != EqualTo)
00849 return result;
00850 if ((result = m_text.Compare(other.m_text)) != EqualTo)
00851 return result;
00852
00853 return PASN_Sequence::Compare(other);
00854 }
00855
00856
00857 PINDEX GCC_Password::GetDataLength() const
00858 {
00859 PINDEX length = 0;
00860 length += m_numeric.GetObjectLength();
00861 if (HasOptionalField(e_text))
00862 length += m_text.GetObjectLength();
00863 return length;
00864 }
00865
00866
00867 BOOL GCC_Password::Decode(PASN_Stream & strm)
00868 {
00869 if (!PreambleDecode(strm))
00870 return FALSE;
00871
00872 if (!m_numeric.Decode(strm))
00873 return FALSE;
00874 if (HasOptionalField(e_text) && !m_text.Decode(strm))
00875 return FALSE;
00876
00877 return UnknownExtensionsDecode(strm);
00878 }
00879
00880
00881 void GCC_Password::Encode(PASN_Stream & strm) const
00882 {
00883 PreambleEncode(strm);
00884
00885 m_numeric.Encode(strm);
00886 if (HasOptionalField(e_text))
00887 m_text.Encode(strm);
00888
00889 UnknownExtensionsEncode(strm);
00890 }
00891
00892
00893 PObject * GCC_Password::Clone() const
00894 {
00895 #ifndef PASN_LEANANDMEAN
00896 PAssert(IsClass(GCC_Password::Class()), PInvalidCast);
00897 #endif
00898 return new GCC_Password(*this);
00899 }
00900
00901
00902
00903 #ifndef PASN_NOPRINTON
00904 const static PASN_Names Names_GCC_PasswordSelector[]={
00905 {"numeric",0}
00906 ,{"text",1}
00907 };
00908 #endif
00909
00910
00911
00912
00913 GCC_PasswordSelector::GCC_PasswordSelector(unsigned tag, PASN_Object::TagClass tagClass)
00914 : PASN_Choice(tag, tagClass, 2, TRUE
00915 #ifndef PASN_NOPRINTON
00916 ,(const PASN_Names *)Names_GCC_PasswordSelector,2
00917 #endif
00918 )
00919 {
00920 }
00921
00922
00923 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00924 GCC_PasswordSelector::operator GCC_SimpleNumericString &() const
00925 #else
00926 GCC_PasswordSelector::operator GCC_SimpleNumericString &()
00927 {
00928 #ifndef PASN_LEANANDMEAN
00929 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleNumericString), PInvalidCast);
00930 #endif
00931 return *(GCC_SimpleNumericString *)choice;
00932 }
00933
00934
00935 GCC_PasswordSelector::operator const GCC_SimpleNumericString &() const
00936 #endif
00937 {
00938 #ifndef PASN_LEANANDMEAN
00939 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleNumericString), PInvalidCast);
00940 #endif
00941 return *(GCC_SimpleNumericString *)choice;
00942 }
00943
00944
00945 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00946 GCC_PasswordSelector::operator GCC_SimpleTextString &() const
00947 #else
00948 GCC_PasswordSelector::operator GCC_SimpleTextString &()
00949 {
00950 #ifndef PASN_LEANANDMEAN
00951 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleTextString), PInvalidCast);
00952 #endif
00953 return *(GCC_SimpleTextString *)choice;
00954 }
00955
00956
00957 GCC_PasswordSelector::operator const GCC_SimpleTextString &() const
00958 #endif
00959 {
00960 #ifndef PASN_LEANANDMEAN
00961 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleTextString), PInvalidCast);
00962 #endif
00963 return *(GCC_SimpleTextString *)choice;
00964 }
00965
00966
00967 BOOL GCC_PasswordSelector::CreateObject()
00968 {
00969 switch (tag) {
00970 case e_numeric :
00971 choice = new GCC_SimpleNumericString();
00972 return TRUE;
00973 case e_text :
00974 choice = new GCC_SimpleTextString();
00975 return TRUE;
00976 }
00977
00978 choice = NULL;
00979 return FALSE;
00980 }
00981
00982
00983 PObject * GCC_PasswordSelector::Clone() const
00984 {
00985 #ifndef PASN_LEANANDMEAN
00986 PAssert(IsClass(GCC_PasswordSelector::Class()), PInvalidCast);
00987 #endif
00988 return new GCC_PasswordSelector(*this);
00989 }
00990
00991
00992
00993 #ifndef PASN_NOPRINTON
00994 const static PASN_Names Names_GCC_ChallengeResponseItem[]={
00995 {"passwordString",0}
00996 ,{"responseData",1}
00997 };
00998 #endif
00999
01000
01001
01002
01003 GCC_ChallengeResponseItem::GCC_ChallengeResponseItem(unsigned tag, PASN_Object::TagClass tagClass)
01004 : PASN_Choice(tag, tagClass, 2, TRUE
01005 #ifndef PASN_NOPRINTON
01006 ,(const PASN_Names *)Names_GCC_ChallengeResponseItem,2
01007 #endif
01008 )
01009 {
01010 }
01011
01012
01013 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01014 GCC_ChallengeResponseItem::operator GCC_PasswordSelector &() const
01015 #else
01016 GCC_ChallengeResponseItem::operator GCC_PasswordSelector &()
01017 {
01018 #ifndef PASN_LEANANDMEAN
01019 PAssert(PIsDescendant(PAssertNULL(choice), GCC_PasswordSelector), PInvalidCast);
01020 #endif
01021 return *(GCC_PasswordSelector *)choice;
01022 }
01023
01024
01025 GCC_ChallengeResponseItem::operator const GCC_PasswordSelector &() const
01026 #endif
01027 {
01028 #ifndef PASN_LEANANDMEAN
01029 PAssert(PIsDescendant(PAssertNULL(choice), GCC_PasswordSelector), PInvalidCast);
01030 #endif
01031 return *(GCC_PasswordSelector *)choice;
01032 }
01033
01034
01035 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01036 GCC_ChallengeResponseItem::operator GCC_UserData &() const
01037 #else
01038 GCC_ChallengeResponseItem::operator GCC_UserData &()
01039 {
01040 #ifndef PASN_LEANANDMEAN
01041 PAssert(PIsDescendant(PAssertNULL(choice), GCC_UserData), PInvalidCast);
01042 #endif
01043 return *(GCC_UserData *)choice;
01044 }
01045
01046
01047 GCC_ChallengeResponseItem::operator const GCC_UserData &() const
01048 #endif
01049 {
01050 #ifndef PASN_LEANANDMEAN
01051 PAssert(PIsDescendant(PAssertNULL(choice), GCC_UserData), PInvalidCast);
01052 #endif
01053 return *(GCC_UserData *)choice;
01054 }
01055
01056
01057 BOOL GCC_ChallengeResponseItem::CreateObject()
01058 {
01059 switch (tag) {
01060 case e_passwordString :
01061 choice = new GCC_PasswordSelector();
01062 return TRUE;
01063 case e_responseData :
01064 choice = new GCC_UserData();
01065 return TRUE;
01066 }
01067
01068 choice = NULL;
01069 return FALSE;
01070 }
01071
01072
01073 PObject * GCC_ChallengeResponseItem::Clone() const
01074 {
01075 #ifndef PASN_LEANANDMEAN
01076 PAssert(IsClass(GCC_ChallengeResponseItem::Class()), PInvalidCast);
01077 #endif
01078 return new GCC_ChallengeResponseItem(*this);
01079 }
01080
01081
01082
01083 #ifndef PASN_NOPRINTON
01084 const static PASN_Names Names_GCC_ChallengeResponseAlgorithm[]={
01085 {"passwordInTheClear",0}
01086 ,{"nonStandardAlgorithm",1}
01087 };
01088 #endif
01089
01090
01091
01092
01093 GCC_ChallengeResponseAlgorithm::GCC_ChallengeResponseAlgorithm(unsigned tag, PASN_Object::TagClass tagClass)
01094 : PASN_Choice(tag, tagClass, 2, TRUE
01095 #ifndef PASN_NOPRINTON
01096 ,(const PASN_Names *)Names_GCC_ChallengeResponseAlgorithm,2
01097 #endif
01098 )
01099 {
01100 }
01101
01102
01103 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01104 GCC_ChallengeResponseAlgorithm::operator GCC_NonStandardParameter &() const
01105 #else
01106 GCC_ChallengeResponseAlgorithm::operator GCC_NonStandardParameter &()
01107 {
01108 #ifndef PASN_LEANANDMEAN
01109 PAssert(PIsDescendant(PAssertNULL(choice), GCC_NonStandardParameter), PInvalidCast);
01110 #endif
01111 return *(GCC_NonStandardParameter *)choice;
01112 }
01113
01114
01115 GCC_ChallengeResponseAlgorithm::operator const GCC_NonStandardParameter &() const
01116 #endif
01117 {
01118 #ifndef PASN_LEANANDMEAN
01119 PAssert(PIsDescendant(PAssertNULL(choice), GCC_NonStandardParameter), PInvalidCast);
01120 #endif
01121 return *(GCC_NonStandardParameter *)choice;
01122 }
01123
01124
01125 BOOL GCC_ChallengeResponseAlgorithm::CreateObject()
01126 {
01127 switch (tag) {
01128 case e_passwordInTheClear :
01129 choice = new PASN_Null();
01130 return TRUE;
01131 case e_nonStandardAlgorithm :
01132 choice = new GCC_NonStandardParameter();
01133 return TRUE;
01134 }
01135
01136 choice = NULL;
01137 return FALSE;
01138 }
01139
01140
01141 PObject * GCC_ChallengeResponseAlgorithm::Clone() const
01142 {
01143 #ifndef PASN_LEANANDMEAN
01144 PAssert(IsClass(GCC_ChallengeResponseAlgorithm::Class()), PInvalidCast);
01145 #endif
01146 return new GCC_ChallengeResponseAlgorithm(*this);
01147 }
01148
01149
01150
01151
01152
01153
01154 GCC_ChallengeItem::GCC_ChallengeItem(unsigned tag, PASN_Object::TagClass tagClass)
01155 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
01156 {
01157 }
01158
01159
01160 #ifndef PASN_NOPRINTON
01161 void GCC_ChallengeItem::PrintOn(ostream & strm) const
01162 {
01163 int indent = strm.precision() + 2;
01164 strm << "{\n";
01165 strm << setw(indent+20) << "responseAlgorithm = " << setprecision(indent) << m_responseAlgorithm << '\n';
01166 strm << setw(indent+16) << "challengeData = " << setprecision(indent) << m_challengeData << '\n';
01167 strm << setw(indent-1) << setprecision(indent-2) << "}";
01168 }
01169 #endif
01170
01171
01172 PObject::Comparison GCC_ChallengeItem::Compare(const PObject & obj) const
01173 {
01174 #ifndef PASN_LEANANDMEAN
01175 PAssert(PIsDescendant(&obj, GCC_ChallengeItem), PInvalidCast);
01176 #endif
01177 const GCC_ChallengeItem & other = (const GCC_ChallengeItem &)obj;
01178
01179 Comparison result;
01180
01181 if ((result = m_responseAlgorithm.Compare(other.m_responseAlgorithm)) != EqualTo)
01182 return result;
01183 if ((result = m_challengeData.Compare(other.m_challengeData)) != EqualTo)
01184 return result;
01185
01186 return PASN_Sequence::Compare(other);
01187 }
01188
01189
01190 PINDEX GCC_ChallengeItem::GetDataLength() const
01191 {
01192 PINDEX length = 0;
01193 length += m_responseAlgorithm.GetObjectLength();
01194 length += m_challengeData.GetObjectLength();
01195 return length;
01196 }
01197
01198
01199 BOOL GCC_ChallengeItem::Decode(PASN_Stream & strm)
01200 {
01201 if (!PreambleDecode(strm))
01202 return FALSE;
01203
01204 if (!m_responseAlgorithm.Decode(strm))
01205 return FALSE;
01206 if (!m_challengeData.Decode(strm))
01207 return FALSE;
01208
01209 return UnknownExtensionsDecode(strm);
01210 }
01211
01212
01213 void GCC_ChallengeItem::Encode(PASN_Stream & strm) const
01214 {
01215 PreambleEncode(strm);
01216
01217 m_responseAlgorithm.Encode(strm);
01218 m_challengeData.Encode(strm);
01219
01220 UnknownExtensionsEncode(strm);
01221 }
01222
01223
01224 PObject * GCC_ChallengeItem::Clone() const
01225 {
01226 #ifndef PASN_LEANANDMEAN
01227 PAssert(IsClass(GCC_ChallengeItem::Class()), PInvalidCast);
01228 #endif
01229 return new GCC_ChallengeItem(*this);
01230 }
01231
01232
01233
01234
01235
01236
01237 GCC_ChallengeResponse::GCC_ChallengeResponse(unsigned tag, PASN_Object::TagClass tagClass)
01238 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
01239 {
01240 }
01241
01242
01243 #ifndef PASN_NOPRINTON
01244 void GCC_ChallengeResponse::PrintOn(ostream & strm) const
01245 {
01246 int indent = strm.precision() + 2;
01247 strm << "{\n";
01248 strm << setw(indent+15) << "challengeTag = " << setprecision(indent) << m_challengeTag << '\n';
01249 strm << setw(indent+20) << "responseAlgorithm = " << setprecision(indent) << m_responseAlgorithm << '\n';
01250 strm << setw(indent+15) << "responseItem = " << setprecision(indent) << m_responseItem << '\n';
01251 strm << setw(indent-1) << setprecision(indent-2) << "}";
01252 }
01253 #endif
01254
01255
01256 PObject::Comparison GCC_ChallengeResponse::Compare(const PObject & obj) const
01257 {
01258 #ifndef PASN_LEANANDMEAN
01259 PAssert(PIsDescendant(&obj, GCC_ChallengeResponse), PInvalidCast);
01260 #endif
01261 const GCC_ChallengeResponse & other = (const GCC_ChallengeResponse &)obj;
01262
01263 Comparison result;
01264
01265 if ((result = m_challengeTag.Compare(other.m_challengeTag)) != EqualTo)
01266 return result;
01267 if ((result = m_responseAlgorithm.Compare(other.m_responseAlgorithm)) != EqualTo)
01268 return result;
01269 if ((result = m_responseItem.Compare(other.m_responseItem)) != EqualTo)
01270 return result;
01271
01272 return PASN_Sequence::Compare(other);
01273 }
01274
01275
01276 PINDEX GCC_ChallengeResponse::GetDataLength() const
01277 {
01278 PINDEX length = 0;
01279 length += m_challengeTag.GetObjectLength();
01280 length += m_responseAlgorithm.GetObjectLength();
01281 length += m_responseItem.GetObjectLength();
01282 return length;
01283 }
01284
01285
01286 BOOL GCC_ChallengeResponse::Decode(PASN_Stream & strm)
01287 {
01288 if (!PreambleDecode(strm))
01289 return FALSE;
01290
01291 if (!m_challengeTag.Decode(strm))
01292 return FALSE;
01293 if (!m_responseAlgorithm.Decode(strm))
01294 return FALSE;
01295 if (!m_responseItem.Decode(strm))
01296 return FALSE;
01297
01298 return UnknownExtensionsDecode(strm);
01299 }
01300
01301
01302 void GCC_ChallengeResponse::Encode(PASN_Stream & strm) const
01303 {
01304 PreambleEncode(strm);
01305
01306 m_challengeTag.Encode(strm);
01307 m_responseAlgorithm.Encode(strm);
01308 m_responseItem.Encode(strm);
01309
01310 UnknownExtensionsEncode(strm);
01311 }
01312
01313
01314 PObject * GCC_ChallengeResponse::Clone() const
01315 {
01316 #ifndef PASN_LEANANDMEAN
01317 PAssert(IsClass(GCC_ChallengeResponse::Class()), PInvalidCast);
01318 #endif
01319 return new GCC_ChallengeResponse(*this);
01320 }
01321
01322
01323
01324 #ifndef PASN_NOPRINTON
01325 const static PASN_Names Names_GCC_PasswordChallengeRequestResponse[]={
01326 {"passwordInTheClear",0}
01327 ,{"challengeRequestResponse",1}
01328 };
01329 #endif
01330
01331
01332
01333
01334 GCC_PasswordChallengeRequestResponse::GCC_PasswordChallengeRequestResponse(unsigned tag, PASN_Object::TagClass tagClass)
01335 : PASN_Choice(tag, tagClass, 2, TRUE
01336 #ifndef PASN_NOPRINTON
01337 ,(const PASN_Names *)Names_GCC_PasswordChallengeRequestResponse,2
01338 #endif
01339 )
01340 {
01341 }
01342
01343
01344 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01345 GCC_PasswordChallengeRequestResponse::operator GCC_PasswordSelector &() const
01346 #else
01347 GCC_PasswordChallengeRequestResponse::operator GCC_PasswordSelector &()
01348 {
01349 #ifndef PASN_LEANANDMEAN
01350 PAssert(PIsDescendant(PAssertNULL(choice), GCC_PasswordSelector), PInvalidCast);
01351 #endif
01352 return *(GCC_PasswordSelector *)choice;
01353 }
01354
01355
01356 GCC_PasswordChallengeRequestResponse::operator const GCC_PasswordSelector &() const
01357 #endif
01358 {
01359 #ifndef PASN_LEANANDMEAN
01360 PAssert(PIsDescendant(PAssertNULL(choice), GCC_PasswordSelector), PInvalidCast);
01361 #endif
01362 return *(GCC_PasswordSelector *)choice;
01363 }
01364
01365
01366 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01367 GCC_PasswordChallengeRequestResponse::operator GCC_PasswordChallengeRequestResponse_challengeRequestResponse &() const
01368 #else
01369 GCC_PasswordChallengeRequestResponse::operator GCC_PasswordChallengeRequestResponse_challengeRequestResponse &()
01370 {
01371 #ifndef PASN_LEANANDMEAN
01372 PAssert(PIsDescendant(PAssertNULL(choice), GCC_PasswordChallengeRequestResponse_challengeRequestResponse), PInvalidCast);
01373 #endif
01374 return *(GCC_PasswordChallengeRequestResponse_challengeRequestResponse *)choice;
01375 }
01376
01377
01378 GCC_PasswordChallengeRequestResponse::operator const GCC_PasswordChallengeRequestResponse_challengeRequestResponse &() const
01379 #endif
01380 {
01381 #ifndef PASN_LEANANDMEAN
01382 PAssert(PIsDescendant(PAssertNULL(choice), GCC_PasswordChallengeRequestResponse_challengeRequestResponse), PInvalidCast);
01383 #endif
01384 return *(GCC_PasswordChallengeRequestResponse_challengeRequestResponse *)choice;
01385 }
01386
01387
01388 BOOL GCC_PasswordChallengeRequestResponse::CreateObject()
01389 {
01390 switch (tag) {
01391 case e_passwordInTheClear :
01392 choice = new GCC_PasswordSelector();
01393 return TRUE;
01394 case e_challengeRequestResponse :
01395 choice = new GCC_PasswordChallengeRequestResponse_challengeRequestResponse();
01396 return TRUE;
01397 }
01398
01399 choice = NULL;
01400 return FALSE;
01401 }
01402
01403
01404 PObject * GCC_PasswordChallengeRequestResponse::Clone() const
01405 {
01406 #ifndef PASN_LEANANDMEAN
01407 PAssert(IsClass(GCC_PasswordChallengeRequestResponse::Class()), PInvalidCast);
01408 #endif
01409 return new GCC_PasswordChallengeRequestResponse(*this);
01410 }
01411
01412
01413
01414
01415
01416
01417 GCC_ConferenceName::GCC_ConferenceName(unsigned tag, PASN_Object::TagClass tagClass)
01418 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
01419 {
01420 }
01421
01422
01423 #ifndef PASN_NOPRINTON
01424 void GCC_ConferenceName::PrintOn(ostream & strm) const
01425 {
01426 int indent = strm.precision() + 2;
01427 strm << "{\n";
01428 strm << setw(indent+10) << "numeric = " << setprecision(indent) << m_numeric << '\n';
01429 if (HasOptionalField(e_text))
01430 strm << setw(indent+7) << "text = " << setprecision(indent) << m_text << '\n';
01431 strm << setw(indent-1) << setprecision(indent-2) << "}";
01432 }
01433 #endif
01434
01435
01436 PObject::Comparison GCC_ConferenceName::Compare(const PObject & obj) const
01437 {
01438 #ifndef PASN_LEANANDMEAN
01439 PAssert(PIsDescendant(&obj, GCC_ConferenceName), PInvalidCast);
01440 #endif
01441 const GCC_ConferenceName & other = (const GCC_ConferenceName &)obj;
01442
01443 Comparison result;
01444
01445 if ((result = m_numeric.Compare(other.m_numeric)) != EqualTo)
01446 return result;
01447 if ((result = m_text.Compare(other.m_text)) != EqualTo)
01448 return result;
01449
01450 return PASN_Sequence::Compare(other);
01451 }
01452
01453
01454 PINDEX GCC_ConferenceName::GetDataLength() const
01455 {
01456 PINDEX length = 0;
01457 length += m_numeric.GetObjectLength();
01458 if (HasOptionalField(e_text))
01459 length += m_text.GetObjectLength();
01460 return length;
01461 }
01462
01463
01464 BOOL GCC_ConferenceName::Decode(PASN_Stream & strm)
01465 {
01466 if (!PreambleDecode(strm))
01467 return FALSE;
01468
01469 if (!m_numeric.Decode(strm))
01470 return FALSE;
01471 if (HasOptionalField(e_text) && !m_text.Decode(strm))
01472 return FALSE;
01473
01474 return UnknownExtensionsDecode(strm);
01475 }
01476
01477
01478 void GCC_ConferenceName::Encode(PASN_Stream & strm) const
01479 {
01480 PreambleEncode(strm);
01481
01482 m_numeric.Encode(strm);
01483 if (HasOptionalField(e_text))
01484 m_text.Encode(strm);
01485
01486 UnknownExtensionsEncode(strm);
01487 }
01488
01489
01490 PObject * GCC_ConferenceName::Clone() const
01491 {
01492 #ifndef PASN_LEANANDMEAN
01493 PAssert(IsClass(GCC_ConferenceName::Class()), PInvalidCast);
01494 #endif
01495 return new GCC_ConferenceName(*this);
01496 }
01497
01498
01499
01500 #ifndef PASN_NOPRINTON
01501 const static PASN_Names Names_GCC_ConferenceNameSelector[]={
01502 {"numeric",0}
01503 ,{"text",1}
01504 };
01505 #endif
01506
01507
01508
01509
01510 GCC_ConferenceNameSelector::GCC_ConferenceNameSelector(unsigned tag, PASN_Object::TagClass tagClass)
01511 : PASN_Choice(tag, tagClass, 2, TRUE
01512 #ifndef PASN_NOPRINTON
01513 ,(const PASN_Names *)Names_GCC_ConferenceNameSelector,2
01514 #endif
01515 )
01516 {
01517 }
01518
01519
01520 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01521 GCC_ConferenceNameSelector::operator GCC_SimpleNumericString &() const
01522 #else
01523 GCC_ConferenceNameSelector::operator GCC_SimpleNumericString &()
01524 {
01525 #ifndef PASN_LEANANDMEAN
01526 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleNumericString), PInvalidCast);
01527 #endif
01528 return *(GCC_SimpleNumericString *)choice;
01529 }
01530
01531
01532 GCC_ConferenceNameSelector::operator const GCC_SimpleNumericString &() const
01533 #endif
01534 {
01535 #ifndef PASN_LEANANDMEAN
01536 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleNumericString), PInvalidCast);
01537 #endif
01538 return *(GCC_SimpleNumericString *)choice;
01539 }
01540
01541
01542 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01543 GCC_ConferenceNameSelector::operator GCC_SimpleTextString &() const
01544 #else
01545 GCC_ConferenceNameSelector::operator GCC_SimpleTextString &()
01546 {
01547 #ifndef PASN_LEANANDMEAN
01548 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleTextString), PInvalidCast);
01549 #endif
01550 return *(GCC_SimpleTextString *)choice;
01551 }
01552
01553
01554 GCC_ConferenceNameSelector::operator const GCC_SimpleTextString &() const
01555 #endif
01556 {
01557 #ifndef PASN_LEANANDMEAN
01558 PAssert(PIsDescendant(PAssertNULL(choice), GCC_SimpleTextString), PInvalidCast);
01559 #endif
01560 return *(GCC_SimpleTextString *)choice;
01561 }
01562
01563
01564 BOOL GCC_ConferenceNameSelector::CreateObject()
01565 {
01566 switch (tag) {
01567 case e_numeric :
01568 choice = new GCC_SimpleNumericString();
01569 return TRUE;
01570 case e_text :
01571 choice = new GCC_SimpleTextString();
01572 return TRUE;
01573 }
01574
01575 choice = NULL;
01576 return FALSE;
01577 }
01578
01579
01580 PObject * GCC_ConferenceNameSelector::Clone() const
01581 {
01582 #ifndef PASN_LEANANDMEAN
01583 PAssert(IsClass(GCC_ConferenceNameSelector::Class()), PInvalidCast);
01584 #endif
01585 return new GCC_ConferenceNameSelector(*this);
01586 }
01587
01588
01589
01590
01591
01592
01593 GCC_ConferenceNameModifier::GCC_ConferenceNameModifier(unsigned tag, PASN_Object::TagClass tagClass)
01594 : GCC_SimpleNumericString(tag, tagClass)
01595 {
01596 }
01597
01598
01599 GCC_ConferenceNameModifier & GCC_ConferenceNameModifier::operator=(const char * v)
01600 {
01601 SetValue(v);
01602 return *this;
01603 }
01604
01605
01606 GCC_ConferenceNameModifier & GCC_ConferenceNameModifier::operator=(const PString & v)
01607 {
01608 SetValue(v);
01609 return *this;
01610 }
01611
01612
01613 PObject * GCC_ConferenceNameModifier::Clone() const
01614 {
01615 #ifndef PASN_LEANANDMEAN
01616 PAssert(IsClass(GCC_ConferenceNameModifier::Class()), PInvalidCast);
01617 #endif
01618 return new GCC_ConferenceNameModifier(*this);
01619 }
01620
01621
01622 #ifndef PASN_NOPRINTON
01623 const static PASN_Names Names_GCC_Privilege[]={
01624 {"terminate",0}
01625 ,{"ejectUser",1}
01626 ,{"add",2}
01627 ,{"lockUnlock",3}
01628 ,{"transfer",4}
01629 };
01630 #endif
01631
01632
01633
01634
01635 GCC_Privilege::GCC_Privilege(unsigned tag, PASN_Object::TagClass tagClass)
01636 : PASN_Enumeration(tag, tagClass, 4, TRUE
01637 #ifndef PASN_NOPRINTON
01638 ,(const PASN_Names *)Names_GCC_Privilege,5
01639 #endif
01640 )
01641 {
01642 }
01643
01644
01645 GCC_Privilege & GCC_Privilege::operator=(unsigned v)
01646 {
01647 SetValue(v);
01648 return *this;
01649 }
01650
01651
01652 PObject * GCC_Privilege::Clone() const
01653 {
01654 #ifndef PASN_LEANANDMEAN
01655 PAssert(IsClass(GCC_Privilege::Class()), PInvalidCast);
01656 #endif
01657 return new GCC_Privilege(*this);
01658 }
01659
01660
01661 #ifndef PASN_NOPRINTON
01662 const static PASN_Names Names_GCC_TerminationMethod[]={
01663 {"automatic",0}
01664 ,{"manual",1}
01665 };
01666 #endif
01667
01668
01669
01670
01671 GCC_TerminationMethod::GCC_TerminationMethod(unsigned tag, PASN_Object::TagClass tagClass)
01672 : PASN_Enumeration(tag, tagClass, 1, TRUE
01673 #ifndef PASN_NOPRINTON
01674 ,(const PASN_Names *)Names_GCC_TerminationMethod,2
01675 #endif
01676 )
01677 {
01678 }
01679
01680
01681 GCC_TerminationMethod & GCC_TerminationMethod::operator=(unsigned v)
01682 {
01683 SetValue(v);
01684 return *this;
01685 }
01686
01687
01688 PObject * GCC_TerminationMethod::Clone() const
01689 {
01690 #ifndef PASN_LEANANDMEAN
01691 PAssert(IsClass(GCC_TerminationMethod::Class()), PInvalidCast);
01692 #endif
01693 return new GCC_TerminationMethod(*this);
01694 }
01695
01696
01697
01698 #ifndef PASN_NOPRINTON
01699 const static PASN_Names Names_GCC_ConferencePriorityScheme[]={
01700 {"nonStandardScheme",0}
01701 };
01702 #endif
01703
01704
01705
01706
01707 GCC_ConferencePriorityScheme::GCC_ConferencePriorityScheme(unsigned tag, PASN_Object::TagClass tagClass)
01708 : PASN_Choice(tag, tagClass, 1, TRUE
01709 #ifndef PASN_NOPRINTON
01710 ,(const PASN_Names *)Names_GCC_ConferencePriorityScheme,1
01711 #endif
01712 )
01713 {
01714 }
01715
01716
01717 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01718 GCC_ConferencePriorityScheme::operator GCC_NonStandardParameter &() const
01719 #else
01720 GCC_ConferencePriorityScheme::operator GCC_NonStandardParameter &()
01721 {
01722 #ifndef PASN_LEANANDMEAN
01723 PAssert(PIsDescendant(PAssertNULL(choice), GCC_NonStandardParameter), PInvalidCast);
01724 #endif
01725 return *(GCC_NonStandardParameter *)choice;
01726 }
01727
01728
01729 GCC_ConferencePriorityScheme::operator const GCC_NonStandardParameter &() const
01730 #endif
01731 {
01732 #ifndef PASN_LEANANDMEAN
01733 PAssert(PIsDescendant(PAssertNULL(choice), GCC_NonStandardParameter), PInvalidCast);
01734 #endif
01735 return *(GCC_NonStandardParameter *)choice;
01736 }
01737
01738
01739 BOOL GCC_ConferencePriorityScheme::CreateObject()
01740 {
01741 switch (tag) {
01742 case e_nonStandardScheme :
01743 choice = new GCC_NonStandardParameter();
01744 return TRUE;
01745 }
01746
01747 choice = NULL;
01748 return FALSE;
01749 }
01750
01751
01752 PObject * GCC_ConferencePriorityScheme::Clone() const
01753 {
01754 #ifndef PASN_LEANANDMEAN
01755 PAssert(IsClass(GCC_ConferencePriorityScheme::Class()), PInvalidCast);
01756 #endif
01757 return new GCC_ConferencePriorityScheme(*this);
01758 }
01759
01760
01761
01762
01763
01764
01765 GCC_ConferencePriority::GCC_ConferencePriority(unsigned tag, PASN_Object::TagClass tagClass)
01766 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
01767 {
01768 m_priority.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
01769 }
01770
01771
01772 #ifndef PASN_NOPRINTON
01773 void GCC_ConferencePriority::PrintOn(ostream & strm) const
01774 {
01775 int indent = strm.precision() + 2;
01776 strm << "{\n";
01777 strm << setw(indent+11) << "priority = " << setprecision(indent) << m_priority << '\n';
01778 strm << setw(indent+9) << "scheme = " << setprecision(indent) << m_scheme << '\n';
01779 strm << setw(indent-1) << setprecision(indent-2) << "}";
01780 }
01781 #endif
01782
01783
01784 PObject::Comparison GCC_ConferencePriority::Compare(const PObject & obj) const
01785 {
01786 #ifndef PASN_LEANANDMEAN
01787 PAssert(PIsDescendant(&obj, GCC_ConferencePriority), PInvalidCast);
01788 #endif
01789 const GCC_ConferencePriority & other = (const GCC_ConferencePriority &)obj;
01790
01791 Comparison result;
01792
01793 if ((result = m_priority.Compare(other.m_priority)) != EqualTo)
01794 return result;
01795 if ((result = m_scheme.Compare(other.m_scheme)) != EqualTo)
01796 return result;
01797
01798 return PASN_Sequence::Compare(other);
01799 }
01800
01801
01802 PINDEX GCC_ConferencePriority::GetDataLength() const
01803 {
01804 PINDEX length = 0;
01805 length += m_priority.GetObjectLength();
01806 length += m_scheme.GetObjectLength();
01807 return length;
01808 }
01809
01810
01811 BOOL GCC_ConferencePriority::Decode(PASN_Stream & strm)
01812 {
01813 if (!PreambleDecode(strm))
01814 return FALSE;
01815
01816 if (!m_priority.Decode(strm))
01817 return FALSE;
01818 if (!m_scheme.Decode(strm))
01819 return FALSE;
01820
01821 return UnknownExtensionsDecode(strm);
01822 }
01823
01824
01825 void GCC_ConferencePriority::Encode(PASN_Stream & strm) const
01826 {
01827 PreambleEncode(strm);
01828
01829 m_priority.Encode(strm);
01830 m_scheme.Encode(strm);
01831
01832 UnknownExtensionsEncode(strm);
01833 }
01834
01835
01836 PObject * GCC_ConferencePriority::Clone() const
01837 {
01838 #ifndef PASN_LEANANDMEAN
01839 PAssert(IsClass(GCC_ConferencePriority::Class()), PInvalidCast);
01840 #endif
01841 return new GCC_ConferencePriority(*this);
01842 }
01843
01844
01845
01846
01847
01848
01849 GCC_NetworkAddress::GCC_NetworkAddress(unsigned tag, PASN_Object::TagClass tagClass)
01850 : PASN_Array(tag, tagClass)
01851 {
01852 SetConstraints(PASN_Object::FixedConstraint, 1, 64);
01853 }
01854
01855
01856 PASN_Object * GCC_NetworkAddress::CreateObject() const
01857 {
01858 return new GCC_NetworkAddress_subtype;
01859 }
01860
01861
01862 GCC_NetworkAddress_subtype & GCC_NetworkAddress::operator[](PINDEX i) const
01863 {
01864 return (GCC_NetworkAddress_subtype &)array[i];
01865 }
01866
01867
01868 PObject * GCC_NetworkAddress::Clone() const
01869 {
01870 #ifndef PASN_LEANANDMEAN
01871 PAssert(IsClass(GCC_NetworkAddress::Class()), PInvalidCast);
01872 #endif
01873 return new GCC_NetworkAddress(*this);
01874 }
01875
01876
01877 #ifndef PASN_NOPRINTON
01878 const static PASN_Names Names_GCC_NodeType[]={
01879 {"terminal",0}
01880 ,{"multiportTerminal",1}
01881 ,{"mcu",2}
01882 };
01883 #endif
01884
01885
01886
01887
01888 GCC_NodeType::GCC_NodeType(unsigned tag, PASN_Object::TagClass tagClass)
01889 : PASN_Enumeration(tag, tagClass, 2, TRUE
01890 #ifndef PASN_NOPRINTON
01891 ,(const PASN_Names *)Names_GCC_NodeType,3
01892 #endif
01893 )
01894 {
01895 }
01896
01897
01898 GCC_NodeType & GCC_NodeType::operator=(unsigned v)
01899 {
01900 SetValue(v);
01901 return *this;
01902 }
01903
01904
01905 PObject * GCC_NodeType::Clone() const
01906 {
01907 #ifndef PASN_LEANANDMEAN
01908 PAssert(IsClass(GCC_NodeType::Class()), PInvalidCast);
01909 #endif
01910 return new GCC_NodeType(*this);
01911 }
01912
01913
01914
01915
01916
01917
01918 GCC_NodeProperties::GCC_NodeProperties(unsigned tag, PASN_Object::TagClass tagClass)
01919 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
01920 {
01921 }
01922
01923
01924 #ifndef PASN_NOPRINTON
01925 void GCC_NodeProperties::PrintOn(ostream & strm) const
01926 {
01927 int indent = strm.precision() + 2;
01928 strm << "{\n";
01929 strm << setw(indent+19) << "managementDevice = " << setprecision(indent) << m_managementDevice << '\n';
01930 strm << setw(indent+19) << "peripheralDevice = " << setprecision(indent) << m_peripheralDevice << '\n';
01931 strm << setw(indent-1) << setprecision(indent-2) << "}";
01932 }
01933 #endif
01934
01935
01936 PObject::Comparison GCC_NodeProperties::Compare(const PObject & obj) const
01937 {
01938 #ifndef PASN_LEANANDMEAN
01939 PAssert(PIsDescendant(&obj, GCC_NodeProperties), PInvalidCast);
01940 #endif
01941 const GCC_NodeProperties & other = (const GCC_NodeProperties &)obj;
01942
01943 Comparison result;
01944
01945 if ((result = m_managementDevice.Compare(other.m_managementDevice)) != EqualTo)
01946 return result;
01947 if ((result = m_peripheralDevice.Compare(other.m_peripheralDevice)) != EqualTo)
01948 return result;
01949
01950 return PASN_Sequence::Compare(other);
01951 }
01952
01953
01954 PINDEX GCC_NodeProperties::GetDataLength() const
01955 {
01956 PINDEX length = 0;
01957 length += m_managementDevice.GetObjectLength();
01958 length += m_peripheralDevice.GetObjectLength();
01959 return length;
01960 }
01961
01962
01963 BOOL GCC_NodeProperties::Decode(PASN_Stream & strm)
01964 {
01965 if (!PreambleDecode(strm))
01966 return FALSE;
01967
01968 if (!m_managementDevice.Decode(strm))
01969 return FALSE;
01970 if (!m_peripheralDevice.Decode(strm))
01971 return FALSE;
01972
01973 return UnknownExtensionsDecode(strm);
01974 }
01975
01976
01977 void GCC_NodeProperties::Encode(PASN_Stream & strm) const
01978 {
01979 PreambleEncode(strm);
01980
01981 m_managementDevice.Encode(strm);
01982 m_peripheralDevice.Encode(strm);
01983
01984 UnknownExtensionsEncode(strm);
01985 }
01986
01987
01988 PObject * GCC_NodeProperties::Clone() const
01989 {
01990 #ifndef PASN_LEANANDMEAN
01991 PAssert(IsClass(GCC_NodeProperties::Class()), PInvalidCast);
01992 #endif
01993 return new GCC_NodeProperties(*this);
01994 }
01995
01996
01997
01998 #ifndef PASN_NOPRINTON
01999 const static PASN_Names Names_GCC_AsymmetryIndicator[]={
02000 {"callingNode",0}
02001 ,{"calledNode",1}
02002 ,{"unknown",2}
02003 };
02004 #endif
02005
02006
02007
02008
02009 GCC_AsymmetryIndicator::GCC_AsymmetryIndicator(unsigned tag, PASN_Object::TagClass tagClass)
02010 : PASN_Choice(tag, tagClass, 3, FALSE
02011 #ifndef PASN_NOPRINTON
02012 ,(const PASN_Names *)Names_GCC_AsymmetryIndicator,3
02013 #endif
02014 )
02015 {
02016 }
02017
02018
02019 BOOL GCC_AsymmetryIndicator::CreateObject()
02020 {
02021 switch (tag) {
02022 case e_callingNode :
02023 case e_calledNode :
02024 choice = new PASN_Null();
02025 return TRUE;
02026 case e_unknown :
02027 choice = new PASN_Integer();
02028 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
02029 return TRUE;
02030 }
02031
02032 choice = NULL;
02033 return FALSE;
02034 }
02035
02036
02037 PObject * GCC_AsymmetryIndicator::Clone() const
02038 {
02039 #ifndef PASN_LEANANDMEAN
02040 PAssert(IsClass(GCC_AsymmetryIndicator::Class()), PInvalidCast);
02041 #endif
02042 return new GCC_AsymmetryIndicator(*this);
02043 }
02044
02045
02046
02047 #ifndef PASN_NOPRINTON
02048 const static PASN_Names Names_GCC_AlternativeNodeID[]={
02049 {"h243NodeID",0}
02050 };
02051 #endif
02052
02053
02054
02055
02056 GCC_AlternativeNodeID::GCC_AlternativeNodeID(unsigned tag, PASN_Object::TagClass tagClass)
02057 : PASN_Choice(tag, tagClass, 1, TRUE
02058 #ifndef PASN_NOPRINTON
02059 ,(const PASN_Names *)Names_GCC_AlternativeNodeID,1
02060 #endif
02061 )
02062 {
02063 }
02064
02065
02066 BOOL GCC_AlternativeNodeID::CreateObject()
02067 {
02068 switch (tag) {
02069 case e_h243NodeID :
02070 choice = new PASN_OctetString();
02071 choice->SetConstraints(PASN_Object::FixedConstraint, 2);
02072 return TRUE;
02073 }
02074
02075 choice = NULL;
02076 return FALSE;
02077 }
02078
02079
02080 PObject * GCC_AlternativeNodeID::Clone() const
02081 {
02082 #ifndef PASN_LEANANDMEAN
02083 PAssert(IsClass(GCC_AlternativeNodeID::Class()), PInvalidCast);
02084 #endif
02085 return new GCC_AlternativeNodeID(*this);
02086 }
02087
02088
02089
02090
02091
02092
02093 GCC_ConferenceDescriptor::GCC_ConferenceDescriptor(unsigned tag, PASN_Object::TagClass tagClass)
02094 : PASN_Sequence(tag, tagClass, 3, TRUE, 1)
02095 {
02096 IncludeOptionalField(e_defaultConferenceFlag);
02097 }
02098
02099
02100 #ifndef PASN_NOPRINTON
02101 void GCC_ConferenceDescriptor::PrintOn(ostream & strm) const
02102 {
02103 int indent = strm.precision() + 2;
02104 strm << "{\n";
02105 strm << setw(indent+17) << "conferenceName = " << setprecision(indent) << m_conferenceName << '\n';
02106 if (HasOptionalField(e_conferenceNameModifier))
02107 strm << setw(indent+25) << "conferenceNameModifier = " << setprecision(indent) << m_conferenceNameModifier << '\n';
02108 if (HasOptionalField(e_conferenceDescription))
02109 strm << setw(indent+24) << "conferenceDescription = " << setprecision(indent) << m_conferenceDescription << '\n';
02110 strm << setw(indent+19) << "lockedConference = " << setprecision(indent) << m_lockedConference << '\n';
02111 strm << setw(indent+29) << "passwordInTheClearRequired = " << setprecision(indent) << m_passwordInTheClearRequired << '\n';
02112 if (HasOptionalField(e_networkAddress))
02113 strm << setw(indent+17) << "networkAddress = " << setprecision(indent) << m_networkAddress << '\n';
02114 if (HasOptionalField(e_defaultConferenceFlag))
02115 strm << setw(indent+24) << "defaultConferenceFlag = " << setprecision(indent) << m_defaultConferenceFlag << '\n';
02116 strm << setw(indent-1) << setprecision(indent-2) << "}";
02117 }
02118 #endif
02119
02120
02121 PObject::Comparison GCC_ConferenceDescriptor::Compare(const PObject & obj) const
02122 {
02123 #ifndef PASN_LEANANDMEAN
02124 PAssert(PIsDescendant(&obj, GCC_ConferenceDescriptor), PInvalidCast);
02125 #endif
02126 const GCC_ConferenceDescriptor & other = (const GCC_ConferenceDescriptor &)obj;
02127
02128 Comparison result;
02129
02130 if ((result = m_conferenceName.Compare(other.m_conferenceName)) != EqualTo)
02131 return result;
02132 if ((result = m_conferenceNameModifier.Compare(other.m_conferenceNameModifier)) != EqualTo)
02133 return result;
02134 if ((result = m_conferenceDescription.Compare(other.m_conferenceDescription)) != EqualTo)
02135 return result;
02136 if ((result = m_lockedConference.Compare(other.m_lockedConference)) != EqualTo)
02137 return result;
02138 if ((result = m_passwordInTheClearRequired.Compare(other.m_passwordInTheClearRequired)) != EqualTo)
02139 return result;
02140 if ((result = m_networkAddress.Compare(other.m_networkAddress)) != EqualTo)
02141 return result;
02142
02143 return PASN_Sequence::Compare(other);
02144 }
02145
02146
02147 PINDEX GCC_ConferenceDescriptor::GetDataLength() const
02148 {
02149 PINDEX length = 0;
02150 length += m_conferenceName.GetObjectLength();
02151 if (HasOptionalField(e_conferenceNameModifier))
02152 length += m_conferenceNameModifier.GetObjectLength();
02153 if (HasOptionalField(e_conferenceDescription))
02154 length += m_conferenceDescription.GetObjectLength();
02155 length += m_lockedConference.GetObjectLength();
02156 length += m_passwordInTheClearRequired.GetObjectLength();
02157 if (HasOptionalField(e_networkAddress))
02158 length += m_networkAddress.GetObjectLength();
02159 return length;
02160 }
02161
02162
02163 BOOL GCC_ConferenceDescriptor::Decode(PASN_Stream & strm)
02164 {
02165 if (!PreambleDecode(strm))
02166 return FALSE;
02167
02168 if (!m_conferenceName.Decode(strm))
02169 return FALSE;
02170 if (HasOptionalField(e_conferenceNameModifier) && !m_conferenceNameModifier.Decode(strm))
02171 return FALSE;
02172 if (HasOptionalField(e_conferenceDescription) && !m_conferenceDescription.Decode(strm))
02173 return FALSE;
02174 if (!m_lockedConference.Decode(strm))
02175 return FALSE;
02176 if (!m_passwordInTheClearRequired.Decode(strm))
02177 return FALSE;
02178 if (HasOptionalField(e_networkAddress) && !m_networkAddress.Decode(strm))
02179 return FALSE;
02180 if (!KnownExtensionDecode(strm, e_defaultConferenceFlag, m_defaultConferenceFlag))
02181 return FALSE;
02182
02183 return UnknownExtensionsDecode(strm);
02184 }
02185
02186
02187 void GCC_ConferenceDescriptor::Encode(PASN_Stream & strm) const
02188 {
02189 PreambleEncode(strm);
02190
02191 m_conferenceName.Encode(strm);
02192 if (HasOptionalField(e_conferenceNameModifier))
02193 m_conferenceNameModifier.Encode(strm);
02194 if (HasOptionalField(e_conferenceDescription))
02195 m_conferenceDescription.Encode(strm);
02196 m_lockedConference.Encode(strm);
02197 m_passwordInTheClearRequired.Encode(strm);
02198 if (HasOptionalField(e_networkAddress))
02199 m_networkAddress.Encode(strm);
02200 KnownExtensionEncode(strm, e_defaultConferenceFlag, m_defaultConferenceFlag);
02201
02202 UnknownExtensionsEncode(strm);
02203 }
02204
02205
02206 PObject * GCC_ConferenceDescriptor::Clone() const
02207 {
02208 #ifndef PASN_LEANANDMEAN
02209 PAssert(IsClass(GCC_ConferenceDescriptor::Class()), PInvalidCast);
02210 #endif
02211 return new GCC_ConferenceDescriptor(*this);
02212 }
02213
02214
02215
02216
02217
02218
02219 GCC_SessionKey::GCC_SessionKey(unsigned tag, PASN_Object::TagClass tagClass)
02220 : PASN_Sequence(tag, tagClass, 1, FALSE, 0)
02221 {
02222 }
02223
02224
02225 #ifndef PASN_NOPRINTON
02226 void GCC_SessionKey::PrintOn(ostream & strm) const
02227 {
02228 int indent = strm.precision() + 2;
02229 strm << "{\n";
02230 strm << setw(indent+25) << "applicationProtocolKey = " << setprecision(indent) << m_applicationProtocolKey << '\n';
02231 if (HasOptionalField(e_sessionID))
02232 strm << setw(indent+12) << "sessionID = " << setprecision(indent) << m_sessionID << '\n';
02233 strm << setw(indent-1) << setprecision(indent-2) << "}";
02234 }
02235 #endif
02236
02237
02238 PObject::Comparison GCC_SessionKey::Compare(const PObject & obj) const
02239 {
02240 #ifndef PASN_LEANANDMEAN
02241 PAssert(PIsDescendant(&obj, GCC_SessionKey), PInvalidCast);
02242 #endif
02243 const GCC_SessionKey & other = (const GCC_SessionKey &)obj;
02244
02245 Comparison result;
02246
02247 if ((result = m_applicationProtocolKey.Compare(other.m_applicationProtocolKey)) != EqualTo)
02248 return result;
02249 if ((result = m_sessionID.Compare(other.m_sessionID)) != EqualTo)
02250 return result;
02251
02252 return PASN_Sequence::Compare(other);
02253 }
02254
02255
02256 PINDEX GCC_SessionKey::GetDataLength() const
02257 {
02258 PINDEX length = 0;
02259 length += m_applicationProtocolKey.GetObjectLength();
02260 if (HasOptionalField(e_sessionID))
02261 length += m_sessionID.GetObjectLength();
02262 return length;
02263 }
02264
02265
02266 BOOL GCC_SessionKey::Decode(PASN_Stream & strm)
02267 {
02268 if (!PreambleDecode(strm))
02269 return FALSE;
02270
02271 if (!m_applicationProtocolKey.Decode(strm))
02272 return FALSE;
02273 if (HasOptionalField(e_sessionID) && !m_sessionID.Decode(strm))
02274 return FALSE;
02275
02276 return UnknownExtensionsDecode(strm);
02277 }
02278
02279
02280 void GCC_SessionKey::Encode(PASN_Stream & strm) const
02281 {
02282 PreambleEncode(strm);
02283
02284 m_applicationProtocolKey.Encode(strm);
02285 if (HasOptionalField(e_sessionID))
02286 m_sessionID.Encode(strm);
02287
02288 UnknownExtensionsEncode(strm);
02289 }
02290
02291
02292 PObject * GCC_SessionKey::Clone() const
02293 {
02294 #ifndef PASN_LEANANDMEAN
02295 PAssert(IsClass(GCC_SessionKey::Class()), PInvalidCast);
02296 #endif
02297 return new GCC_SessionKey(*this);
02298 }
02299
02300
02301 #ifndef PASN_NOPRINTON
02302 const static PASN_Names Names_GCC_ChannelType[]={
02303 {"static",0}
02304 ,{"dynamicMulticast",1}
02305 ,{"dynamicPrivate",2}
02306 ,{"dynamicUserId",3}
02307 };
02308 #endif
02309
02310
02311
02312
02313 GCC_ChannelType::GCC_ChannelType(unsigned tag, PASN_Object::TagClass tagClass)
02314 : PASN_Enumeration(tag, tagClass, 3, FALSE
02315 #ifndef PASN_NOPRINTON
02316 ,(const PASN_Names *)Names_GCC_ChannelType,4
02317 #endif
02318 )
02319 {
02320 }
02321
02322
02323 GCC_ChannelType & GCC_ChannelType::operator=(unsigned v)
02324 {
02325 SetValue(v);
02326 return *this;
02327 }
02328
02329
02330 PObject * GCC_ChannelType::Clone() const
02331 {
02332 #ifndef PASN_LEANANDMEAN
02333 PAssert(IsClass(GCC_ChannelType::Class()), PInvalidCast);
02334 #endif
02335 return new GCC_ChannelType(*this);
02336 }
02337
02338
02339
02340 #ifndef PASN_NOPRINTON
02341 const static PASN_Names Names_GCC_CapabilityID[]={
02342 {"standard",0}
02343 ,{"nonStandard",1}
02344 };
02345 #endif
02346
02347
02348
02349
02350 GCC_CapabilityID::GCC_CapabilityID(unsigned tag, PASN_Object::TagClass tagClass)
02351 : PASN_Choice(tag, tagClass, 2, FALSE
02352 #ifndef PASN_NOPRINTON
02353 ,(const PASN_Names *)Names_GCC_CapabilityID,2
02354 #endif
02355 )
02356 {
02357 }
02358
02359
02360 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02361 GCC_CapabilityID::operator GCC_Key &() const
02362 #else
02363 GCC_CapabilityID::operator GCC_Key &()
02364 {
02365 #ifndef PASN_LEANANDMEAN
02366 PAssert(PIsDescendant(PAssertNULL(choice), GCC_Key), PInvalidCast);
02367 #endif
02368 return *(GCC_Key *)choice;
02369 }
02370
02371
02372 GCC_CapabilityID::operator const GCC_Key &() const
02373 #endif
02374 {
02375 #ifndef PASN_LEANANDMEAN
02376 PAssert(PIsDescendant(PAssertNULL(choice), GCC_Key), PInvalidCast);
02377 #endif
02378 return *(GCC_Key *)choice;
02379 }
02380
02381
02382 BOOL GCC_CapabilityID::CreateObject()
02383 {
02384 switch (tag) {
02385 case e_standard :
02386 choice = new PASN_Integer();
02387 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
02388 return TRUE;
02389 case e_nonStandard :
02390 choice = new GCC_Key();
02391 return TRUE;
02392 }
02393
02394 choice = NULL;
02395 return FALSE;
02396 }
02397
02398
02399 PObject * GCC_CapabilityID::Clone() const
02400 {
02401 #ifndef PASN_LEANANDMEAN
02402 PAssert(IsClass(GCC_CapabilityID::Class()), PInvalidCast);
02403 #endif
02404 return new GCC_CapabilityID(*this);
02405 }
02406
02407
02408
02409 #ifndef PASN_NOPRINTON
02410 const static PASN_Names Names_GCC_CapabilityClass[]={
02411 {"logical",0}
02412 ,{"unsignedMin",1}
02413 ,{"unsignedMax",2}
02414 };
02415 #endif
02416
02417
02418
02419
02420 GCC_CapabilityClass::GCC_CapabilityClass(unsigned tag, PASN_Object::TagClass tagClass)
02421 : PASN_Choice(tag, tagClass, 3, TRUE
02422 #ifndef PASN_NOPRINTON
02423 ,(const PASN_Names *)Names_GCC_CapabilityClass,3
02424 #endif
02425 )
02426 {
02427 }
02428
02429
02430 BOOL GCC_CapabilityClass::CreateObject()
02431 {
02432 switch (tag) {
02433 case e_logical :
02434 choice = new PASN_Null();
02435 return TRUE;
02436 case e_unsignedMin :
02437 choice = new PASN_Integer();
02438 choice->SetConstraints(PASN_Object::FixedConstraint, 0, MaximumValue);
02439 return TRUE;
02440 case e_unsignedMax :
02441 choice = new PASN_Integer();
02442 choice->SetConstraints(PASN_Object::FixedConstraint, 0, MaximumValue);
02443 return TRUE;
02444 }
02445
02446 choice = NULL;
02447 return FALSE;
02448 }
02449
02450
02451 PObject * GCC_CapabilityClass::Clone() const
02452 {
02453 #ifndef PASN_LEANANDMEAN
02454 PAssert(IsClass(GCC_CapabilityClass::Class()), PInvalidCast);
02455 #endif
02456 return new GCC_CapabilityClass(*this);
02457 }
02458
02459
02460
02461
02462
02463
02464 GCC_EntityID::GCC_EntityID(unsigned tag, PASN_Object::TagClass tagClass)
02465 : PASN_Integer(tag, tagClass)
02466 {
02467 SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
02468 }
02469
02470
02471 GCC_EntityID & GCC_EntityID::operator=(int v)
02472 {
02473 SetValue(v);
02474 return *this;
02475 }
02476
02477
02478 GCC_EntityID & GCC_EntityID::operator=(unsigned v)
02479 {
02480 SetValue(v);
02481 return *this;
02482 }
02483
02484
02485 PObject * GCC_EntityID::Clone() const
02486 {
02487 #ifndef PASN_LEANANDMEAN
02488 PAssert(IsClass(GCC_EntityID::Class()), PInvalidCast);
02489 #endif
02490 return new GCC_EntityID(*this);
02491 }
02492
02493
02494
02495
02496
02497
02498 GCC_RegistryKey::GCC_RegistryKey(unsigned tag, PASN_Object::TagClass tagClass)
02499 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
02500 {
02501 m_resourceID.SetConstraints(PASN_Object::FixedConstraint, 0, 64);
02502 }
02503
02504
02505 #ifndef PASN_NOPRINTON
02506 void GCC_RegistryKey::PrintOn(ostream & strm) const
02507 {
02508 int indent = strm.precision() + 2;
02509 strm << "{\n";
02510 strm << setw(indent+13) << "sessionKey = " << setprecision(indent) << m_sessionKey << '\n';
02511 strm << setw(indent+13) << "resourceID = " << setprecision(indent) << m_resourceID << '\n';
02512 strm << setw(indent-1) << setprecision(indent-2) << "}";
02513 }
02514 #endif
02515
02516
02517 PObject::Comparison GCC_RegistryKey::Compare(const PObject & obj) const
02518 {
02519 #ifndef PASN_LEANANDMEAN
02520 PAssert(PIsDescendant(&obj, GCC_RegistryKey), PInvalidCast);
02521 #endif
02522 const GCC_RegistryKey & other = (const GCC_RegistryKey &)obj;
02523
02524 Comparison result;
02525
02526 if ((result = m_sessionKey.Compare(other.m_sessionKey)) != EqualTo)
02527 return result;
02528 if ((result = m_resourceID.Compare(other.m_resourceID)) != EqualTo)
02529 return result;
02530
02531 return PASN_Sequence::Compare(other);
02532 }
02533
02534
02535 PINDEX GCC_RegistryKey::GetDataLength() const
02536 {
02537 PINDEX length = 0;
02538 length += m_sessionKey.GetObjectLength();
02539 length += m_resourceID.GetObjectLength();
02540 return length;
02541 }
02542
02543
02544 BOOL GCC_RegistryKey::Decode(PASN_Stream & strm)
02545 {
02546 if (!PreambleDecode(strm))
02547 return FALSE;
02548
02549 if (!m_sessionKey.Decode(strm))
02550 return FALSE;
02551 if (!m_resourceID.Decode(strm))
02552 return FALSE;
02553
02554 return UnknownExtensionsDecode(strm);
02555 }
02556
02557
02558 void GCC_RegistryKey::Encode(PASN_Stream & strm) const
02559 {
02560 PreambleEncode(strm);
02561
02562 m_sessionKey.Encode(strm);
02563 m_resourceID.Encode(strm);
02564
02565 UnknownExtensionsEncode(strm);
02566 }
02567
02568
02569 PObject * GCC_RegistryKey::Clone() const
02570 {
02571 #ifndef PASN_LEANANDMEAN
02572 PAssert(IsClass(GCC_RegistryKey::Class()), PInvalidCast);
02573 #endif
02574 return new GCC_RegistryKey(*this);
02575 }
02576
02577
02578
02579 #ifndef PASN_NOPRINTON
02580 const static PASN_Names Names_GCC_RegistryItem[]={
02581 {"channelID",0}
02582 ,{"tokenID",1}
02583 ,{"parameter",2}
02584 ,{"vacant",3}
02585 };
02586 #endif
02587
02588
02589
02590
02591 GCC_RegistryItem::GCC_RegistryItem(unsigned tag, PASN_Object::TagClass tagClass)
02592 : PASN_Choice(tag, tagClass, 4, TRUE
02593 #ifndef PASN_NOPRINTON
02594 ,(const PASN_Names *)Names_GCC_RegistryItem,4
02595 #endif
02596 )
02597 {
02598 }
02599
02600
02601 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02602 GCC_RegistryItem::operator GCC_DynamicChannelID &() const
02603 #else
02604 GCC_RegistryItem::operator GCC_DynamicChannelID &()
02605 {
02606 #ifndef PASN_LEANANDMEAN
02607 PAssert(PIsDescendant(PAssertNULL(choice), GCC_DynamicChannelID), PInvalidCast);
02608 #endif
02609 return *(GCC_DynamicChannelID *)choice;
02610 }
02611
02612
02613 GCC_RegistryItem::operator const GCC_DynamicChannelID &() const
02614 #endif
02615 {
02616 #ifndef PASN_LEANANDMEAN
02617 PAssert(PIsDescendant(PAssertNULL(choice), GCC_DynamicChannelID), PInvalidCast);
02618 #endif
02619 return *(GCC_DynamicChannelID *)choice;
02620 }
02621
02622
02623 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02624 GCC_RegistryItem::operator GCC_DynamicTokenID &() const
02625 #else
02626 GCC_RegistryItem::operator GCC_DynamicTokenID &()
02627 {
02628 #ifndef PASN_LEANANDMEAN
02629 PAssert(PIsDescendant(PAssertNULL(choice), GCC_DynamicTokenID), PInvalidCast);
02630 #endif
02631 return *(GCC_DynamicTokenID *)choice;
02632 }
02633
02634
02635 GCC_RegistryItem::operator const GCC_DynamicTokenID &() const
02636 #endif
02637 {
02638 #ifndef PASN_LEANANDMEAN
02639 PAssert(PIsDescendant(PAssertNULL(choice), GCC_DynamicTokenID), PInvalidCast);
02640 #endif
02641 return *(GCC_DynamicTokenID *)choice;
02642 }
02643
02644
02645 BOOL GCC_RegistryItem::CreateObject()
02646 {
02647 switch (tag) {
02648 case e_channelID :
02649 choice = new GCC_DynamicChannelID();
02650 return TRUE;
02651 case e_tokenID :
02652 choice = new GCC_DynamicTokenID();
02653 return TRUE;
02654 case e_parameter :
02655 choice = new PASN_OctetString();
02656 choice->SetConstraints(PASN_Object::FixedConstraint, 0, 64);
02657 return TRUE;
02658 case e_vacant :
02659 choice = new PASN_Null();
02660 return TRUE;
02661 }
02662
02663 choice = NULL;
02664 return FALSE;
02665 }
02666
02667
02668 PObject * GCC_RegistryItem::Clone() const
02669 {
02670 #ifndef PASN_LEANANDMEAN
02671 PAssert(IsClass(GCC_RegistryItem::Class()), PInvalidCast);
02672 #endif
02673 return new GCC_RegistryItem(*this);
02674 }
02675
02676
02677
02678 #ifndef PASN_NOPRINTON
02679 const static PASN_Names Names_GCC_RegistryEntryOwner[]={
02680 {"owned",0}
02681 ,{"notOwned",1}
02682 };
02683 #endif
02684
02685
02686
02687
02688 GCC_RegistryEntryOwner::GCC_RegistryEntryOwner(unsigned tag, PASN_Object::TagClass tagClass)
02689 : PASN_Choice(tag, tagClass, 2, FALSE
02690 #ifndef PASN_NOPRINTON
02691 ,(const PASN_Names *)Names_GCC_RegistryEntryOwner,2
02692 #endif
02693 )
02694 {
02695 }
02696
02697
02698 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02699 GCC_RegistryEntryOwner::operator GCC_RegistryEntryOwner_owned &() const
02700 #else
02701 GCC_RegistryEntryOwner::operator GCC_RegistryEntryOwner_owned &()
02702 {
02703 #ifndef PASN_LEANANDMEAN
02704 PAssert(PIsDescendant(PAssertNULL(choice), GCC_RegistryEntryOwner_owned), PInvalidCast);
02705 #endif
02706 return *(GCC_RegistryEntryOwner_owned *)choice;
02707 }
02708
02709
02710 GCC_RegistryEntryOwner::operator const GCC_RegistryEntryOwner_owned &() const
02711 #endif
02712 {
02713 #ifndef PASN_LEANANDMEAN
02714 PAssert(PIsDescendant(PAssertNULL(choice), GCC_RegistryEntryOwner_owned), PInvalidCast);
02715 #endif
02716 return *(GCC_RegistryEntryOwner_owned *)choice;
02717 }
02718
02719
02720 BOOL GCC_RegistryEntryOwner::CreateObject()
02721 {
02722 switch (tag) {
02723 case e_owned :
02724 choice = new GCC_RegistryEntryOwner_owned();
02725 return TRUE;
02726 case e_notOwned :
02727 choice = new PASN_Null();
02728 return TRUE;
02729 }
02730
02731 choice = NULL;
02732 return FALSE;
02733 }
02734
02735
02736 PObject * GCC_RegistryEntryOwner::Clone() const
02737 {
02738 #ifndef PASN_LEANANDMEAN
02739 PAssert(IsClass(GCC_RegistryEntryOwner::Class()), PInvalidCast);
02740 #endif
02741 return new GCC_RegistryEntryOwner(*this);
02742 }
02743
02744
02745 #ifndef PASN_NOPRINTON
02746 const static PASN_Names Names_GCC_RegistryModificationRights[]={
02747 {"owner",0}
02748 ,{"session",1}
02749 ,{"public",2}
02750 };
02751 #endif
02752
02753
02754
02755
02756 GCC_RegistryModificationRights::GCC_RegistryModificationRights(unsigned tag, PASN_Object::TagClass tagClass)
02757 : PASN_Enumeration(tag, tagClass, 2, FALSE
02758 #ifndef PASN_NOPRINTON
02759 ,(const PASN_Names *)Names_GCC_RegistryModificationRights,3
02760 #endif
02761 )
02762 {
02763 }
02764
02765
02766 GCC_RegistryModificationRights & GCC_RegistryModificationRights::operator=(unsigned v)
02767 {
02768 SetValue(v);
02769 return *this;
02770 }
02771
02772
02773 PObject * GCC_RegistryModificationRights::Clone() const
02774 {
02775 #ifndef PASN_LEANANDMEAN
02776 PAssert(IsClass(GCC_RegistryModificationRights::Class()), PInvalidCast);
02777 #endif
02778 return new GCC_RegistryModificationRights(*this);
02779 }
02780
02781
02782
02783
02784
02785
02786 GCC_UserIDIndication::GCC_UserIDIndication(unsigned tag, PASN_Object::TagClass tagClass)
02787 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
02788 {
02789 }
02790
02791
02792 #ifndef PASN_NOPRINTON
02793 void GCC_UserIDIndication::PrintOn(ostream & strm) const
02794 {
02795 int indent = strm.precision() + 2;
02796 strm << "{\n";
02797 strm << setw(indent+6) << "tag = " << setprecision(indent) << m_tag << '\n';
02798 strm << setw(indent-1) << setprecision(indent-2) << "}";
02799 }
02800 #endif
02801
02802
02803 PObject::Comparison GCC_UserIDIndication::Compare(const PObject & obj) const
02804 {
02805 #ifndef PASN_LEANANDMEAN
02806 PAssert(PIsDescendant(&obj, GCC_UserIDIndication), PInvalidCast);
02807 #endif
02808 const GCC_UserIDIndication & other = (const GCC_UserIDIndication &)obj;
02809
02810 Comparison result;
02811
02812 if ((result = m_tag.Compare(other.m_tag)) != EqualTo)
02813 return result;
02814
02815 return PASN_Sequence::Compare(other);
02816 }
02817
02818
02819 PINDEX GCC_UserIDIndication::GetDataLength() const
02820 {
02821 PINDEX length = 0;
02822 length += m_tag.GetObjectLength();
02823 return length;
02824 }
02825
02826
02827 BOOL GCC_UserIDIndication::Decode(PASN_Stream & strm)
02828 {
02829 if (!PreambleDecode(strm))
02830 return FALSE;
02831
02832 if (!m_tag.Decode(strm))
02833 return FALSE;
02834
02835 return UnknownExtensionsDecode(strm);
02836 }
02837
02838
02839 void GCC_UserIDIndication::Encode(PASN_Stream & strm) const
02840 {
02841 PreambleEncode(strm);
02842
02843 m_tag.Encode(strm);
02844
02845 UnknownExtensionsEncode(strm);
02846 }
02847
02848
02849 PObject * GCC_UserIDIndication::Clone() const
02850 {
02851 #ifndef PASN_LEANANDMEAN
02852 PAssert(IsClass(GCC_UserIDIndication::Class()), PInvalidCast);
02853 #endif
02854 return new GCC_UserIDIndication(*this);
02855 }
02856
02857
02858
02859
02860
02861
02862 GCC_ConferenceQueryRequest::GCC_ConferenceQueryRequest(unsigned tag, PASN_Object::TagClass tagClass)
02863 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
02864 {
02865 }
02866
02867
02868 #ifndef PASN_NOPRINTON
02869 void GCC_ConferenceQueryRequest::PrintOn(ostream & strm) const
02870 {
02871 int indent = strm.precision() + 2;
02872 strm << "{\n";
02873 strm << setw(indent+11) << "nodeType = " << setprecision(indent) << m_nodeType << '\n';
02874 if (HasOptionalField(e_asymmetryIndicator))
02875 strm << setw(indent+21) << "asymmetryIndicator = " << setprecision(indent) << m_asymmetryIndicator << '\n';
02876 if (HasOptionalField(e_userData))
02877 strm << setw(indent+11) << "userData = " << setprecision(indent) << m_userData << '\n';
02878 strm << setw(indent-1) << setprecision(indent-2) << "}";
02879 }
02880 #endif
02881
02882
02883 PObject::Comparison GCC_ConferenceQueryRequest::Compare(const PObject & obj) const
02884 {
02885 #ifndef PASN_LEANANDMEAN
02886 PAssert(PIsDescendant(&obj, GCC_ConferenceQueryRequest), PInvalidCast);
02887 #endif
02888 const GCC_ConferenceQueryRequest & other = (const GCC_ConferenceQueryRequest &)obj;
02889
02890 Comparison result;
02891
02892 if ((result = m_nodeType.Compare(other.m_nodeType)) != EqualTo)
02893 return result;
02894 if ((result = m_asymmetryIndicator.Compare(other.m_asymmetryIndicator)) != EqualTo)
02895 return result;
02896 if ((result = m_userData.Compare(other.m_userData)) != EqualTo)
02897 return result;
02898
02899 return PASN_Sequence::Compare(other);
02900 }
02901
02902
02903 PINDEX GCC_ConferenceQueryRequest::GetDataLength() const
02904 {
02905 PINDEX length = 0;
02906 length += m_nodeType.GetObjectLength();
02907 if (HasOptionalField(e_asymmetryIndicator))
02908 length += m_asymmetryIndicator.GetObjectLength();
02909 if (HasOptionalField(e_userData))
02910 length += m_userData.GetObjectLength();
02911 return length;
02912 }
02913
02914
02915 BOOL GCC_ConferenceQueryRequest::Decode(PASN_Stream & strm)
02916 {
02917 if (!PreambleDecode(strm))
02918 return FALSE;
02919
02920 if (!m_nodeType.Decode(strm))
02921 return FALSE;
02922 if (HasOptionalField(e_asymmetryIndicator) && !m_asymmetryIndicator.Decode(strm))
02923 return FALSE;
02924 if (HasOptionalField(e_userData) && !m_userData.Decode(strm))
02925 return FALSE;
02926
02927 return UnknownExtensionsDecode(strm);
02928 }
02929
02930
02931 void GCC_ConferenceQueryRequest::Encode(PASN_Stream & strm) const
02932 {
02933 PreambleEncode(strm);
02934
02935 m_nodeType.Encode(strm);
02936 if (HasOptionalField(e_asymmetryIndicator))
02937 m_asymmetryIndicator.Encode(strm);
02938 if (HasOptionalField(e_userData))
02939 m_userData.Encode(strm);
02940
02941 UnknownExtensionsEncode(strm);
02942 }
02943
02944
02945 PObject * GCC_ConferenceQueryRequest::Clone() const
02946 {
02947 #ifndef PASN_LEANANDMEAN
02948 PAssert(IsClass(GCC_ConferenceQueryRequest::Class()), PInvalidCast);
02949 #endif
02950 return new GCC_ConferenceQueryRequest(*this);
02951 }
02952
02953
02954
02955
02956
02957
02958 GCC_ConferenceJoinRequest::GCC_ConferenceJoinRequest(unsigned tag, PASN_Object::TagClass tagClass)
02959 : PASN_Sequence(tag, tagClass, 7, TRUE, 0)
02960 {
02961 }
02962
02963
02964 #ifndef PASN_NOPRINTON
02965 void GCC_ConferenceJoinRequest::PrintOn(ostream & strm) const
02966 {
02967 int indent = strm.precision() + 2;
02968 strm << "{\n";
02969 if (HasOptionalField(e_conferenceName))
02970 strm << setw(indent+17) << "conferenceName = " << setprecision(indent) << m_conferenceName << '\n';
02971 if (HasOptionalField(e_conferenceNameModifier))
02972 strm << setw(indent+25) << "conferenceNameModifier = " << setprecision(indent) << m_conferenceNameModifier << '\n';
02973 if (HasOptionalField(e_tag))
02974 strm << setw(indent+6) << "tag = " << setprecision(indent) << m_tag << '\n';
02975 if (HasOptionalField(e_password))
02976 strm << setw(indent+11) << "password = " << setprecision(indent) << m_password << '\n';
02977 if (HasOptionalField(e_convenerPassword))
02978 strm << setw(indent+19) << "convenerPassword = " << setprecision(indent) << m_convenerPassword << '\n';
02979 if (HasOptionalField(e_callerIdentifier))
02980 strm << setw(indent+19) << "callerIdentifier = " << setprecision(indent) << m_callerIdentifier << '\n';
02981 if (HasOptionalField(e_userData))
02982 strm << setw(indent+11) << "userData = " << setprecision(indent) << m_userData << '\n';
02983 strm << setw(indent-1) << setprecision(indent-2) << "}";
02984 }
02985 #endif
02986
02987
02988 PObject::Comparison GCC_ConferenceJoinRequest::Compare(const PObject & obj) const
02989 {
02990 #ifndef PASN_LEANANDMEAN
02991 PAssert(PIsDescendant(&obj, GCC_ConferenceJoinRequest), PInvalidCast);
02992 #endif
02993 const GCC_ConferenceJoinRequest & other = (const GCC_ConferenceJoinRequest &)obj;
02994
02995 Comparison result;
02996
02997 if ((result = m_conferenceName.Compare(other.m_conferenceName)) != EqualTo)
02998 return result;
02999 if ((result = m_conferenceNameModifier.Compare(other.m_conferenceNameModifier)) != EqualTo)
03000 return result;
03001 if ((result = m_tag.Compare(other.m_tag)) != EqualTo)
03002 return result;
03003 if ((result = m_password.Compare(other.m_password)) != EqualTo)
03004 return result;
03005 if ((result = m_convenerPassword.Compare(other.m_convenerPassword)) != EqualTo)
03006 return result;
03007 if ((result = m_callerIdentifier.Compare(other.m_callerIdentifier)) != EqualTo)
03008 return result;
03009 if ((result = m_userData.Compare(other.m_userData)) != EqualTo)
03010 return result;
03011
03012 return PASN_Sequence::Compare(other);
03013 }
03014
03015
03016 PINDEX GCC_ConferenceJoinRequest::GetDataLength() const
03017 {
03018 PINDEX length = 0;
03019 if (HasOptionalField(e_conferenceName))
03020 length += m_conferenceName.GetObjectLength();
03021 if (HasOptionalField(e_conferenceNameModifier))
03022 length += m_conferenceNameModifier.GetObjectLength();
03023 if (HasOptionalField(e_tag))
03024 length += m_tag.GetObjectLength();
03025 if (HasOptionalField(e_password))
03026 length += m_password.GetObjectLength();
03027 if (HasOptionalField(e_convenerPassword))
03028 length += m_convenerPassword.GetObjectLength();
03029 if (HasOptionalField(e_callerIdentifier))
03030 length += m_callerIdentifier.GetObjectLength();
03031 if (HasOptionalField(e_userData))
03032 length += m_userData.GetObjectLength();
03033 return length;
03034 }
03035
03036
03037 BOOL GCC_ConferenceJoinRequest::Decode(PASN_Stream & strm)
03038 {
03039 if (!PreambleDecode(strm))
03040 return FALSE;
03041
03042 if (HasOptionalField(e_conferenceName) && !m_conferenceName.Decode(strm))
03043 return FALSE;
03044 if (HasOptionalField(e_conferenceNameModifier) && !m_conferenceNameModifier.Decode(strm))
03045 return FALSE;
03046 if (HasOptionalField(e_tag) && !m_tag.Decode(strm))
03047 return FALSE;
03048 if (HasOptionalField(e_password) && !m_password.Decode(strm))
03049 return FALSE;
03050 if (HasOptionalField(e_convenerPassword) && !m_convenerPassword.Decode(strm))
03051 return FALSE;
03052 if (HasOptionalField(e_callerIdentifier) && !m_callerIdentifier.Decode(strm))
03053 return FALSE;
03054 if (HasOptionalField(e_userData) && !m_userData.Decode(strm))
03055 return FALSE;
03056
03057 return UnknownExtensionsDecode(strm);
03058 }
03059
03060
03061 void GCC_ConferenceJoinRequest::Encode(PASN_Stream & strm) const
03062 {
03063 PreambleEncode(strm);
03064
03065 if (HasOptionalField(e_conferenceName))
03066 m_conferenceName.Encode(strm);
03067 if (HasOptionalField(e_conferenceNameModifier))
03068 m_conferenceNameModifier.Encode(strm);
03069 if (HasOptionalField(e_tag))
03070 m_tag.Encode(strm);
03071 if (HasOptionalField(e_password))
03072 m_password.Encode(strm);
03073 if (HasOptionalField(e_convenerPassword))
03074 m_convenerPassword.Encode(strm);
03075 if (HasOptionalField(e_callerIdentifier))
03076 m_callerIdentifier.Encode(strm);
03077 if (HasOptionalField(e_userData))
03078 m_userData.Encode(strm);
03079
03080 UnknownExtensionsEncode(strm);
03081 }
03082
03083
03084 PObject * GCC_ConferenceJoinRequest::Clone() const
03085 {
03086 #ifndef PASN_LEANANDMEAN
03087 PAssert(IsClass(GCC_ConferenceJoinRequest::Class()), PInvalidCast);
03088 #endif
03089 return new GCC_ConferenceJoinRequest(*this);
03090 }
03091
03092
03093
03094
03095
03096
03097 GCC_ConferenceAddRequest::GCC_ConferenceAddRequest(unsigned tag, PASN_Object::TagClass tagClass)
03098 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
03099 {
03100 }
03101
03102
03103 #ifndef PASN_NOPRINTON
03104 void GCC_ConferenceAddRequest::PrintOn(ostream & strm) const
03105 {
03106 int indent = strm.precision() + 2;
03107 strm << "{\n";
03108 strm << setw(indent+17) << "networkAddress = " << setprecision(indent) << m_networkAddress << '\n';
03109 strm << setw(indent+17) << "requestingNode = " << setprecision(indent) << m_requestingNode << '\n';
03110 strm << setw(indent+6) << "tag = " << setprecision(indent) << m_tag << '\n';
03111 if (HasOptionalField(e_addingMCU))
03112 strm << setw(indent+12) << "addingMCU = " << setprecision(indent) << m_addingMCU << '\n';
03113 if (HasOptionalField(e_userData))
03114 strm << setw(indent+11) << "userData = " << setprecision(indent) << m_userData << '\n';
03115 strm << setw(indent-1) << setprecision(indent-2) << "}";
03116 }
03117 #endif
03118
03119
03120 PObject::Comparison GCC_ConferenceAddRequest::Compare(const PObject & obj) const
03121 {
03122 #ifndef PASN_LEANANDMEAN
03123 PAssert(PIsDescendant(&obj, GCC_ConferenceAddRequest), PInvalidCast);
03124 #endif
03125 const GCC_ConferenceAddRequest & other = (const GCC_ConferenceAddRequest &)obj;
03126
03127 Comparison result;
03128
03129 if ((result = m_networkAddress.Compare(other.m_networkAddress)) != EqualTo)
03130 return result;
03131 if ((result = m_requestingNode.Compare(other.m_requestingNode)) != EqualTo)
03132 return result;
03133 if ((result = m_tag.Compare(other.m_tag)) != EqualTo)
03134 return result;
03135 if ((result = m_addingMCU.Compare(other.m_addingMCU)) != EqualTo)
03136 return result;
03137 if ((result = m_userData.Compare(other.m_userData)) != EqualTo)
03138 return result;
03139
03140 return PASN_Sequence::Compare(other);
03141 }
03142
03143
03144 PINDEX GCC_ConferenceAddRequest::GetDataLength() const
03145 {
03146 PINDEX length = 0;
03147 length += m_networkAddress.GetObjectLength();
03148 length += m_requestingNode.GetObjectLength();
03149 length += m_tag.GetObjectLength();
03150 if (HasOptionalField(e_addingMCU))
03151 length += m_addingMCU.GetObjectLength();
03152 if (HasOptionalField(e_userData))
03153 length += m_userData.GetObjectLength();
03154 return length;
03155 }
03156
03157
03158 BOOL GCC_ConferenceAddRequest::Decode(PASN_Stream & strm)
03159 {
03160 if (!PreambleDecode(strm))
03161 return FALSE;
03162
03163 if (!m_networkAddress.Decode(strm))
03164 return FALSE;
03165 if (!m_requestingNode.Decode(strm))
03166 return FALSE;
03167 if (!m_tag.Decode(strm))
03168 return FALSE;
03169 if (HasOptionalField(e_addingMCU) && !m_addingMCU.Decode(strm))
03170 return FALSE;
03171 if (HasOptionalField(e_userData) && !m_userData.Decode(strm))
03172 return FALSE;
03173
03174 return UnknownExtensionsDecode(strm);
03175 }
03176
03177
03178 void GCC_ConferenceAddRequest::Encode(PASN_Stream & strm) const
03179 {
03180 PreambleEncode(strm);
03181
03182 m_networkAddress.Encode(strm);
03183 m_requestingNode.Encode(strm);
03184 m_tag.Encode(strm);
03185 if (HasOptionalField(e_addingMCU))
03186 m_addingMCU.Encode(strm);
03187 if (HasOptionalField(e_userData))
03188 m_userData.Encode(strm);
03189
03190 UnknownExtensionsEncode(strm);
03191 }
03192
03193
03194 PObject * GCC_ConferenceAddRequest::Clone() const
03195 {
03196 #ifndef PASN_LEANANDMEAN
03197 PAssert(IsClass(GCC_ConferenceAddRequest::Class()), PInvalidCast);
03198 #endif
03199 return new GCC_ConferenceAddRequest(*this);
03200 }
03201
03202
03203
03204
03205
03206
03207 GCC_ConferenceLockRequest::GCC_ConferenceLockRequest(unsigned tag, PASN_Object::TagClass tagClass)
03208 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03209 {
03210 }
03211
03212
03213 #ifndef PASN_NOPRINTON
03214 void GCC_ConferenceLockRequest::PrintOn(ostream & strm) const
03215 {
03216 int indent = strm.precision() + 2;
03217 strm << "{\n";
03218 strm << setw(indent-1) << setprecision(indent-2) << "}";
03219 }
03220 #endif
03221
03222
03223 PINDEX GCC_ConferenceLockRequest::GetDataLength() const
03224 {
03225 PINDEX length = 0;
03226 return length;
03227 }
03228
03229
03230 BOOL GCC_ConferenceLockRequest::Decode(PASN_Stream & strm)
03231 {
03232 if (!PreambleDecode(strm))
03233 return FALSE;
03234
03235
03236 return UnknownExtensionsDecode(strm);
03237 }
03238
03239
03240 void GCC_ConferenceLockRequest::Encode(PASN_Stream & strm) const
03241 {
03242 PreambleEncode(strm);
03243
03244
03245 UnknownExtensionsEncode(strm);
03246 }
03247
03248
03249 PObject * GCC_ConferenceLockRequest::Clone() const
03250 {
03251 #ifndef PASN_LEANANDMEAN
03252 PAssert(IsClass(GCC_ConferenceLockRequest::Class()), PInvalidCast);
03253 #endif
03254 return new GCC_ConferenceLockRequest(*this);
03255 }
03256
03257
03258
03259
03260
03261
03262 GCC_ConferenceLockIndication::GCC_ConferenceLockIndication(unsigned tag, PASN_Object::TagClass tagClass)
03263 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03264 {
03265 }
03266
03267
03268 #ifndef PASN_NOPRINTON
03269 void GCC_ConferenceLockIndication::PrintOn(ostream & strm) const
03270 {
03271 int indent = strm.precision() + 2;
03272 strm << "{\n";
03273 strm << setw(indent-1) << setprecision(indent-2) << "}";
03274 }
03275 #endif
03276
03277
03278 PINDEX GCC_ConferenceLockIndication::GetDataLength() const
03279 {
03280 PINDEX length = 0;
03281 return length;
03282 }
03283
03284
03285 BOOL GCC_ConferenceLockIndication::Decode(PASN_Stream & strm)
03286 {
03287 if (!PreambleDecode(strm))
03288 return FALSE;
03289
03290
03291 return UnknownExtensionsDecode(strm);
03292 }
03293
03294
03295 void GCC_ConferenceLockIndication::Encode(PASN_Stream & strm) const
03296 {
03297 PreambleEncode(strm);
03298
03299
03300 UnknownExtensionsEncode(strm);
03301 }
03302
03303
03304 PObject * GCC_ConferenceLockIndication::Clone() const
03305 {
03306 #ifndef PASN_LEANANDMEAN
03307 PAssert(IsClass(GCC_ConferenceLockIndication::Class()), PInvalidCast);
03308 #endif
03309 return new GCC_ConferenceLockIndication(*this);
03310 }
03311
03312
03313
03314
03315
03316
03317 GCC_ConferenceUnlockRequest::GCC_ConferenceUnlockRequest(unsigned tag, PASN_Object::TagClass tagClass)
03318 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03319 {
03320 }
03321
03322
03323 #ifndef PASN_NOPRINTON
03324 void GCC_ConferenceUnlockRequest::PrintOn(ostream & strm) const
03325 {
03326 int indent = strm.precision() + 2;
03327 strm << "{\n";
03328 strm << setw(indent-1) << setprecision(indent-2) << "}";
03329 }
03330 #endif
03331
03332
03333 PINDEX GCC_ConferenceUnlockRequest::GetDataLength() const
03334 {
03335 PINDEX length = 0;
03336 return length;
03337 }
03338
03339
03340 BOOL GCC_ConferenceUnlockRequest::Decode(PASN_Stream & strm)
03341 {
03342 if (!PreambleDecode(strm))
03343 return FALSE;
03344
03345
03346 return UnknownExtensionsDecode(strm);
03347 }
03348
03349
03350 void GCC_ConferenceUnlockRequest::Encode(PASN_Stream & strm) const
03351 {
03352 PreambleEncode(strm);
03353
03354
03355 UnknownExtensionsEncode(strm);
03356 }
03357
03358
03359 PObject * GCC_ConferenceUnlockRequest::Clone() const
03360 {
03361 #ifndef PASN_LEANANDMEAN
03362 PAssert(IsClass(GCC_ConferenceUnlockRequest::Class()), PInvalidCast);
03363 #endif
03364 return new GCC_ConferenceUnlockRequest(*this);
03365 }
03366
03367
03368
03369
03370
03371
03372 GCC_ConferenceUnlockIndication::GCC_ConferenceUnlockIndication(unsigned tag, PASN_Object::TagClass tagClass)
03373 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03374 {
03375 }
03376
03377
03378 #ifndef PASN_NOPRINTON
03379 void GCC_ConferenceUnlockIndication::PrintOn(ostream & strm) const
03380 {
03381 int indent = strm.precision() + 2;
03382 strm << "{\n";
03383 strm << setw(indent-1) << setprecision(indent-2) << "}";
03384 }
03385 #endif
03386
03387
03388 PINDEX GCC_ConferenceUnlockIndication::GetDataLength() const
03389 {
03390 PINDEX length = 0;
03391 return length;
03392 }
03393
03394
03395 BOOL GCC_ConferenceUnlockIndication::Decode(PASN_Stream & strm)
03396 {
03397 if (!PreambleDecode(strm))
03398 return FALSE;
03399
03400
03401 return UnknownExtensionsDecode(strm);
03402 }
03403
03404
03405 void GCC_ConferenceUnlockIndication::Encode(PASN_Stream & strm) const
03406 {
03407 PreambleEncode(strm);
03408
03409
03410 UnknownExtensionsEncode(strm);
03411 }
03412
03413
03414 PObject * GCC_ConferenceUnlockIndication::Clone() const
03415 {
03416 #ifndef PASN_LEANANDMEAN
03417 PAssert(IsClass(GCC_ConferenceUnlockIndication::Class()), PInvalidCast);
03418 #endif
03419 return new GCC_ConferenceUnlockIndication(*this);
03420 }
03421
03422
03423
03424
03425
03426
03427 GCC_RegistryRegisterChannelRequest::GCC_RegistryRegisterChannelRequest(unsigned tag, PASN_Object::TagClass tagClass)
03428 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03429 {
03430 }
03431
03432
03433 #ifndef PASN_NOPRINTON
03434 void GCC_RegistryRegisterChannelRequest::PrintOn(ostream & strm) const
03435 {
03436 int indent = strm.precision() + 2;
03437 strm << "{\n";
03438 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
03439 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03440 strm << setw(indent+12) << "channelID = " << setprecision(indent) << m_channelID << '\n';
03441 strm << setw(indent-1) << setprecision(indent-2) << "}";
03442 }
03443 #endif
03444
03445
03446 PObject::Comparison GCC_RegistryRegisterChannelRequest::Compare(const PObject & obj) const
03447 {
03448 #ifndef PASN_LEANANDMEAN
03449 PAssert(PIsDescendant(&obj, GCC_RegistryRegisterChannelRequest), PInvalidCast);
03450 #endif
03451 const GCC_RegistryRegisterChannelRequest & other = (const GCC_RegistryRegisterChannelRequest &)obj;
03452
03453 Comparison result;
03454
03455 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
03456 return result;
03457 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03458 return result;
03459 if ((result = m_channelID.Compare(other.m_channelID)) != EqualTo)
03460 return result;
03461
03462 return PASN_Sequence::Compare(other);
03463 }
03464
03465
03466 PINDEX GCC_RegistryRegisterChannelRequest::GetDataLength() const
03467 {
03468 PINDEX length = 0;
03469 length += m_entityID.GetObjectLength();
03470 length += m_key.GetObjectLength();
03471 length += m_channelID.GetObjectLength();
03472 return length;
03473 }
03474
03475
03476 BOOL GCC_RegistryRegisterChannelRequest::Decode(PASN_Stream & strm)
03477 {
03478 if (!PreambleDecode(strm))
03479 return FALSE;
03480
03481 if (!m_entityID.Decode(strm))
03482 return FALSE;
03483 if (!m_key.Decode(strm))
03484 return FALSE;
03485 if (!m_channelID.Decode(strm))
03486 return FALSE;
03487
03488 return UnknownExtensionsDecode(strm);
03489 }
03490
03491
03492 void GCC_RegistryRegisterChannelRequest::Encode(PASN_Stream & strm) const
03493 {
03494 PreambleEncode(strm);
03495
03496 m_entityID.Encode(strm);
03497 m_key.Encode(strm);
03498 m_channelID.Encode(strm);
03499
03500 UnknownExtensionsEncode(strm);
03501 }
03502
03503
03504 PObject * GCC_RegistryRegisterChannelRequest::Clone() const
03505 {
03506 #ifndef PASN_LEANANDMEAN
03507 PAssert(IsClass(GCC_RegistryRegisterChannelRequest::Class()), PInvalidCast);
03508 #endif
03509 return new GCC_RegistryRegisterChannelRequest(*this);
03510 }
03511
03512
03513
03514
03515
03516
03517 GCC_RegistryAssignTokenRequest::GCC_RegistryAssignTokenRequest(unsigned tag, PASN_Object::TagClass tagClass)
03518 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03519 {
03520 }
03521
03522
03523 #ifndef PASN_NOPRINTON
03524 void GCC_RegistryAssignTokenRequest::PrintOn(ostream & strm) const
03525 {
03526 int indent = strm.precision() + 2;
03527 strm << "{\n";
03528 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
03529 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03530 strm << setw(indent-1) << setprecision(indent-2) << "}";
03531 }
03532 #endif
03533
03534
03535 PObject::Comparison GCC_RegistryAssignTokenRequest::Compare(const PObject & obj) const
03536 {
03537 #ifndef PASN_LEANANDMEAN
03538 PAssert(PIsDescendant(&obj, GCC_RegistryAssignTokenRequest), PInvalidCast);
03539 #endif
03540 const GCC_RegistryAssignTokenRequest & other = (const GCC_RegistryAssignTokenRequest &)obj;
03541
03542 Comparison result;
03543
03544 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
03545 return result;
03546 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03547 return result;
03548
03549 return PASN_Sequence::Compare(other);
03550 }
03551
03552
03553 PINDEX GCC_RegistryAssignTokenRequest::GetDataLength() const
03554 {
03555 PINDEX length = 0;
03556 length += m_entityID.GetObjectLength();
03557 length += m_key.GetObjectLength();
03558 return length;
03559 }
03560
03561
03562 BOOL GCC_RegistryAssignTokenRequest::Decode(PASN_Stream & strm)
03563 {
03564 if (!PreambleDecode(strm))
03565 return FALSE;
03566
03567 if (!m_entityID.Decode(strm))
03568 return FALSE;
03569 if (!m_key.Decode(strm))
03570 return FALSE;
03571
03572 return UnknownExtensionsDecode(strm);
03573 }
03574
03575
03576 void GCC_RegistryAssignTokenRequest::Encode(PASN_Stream & strm) const
03577 {
03578 PreambleEncode(strm);
03579
03580 m_entityID.Encode(strm);
03581 m_key.Encode(strm);
03582
03583 UnknownExtensionsEncode(strm);
03584 }
03585
03586
03587 PObject * GCC_RegistryAssignTokenRequest::Clone() const
03588 {
03589 #ifndef PASN_LEANANDMEAN
03590 PAssert(IsClass(GCC_RegistryAssignTokenRequest::Class()), PInvalidCast);
03591 #endif
03592 return new GCC_RegistryAssignTokenRequest(*this);
03593 }
03594
03595
03596
03597
03598
03599
03600 GCC_RegistrySetParameterRequest::GCC_RegistrySetParameterRequest(unsigned tag, PASN_Object::TagClass tagClass)
03601 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
03602 {
03603 m_parameter.SetConstraints(PASN_Object::FixedConstraint, 0, 64);
03604 }
03605
03606
03607 #ifndef PASN_NOPRINTON
03608 void GCC_RegistrySetParameterRequest::PrintOn(ostream & strm) const
03609 {
03610 int indent = strm.precision() + 2;
03611 strm << "{\n";
03612 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
03613 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03614 strm << setw(indent+12) << "parameter = " << setprecision(indent) << m_parameter << '\n';
03615 if (HasOptionalField(e_modificationRights))
03616 strm << setw(indent+21) << "modificationRights = " << setprecision(indent) << m_modificationRights << '\n';
03617 strm << setw(indent-1) << setprecision(indent-2) << "}";
03618 }
03619 #endif
03620
03621
03622 PObject::Comparison GCC_RegistrySetParameterRequest::Compare(const PObject & obj) const
03623 {
03624 #ifndef PASN_LEANANDMEAN
03625 PAssert(PIsDescendant(&obj, GCC_RegistrySetParameterRequest), PInvalidCast);
03626 #endif
03627 const GCC_RegistrySetParameterRequest & other = (const GCC_RegistrySetParameterRequest &)obj;
03628
03629 Comparison result;
03630
03631 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
03632 return result;
03633 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03634 return result;
03635 if ((result = m_parameter.Compare(other.m_parameter)) != EqualTo)
03636 return result;
03637 if ((result = m_modificationRights.Compare(other.m_modificationRights)) != EqualTo)
03638 return result;
03639
03640 return PASN_Sequence::Compare(other);
03641 }
03642
03643
03644 PINDEX GCC_RegistrySetParameterRequest::GetDataLength() const
03645 {
03646 PINDEX length = 0;
03647 length += m_entityID.GetObjectLength();
03648 length += m_key.GetObjectLength();
03649 length += m_parameter.GetObjectLength();
03650 if (HasOptionalField(e_modificationRights))
03651 length += m_modificationRights.GetObjectLength();
03652 return length;
03653 }
03654
03655
03656 BOOL GCC_RegistrySetParameterRequest::Decode(PASN_Stream & strm)
03657 {
03658 if (!PreambleDecode(strm))
03659 return FALSE;
03660
03661 if (!m_entityID.Decode(strm))
03662 return FALSE;
03663 if (!m_key.Decode(strm))
03664 return FALSE;
03665 if (!m_parameter.Decode(strm))
03666 return FALSE;
03667 if (HasOptionalField(e_modificationRights) && !m_modificationRights.Decode(strm))
03668 return FALSE;
03669
03670 return UnknownExtensionsDecode(strm);
03671 }
03672
03673
03674 void GCC_RegistrySetParameterRequest::Encode(PASN_Stream & strm) const
03675 {
03676 PreambleEncode(strm);
03677
03678 m_entityID.Encode(strm);
03679 m_key.Encode(strm);
03680 m_parameter.Encode(strm);
03681 if (HasOptionalField(e_modificationRights))
03682 m_modificationRights.Encode(strm);
03683
03684 UnknownExtensionsEncode(strm);
03685 }
03686
03687
03688 PObject * GCC_RegistrySetParameterRequest::Clone() const
03689 {
03690 #ifndef PASN_LEANANDMEAN
03691 PAssert(IsClass(GCC_RegistrySetParameterRequest::Class()), PInvalidCast);
03692 #endif
03693 return new GCC_RegistrySetParameterRequest(*this);
03694 }
03695
03696
03697
03698
03699
03700
03701 GCC_RegistryRetrieveEntryRequest::GCC_RegistryRetrieveEntryRequest(unsigned tag, PASN_Object::TagClass tagClass)
03702 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03703 {
03704 }
03705
03706
03707 #ifndef PASN_NOPRINTON
03708 void GCC_RegistryRetrieveEntryRequest::PrintOn(ostream & strm) const
03709 {
03710 int indent = strm.precision() + 2;
03711 strm << "{\n";
03712 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
03713 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03714 strm << setw(indent-1) << setprecision(indent-2) << "}";
03715 }
03716 #endif
03717
03718
03719 PObject::Comparison GCC_RegistryRetrieveEntryRequest::Compare(const PObject & obj) const
03720 {
03721 #ifndef PASN_LEANANDMEAN
03722 PAssert(PIsDescendant(&obj, GCC_RegistryRetrieveEntryRequest), PInvalidCast);
03723 #endif
03724 const GCC_RegistryRetrieveEntryRequest & other = (const GCC_RegistryRetrieveEntryRequest &)obj;
03725
03726 Comparison result;
03727
03728 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
03729 return result;
03730 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03731 return result;
03732
03733 return PASN_Sequence::Compare(other);
03734 }
03735
03736
03737 PINDEX GCC_RegistryRetrieveEntryRequest::GetDataLength() const
03738 {
03739 PINDEX length = 0;
03740 length += m_entityID.GetObjectLength();
03741 length += m_key.GetObjectLength();
03742 return length;
03743 }
03744
03745
03746 BOOL GCC_RegistryRetrieveEntryRequest::Decode(PASN_Stream & strm)
03747 {
03748 if (!PreambleDecode(strm))
03749 return FALSE;
03750
03751 if (!m_entityID.Decode(strm))
03752 return FALSE;
03753 if (!m_key.Decode(strm))
03754 return FALSE;
03755
03756 return UnknownExtensionsDecode(strm);
03757 }
03758
03759
03760 void GCC_RegistryRetrieveEntryRequest::Encode(PASN_Stream & strm) const
03761 {
03762 PreambleEncode(strm);
03763
03764 m_entityID.Encode(strm);
03765 m_key.Encode(strm);
03766
03767 UnknownExtensionsEncode(strm);
03768 }
03769
03770
03771 PObject * GCC_RegistryRetrieveEntryRequest::Clone() const
03772 {
03773 #ifndef PASN_LEANANDMEAN
03774 PAssert(IsClass(GCC_RegistryRetrieveEntryRequest::Class()), PInvalidCast);
03775 #endif
03776 return new GCC_RegistryRetrieveEntryRequest(*this);
03777 }
03778
03779
03780
03781
03782
03783
03784 GCC_RegistryDeleteEntryRequest::GCC_RegistryDeleteEntryRequest(unsigned tag, PASN_Object::TagClass tagClass)
03785 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03786 {
03787 }
03788
03789
03790 #ifndef PASN_NOPRINTON
03791 void GCC_RegistryDeleteEntryRequest::PrintOn(ostream & strm) const
03792 {
03793 int indent = strm.precision() + 2;
03794 strm << "{\n";
03795 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
03796 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03797 strm << setw(indent-1) << setprecision(indent-2) << "}";
03798 }
03799 #endif
03800
03801
03802 PObject::Comparison GCC_RegistryDeleteEntryRequest::Compare(const PObject & obj) const
03803 {
03804 #ifndef PASN_LEANANDMEAN
03805 PAssert(PIsDescendant(&obj, GCC_RegistryDeleteEntryRequest), PInvalidCast);
03806 #endif
03807 const GCC_RegistryDeleteEntryRequest & other = (const GCC_RegistryDeleteEntryRequest &)obj;
03808
03809 Comparison result;
03810
03811 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
03812 return result;
03813 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03814 return result;
03815
03816 return PASN_Sequence::Compare(other);
03817 }
03818
03819
03820 PINDEX GCC_RegistryDeleteEntryRequest::GetDataLength() const
03821 {
03822 PINDEX length = 0;
03823 length += m_entityID.GetObjectLength();
03824 length += m_key.GetObjectLength();
03825 return length;
03826 }
03827
03828
03829 BOOL GCC_RegistryDeleteEntryRequest::Decode(PASN_Stream & strm)
03830 {
03831 if (!PreambleDecode(strm))
03832 return FALSE;
03833
03834 if (!m_entityID.Decode(strm))
03835 return FALSE;
03836 if (!m_key.Decode(strm))
03837 return FALSE;
03838
03839 return UnknownExtensionsDecode(strm);
03840 }
03841
03842
03843 void GCC_RegistryDeleteEntryRequest::Encode(PASN_Stream & strm) const
03844 {
03845 PreambleEncode(strm);
03846
03847 m_entityID.Encode(strm);
03848 m_key.Encode(strm);
03849
03850 UnknownExtensionsEncode(strm);
03851 }
03852
03853
03854 PObject * GCC_RegistryDeleteEntryRequest::Clone() const
03855 {
03856 #ifndef PASN_LEANANDMEAN
03857 PAssert(IsClass(GCC_RegistryDeleteEntryRequest::Class()), PInvalidCast);
03858 #endif
03859 return new GCC_RegistryDeleteEntryRequest(*this);
03860 }
03861
03862
03863
03864
03865
03866
03867 GCC_RegistryMonitorEntryRequest::GCC_RegistryMonitorEntryRequest(unsigned tag, PASN_Object::TagClass tagClass)
03868 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
03869 {
03870 }
03871
03872
03873 #ifndef PASN_NOPRINTON
03874 void GCC_RegistryMonitorEntryRequest::PrintOn(ostream & strm) const
03875 {
03876 int indent = strm.precision() + 2;
03877 strm << "{\n";
03878 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
03879 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03880 strm << setw(indent-1) << setprecision(indent-2) << "}";
03881 }
03882 #endif
03883
03884
03885 PObject::Comparison GCC_RegistryMonitorEntryRequest::Compare(const PObject & obj) const
03886 {
03887 #ifndef PASN_LEANANDMEAN
03888 PAssert(PIsDescendant(&obj, GCC_RegistryMonitorEntryRequest), PInvalidCast);
03889 #endif
03890 const GCC_RegistryMonitorEntryRequest & other = (const GCC_RegistryMonitorEntryRequest &)obj;
03891
03892 Comparison result;
03893
03894 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
03895 return result;
03896 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03897 return result;
03898
03899 return PASN_Sequence::Compare(other);
03900 }
03901
03902
03903 PINDEX GCC_RegistryMonitorEntryRequest::GetDataLength() const
03904 {
03905 PINDEX length = 0;
03906 length += m_entityID.GetObjectLength();
03907 length += m_key.GetObjectLength();
03908 return length;
03909 }
03910
03911
03912 BOOL GCC_RegistryMonitorEntryRequest::Decode(PASN_Stream & strm)
03913 {
03914 if (!PreambleDecode(strm))
03915 return FALSE;
03916
03917 if (!m_entityID.Decode(strm))
03918 return FALSE;
03919 if (!m_key.Decode(strm))
03920 return FALSE;
03921
03922 return UnknownExtensionsDecode(strm);
03923 }
03924
03925
03926 void GCC_RegistryMonitorEntryRequest::Encode(PASN_Stream & strm) const
03927 {
03928 PreambleEncode(strm);
03929
03930 m_entityID.Encode(strm);
03931 m_key.Encode(strm);
03932
03933 UnknownExtensionsEncode(strm);
03934 }
03935
03936
03937 PObject * GCC_RegistryMonitorEntryRequest::Clone() const
03938 {
03939 #ifndef PASN_LEANANDMEAN
03940 PAssert(IsClass(GCC_RegistryMonitorEntryRequest::Class()), PInvalidCast);
03941 #endif
03942 return new GCC_RegistryMonitorEntryRequest(*this);
03943 }
03944
03945
03946
03947
03948
03949
03950 GCC_RegistryMonitorEntryIndication::GCC_RegistryMonitorEntryIndication(unsigned tag, PASN_Object::TagClass tagClass)
03951 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
03952 {
03953 }
03954
03955
03956 #ifndef PASN_NOPRINTON
03957 void GCC_RegistryMonitorEntryIndication::PrintOn(ostream & strm) const
03958 {
03959 int indent = strm.precision() + 2;
03960 strm << "{\n";
03961 strm << setw(indent+6) << "key = " << setprecision(indent) << m_key << '\n';
03962 strm << setw(indent+7) << "item = " << setprecision(indent) << m_item << '\n';
03963 strm << setw(indent+8) << "owner = " << setprecision(indent) << m_owner << '\n';
03964 if (HasOptionalField(e_modificationRights))
03965 strm << setw(indent+21) << "modificationRights = " << setprecision(indent) << m_modificationRights << '\n';
03966 strm << setw(indent-1) << setprecision(indent-2) << "}";
03967 }
03968 #endif
03969
03970
03971 PObject::Comparison GCC_RegistryMonitorEntryIndication::Compare(const PObject & obj) const
03972 {
03973 #ifndef PASN_LEANANDMEAN
03974 PAssert(PIsDescendant(&obj, GCC_RegistryMonitorEntryIndication), PInvalidCast);
03975 #endif
03976 const GCC_RegistryMonitorEntryIndication & other = (const GCC_RegistryMonitorEntryIndication &)obj;
03977
03978 Comparison result;
03979
03980 if ((result = m_key.Compare(other.m_key)) != EqualTo)
03981 return result;
03982 if ((result = m_item.Compare(other.m_item)) != EqualTo)
03983 return result;
03984 if ((result = m_owner.Compare(other.m_owner)) != EqualTo)
03985 return result;
03986 if ((result = m_modificationRights.Compare(other.m_modificationRights)) != EqualTo)
03987 return result;
03988
03989 return PASN_Sequence::Compare(other);
03990 }
03991
03992
03993 PINDEX GCC_RegistryMonitorEntryIndication::GetDataLength() const
03994 {
03995 PINDEX length = 0;
03996 length += m_key.GetObjectLength();
03997 length += m_item.GetObjectLength();
03998 length += m_owner.GetObjectLength();
03999 if (HasOptionalField(e_modificationRights))
04000 length += m_modificationRights.GetObjectLength();
04001 return length;
04002 }
04003
04004
04005 BOOL GCC_RegistryMonitorEntryIndication::Decode(PASN_Stream & strm)
04006 {
04007 if (!PreambleDecode(strm))
04008 return FALSE;
04009
04010 if (!m_key.Decode(strm))
04011 return FALSE;
04012 if (!m_item.Decode(strm))
04013 return FALSE;
04014 if (!m_owner.Decode(strm))
04015 return FALSE;
04016 if (HasOptionalField(e_modificationRights) && !m_modificationRights.Decode(strm))
04017 return FALSE;
04018
04019 return UnknownExtensionsDecode(strm);
04020 }
04021
04022
04023 void GCC_RegistryMonitorEntryIndication::Encode(PASN_Stream & strm) const
04024 {
04025 PreambleEncode(strm);
04026
04027 m_key.Encode(strm);
04028 m_item.Encode(strm);
04029 m_owner.Encode(strm);
04030 if (HasOptionalField(e_modificationRights))
04031 m_modificationRights.Encode(strm);
04032
04033 UnknownExtensionsEncode(strm);
04034 }
04035
04036
04037 PObject * GCC_RegistryMonitorEntryIndication::Clone() const
04038 {
04039 #ifndef PASN_LEANANDMEAN
04040 PAssert(IsClass(GCC_RegistryMonitorEntryIndication::Class()), PInvalidCast);
04041 #endif
04042 return new GCC_RegistryMonitorEntryIndication(*this);
04043 }
04044
04045
04046
04047
04048
04049
04050 GCC_RegistryAllocateHandleRequest::GCC_RegistryAllocateHandleRequest(unsigned tag, PASN_Object::TagClass tagClass)
04051 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04052 {
04053 m_numberOfHandles.SetConstraints(PASN_Object::FixedConstraint, 1, 1024);
04054 }
04055
04056
04057 #ifndef PASN_NOPRINTON
04058 void GCC_RegistryAllocateHandleRequest::PrintOn(ostream & strm) const
04059 {
04060 int indent = strm.precision() + 2;
04061 strm << "{\n";
04062 strm << setw(indent+11) << "entityID = " << setprecision(indent) << m_entityID << '\n';
04063 strm << setw(indent+18) << "numberOfHandles = " << setprecision(indent) << m_numberOfHandles << '\n';
04064 strm << setw(indent-1) << setprecision(indent-2) << "}";
04065 }
04066 #endif
04067
04068
04069 PObject::Comparison GCC_RegistryAllocateHandleRequest::Compare(const PObject & obj) const
04070 {
04071 #ifndef PASN_LEANANDMEAN
04072 PAssert(PIsDescendant(&obj, GCC_RegistryAllocateHandleRequest), PInvalidCast);
04073 #endif
04074 const GCC_RegistryAllocateHandleRequest & other = (const GCC_RegistryAllocateHandleRequest &)obj;
04075
04076 Comparison result;
04077
04078 if ((result = m_entityID.Compare(other.m_entityID)) != EqualTo)
04079 return result;
04080 if ((result = m_numberOfHandles.Compare(other.m_numberOfHandles)) != EqualTo)
04081 return result;
04082
04083 return PASN_Sequence::Compare(other);
04084 }
04085
04086
04087 PINDEX GCC_RegistryAllocateHandleRequest::GetDataLength() const
04088 {
04089 PINDEX length = 0;
04090 length += m_entityID.GetObjectLength();
04091 length += m_numberOfHandles.GetObjectLength();
04092 return length;
04093 }
04094
04095
04096 BOOL GCC_RegistryAllocateHandleRequest::Decode(PASN_Stream & strm)
04097 {
04098 if (!PreambleDecode(strm))
04099 return FALSE;
04100
04101 if (!m_entityID.Decode(strm))
04102 return FALSE;
04103 if (!m_numberOfHandles.Decode(strm))
04104 return FALSE;
04105
04106 return UnknownExtensionsDecode(strm);
04107 }
04108
04109
04110 void GCC_RegistryAllocateHandleRequest::Encode(PASN_Stream & strm) const
04111 {
04112 PreambleEncode(strm);
04113
04114 m_entityID.Encode(strm);
04115 m_numberOfHandles.Encode(strm);
04116
04117 UnknownExtensionsEncode(strm);
04118 }
04119
04120
04121 PObject * GCC_RegistryAllocateHandleRequest::Clone() const
04122 {
04123 #ifndef PASN_LEANANDMEAN
04124 PAssert(IsClass(GCC_RegistryAllocateHandleRequest::Class()), PInvalidCast);
04125 #endif
04126 return new GCC_RegistryAllocateHandleRequest(*this);
04127 }
04128
04129
04130
04131
04132
04133
04134 GCC_ConductorAssignIndication::GCC_ConductorAssignIndication(unsigned tag, PASN_Object::TagClass tagClass)
04135 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04136 {
04137 }
04138
04139
04140 #ifndef PASN_NOPRINTON
04141 void GCC_ConductorAssignIndication::PrintOn(ostream & strm) const
04142 {
04143 int indent = strm.precision() + 2;
04144 strm << "{\n";
04145 strm << setw(indent+17) << "conductingNode = " << setprecision(indent) << m_conductingNode << '\n';
04146 strm << setw(indent-1) << setprecision(indent-2) << "}";
04147 }
04148 #endif
04149
04150
04151 PObject::Comparison GCC_ConductorAssignIndication::Compare(const PObject & obj) const
04152 {
04153 #ifndef PASN_LEANANDMEAN
04154 PAssert(PIsDescendant(&obj, GCC_ConductorAssignIndication), PInvalidCast);
04155 #endif
04156 const GCC_ConductorAssignIndication & other = (const GCC_ConductorAssignIndication &)obj;
04157
04158 Comparison result;
04159
04160 if ((result = m_conductingNode.Compare(other.m_conductingNode)) != EqualTo)
04161 return result;
04162
04163 return PASN_Sequence::Compare(other);
04164 }
04165
04166
04167 PINDEX GCC_ConductorAssignIndication::GetDataLength() const
04168 {
04169 PINDEX length = 0;
04170 length += m_conductingNode.GetObjectLength();
04171 return length;
04172 }
04173
04174
04175 BOOL GCC_ConductorAssignIndication::Decode(PASN_Stream & strm)
04176 {
04177 if (!PreambleDecode(strm))
04178 return FALSE;
04179
04180 if (!m_conductingNode.Decode(strm))
04181 return FALSE;
04182
04183 return UnknownExtensionsDecode(strm);
04184 }
04185
04186
04187 void GCC_ConductorAssignIndication::Encode(PASN_Stream & strm) const
04188 {
04189 PreambleEncode(strm);
04190
04191 m_conductingNode.Encode(strm);
04192
04193 UnknownExtensionsEncode(strm);
04194 }
04195
04196
04197 PObject * GCC_ConductorAssignIndication::Clone() const
04198 {
04199 #ifndef PASN_LEANANDMEAN
04200 PAssert(IsClass(GCC_ConductorAssignIndication::Class()), PInvalidCast);
04201 #endif
04202 return new GCC_ConductorAssignIndication(*this);
04203 }
04204
04205
04206
04207
04208
04209
04210 GCC_ConductorReleaseIndication::GCC_ConductorReleaseIndication(unsigned tag, PASN_Object::TagClass tagClass)
04211 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04212 {
04213 }
04214
04215
04216 #ifndef PASN_NOPRINTON
04217 void GCC_ConductorReleaseIndication::PrintOn(ostream & strm) const
04218 {
04219 int indent = strm.precision() + 2;
04220 strm << "{\n";
04221 strm << setw(indent-1) << setprecision(indent-2) << "}";
04222 }
04223 #endif
04224
04225
04226 PINDEX GCC_ConductorReleaseIndication::GetDataLength() const
04227 {
04228 PINDEX length = 0;
04229 return length;
04230 }
04231
04232
04233 BOOL GCC_ConductorReleaseIndication::Decode(PASN_Stream & strm)
04234 {
04235 if (!PreambleDecode(strm))
04236 return FALSE;
04237
04238
04239 return UnknownExtensionsDecode(strm);
04240 }
04241
04242
04243 void GCC_ConductorReleaseIndication::Encode(PASN_Stream & strm) const
04244 {
04245 PreambleEncode(strm);
04246
04247
04248 UnknownExtensionsEncode(strm);
04249 }
04250
04251
04252 PObject * GCC_ConductorReleaseIndication::Clone() const
04253 {
04254 #ifndef PASN_LEANANDMEAN
04255 PAssert(IsClass(GCC_ConductorReleaseIndication::Class()), PInvalidCast);
04256 #endif
04257 return new GCC_ConductorReleaseIndication(*this);
04258 }
04259
04260
04261
04262
04263
04264
04265 GCC_ConductorPermissionAskIndication::GCC_ConductorPermissionAskIndication(unsigned tag, PASN_Object::TagClass tagClass)
04266 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04267 {
04268 }
04269
04270
04271 #ifndef PASN_NOPRINTON
04272 void GCC_ConductorPermissionAskIndication::PrintOn(ostream & strm) const
04273 {
04274 int indent = strm.precision() + 2;
04275 strm << "{\n";
04276 strm << setw(indent+12) << "grantFlag = " << setprecision(indent) << m_grantFlag << '\n';
04277 strm << setw(indent-1) << setprecision(indent-2) << "}";
04278 }
04279 #endif
04280
04281
04282 PObject::Comparison GCC_ConductorPermissionAskIndication::Compare(const PObject & obj) const
04283 {
04284 #ifndef PASN_LEANANDMEAN
04285 PAssert(PIsDescendant(&obj, GCC_ConductorPermissionAskIndication), PInvalidCast);
04286 #endif
04287 const GCC_ConductorPermissionAskIndication & other = (const GCC_ConductorPermissionAskIndication &)obj;
04288
04289 Comparison result;
04290
04291 if ((result = m_grantFlag.Compare(other.m_grantFlag)) != EqualTo)
04292 return result;
04293
04294 return PASN_Sequence::Compare(other);
04295 }
04296
04297
04298 PINDEX GCC_ConductorPermissionAskIndication::GetDataLength() const
04299 {
04300 PINDEX length = 0;
04301 length += m_grantFlag.GetObjectLength();
04302 return length;
04303 }
04304
04305
04306 BOOL GCC_ConductorPermissionAskIndication::Decode(PASN_Stream & strm)
04307 {
04308 if (!PreambleDecode(strm))
04309 return FALSE;
04310
04311 if (!m_grantFlag.Decode(strm))
04312 return FALSE;
04313
04314 return UnknownExtensionsDecode(strm);
04315 }
04316
04317
04318 void GCC_ConductorPermissionAskIndication::Encode(PASN_Stream & strm) const
04319 {
04320 PreambleEncode(strm);
04321
04322 m_grantFlag.Encode(strm);
04323
04324 UnknownExtensionsEncode(strm);
04325 }
04326
04327
04328 PObject * GCC_ConductorPermissionAskIndication::Clone() const
04329 {
04330 #ifndef PASN_LEANANDMEAN
04331 PAssert(IsClass(GCC_ConductorPermissionAskIndication::Class()), PInvalidCast);
04332 #endif
04333 return new GCC_ConductorPermissionAskIndication(*this);
04334 }
04335
04336
04337
04338
04339
04340
04341 GCC_ConferenceTimeRemainingIndication::GCC_ConferenceTimeRemainingIndication(unsigned tag, PASN_Object::TagClass tagClass)
04342 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
04343 {
04344 }
04345
04346
04347 #ifndef PASN_NOPRINTON
04348 void GCC_ConferenceTimeRemainingIndication::PrintOn(ostream & strm) const
04349 {
04350 int indent = strm.precision() + 2;
04351 strm << "{\n";
04352 strm << setw(indent+16) << "timeRemaining = " << setprecision(indent) << m_timeRemaining << '\n';
04353 if (HasOptionalField(e_nodeID))
04354 strm << setw(indent+9) << "nodeID = " << setprecision(indent) << m_nodeID << '\n';
04355 strm << setw(indent-1) << setprecision(indent-2) << "}";
04356 }
04357 #endif
04358
04359
04360 PObject::Comparison GCC_ConferenceTimeRemainingIndication::Compare(const PObject & obj) const
04361 {
04362 #ifndef PASN_LEANANDMEAN
04363 PAssert(PIsDescendant(&obj, GCC_ConferenceTimeRemainingIndication), PInvalidCast);
04364 #endif
04365 const GCC_ConferenceTimeRemainingIndication & other = (const GCC_ConferenceTimeRemainingIndication &)obj;
04366
04367 Comparison result;
04368
04369 if ((result = m_timeRemaining.Compare(other.m_timeRemaining)) != EqualTo)
04370 return result;
04371 if ((result = m_nodeID.Compare(other.m_nodeID)) != EqualTo)
04372 return result;
04373
04374 return PASN_Sequence::Compare(other);
04375 }
04376
04377
04378 PINDEX GCC_ConferenceTimeRemainingIndication::GetDataLength() const
04379 {
04380 PINDEX length = 0;
04381 length += m_timeRemaining.GetObjectLength();
04382 if (HasOptionalField(e_nodeID))
04383 length += m_nodeID.GetObjectLength();
04384 return length;
04385 }
04386
04387
04388 BOOL GCC_ConferenceTimeRemainingIndication::Decode(PASN_Stream & strm)
04389 {
04390 if (!PreambleDecode(strm))
04391 return FALSE;
04392
04393 if (!m_timeRemaining.Decode(strm))
04394 return FALSE;
04395 if (HasOptionalField(e_nodeID) && !m_nodeID.Decode(strm))
04396 return FALSE;
04397
04398 return UnknownExtensionsDecode(strm);
04399 }
04400
04401
04402 void GCC_ConferenceTimeRemainingIndication::Encode(PASN_Stream & strm) const
04403 {
04404 PreambleEncode(strm);
04405
04406 m_timeRemaining.Encode(strm);
04407 if (HasOptionalField(e_nodeID))
04408 m_nodeID.Encode(strm);
04409
04410 UnknownExtensionsEncode(strm);
04411 }
04412
04413
04414 PObject * GCC_ConferenceTimeRemainingIndication::Clone() const
04415 {
04416 #ifndef PASN_LEANANDMEAN
04417 PAssert(IsClass(GCC_ConferenceTimeRemainingIndication::Class()), PInvalidCast);
04418 #endif
04419 return new GCC_ConferenceTimeRemainingIndication(*this);
04420 }
04421
04422
04423
04424
04425
04426
04427 GCC_ConferenceTimeInquireIndication::GCC_ConferenceTimeInquireIndication(unsigned tag, PASN_Object::TagClass tagClass)
04428 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04429 {
04430 }
04431
04432
04433 #ifndef PASN_NOPRINTON
04434 void GCC_ConferenceTimeInquireIndication::PrintOn(ostream & strm) const
04435 {
04436 int indent = strm.precision() + 2;
04437 strm << "{\n";
04438 strm << setw(indent+23) << "nodeSpecificTimeFlag = " << setprecision(indent) << m_nodeSpecificTimeFlag << '\n';
04439 strm << setw(indent-1) << setprecision(indent-2) << "}";
04440 }
04441 #endif
04442
04443
04444 PObject::Comparison GCC_ConferenceTimeInquireIndication::Compare(const PObject & obj) const
04445 {
04446 #ifndef PASN_LEANANDMEAN
04447 PAssert(PIsDescendant(&obj, GCC_ConferenceTimeInquireIndication), PInvalidCast);
04448 #endif
04449 const GCC_ConferenceTimeInquireIndication & other = (const GCC_ConferenceTimeInquireIndication &)obj;
04450
04451 Comparison result;
04452
04453 if ((result = m_nodeSpecificTimeFlag.Compare(other.m_nodeSpecificTimeFlag)) != EqualTo)
04454 return result;
04455
04456 return PASN_Sequence::Compare(other);
04457 }
04458
04459
04460 PINDEX GCC_ConferenceTimeInquireIndication::GetDataLength() const
04461 {
04462 PINDEX length = 0;
04463 length += m_nodeSpecificTimeFlag.GetObjectLength();
04464 return length;
04465 }
04466
04467
04468 BOOL GCC_ConferenceTimeInquireIndication::Decode(PASN_Stream & strm)
04469 {
04470 if (!PreambleDecode(strm))
04471 return FALSE;
04472
04473 if (!m_nodeSpecificTimeFlag.Decode(strm))
04474 return FALSE;
04475
04476 return UnknownExtensionsDecode(strm);
04477 }
04478
04479
04480 void GCC_ConferenceTimeInquireIndication::Encode(PASN_Stream & strm) const
04481 {
04482 PreambleEncode(strm);
04483
04484 m_nodeSpecificTimeFlag.Encode(strm);
04485
04486 UnknownExtensionsEncode(strm);
04487 }
04488
04489
04490 PObject * GCC_ConferenceTimeInquireIndication::Clone() const
04491 {
04492 #ifndef PASN_LEANANDMEAN
04493 PAssert(IsClass(GCC_ConferenceTimeInquireIndication::Class()), PInvalidCast);
04494 #endif
04495 return new GCC_ConferenceTimeInquireIndication(*this);
04496 }
04497
04498
04499
04500
04501
04502
04503 GCC_ConferenceTimeExtendIndication::GCC_ConferenceTimeExtendIndication(unsigned tag, PASN_Object::TagClass tagClass)
04504 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04505 {
04506 }
04507
04508
04509 #ifndef PASN_NOPRINTON
04510 void GCC_ConferenceTimeExtendIndication::PrintOn(ostream & strm) const
04511 {
04512 int indent = strm.precision() + 2;
04513 strm << "{\n";
04514 strm << setw(indent+15) << "timeToExtend = " << setprecision(indent) << m_timeToExtend << '\n';
04515 strm << setw(indent+23) << "nodeSpecificTimeFlag = " << setprecision(indent) << m_nodeSpecificTimeFlag << '\n';
04516 strm << setw(indent-1) << setprecision(indent-2) << "}";
04517 }
04518 #endif
04519
04520
04521 PObject::Comparison GCC_ConferenceTimeExtendIndication::Compare(const PObject & obj) const
04522 {
04523 #ifndef PASN_LEANANDMEAN
04524 PAssert(PIsDescendant(&obj, GCC_ConferenceTimeExtendIndication), PInvalidCast);
04525 #endif
04526 const GCC_ConferenceTimeExtendIndication & other = (const GCC_ConferenceTimeExtendIndication &)obj;
04527
04528 Comparison result;
04529
04530 if ((result = m_timeToExtend.Compare(other.m_timeToExtend)) != EqualTo)
04531 return result;
04532 if ((result = m_nodeSpecificTimeFlag.Compare(other.m_nodeSpecificTimeFlag)) != EqualTo)
04533 return result;
04534
04535 return PASN_Sequence::Compare(other);
04536 }
04537
04538
04539 PINDEX GCC_ConferenceTimeExtendIndication::GetDataLength() const
04540 {
04541 PINDEX length = 0;
04542 length += m_timeToExtend.GetObjectLength();
04543 length += m_nodeSpecificTimeFlag.GetObjectLength();
04544 return length;
04545 }
04546
04547
04548 BOOL GCC_ConferenceTimeExtendIndication::Decode(PASN_Stream & strm)
04549 {
04550 if (!PreambleDecode(strm))
04551 return FALSE;
04552
04553 if (!m_timeToExtend.Decode(strm))
04554 return FALSE;
04555 if (!m_nodeSpecificTimeFlag.Decode(strm))
04556 return FALSE;
04557
04558 return UnknownExtensionsDecode(strm);
04559 }
04560
04561
04562 void GCC_ConferenceTimeExtendIndication::Encode(PASN_Stream & strm) const
04563 {
04564 PreambleEncode(strm);
04565
04566 m_timeToExtend.Encode(strm);
04567 m_nodeSpecificTimeFlag.Encode(strm);
04568
04569 UnknownExtensionsEncode(strm);
04570 }
04571
04572
04573 PObject * GCC_ConferenceTimeExtendIndication::Clone() const
04574 {
04575 #ifndef PASN_LEANANDMEAN
04576 PAssert(IsClass(GCC_ConferenceTimeExtendIndication::Class()), PInvalidCast);
04577 #endif
04578 return new GCC_ConferenceTimeExtendIndication(*this);
04579 }
04580
04581
04582
04583
04584
04585
04586 GCC_ConferenceAssistanceIndication::GCC_ConferenceAssistanceIndication(unsigned tag, PASN_Object::TagClass tagClass)
04587 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
04588 {
04589 }
04590
04591
04592 #ifndef PASN_NOPRINTON
04593 void GCC_ConferenceAssistanceIndication::PrintOn(ostream & strm) const
04594 {
04595 int indent = strm.precision() + 2;
04596 strm << "{\n";
04597 if (HasOptionalField(e_userData))
04598 strm << setw(indent+11) << "userData = " << setprecision(indent) << m_userData << '\n';
04599 strm << setw(indent-1) << setprecision(indent-2) << "}";
04600 }
04601 #endif
04602
04603
04604 PObject::Comparison GCC_ConferenceAssistanceIndication::Compare(const PObject & obj) const
04605 {
04606 #ifndef PASN_LEANANDMEAN
04607 PAssert(PIsDescendant(&obj, GCC_ConferenceAssistanceIndication), PInvalidCast);
04608 #endif
04609 const GCC_ConferenceAssistanceIndication & other = (const GCC_ConferenceAssistanceIndication &)obj;
04610
04611 Comparison result;
04612
04613 if ((result = m_userData.Compare(other.m_userData)) != EqualTo)
04614 return result;
04615
04616 return PASN_Sequence::Compare(other);
04617 }
04618
04619
04620 PINDEX GCC_ConferenceAssistanceIndication::GetDataLength() const
04621 {
04622 PINDEX length = 0;
04623 if (HasOptionalField(e_userData))
04624 length += m_userData.GetObjectLength();
04625 return length;
04626 }
04627
04628
04629 BOOL GCC_ConferenceAssistanceIndication::Decode(PASN_Stream & strm)
04630 {
04631 if (!PreambleDecode(strm))
04632 return FALSE;
04633
04634 if (HasOptionalField(e_userData) && !m_userData.Decode(strm))
04635 return FALSE;
04636
04637 return UnknownExtensionsDecode(strm);
04638 }
04639
04640
04641 void GCC_ConferenceAssistanceIndication::Encode(PASN_Stream & strm) const
04642 {
04643 PreambleEncode(strm);
04644
04645 if (HasOptionalField(e_userData))
04646 m_userData.Encode(strm);
04647
04648 UnknownExtensionsEncode(strm);
04649 }
04650
04651
04652 PObject * GCC_ConferenceAssistanceIndication::Clone() const
04653 {
04654 #ifndef PASN_LEANANDMEAN
04655 PAssert(IsClass(GCC_ConferenceAssistanceIndication::Class()), PInvalidCast);
04656 #endif
04657 return new GCC_ConferenceAssistanceIndication(*this);
04658 }
04659
04660
04661
04662
04663
04664
04665 GCC_TextMessageIndication::GCC_TextMessageIndication(unsigned tag, PASN_Object::TagClass tagClass)
04666 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04667 {
04668 }
04669
04670
04671 #ifndef PASN_NOPRINTON
04672 void GCC_TextMessageIndication::PrintOn(ostream & strm) const
04673 {
04674 int indent = strm.precision() + 2;
04675 strm << "{\n";
04676 strm << setw(indent+10) << "message = " << setprecision(indent) << m_message << '\n';
04677 strm << setw(indent-1) << setprecision(indent-2) << "}";
04678 }
04679 #endif
04680
04681
04682 PObject::Comparison GCC_TextMessageIndication::Compare(const PObject & obj) const
04683 {
04684 #ifndef PASN_LEANANDMEAN
04685 PAssert(PIsDescendant(&obj, GCC_TextMessageIndication), PInvalidCast);
04686 #endif
04687 const GCC_TextMessageIndication & other = (const GCC_TextMessageIndication &)obj;
04688
04689 Comparison result;
04690
04691 if ((result = m_message.Compare(other.m_message)) != EqualTo)
04692 return result;
04693
04694 return PASN_Sequence::Compare(other);
04695 }
04696
04697
04698 PINDEX GCC_TextMessageIndication::GetDataLength() const
04699 {
04700 PINDEX length = 0;
04701 length += m_message.GetObjectLength();
04702 return length;
04703 }
04704
04705
04706 BOOL GCC_TextMessageIndication::Decode(PASN_Stream & strm)
04707 {
04708 if (!PreambleDecode(strm))
04709 return FALSE;
04710
04711 if (!m_message.Decode(strm))
04712 return FALSE;
04713
04714 return UnknownExtensionsDecode(strm);
04715 }
04716
04717
04718 void GCC_TextMessageIndication::Encode(PASN_Stream & strm) const
04719 {
04720 PreambleEncode(strm);
04721
04722 m_message.Encode(strm);
04723
04724 UnknownExtensionsEncode(strm);
04725 }
04726
04727
04728 PObject * GCC_TextMessageIndication::Clone() const
04729 {
04730 #ifndef PASN_LEANANDMEAN
04731 PAssert(IsClass(GCC_TextMessageIndication::Class()), PInvalidCast);
04732 #endif
04733 return new GCC_TextMessageIndication(*this);
04734 }
04735
04736
04737
04738
04739
04740
04741 GCC_NonStandardPDU::GCC_NonStandardPDU(unsigned tag, PASN_Object::TagClass tagClass)
04742 : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
04743 {
04744 }
04745
04746
04747 #ifndef PASN_NOPRINTON
04748 void GCC_NonStandardPDU::PrintOn(ostream & strm) const
04749 {
04750 int indent = strm.precision() + 2;
04751 strm << "{\n";
04752 strm << setw(indent+7) << "data = " << setprecision(indent) << m_data << '\n';
04753 strm << setw(indent-1) << setprecision(indent-2) << "}";
04754 }
04755 #endif
04756
04757
04758 PObject::Comparison GCC_NonStandardPDU::Compare(const PObject & obj) const
04759 {
04760 #ifndef PASN_LEANANDMEAN
04761 PAssert(PIsDescendant(&obj, GCC_NonStandardPDU), PInvalidCast);
04762 #endif
04763 const GCC_NonStandardPDU & other = (const GCC_NonStandardPDU &)obj;
04764
04765 Comparison result;
04766
04767 if ((result = m_data.Compare(other.m_data)) != EqualTo)
04768 return result;
04769
04770 return PASN_Sequence::Compare(other);
04771 }
04772
04773
04774 PINDEX GCC_NonStandardPDU::GetDataLength() const
04775 {
04776 PINDEX length = 0;
04777 length += m_data.GetObjectLength();
04778 return length;
04779 }
04780
04781
04782 BOOL GCC_NonStandardPDU::Decode(PASN_Stream & strm)
04783 {
04784 if (!PreambleDecode(strm))
04785 return FALSE;
04786
04787 if (!m_data.Decode(strm))
04788 return FALSE;
04789
04790 return UnknownExtensionsDecode(strm);
04791 }
04792
04793
04794 void GCC_NonStandardPDU::Encode(PASN_Stream & strm) const
04795 {
04796 PreambleEncode(strm);
04797
04798 m_data.Encode(strm);
04799
04800 UnknownExtensionsEncode(strm);
04801 }
04802
04803
04804 PObject * GCC_NonStandardPDU::Clone() const
04805 {
04806 #ifndef PASN_LEANANDMEAN
04807 PAssert(IsClass(GCC_NonStandardPDU::Class()), PInvalidCast);
04808 #endif
04809 return new GCC_NonStandardPDU(*this);
04810 }
04811
04812
04813
04814
04815
04816
04817 GCC_ConnectData::GCC_ConnectData(unsigned tag, PASN_Object::TagClass tagClass)
04818 : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
04819 {
04820 }
04821
04822
04823 #ifndef PASN_NOPRINTON
04824 void GCC_ConnectData::PrintOn(ostream & strm) const
04825 {
04826 int indent = strm.precision() + 2;
04827 strm << "{\n";
04828 strm << setw(indent+17) << "t124Identifier = " << setprecision(indent) << m_t124Identifier << '\n';
04829 strm << setw(indent+13) << "connectPDU = " << setprecision(indent) << m_connectPDU << '\n';
04830 strm << setw(indent-1) << setprecision(indent-2) << "}";
04831 }
04832 #endif
04833
04834
04835 PObject::Comparison GCC_ConnectData::Compare(const PObject & obj) const
04836 {
04837 #ifndef PASN_LEANANDMEAN
04838 PAssert(PIsDescendant(&obj, GCC_ConnectData), PInvalidCast);
04839 #endif
04840 const GCC_ConnectData & other = (const GCC_ConnectData &)obj;
04841
04842 Comparison result;
04843
04844 if ((result = m_t124Identifier.Compare(other.m_t124Identifier)) != EqualTo)
04845 return result;
04846 if ((result = m_connectPDU.Compare(other.m_connectPDU)) != EqualTo)
04847 return result;
04848
04849 return PASN_Sequence::Compare(other);
04850 }
04851
04852
04853 PINDEX GCC_ConnectData::GetDataLength() const
04854 {
04855 PINDEX length = 0;
04856 length += m_t124Identifier.GetObjectLength();
04857 length += m_connectPDU.GetObjectLength();
04858 return length;
04859 }
04860
04861
04862 BOOL GCC_ConnectData::Decode(PASN_Stream & strm)
04863 {
04864 if (!PreambleDecode(strm))
04865 return FALSE;
04866
04867 if (!m_t124Identifier.Decode(strm))
04868 return FALSE;
04869 if (!m_connectPDU.Decode(strm))
04870 return FALSE;
04871
04872 return UnknownExtensionsDecode(strm);
04873 }
04874
04875
04876 void GCC_ConnectData::Encode(PASN_Stream & strm) const
04877 {
04878 PreambleEncode(strm);
04879
04880 m_t124Identifier.Encode(strm);
04881 m_connectPDU.Encode(strm);
04882
04883 UnknownExtensionsEncode(strm);
04884 }
04885
04886
04887 PObject * GCC_ConnectData::Clone() const
04888 {
04889 #ifndef PASN_LEANANDMEAN
04890 PAssert(IsClass(GCC_ConnectData::Class()), PInvalidCast);
04891 #endif
04892 return new GCC_ConnectData(*this);
04893 }
04894
04895
04896
04897 #ifndef PASN_NOPRINTON
04898 const static PASN_Names Names_GCC_ConnectGCCPDU[]={
04899 {"conferenceCreateRequest",0}
04900 ,{"conferenceCreateResponse",1}
04901 ,{"conferenceQueryRequest",2}
04902 ,{"conferenceQueryResponse",3}
04903 ,{"conferenceJoinRequest",4}
04904 ,{"conferenceJoinResponse",5}
04905 ,{"conferenceInviteRequest",6}
04906 ,{"conferenceInviteResponse",7}
04907 };
04908 #endif
04909
04910
04911
04912
04913 GCC_ConnectGCCPDU::GCC_ConnectGCCPDU(unsigned tag, PASN_Object::TagClass tagClass)
04914 : PASN_Choice(tag, tagClass, 8, TRUE
04915 #ifndef PASN_NOPRINTON
04916 ,(const PASN_Names *)Names_GCC_ConnectGCCPDU,8
04917 #endif
04918 )
04919 {
04920 }
04921
04922
04923 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
04924 GCC_ConnectGCCPDU::operator GCC_ConferenceCreateRequest &() const
04925 #else
04926 GCC_ConnectGCCPDU::operator GCC_ConferenceCreateRequest &()
04927 {
04928 #ifndef PASN_LEANANDMEAN
04929 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceCreateRequest), PInvalidCast);
04930 #endif
04931 return *(GCC_ConferenceCreateRequest *)choice;
04932 }
04933
04934
04935 GCC_ConnectGCCPDU::operator const GCC_ConferenceCreateRequest &() const
04936 #endif
04937 {
04938 #ifndef PASN_LEANANDMEAN
04939 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceCreateRequest), PInvalidCast);
04940 #endif
04941 return *(GCC_ConferenceCreateRequest *)choice;
04942 }
04943
04944
04945 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
04946 GCC_ConnectGCCPDU::operator GCC_ConferenceCreateResponse &() const
04947 #else
04948 GCC_ConnectGCCPDU::operator GCC_ConferenceCreateResponse &()
04949 {
04950 #ifndef PASN_LEANANDMEAN
04951 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceCreateResponse), PInvalidCast);
04952 #endif
04953 return *(GCC_ConferenceCreateResponse *)choice;
04954 }
04955
04956
04957 GCC_ConnectGCCPDU::operator const GCC_ConferenceCreateResponse &() const
04958 #endif
04959 {
04960 #ifndef PASN_LEANANDMEAN
04961 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceCreateResponse), PInvalidCast);
04962 #endif
04963 return *(GCC_ConferenceCreateResponse *)choice;
04964 }
04965
04966
04967 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
04968 GCC_ConnectGCCPDU::operator GCC_ConferenceQueryRequest &() const
04969 #else
04970 GCC_ConnectGCCPDU::operator GCC_ConferenceQueryRequest &()
04971 {
04972 #ifndef PASN_LEANANDMEAN
04973 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceQueryRequest), PInvalidCast);
04974 #endif
04975 return *(GCC_ConferenceQueryRequest *)choice;
04976 }
04977
04978
04979 GCC_ConnectGCCPDU::operator const GCC_ConferenceQueryRequest &() const
04980 #endif
04981 {
04982 #ifndef PASN_LEANANDMEAN
04983 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceQueryRequest), PInvalidCast);
04984 #endif
04985 return *(GCC_ConferenceQueryRequest *)choice;
04986 }
04987
04988
04989 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
04990 GCC_ConnectGCCPDU::operator GCC_ConferenceQueryResponse &() const
04991 #else
04992 GCC_ConnectGCCPDU::operator GCC_ConferenceQueryResponse &()
04993 {
04994 #ifndef PASN_LEANANDMEAN
04995 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceQueryResponse), PInvalidCast);
04996 #endif
04997 return *(GCC_ConferenceQueryResponse *)choice;
04998 }
04999
05000
05001 GCC_ConnectGCCPDU::operator const GCC_ConferenceQueryResponse &() const
05002 #endif
05003 {
05004 #ifndef PASN_LEANANDMEAN
05005 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceQueryResponse), PInvalidCast);
05006 #endif
05007 return *(GCC_ConferenceQueryResponse *)choice;
05008 }
05009
05010
05011 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
05012 GCC_ConnectGCCPDU::operator GCC_ConferenceJoinRequest &() const
05013 #else
05014 GCC_ConnectGCCPDU::operator GCC_ConferenceJoinRequest &()
05015 {
05016 #ifndef PASN_LEANANDMEAN
05017 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceJoinRequest), PInvalidCast);
05018 #endif
05019 return *(GCC_ConferenceJoinRequest *)choice;
05020 }
05021
05022
05023 GCC_ConnectGCCPDU::operator const GCC_ConferenceJoinRequest &() const
05024 #endif
05025 {
05026 #ifndef PASN_LEANANDMEAN
05027 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceJoinRequest), PInvalidCast);
05028 #endif
05029 return *(GCC_ConferenceJoinRequest *)choice;
05030 }
05031
05032
05033 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
05034 GCC_ConnectGCCPDU::operator GCC_ConferenceJoinResponse &() const
05035 #else
05036 GCC_ConnectGCCPDU::operator GCC_ConferenceJoinResponse &()
05037 {
05038 #ifndef PASN_LEANANDMEAN
05039 PAssert(PIsDescendant(PAssertNULL(choice), GCC_ConferenceJoinResponse), PInvalidCast);
05040 #endif
05041 return *(GCC_ConferenceJoinResponse *)choice;
05042 }
05043
05044
05045