D:/Storage/CVS_Head/h323plus/include/gccpdu.h

00001 //
00002 // gccpdu.h
00003 //
00004 // Code automatically generated by asnparse.
00005 //
00006 
00007 #if ! H323_DISABLE_GCC
00008 
00009 #ifndef __GCC_H
00010 #define __GCC_H
00011 
00012 #ifdef P_USE_PRAGMA
00013 #pragma interface
00014 #endif
00015 
00016 #include <ptclib/asner.h>
00017 
00018 //
00019 // ChannelID
00020 //
00021 
00022 class GCC_ChannelID : public PASN_Integer
00023 {
00024 #ifndef PASN_LEANANDMEAN
00025     PCLASSINFO(GCC_ChannelID, PASN_Integer);
00026 #endif
00027   public:
00028     GCC_ChannelID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00029 
00030     GCC_ChannelID & operator=(int v);
00031     GCC_ChannelID & operator=(unsigned v);
00032     PObject * Clone() const;
00033 };
00034 
00035 
00036 //
00037 // StaticChannelID
00038 //
00039 
00040 class GCC_StaticChannelID : public PASN_Integer
00041 {
00042 #ifndef PASN_LEANANDMEAN
00043     PCLASSINFO(GCC_StaticChannelID, PASN_Integer);
00044 #endif
00045   public:
00046     GCC_StaticChannelID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00047 
00048     GCC_StaticChannelID & operator=(int v);
00049     GCC_StaticChannelID & operator=(unsigned v);
00050     PObject * Clone() const;
00051 };
00052 
00053 
00054 //
00055 // DynamicChannelID
00056 //
00057 
00058 class GCC_DynamicChannelID : public PASN_Integer
00059 {
00060 #ifndef PASN_LEANANDMEAN
00061     PCLASSINFO(GCC_DynamicChannelID, PASN_Integer);
00062 #endif
00063   public:
00064     GCC_DynamicChannelID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00065 
00066     GCC_DynamicChannelID & operator=(int v);
00067     GCC_DynamicChannelID & operator=(unsigned v);
00068     PObject * Clone() const;
00069 };
00070 
00071 
00072 //
00073 // UserID
00074 //
00075 
00076 class GCC_UserID : public GCC_DynamicChannelID
00077 {
00078 #ifndef PASN_LEANANDMEAN
00079     PCLASSINFO(GCC_UserID, GCC_DynamicChannelID);
00080 #endif
00081   public:
00082     GCC_UserID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00083 
00084     GCC_UserID & operator=(int v);
00085     GCC_UserID & operator=(unsigned v);
00086     PObject * Clone() const;
00087 };
00088 
00089 
00090 //
00091 // TokenID
00092 //
00093 
00094 class GCC_TokenID : public PASN_Integer
00095 {
00096 #ifndef PASN_LEANANDMEAN
00097     PCLASSINFO(GCC_TokenID, PASN_Integer);
00098 #endif
00099   public:
00100     GCC_TokenID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00101 
00102     GCC_TokenID & operator=(int v);
00103     GCC_TokenID & operator=(unsigned v);
00104     PObject * Clone() const;
00105 };
00106 
00107 
00108 //
00109 // StaticTokenID
00110 //
00111 
00112 class GCC_StaticTokenID : public PASN_Integer
00113 {
00114 #ifndef PASN_LEANANDMEAN
00115     PCLASSINFO(GCC_StaticTokenID, PASN_Integer);
00116 #endif
00117   public:
00118     GCC_StaticTokenID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00119 
00120     GCC_StaticTokenID & operator=(int v);
00121     GCC_StaticTokenID & operator=(unsigned v);
00122     PObject * Clone() const;
00123 };
00124 
00125 
00126 //
00127 // DynamicTokenID
00128 //
00129 
00130 class GCC_DynamicTokenID : public PASN_Integer
00131 {
00132 #ifndef PASN_LEANANDMEAN
00133     PCLASSINFO(GCC_DynamicTokenID, PASN_Integer);
00134 #endif
00135   public:
00136     GCC_DynamicTokenID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00137 
00138     GCC_DynamicTokenID & operator=(int v);
00139     GCC_DynamicTokenID & operator=(unsigned v);
00140     PObject * Clone() const;
00141 };
00142 
00143 
00144 //
00145 // Time
00146 //
00147 
00148 class GCC_Time : public PASN_Integer
00149 {
00150 #ifndef PASN_LEANANDMEAN
00151     PCLASSINFO(GCC_Time, PASN_Integer);
00152 #endif
00153   public:
00154     GCC_Time(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00155 
00156     GCC_Time & operator=(int v);
00157     GCC_Time & operator=(unsigned v);
00158     PObject * Clone() const;
00159 };
00160 
00161 
00162 //
00163 // Handle
00164 //
00165 
00166 class GCC_Handle : public PASN_Integer
00167 {
00168 #ifndef PASN_LEANANDMEAN
00169     PCLASSINFO(GCC_Handle, PASN_Integer);
00170 #endif
00171   public:
00172     GCC_Handle(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00173 
00174     GCC_Handle & operator=(int v);
00175     GCC_Handle & operator=(unsigned v);
00176     PObject * Clone() const;
00177 };
00178 
00179 
00180 //
00181 // H221NonStandardIdentifier
00182 //
00183 
00184 class GCC_H221NonStandardIdentifier : public PASN_OctetString
00185 {
00186 #ifndef PASN_LEANANDMEAN
00187     PCLASSINFO(GCC_H221NonStandardIdentifier, PASN_OctetString);
00188 #endif
00189   public:
00190     GCC_H221NonStandardIdentifier(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
00191 
00192     GCC_H221NonStandardIdentifier(const char * v);
00193     GCC_H221NonStandardIdentifier(const PString & v);
00194     GCC_H221NonStandardIdentifier(const PBYTEArray & v);
00195 
00196     GCC_H221NonStandardIdentifier & operator=(const char * v);
00197     GCC_H221NonStandardIdentifier & operator=(const PString & v);
00198     GCC_H221NonStandardIdentifier & operator=(const PBYTEArray & v);
00199     PObject * Clone() const;
00200 };
00201 
00202 
00203 //
00204 // Key
00205 //
00206 
00207 class GCC_H221NonStandardIdentifier;
00208 
00209 class GCC_Key : public PASN_Choice
00210 {
00211 #ifndef PASN_LEANANDMEAN
00212     PCLASSINFO(GCC_Key, PASN_Choice);
00213 #endif
00214   public:
00215     GCC_Key(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00216 
00217     enum Choices {
00218       e_object,
00219       e_h221NonStandard
00220     };
00221 
00222 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00223     operator GCC_H221NonStandardIdentifier &() const;
00224 #else
00225     operator GCC_H221NonStandardIdentifier &();
00226     operator const GCC_H221NonStandardIdentifier &() const;
00227 #endif
00228 
00229     BOOL CreateObject();
00230     PObject * Clone() const;
00231 };
00232 
00233 
00234 //
00235 // NonStandardParameter
00236 //
00237 
00238 class GCC_NonStandardParameter : public PASN_Sequence
00239 {
00240 #ifndef PASN_LEANANDMEAN
00241     PCLASSINFO(GCC_NonStandardParameter, PASN_Sequence);
00242 #endif
00243   public:
00244     GCC_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00245 
00246     GCC_Key m_key;
00247     PASN_OctetString m_data;
00248 
00249     PINDEX GetDataLength() const;
00250     BOOL Decode(PASN_Stream & strm);
00251     void Encode(PASN_Stream & strm) const;
00252 #ifndef PASN_NOPRINTON
00253     void PrintOn(ostream & strm) const;
00254 #endif
00255     Comparison Compare(const PObject & obj) const;
00256     PObject * Clone() const;
00257 };
00258 
00259 
00260 //
00261 // TextString
00262 //
00263 
00264 class GCC_TextString : public PASN_BMPString
00265 {
00266 #ifndef PASN_LEANANDMEAN
00267     PCLASSINFO(GCC_TextString, PASN_BMPString);
00268 #endif
00269   public:
00270     GCC_TextString(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
00271 
00272     GCC_TextString & operator=(const char * v);
00273     GCC_TextString & operator=(const PString & v);
00274     GCC_TextString & operator=(const PWORDArray & v);
00275     GCC_TextString & operator=(const PASN_BMPString & v);
00276     PObject * Clone() const;
00277 };
00278 
00279 
00280 //
00281 // SimpleTextString
00282 //
00283 
00284 class GCC_SimpleTextString : public PASN_BMPString
00285 {
00286 #ifndef PASN_LEANANDMEAN
00287     PCLASSINFO(GCC_SimpleTextString, PASN_BMPString);
00288 #endif
00289   public:
00290     GCC_SimpleTextString(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
00291 
00292     GCC_SimpleTextString & operator=(const char * v);
00293     GCC_SimpleTextString & operator=(const PString & v);
00294     GCC_SimpleTextString & operator=(const PWORDArray & v);
00295     GCC_SimpleTextString & operator=(const PASN_BMPString & v);
00296     PObject * Clone() const;
00297 };
00298 
00299 
00300 //
00301 // SimpleNumericString
00302 //
00303 
00304 class GCC_SimpleNumericString : public PASN_NumericString
00305 {
00306 #ifndef PASN_LEANANDMEAN
00307     PCLASSINFO(GCC_SimpleNumericString, PASN_NumericString);
00308 #endif
00309   public:
00310     GCC_SimpleNumericString(unsigned tag = UniversalNumericString, TagClass tagClass = UniversalTagClass);
00311 
00312     GCC_SimpleNumericString & operator=(const char * v);
00313     GCC_SimpleNumericString & operator=(const PString & v);
00314     PObject * Clone() const;
00315 };
00316 
00317 
00318 //
00319 // DialingString
00320 //
00321 
00322 class GCC_DialingString : public PASN_NumericString
00323 {
00324 #ifndef PASN_LEANANDMEAN
00325     PCLASSINFO(GCC_DialingString, PASN_NumericString);
00326 #endif
00327   public:
00328     GCC_DialingString(unsigned tag = UniversalNumericString, TagClass tagClass = UniversalTagClass);
00329 
00330     GCC_DialingString & operator=(const char * v);
00331     GCC_DialingString & operator=(const PString & v);
00332     PObject * Clone() const;
00333 };
00334 
00335 
00336 //
00337 // SubAddressString
00338 //
00339 
00340 class GCC_SubAddressString : public PASN_NumericString
00341 {
00342 #ifndef PASN_LEANANDMEAN
00343     PCLASSINFO(GCC_SubAddressString, PASN_NumericString);
00344 #endif
00345   public:
00346     GCC_SubAddressString(unsigned tag = UniversalNumericString, TagClass tagClass = UniversalTagClass);
00347 
00348     GCC_SubAddressString & operator=(const char * v);
00349     GCC_SubAddressString & operator=(const PString & v);
00350     PObject * Clone() const;
00351 };
00352 
00353 
00354 //
00355 // ExtraDialingString
00356 //
00357 
00358 class GCC_ExtraDialingString : public PASN_BMPString
00359 {
00360 #ifndef PASN_LEANANDMEAN
00361     PCLASSINFO(GCC_ExtraDialingString, PASN_BMPString);
00362 #endif
00363   public:
00364     GCC_ExtraDialingString(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
00365 
00366     GCC_ExtraDialingString & operator=(const char * v);
00367     GCC_ExtraDialingString & operator=(const PString & v);
00368     GCC_ExtraDialingString & operator=(const PWORDArray & v);
00369     GCC_ExtraDialingString & operator=(const PASN_BMPString & v);
00370     PObject * Clone() const;
00371 };
00372 
00373 
00374 //
00375 // UserData
00376 //
00377 
00378 class GCC_UserData_subtype;
00379 
00380 class GCC_UserData : public PASN_Array
00381 {
00382 #ifndef PASN_LEANANDMEAN
00383     PCLASSINFO(GCC_UserData, PASN_Array);
00384 #endif
00385   public:
00386     GCC_UserData(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
00387 
00388     PASN_Object * CreateObject() const;
00389     GCC_UserData_subtype & operator[](PINDEX i) const;
00390     PObject * Clone() const;
00391 };
00392 
00393 
00394 //
00395 // Password
00396 //
00397 
00398 class GCC_Password : public PASN_Sequence
00399 {
00400 #ifndef PASN_LEANANDMEAN
00401     PCLASSINFO(GCC_Password, PASN_Sequence);
00402 #endif
00403   public:
00404     GCC_Password(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00405 
00406     enum OptionalFields {
00407       e_text
00408     };
00409 
00410     GCC_SimpleNumericString m_numeric;
00411     GCC_SimpleTextString m_text;
00412 
00413     PINDEX GetDataLength() const;
00414     BOOL Decode(PASN_Stream & strm);
00415     void Encode(PASN_Stream & strm) const;
00416 #ifndef PASN_NOPRINTON
00417     void PrintOn(ostream & strm) const;
00418 #endif
00419     Comparison Compare(const PObject & obj) const;
00420     PObject * Clone() const;
00421 };
00422 
00423 
00424 //
00425 // PasswordSelector
00426 //
00427 
00428 class GCC_SimpleNumericString;
00429 class GCC_SimpleTextString;
00430 
00431 class GCC_PasswordSelector : public PASN_Choice
00432 {
00433 #ifndef PASN_LEANANDMEAN
00434     PCLASSINFO(GCC_PasswordSelector, PASN_Choice);
00435 #endif
00436   public:
00437     GCC_PasswordSelector(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00438 
00439     enum Choices {
00440       e_numeric,
00441       e_text
00442     };
00443 
00444 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00445     operator GCC_SimpleNumericString &() const;
00446 #else
00447     operator GCC_SimpleNumericString &();
00448     operator const GCC_SimpleNumericString &() const;
00449 #endif
00450 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00451     operator GCC_SimpleTextString &() const;
00452 #else
00453     operator GCC_SimpleTextString &();
00454     operator const GCC_SimpleTextString &() const;
00455 #endif
00456 
00457     BOOL CreateObject();
00458     PObject * Clone() const;
00459 };
00460 
00461 
00462 //
00463 // ChallengeResponseItem
00464 //
00465 
00466 class GCC_PasswordSelector;
00467 class GCC_UserData;
00468 
00469 class GCC_ChallengeResponseItem : public PASN_Choice
00470 {
00471 #ifndef PASN_LEANANDMEAN
00472     PCLASSINFO(GCC_ChallengeResponseItem, PASN_Choice);
00473 #endif
00474   public:
00475     GCC_ChallengeResponseItem(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00476 
00477     enum Choices {
00478       e_passwordString,
00479       e_responseData
00480     };
00481 
00482 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00483     operator GCC_PasswordSelector &() const;
00484 #else
00485     operator GCC_PasswordSelector &();
00486     operator const GCC_PasswordSelector &() const;
00487 #endif
00488 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00489     operator GCC_UserData &() const;
00490 #else
00491     operator GCC_UserData &();
00492     operator const GCC_UserData &() const;
00493 #endif
00494 
00495     BOOL CreateObject();
00496     PObject * Clone() const;
00497 };
00498 
00499 
00500 //
00501 // ChallengeResponseAlgorithm
00502 //
00503 
00504 class GCC_NonStandardParameter;
00505 
00506 class GCC_ChallengeResponseAlgorithm : public PASN_Choice
00507 {
00508 #ifndef PASN_LEANANDMEAN
00509     PCLASSINFO(GCC_ChallengeResponseAlgorithm, PASN_Choice);
00510 #endif
00511   public:
00512     GCC_ChallengeResponseAlgorithm(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00513 
00514     enum Choices {
00515       e_passwordInTheClear,
00516       e_nonStandardAlgorithm
00517     };
00518 
00519 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00520     operator GCC_NonStandardParameter &() const;
00521 #else
00522     operator GCC_NonStandardParameter &();
00523     operator const GCC_NonStandardParameter &() const;
00524 #endif
00525 
00526     BOOL CreateObject();
00527     PObject * Clone() const;
00528 };
00529 
00530 
00531 //
00532 // ChallengeItem
00533 //
00534 
00535 class GCC_ChallengeItem : public PASN_Sequence
00536 {
00537 #ifndef PASN_LEANANDMEAN
00538     PCLASSINFO(GCC_ChallengeItem, PASN_Sequence);
00539 #endif
00540   public:
00541     GCC_ChallengeItem(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00542 
00543     GCC_ChallengeResponseAlgorithm m_responseAlgorithm;
00544     GCC_UserData m_challengeData;
00545 
00546     PINDEX GetDataLength() const;
00547     BOOL Decode(PASN_Stream & strm);
00548     void Encode(PASN_Stream & strm) const;
00549 #ifndef PASN_NOPRINTON
00550     void PrintOn(ostream & strm) const;
00551 #endif
00552     Comparison Compare(const PObject & obj) const;
00553     PObject * Clone() const;
00554 };
00555 
00556 
00557 //
00558 // ChallengeResponse
00559 //
00560 
00561 class GCC_ChallengeResponse : public PASN_Sequence
00562 {
00563 #ifndef PASN_LEANANDMEAN
00564     PCLASSINFO(GCC_ChallengeResponse, PASN_Sequence);
00565 #endif
00566   public:
00567     GCC_ChallengeResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00568 
00569     PASN_Integer m_challengeTag;
00570     GCC_ChallengeResponseAlgorithm m_responseAlgorithm;
00571     GCC_ChallengeResponseItem m_responseItem;
00572 
00573     PINDEX GetDataLength() const;
00574     BOOL Decode(PASN_Stream & strm);
00575     void Encode(PASN_Stream & strm) const;
00576 #ifndef PASN_NOPRINTON
00577     void PrintOn(ostream & strm) const;
00578 #endif
00579     Comparison Compare(const PObject & obj) const;
00580     PObject * Clone() const;
00581 };
00582 
00583 
00584 //
00585 // PasswordChallengeRequestResponse
00586 //
00587 
00588 class GCC_PasswordSelector;
00589 class GCC_PasswordChallengeRequestResponse_challengeRequestResponse;
00590 
00591 class GCC_PasswordChallengeRequestResponse : public PASN_Choice
00592 {
00593 #ifndef PASN_LEANANDMEAN
00594     PCLASSINFO(GCC_PasswordChallengeRequestResponse, PASN_Choice);
00595 #endif
00596   public:
00597     GCC_PasswordChallengeRequestResponse(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00598 
00599     enum Choices {
00600       e_passwordInTheClear,
00601       e_challengeRequestResponse
00602     };
00603 
00604 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00605     operator GCC_PasswordSelector &() const;
00606 #else
00607     operator GCC_PasswordSelector &();
00608     operator const GCC_PasswordSelector &() const;
00609 #endif
00610 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00611     operator GCC_PasswordChallengeRequestResponse_challengeRequestResponse &() const;
00612 #else
00613     operator GCC_PasswordChallengeRequestResponse_challengeRequestResponse &();
00614     operator const GCC_PasswordChallengeRequestResponse_challengeRequestResponse &() const;
00615 #endif
00616 
00617     BOOL CreateObject();
00618     PObject * Clone() const;
00619 };
00620 
00621 
00622 //
00623 // ConferenceName
00624 //
00625 
00626 class GCC_ConferenceName : public PASN_Sequence
00627 {
00628 #ifndef PASN_LEANANDMEAN
00629     PCLASSINFO(GCC_ConferenceName, PASN_Sequence);
00630 #endif
00631   public:
00632     GCC_ConferenceName(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00633 
00634     enum OptionalFields {
00635       e_text
00636     };
00637 
00638     GCC_SimpleNumericString m_numeric;
00639     GCC_SimpleTextString m_text;
00640 
00641     PINDEX GetDataLength() const;
00642     BOOL Decode(PASN_Stream & strm);
00643     void Encode(PASN_Stream & strm) const;
00644 #ifndef PASN_NOPRINTON
00645     void PrintOn(ostream & strm) const;
00646 #endif
00647     Comparison Compare(const PObject & obj) const;
00648     PObject * Clone() const;
00649 };
00650 
00651 
00652 //
00653 // ConferenceNameSelector
00654 //
00655 
00656 class GCC_SimpleNumericString;
00657 class GCC_SimpleTextString;
00658 
00659 class GCC_ConferenceNameSelector : public PASN_Choice
00660 {
00661 #ifndef PASN_LEANANDMEAN
00662     PCLASSINFO(GCC_ConferenceNameSelector, PASN_Choice);
00663 #endif
00664   public:
00665     GCC_ConferenceNameSelector(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00666 
00667     enum Choices {
00668       e_numeric,
00669       e_text
00670     };
00671 
00672 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00673     operator GCC_SimpleNumericString &() const;
00674 #else
00675     operator GCC_SimpleNumericString &();
00676     operator const GCC_SimpleNumericString &() const;
00677 #endif
00678 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00679     operator GCC_SimpleTextString &() const;
00680 #else
00681     operator GCC_SimpleTextString &();
00682     operator const GCC_SimpleTextString &() const;
00683 #endif
00684 
00685     BOOL CreateObject();
00686     PObject * Clone() const;
00687 };
00688 
00689 
00690 //
00691 // ConferenceNameModifier
00692 //
00693 
00694 class GCC_ConferenceNameModifier : public GCC_SimpleNumericString
00695 {
00696 #ifndef PASN_LEANANDMEAN
00697     PCLASSINFO(GCC_ConferenceNameModifier, GCC_SimpleNumericString);
00698 #endif
00699   public:
00700     GCC_ConferenceNameModifier(unsigned tag = UniversalNumericString, TagClass tagClass = UniversalTagClass);
00701 
00702     GCC_ConferenceNameModifier & operator=(const char * v);
00703     GCC_ConferenceNameModifier & operator=(const PString & v);
00704     PObject * Clone() const;
00705 };
00706 
00707 
00708 //
00709 // Privilege
00710 //
00711 
00712 class GCC_Privilege : public PASN_Enumeration
00713 {
00714 #ifndef PASN_LEANANDMEAN
00715     PCLASSINFO(GCC_Privilege, PASN_Enumeration);
00716 #endif
00717   public:
00718     GCC_Privilege(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00719 
00720     enum Enumerations {
00721       e_terminate,
00722       e_ejectUser,
00723       e_add,
00724       e_lockUnlock,
00725       e_transfer
00726     };
00727 
00728     GCC_Privilege & operator=(unsigned v);
00729     PObject * Clone() const;
00730 };
00731 
00732 
00733 //
00734 // TerminationMethod
00735 //
00736 
00737 class GCC_TerminationMethod : public PASN_Enumeration
00738 {
00739 #ifndef PASN_LEANANDMEAN
00740     PCLASSINFO(GCC_TerminationMethod, PASN_Enumeration);
00741 #endif
00742   public:
00743     GCC_TerminationMethod(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00744 
00745     enum Enumerations {
00746       e_automatic,
00747       e_manual
00748     };
00749 
00750     GCC_TerminationMethod & operator=(unsigned v);
00751     PObject * Clone() const;
00752 };
00753 
00754 
00755 //
00756 // ConferencePriorityScheme
00757 //
00758 
00759 class GCC_NonStandardParameter;
00760 
00761 class GCC_ConferencePriorityScheme : public PASN_Choice
00762 {
00763 #ifndef PASN_LEANANDMEAN
00764     PCLASSINFO(GCC_ConferencePriorityScheme, PASN_Choice);
00765 #endif
00766   public:
00767     GCC_ConferencePriorityScheme(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00768 
00769     enum Choices {
00770       e_nonStandardScheme
00771     };
00772 
00773 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00774     operator GCC_NonStandardParameter &() const;
00775 #else
00776     operator GCC_NonStandardParameter &();
00777     operator const GCC_NonStandardParameter &() const;
00778 #endif
00779 
00780     BOOL CreateObject();
00781     PObject * Clone() const;
00782 };
00783 
00784 
00785 //
00786 // ConferencePriority
00787 //
00788 
00789 class GCC_ConferencePriority : public PASN_Sequence
00790 {
00791 #ifndef PASN_LEANANDMEAN
00792     PCLASSINFO(GCC_ConferencePriority, PASN_Sequence);
00793 #endif
00794   public:
00795     GCC_ConferencePriority(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00796 
00797     PASN_Integer m_priority;
00798     GCC_ConferencePriorityScheme m_scheme;
00799 
00800     PINDEX GetDataLength() const;
00801     BOOL Decode(PASN_Stream & strm);
00802     void Encode(PASN_Stream & strm) const;
00803 #ifndef PASN_NOPRINTON
00804     void PrintOn(ostream & strm) const;
00805 #endif
00806     Comparison Compare(const PObject & obj) const;
00807     PObject * Clone() const;
00808 };
00809 
00810 
00811 //
00812 // NetworkAddress
00813 //
00814 
00815 class GCC_NetworkAddress_subtype;
00816 
00817 class GCC_NetworkAddress : public PASN_Array
00818 {
00819 #ifndef PASN_LEANANDMEAN
00820     PCLASSINFO(GCC_NetworkAddress, PASN_Array);
00821 #endif
00822   public:
00823     GCC_NetworkAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00824 
00825     PASN_Object * CreateObject() const;
00826     GCC_NetworkAddress_subtype & operator[](PINDEX i) const;
00827     PObject * Clone() const;
00828 };
00829 
00830 
00831 //
00832 // NodeType
00833 //
00834 
00835 class GCC_NodeType : public PASN_Enumeration
00836 {
00837 #ifndef PASN_LEANANDMEAN
00838     PCLASSINFO(GCC_NodeType, PASN_Enumeration);
00839 #endif
00840   public:
00841     GCC_NodeType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00842 
00843     enum Enumerations {
00844       e_terminal,
00845       e_multiportTerminal,
00846       e_mcu
00847     };
00848 
00849     GCC_NodeType & operator=(unsigned v);
00850     PObject * Clone() const;
00851 };
00852 
00853 
00854 //
00855 // NodeProperties
00856 //
00857 
00858 class GCC_NodeProperties : public PASN_Sequence
00859 {
00860 #ifndef PASN_LEANANDMEAN
00861     PCLASSINFO(GCC_NodeProperties, PASN_Sequence);
00862 #endif
00863   public:
00864     GCC_NodeProperties(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00865 
00866     PASN_Boolean m_managementDevice;
00867     PASN_Boolean m_peripheralDevice;
00868 
00869     PINDEX GetDataLength() const;
00870     BOOL Decode(PASN_Stream & strm);
00871     void Encode(PASN_Stream & strm) const;
00872 #ifndef PASN_NOPRINTON
00873     void PrintOn(ostream & strm) const;
00874 #endif
00875     Comparison Compare(const PObject & obj) const;
00876     PObject * Clone() const;
00877 };
00878 
00879 
00880 //
00881 // AsymmetryIndicator
00882 //
00883 
00884 class GCC_AsymmetryIndicator : public PASN_Choice
00885 {
00886 #ifndef PASN_LEANANDMEAN
00887     PCLASSINFO(GCC_AsymmetryIndicator, PASN_Choice);
00888 #endif
00889   public:
00890     GCC_AsymmetryIndicator(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00891 
00892     enum Choices {
00893       e_callingNode,
00894       e_calledNode,
00895       e_unknown
00896     };
00897 
00898     BOOL CreateObject();
00899     PObject * Clone() const;
00900 };
00901 
00902 
00903 //
00904 // AlternativeNodeID
00905 //
00906 
00907 class GCC_AlternativeNodeID : public PASN_Choice
00908 {
00909 #ifndef PASN_LEANANDMEAN
00910     PCLASSINFO(GCC_AlternativeNodeID, PASN_Choice);
00911 #endif
00912   public:
00913     GCC_AlternativeNodeID(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00914 
00915     enum Choices {
00916       e_h243NodeID
00917     };
00918 
00919     BOOL CreateObject();
00920     PObject * Clone() const;
00921 };
00922 
00923 
00924 //
00925 // ConferenceDescriptor
00926 //
00927 
00928 class GCC_ConferenceDescriptor : public PASN_Sequence
00929 {
00930 #ifndef PASN_LEANANDMEAN
00931     PCLASSINFO(GCC_ConferenceDescriptor, PASN_Sequence);
00932 #endif
00933   public:
00934     GCC_ConferenceDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00935 
00936     enum OptionalFields {
00937       e_conferenceNameModifier,
00938       e_conferenceDescription,
00939       e_networkAddress,
00940       e_defaultConferenceFlag
00941     };
00942 
00943     GCC_ConferenceName m_conferenceName;
00944     GCC_ConferenceNameModifier m_conferenceNameModifier;
00945     GCC_TextString m_conferenceDescription;
00946     PASN_Boolean m_lockedConference;
00947     PASN_Boolean m_passwordInTheClearRequired;
00948     GCC_NetworkAddress m_networkAddress;
00949     PASN_Boolean m_defaultConferenceFlag;
00950 
00951     PINDEX GetDataLength() const;
00952     BOOL Decode(PASN_Stream & strm);
00953     void Encode(PASN_Stream & strm) const;
00954 #ifndef PASN_NOPRINTON
00955     void PrintOn(ostream & strm) const;
00956 #endif
00957     Comparison Compare(const PObject & obj) const;
00958     PObject * Clone() const;
00959 };
00960 
00961 
00962 //
00963 // SessionKey
00964 //
00965 
00966 class GCC_SessionKey : public PASN_Sequence
00967 {
00968 #ifndef PASN_LEANANDMEAN
00969     PCLASSINFO(GCC_SessionKey, PASN_Sequence);
00970 #endif
00971   public:
00972     GCC_SessionKey(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00973 
00974     enum OptionalFields {
00975       e_sessionID
00976     };
00977 
00978     GCC_Key m_applicationProtocolKey;
00979     GCC_ChannelID m_sessionID;
00980 
00981     PINDEX GetDataLength() const;
00982     BOOL Decode(PASN_Stream & strm);
00983     void Encode(PASN_Stream & strm) const;
00984 #ifndef PASN_NOPRINTON
00985     void PrintOn(ostream & strm) const;
00986 #endif
00987     Comparison Compare(const PObject & obj) const;
00988     PObject * Clone() const;
00989 };
00990 
00991 
00992 //
00993 // ChannelType
00994 //
00995 
00996 class GCC_ChannelType : public PASN_Enumeration
00997 {
00998 #ifndef PASN_LEANANDMEAN
00999     PCLASSINFO(GCC_ChannelType, PASN_Enumeration);
01000 #endif
01001   public:
01002     GCC_ChannelType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
01003 
01004     enum Enumerations {
01005       e_static,
01006       e_dynamicMulticast,
01007       e_dynamicPrivate,
01008       e_dynamicUserId
01009     };
01010 
01011     GCC_ChannelType & operator=(unsigned v);
01012     PObject * Clone() const;
01013 };
01014 
01015 
01016 //
01017 // CapabilityID
01018 //
01019 
01020 class GCC_Key;
01021 
01022 class GCC_CapabilityID : public PASN_Choice
01023 {
01024 #ifndef PASN_LEANANDMEAN
01025     PCLASSINFO(GCC_CapabilityID, PASN_Choice);
01026 #endif
01027   public:
01028     GCC_CapabilityID(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01029 
01030     enum Choices {
01031       e_standard,
01032       e_nonStandard
01033     };
01034 
01035 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01036     operator GCC_Key &() const;
01037 #else
01038     operator GCC_Key &();
01039     operator const GCC_Key &() const;
01040 #endif
01041 
01042     BOOL CreateObject();
01043     PObject *