D:/Storage/CVS_Head/h323plus/src/gccpdu.cxx

00001 //
00002 // gccpdu.cxx
00003 //
00004 // Code automatically generated by asnparse.
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 // ChannelID
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 // StaticChannelID
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 // DynamicChannelID
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 // UserID
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 // TokenID
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 // StaticTokenID
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 // DynamicTokenID
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 // Time
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 // Handle
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 // H221NonStandardIdentifier
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 // Key
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 // NonStandardParameter
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 // TextString
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 // SimpleTextString
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 // SimpleNumericString
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 // DialingString
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 // SubAddressString
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 // ExtraDialingString
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 // UserData
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 // Password
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 // PasswordSelector
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 // ChallengeResponseItem
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 // ChallengeResponseAlgorithm
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 // ChallengeItem
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 // ChallengeResponse
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 // PasswordChallengeRequestResponse
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 // ConferenceName
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 // ConferenceNameSelector
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 // ConferenceNameModifier
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 // Privilege
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 // TerminationMethod
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 // ConferencePriorityScheme
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 // ConferencePriority
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 // NetworkAddress
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 // NodeType
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 // NodeProperties
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 // AsymmetryIndicator
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 // AlternativeNodeID
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 // ConferenceDescriptor
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 // SessionKey
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 // ChannelType
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 // CapabilityID
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 // CapabilityClass
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 // EntityID
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 // RegistryKey
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 // RegistryItem
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 // RegistryEntryOwner
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 // RegistryModificationRights
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 // UserIDIndication
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 // ConferenceQueryRequest
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 // ConferenceJoinRequest
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 // ConferenceAddRequest
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 // ConferenceLockRequest
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 // ConferenceLockIndication
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 // ConferenceUnlockRequest
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 // ConferenceUnlockIndication
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 // RegistryRegisterChannelRequest
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 // RegistryAssignTokenRequest
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 // RegistrySetParameterRequest
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 // RegistryRetrieveEntryRequest
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 // RegistryDeleteEntryRequest
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 // RegistryMonitorEntryRequest
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 // RegistryMonitorEntryIndication
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 // RegistryAllocateHandleRequest
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 // ConductorAssignIndication
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 // ConductorReleaseIndication
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 // ConductorPermissionAskIndication
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 // ConferenceTimeRemainingIndication
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 // ConferenceTimeInquireIndication
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 // ConferenceTimeExtendIndication
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 // ConferenceAssistanceIndication
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 // TextMessageIndication
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 // NonStandardPDU
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 // ConnectData
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 // ConnectGCCPDU
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