00001
00002
00003
00004
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 *