00001
00002
00003
00004
00005
00006
00007 #if ! H323_DISABLE_MCS
00008
00009 #ifndef __MCS_H
00010 #define __MCS_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 MCS_ChannelId : public PASN_Integer
00023 {
00024 #ifndef PASN_LEANANDMEAN
00025 PCLASSINFO(MCS_ChannelId, PASN_Integer);
00026 #endif
00027 public:
00028 MCS_ChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00029
00030 MCS_ChannelId & operator=(int v);
00031 MCS_ChannelId & operator=(unsigned v);
00032 PObject * Clone() const;
00033 };
00034
00035
00036
00037
00038
00039
00040 class MCS_StaticChannelId : public PASN_Integer
00041 {
00042 #ifndef PASN_LEANANDMEAN
00043 PCLASSINFO(MCS_StaticChannelId, PASN_Integer);
00044 #endif
00045 public:
00046 MCS_StaticChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00047
00048 MCS_StaticChannelId & operator=(int v);
00049 MCS_StaticChannelId & operator=(unsigned v);
00050 PObject * Clone() const;
00051 };
00052
00053
00054
00055
00056
00057
00058 class MCS_DynamicChannelId : public PASN_Integer
00059 {
00060 #ifndef PASN_LEANANDMEAN
00061 PCLASSINFO(MCS_DynamicChannelId, PASN_Integer);
00062 #endif
00063 public:
00064 MCS_DynamicChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00065
00066 MCS_DynamicChannelId & operator=(int v);
00067 MCS_DynamicChannelId & operator=(unsigned v);
00068 PObject * Clone() const;
00069 };
00070
00071
00072
00073
00074
00075
00076 class MCS_UserId : public MCS_DynamicChannelId
00077 {
00078 #ifndef PASN_LEANANDMEAN
00079 PCLASSINFO(MCS_UserId, MCS_DynamicChannelId);
00080 #endif
00081 public:
00082 MCS_UserId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00083
00084 MCS_UserId & operator=(int v);
00085 MCS_UserId & operator=(unsigned v);
00086 PObject * Clone() const;
00087 };
00088
00089
00090
00091
00092
00093
00094 class MCS_PrivateChannelId : public MCS_DynamicChannelId
00095 {
00096 #ifndef PASN_LEANANDMEAN
00097 PCLASSINFO(MCS_PrivateChannelId, MCS_DynamicChannelId);
00098 #endif
00099 public:
00100 MCS_PrivateChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00101
00102 MCS_PrivateChannelId & operator=(int v);
00103 MCS_PrivateChannelId & operator=(unsigned v);
00104 PObject * Clone() const;
00105 };
00106
00107
00108
00109
00110
00111
00112 class MCS_AssignedChannelId : public MCS_DynamicChannelId
00113 {
00114 #ifndef PASN_LEANANDMEAN
00115 PCLASSINFO(MCS_AssignedChannelId, MCS_DynamicChannelId);
00116 #endif
00117 public:
00118 MCS_AssignedChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00119
00120 MCS_AssignedChannelId & operator=(int v);
00121 MCS_AssignedChannelId & operator=(unsigned v);
00122 PObject * Clone() const;
00123 };
00124
00125
00126
00127
00128
00129
00130 class MCS_TokenId : public PASN_Integer
00131 {
00132 #ifndef PASN_LEANANDMEAN
00133 PCLASSINFO(MCS_TokenId, PASN_Integer);
00134 #endif
00135 public:
00136 MCS_TokenId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00137
00138 MCS_TokenId & operator=(int v);
00139 MCS_TokenId & operator=(unsigned v);
00140 PObject * Clone() const;
00141 };
00142
00143
00144
00145
00146
00147
00148 class MCS_TokenStatus : public PASN_Enumeration
00149 {
00150 #ifndef PASN_LEANANDMEAN
00151 PCLASSINFO(MCS_TokenStatus, PASN_Enumeration);
00152 #endif
00153 public:
00154 MCS_TokenStatus(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00155
00156 enum Enumerations {
00157 e_notInUse,
00158 e_selfGrabbed,
00159 e_otherGrabbed,
00160 e_selfInhibited,
00161 e_otherInhibited,
00162 e_selfRecipient,
00163 e_selfGiving,
00164 e_otherGiving
00165 };
00166
00167 MCS_TokenStatus & operator=(unsigned v);
00168 PObject * Clone() const;
00169 };
00170
00171
00172
00173
00174
00175
00176 class MCS_DataPriority : public PASN_Enumeration
00177 {
00178 #ifndef PASN_LEANANDMEAN
00179 PCLASSINFO(MCS_DataPriority, PASN_Enumeration);
00180 #endif
00181 public:
00182 MCS_DataPriority(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00183
00184 enum Enumerations {
00185 e_top,
00186 e_high,
00187 e_medium,
00188 e_low
00189 };
00190
00191 MCS_DataPriority & operator=(unsigned v);
00192 PObject * Clone() const;
00193 };
00194
00195
00196
00197
00198
00199
00200 class MCS_Segmentation : public PASN_BitString
00201 {
00202 #ifndef PASN_LEANANDMEAN
00203 PCLASSINFO(MCS_Segmentation, PASN_BitString);
00204 #endif
00205 public:
00206 MCS_Segmentation(unsigned tag = UniversalBitString, TagClass tagClass = UniversalTagClass);
00207
00208 PObject * Clone() const;
00209 };
00210
00211
00212
00213
00214
00215
00216 class MCS_DomainParameters : public PASN_Sequence
00217 {
00218 #ifndef PASN_LEANANDMEAN
00219 PCLASSINFO(MCS_DomainParameters, PASN_Sequence);
00220 #endif
00221 public:
00222 MCS_DomainParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00223
00224 PASN_Integer m_maxChannelIds;
00225 PASN_Integer m_maxUserIds;
00226 PASN_Integer m_maxTokenIds;
00227 PASN_Integer m_numPriorities;
00228 PASN_Integer m_minThroughput;
00229 PASN_Integer m_maxHeight;
00230 PASN_Integer m_maxMCSPDUsize;
00231 PASN_Integer m_protocolVersion;
00232
00233 PINDEX GetDataLength() const;
00234 BOOL Decode(PASN_Stream & strm);
00235 void Encode(PASN_Stream & strm) const;
00236 #ifndef PASN_NOPRINTON
00237 void PrintOn(ostream & strm) const;
00238 #endif
00239 Comparison Compare(const PObject & obj) const;
00240 PObject * Clone() const;
00241 };
00242
00243
00244
00245
00246
00247
00248 class MCS_Connect_Initial : public PASN_Sequence
00249 {
00250 #ifndef PASN_LEANANDMEAN
00251 PCLASSINFO(MCS_Connect_Initial, PASN_Sequence);
00252 #endif
00253 public:
00254 MCS_Connect_Initial(unsigned tag = 101, TagClass tagClass = ApplicationTagClass);
00255
00256 PASN_OctetString m_callingDomainSelector;
00257 PASN_OctetString m_calledDomainSelector;
00258 PASN_Boolean m_upwardFlag;
00259 MCS_DomainParameters m_targetParameters;
00260 MCS_DomainParameters m_minimumParameters;
00261 MCS_DomainParameters m_maximumParameters;
00262 PASN_OctetString m_userData;
00263
00264 PINDEX GetDataLength() const;
00265 BOOL Decode(PASN_Stream & strm);
00266 void Encode(PASN_Stream & strm) const;
00267 #ifndef PASN_NOPRINTON
00268 void PrintOn(ostream & strm) const;
00269 #endif
00270 Comparison Compare(const PObject & obj) const;
00271 PObject * Clone() const;
00272 };
00273
00274
00275
00276
00277
00278
00279 class MCS_Connect_Additional : public PASN_Sequence
00280 {
00281 #ifndef PASN_LEANANDMEAN
00282 PCLASSINFO(MCS_Connect_Additional, PASN_Sequence);
00283 #endif
00284 public:
00285 MCS_Connect_Additional(unsigned tag = 103, TagClass tagClass = ApplicationTagClass);
00286
00287 PASN_Integer m_calledConnectId;
00288 MCS_DataPriority m_dataPriority;
00289
00290 PINDEX GetDataLength() const;
00291 BOOL Decode(PASN_Stream & strm);
00292 void Encode(PASN_Stream & strm) const;
00293 #ifndef PASN_NOPRINTON
00294 void PrintOn(ostream & strm) const;
00295 #endif
00296 Comparison Compare(const PObject & obj) const;
00297 PObject * Clone() const;
00298 };
00299
00300
00301
00302
00303
00304
00305 class MCS_PDin : public PASN_Sequence
00306 {
00307 #ifndef PASN_LEANANDMEAN
00308 PCLASSINFO(MCS_PDin, PASN_Sequence);
00309 #endif
00310 public:
00311 MCS_PDin(unsigned tag = 0, TagClass tagClass = ApplicationTagClass);
00312
00313 PASN_Integer m_heightLimit;
00314
00315 PINDEX GetDataLength() const;
00316 BOOL Decode(PASN_Stream & strm);
00317 void Encode(PASN_Stream & strm) const;
00318 #ifndef PASN_NOPRINTON
00319 void PrintOn(ostream & strm) const;
00320 #endif
00321 Comparison Compare(const PObject & obj) const;
00322 PObject * Clone() const;
00323 };
00324
00325
00326
00327
00328
00329
00330 class MCS_EDrq : public PASN_Sequence
00331 {
00332 #ifndef PASN_LEANANDMEAN
00333 PCLASSINFO(MCS_EDrq, PASN_Sequence);
00334 #endif
00335 public:
00336 MCS_EDrq(unsigned tag = 1, TagClass tagClass = ApplicationTagClass);
00337
00338 PASN_Integer m_subHeight;
00339 PASN_Integer m_subInterval;
00340
00341 PINDEX GetDataLength() const;
00342 BOOL Decode(PASN_Stream & strm);
00343 void Encode(PASN_Stream & strm) const;
00344 #ifndef PASN_NOPRINTON
00345 void PrintOn(ostream & strm) const;
00346 #endif
00347 Comparison Compare(const PObject & obj) const;
00348 PObject * Clone() const;
00349 };
00350
00351
00352
00353
00354
00355
00356 class MCS_ChannelAttributes_static;
00357 class MCS_ChannelAttributes_userId;
00358 class MCS_ChannelAttributes_private;
00359 class MCS_ChannelAttributes_assigned;
00360
00361 class MCS_ChannelAttributes : public PASN_Choice
00362 {
00363 #ifndef PASN_LEANANDMEAN
00364 PCLASSINFO(MCS_ChannelAttributes, PASN_Choice);
00365 #endif
00366 public:
00367 MCS_ChannelAttributes(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00368
00369 enum Choices {
00370 e_static,
00371 e_userId,
00372 e_private,
00373 e_assigned
00374 };
00375
00376 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00377 operator MCS_ChannelAttributes_static &() const;
00378 #else
00379 operator MCS_ChannelAttributes_static &();
00380 operator const MCS_ChannelAttributes_static &() const;
00381 #endif
00382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00383 operator MCS_ChannelAttributes_userId &() const;
00384 #else
00385 operator MCS_ChannelAttributes_userId &();
00386 operator const MCS_ChannelAttributes_userId &() const;
00387 #endif
00388 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00389 operator MCS_ChannelAttributes_private &() const;
00390 #else
00391 operator MCS_ChannelAttributes_private &();
00392 operator const MCS_ChannelAttributes_private &() const;
00393 #endif
00394 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00395 operator MCS_ChannelAttributes_assigned &() const;
00396 #else
00397 operator MCS_ChannelAttributes_assigned &();
00398 operator const MCS_ChannelAttributes_assigned &() const;
00399 #endif
00400
00401 BOOL CreateObject();
00402 PObject * Clone() const;
00403 };
00404
00405
00406
00407
00408
00409
00410 class MCS_TokenAttributes_grabbed;
00411 class MCS_TokenAttributes_inhibited;
00412 class MCS_TokenAttributes_giving;
00413 class MCS_TokenAttributes_ungivable;
00414 class MCS_TokenAttributes_given;
00415
00416 class MCS_TokenAttributes : public PASN_Choice
00417 {
00418 #ifndef PASN_LEANANDMEAN
00419 PCLASSINFO(MCS_TokenAttributes, PASN_Choice);
00420 #endif
00421 public:
00422 MCS_TokenAttributes(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00423
00424 enum Choices {
00425 e_grabbed,
00426 e_inhibited,
00427 e_giving,
00428 e_ungivable,
00429 e_given
00430 };
00431
00432 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00433 operator MCS_TokenAttributes_grabbed &() const;
00434 #else
00435 operator MCS_TokenAttributes_grabbed &();
00436 operator const MCS_TokenAttributes_grabbed &() const;
00437 #endif
00438 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00439 operator MCS_TokenAttributes_inhibited &() const;
00440 #else
00441 operator MCS_TokenAttributes_inhibited &();
00442 operator const MCS_TokenAttributes_inhibited &() const;
00443 #endif
00444 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00445 operator MCS_TokenAttributes_giving &() const;
00446 #else
00447 operator MCS_TokenAttributes_giving &();
00448 operator const MCS_TokenAttributes_giving &() const;
00449 #endif
00450 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00451 operator MCS_TokenAttributes_ungivable &() const;
00452 #else
00453 operator MCS_TokenAttributes_ungivable &();
00454 operator const MCS_TokenAttributes_ungivable &() const;
00455 #endif
00456 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00457 operator MCS_TokenAttributes_given &() const;
00458 #else
00459 operator MCS_TokenAttributes_given &();
00460 operator const MCS_TokenAttributes_given &() const;
00461 #endif
00462
00463 BOOL CreateObject();
00464 PObject * Clone() const;
00465 };
00466
00467
00468
00469
00470
00471
00472 class MCS_AUrq : public PASN_Sequence
00473 {
00474 #ifndef PASN_LEANANDMEAN
00475 PCLASSINFO(MCS_AUrq, PASN_Sequence);
00476 #endif
00477 public:
00478 MCS_AUrq(unsigned tag = 10, TagClass tagClass = ApplicationTagClass);
00479
00480
00481 PINDEX GetDataLength() const;
00482 BOOL Decode(PASN_Stream & strm);
00483 void Encode(PASN_Stream & strm) const;
00484 #ifndef PASN_NOPRINTON
00485 void PrintOn(ostream & strm) const;
00486 #endif
00487 PObject * Clone() const;
00488 };
00489
00490
00491
00492
00493
00494
00495 class MCS_CJrq : public PASN_Sequence
00496 {
00497 #ifndef PASN_LEANANDMEAN
00498 PCLASSINFO(MCS_CJrq, PASN_Sequence);
00499 #endif
00500 public:
00501 MCS_CJrq(unsigned tag = 14, TagClass tagClass = ApplicationTagClass);
00502
00503 MCS_UserId m_initiator;
00504 MCS_ChannelId m_channelId;
00505
00506 PINDEX GetDataLength() const;
00507 BOOL Decode(PASN_Stream & strm);
00508 void Encode(PASN_Stream & strm) const;
00509 #ifndef PASN_NOPRINTON
00510 void PrintOn(ostream & strm) const;
00511 #endif
00512 Comparison Compare(const PObject & obj) const;
00513 PObject * Clone() const;
00514 };
00515
00516
00517
00518
00519
00520
00521 class MCS_CCrq : public PASN_Sequence
00522 {
00523 #ifndef PASN_LEANANDMEAN
00524 PCLASSINFO(MCS_CCrq, PASN_Sequence);
00525 #endif
00526 public:
00527 MCS_CCrq(unsigned tag = 17, TagClass tagClass = ApplicationTagClass);
00528
00529 MCS_UserId m_initiator;
00530
00531 PINDEX GetDataLength() const;
00532 BOOL Decode(PASN_Stream & strm);
00533 void Encode(PASN_Stream & strm) const;
00534 #ifndef PASN_NOPRINTON
00535 void PrintOn(ostream & strm) const;
00536 #endif
00537 Comparison Compare(const PObject & obj) const;
00538 PObject * Clone() const;
00539 };
00540
00541
00542
00543
00544
00545
00546 class MCS_CDrq : public PASN_Sequence
00547 {
00548 #ifndef PASN_LEANANDMEAN
00549 PCLASSINFO(MCS_CDrq, PASN_Sequence);
00550 #endif
00551 public:
00552 MCS_CDrq(unsigned tag = 19, TagClass tagClass = ApplicationTagClass);
00553
00554 MCS_UserId m_initiator;
00555 MCS_PrivateChannelId m_channelId;
00556
00557 PINDEX GetDataLength() const;
00558 BOOL Decode(PASN_Stream & strm);
00559 void Encode(PASN_Stream & strm) const;
00560 #ifndef PASN_NOPRINTON
00561 void PrintOn(ostream & strm) const;
00562 #endif
00563 Comparison Compare(const PObject & obj) const;
00564 PObject * Clone() const;
00565 };
00566
00567
00568
00569
00570
00571
00572 class MCS_CDin : public PASN_Sequence
00573 {
00574 #ifndef PASN_LEANANDMEAN
00575 PCLASSINFO(MCS_CDin, PASN_Sequence);
00576 #endif
00577 public:
00578 MCS_CDin(unsigned tag = 20, TagClass tagClass = ApplicationTagClass);
00579
00580 MCS_PrivateChannelId m_channelId;
00581
00582 PINDEX GetDataLength() const;
00583 BOOL Decode(PASN_Stream & strm);
00584 void Encode(PASN_Stream & strm) const;
00585 #ifndef PASN_NOPRINTON
00586 void PrintOn(ostream & strm) const;
00587 #endif
00588 Comparison Compare(const PObject & obj) const;
00589 PObject * Clone() const;
00590 };
00591
00592
00593
00594
00595
00596
00597 class MCS_SDrq : public PASN_Sequence
00598 {
00599 #ifndef PASN_LEANANDMEAN
00600 PCLASSINFO(MCS_SDrq, PASN_Sequence);
00601 #endif
00602 public:
00603 MCS_SDrq(unsigned tag = 25, TagClass tagClass = ApplicationTagClass);
00604
00605 MCS_UserId m_initiator;
00606 MCS_ChannelId m_channelId;
00607 MCS_DataPriority m_dataPriority;
00608 MCS_Segmentation m_segmentation;
00609 PASN_OctetString m_userData;
00610
00611 PINDEX GetDataLength() const;
00612 BOOL Decode(PASN_Stream & strm);
00613 void Encode(PASN_Stream & strm) const;
00614 #ifndef PASN_NOPRINTON
00615 void PrintOn(ostream & strm) const;
00616 #endif
00617 Comparison Compare(const PObject & obj) const;
00618 PObject * Clone() const;
00619 };
00620
00621
00622
00623
00624
00625
00626 class MCS_SDin : public PASN_Sequence
00627 {
00628 #ifndef PASN_LEANANDMEAN
00629 PCLASSINFO(MCS_SDin, PASN_Sequence);
00630 #endif
00631 public:
00632 MCS_SDin(unsigned tag = 26, TagClass tagClass = ApplicationTagClass);
00633
00634 MCS_UserId m_initiator;
00635 MCS_ChannelId m_channelId;
00636 MCS_DataPriority m_dataPriority;
00637 MCS_Segmentation m_segmentation;
00638 PASN_OctetString m_userData;
00639
00640 PINDEX GetDataLength() const;
00641 BOOL Decode(PASN_Stream & strm);
00642 void Encode(PASN_Stream & strm) const;
00643 #ifndef PASN_NOPRINTON
00644 void PrintOn(ostream & strm) const;
00645 #endif
00646 Comparison Compare(const PObject & obj) const;
00647 PObject * Clone() const;
00648 };
00649
00650
00651
00652
00653
00654
00655 class MCS_USrq : public PASN_Sequence
00656 {
00657 #ifndef PASN_LEANANDMEAN
00658 PCLASSINFO(MCS_USrq, PASN_Sequence);
00659 #endif
00660 public:
00661 MCS_USrq(unsigned tag = 27, TagClass tagClass = ApplicationTagClass);
00662
00663 MCS_UserId m_initiator;
00664 MCS_ChannelId m_channelId;
00665 MCS_DataPriority m_dataPriority;
00666 MCS_Segmentation m_segmentation;
00667 PASN_OctetString m_userData;
00668
00669 PINDEX GetDataLength() const;
00670 BOOL Decode(PASN_Stream & strm);
00671 void Encode(PASN_Stream & strm) const;
00672 #ifndef PASN_NOPRINTON
00673 void PrintOn(ostream & strm) const;
00674 #endif
00675 Comparison Compare(const PObject & obj) const;
00676 PObject * Clone() const;
00677 };
00678
00679
00680
00681
00682
00683
00684 class MCS_USin : public PASN_Sequence
00685 {
00686 #ifndef PASN_LEANANDMEAN
00687 PCLASSINFO(MCS_USin, PASN_Sequence);
00688 #endif
00689 public:
00690 MCS_USin(unsigned tag = 28, TagClass tagClass = ApplicationTagClass);
00691
00692 MCS_UserId m_initiator;
00693 MCS_ChannelId m_channelId;
00694 MCS_DataPriority m_dataPriority;
00695 MCS_Segmentation m_segmentation;
00696 PASN_OctetString m_userData;
00697
00698 PINDEX GetDataLength() const;
00699 BOOL Decode(PASN_Stream & strm);
00700 void Encode(PASN_Stream & strm) const;
00701 #ifndef PASN_NOPRINTON
00702 void PrintOn(ostream & strm) const;
00703 #endif
00704 Comparison Compare(const PObject & obj) const;
00705 PObject * Clone() const;
00706 };
00707
00708
00709
00710
00711
00712
00713 class MCS_TGrq : public PASN_Sequence
00714 {
00715 #ifndef PASN_LEANANDMEAN
00716 PCLASSINFO(MCS_TGrq, PASN_Sequence);
00717 #endif
00718 public:
00719 MCS_TGrq(unsigned tag = 29, TagClass tagClass = ApplicationTagClass);
00720
00721 MCS_UserId m_initiator;
00722 MCS_TokenId m_tokenId;
00723
00724 PINDEX GetDataLength() const;
00725 BOOL Decode(PASN_Stream & strm);
00726 void Encode(PASN_Stream & strm) const;
00727 #ifndef PASN_NOPRINTON
00728 void PrintOn(ostream & strm) const;
00729 #endif
00730 Comparison Compare(const PObject & obj) const;
00731 PObject * Clone() const;
00732 };
00733
00734
00735
00736
00737
00738
00739 class MCS_TIrq : public PASN_Sequence
00740 {
00741 #ifndef PASN_LEANANDMEAN
00742 PCLASSINFO(MCS_TIrq, PASN_Sequence);
00743 #endif
00744 public:
00745 MCS_TIrq(unsigned tag = 31, TagClass tagClass = ApplicationTagClass);
00746
00747 MCS_UserId m_initiator;
00748 MCS_TokenId m_tokenId;
00749
00750 PINDEX GetDataLength() const;
00751 BOOL Decode(PASN_Stream & strm);
00752 void Encode(PASN_Stream & strm) const;
00753 #ifndef PASN_NOPRINTON
00754 void PrintOn(ostream & strm) const;
00755 #endif
00756 Comparison Compare(const PObject & obj) const;
00757 PObject * Clone() const;
00758 };
00759
00760
00761
00762
00763
00764
00765 class MCS_TVrq : public PASN_Sequence
00766 {
00767 #ifndef PASN_LEANANDMEAN
00768 PCLASSINFO(MCS_TVrq, PASN_Sequence);
00769 #endif
00770 public:
00771 MCS_TVrq(unsigned tag = 33, TagClass tagClass = ApplicationTagClass);
00772
00773 MCS_UserId m_initiator;
00774 MCS_TokenId m_tokenId;
00775 MCS_UserId m_recipient;
00776
00777 PINDEX GetDataLength() const;
00778 BOOL Decode(PASN_Stream & strm);
00779 void Encode(PASN_Stream & strm) const;
00780 #ifndef PASN_NOPRINTON
00781 void PrintOn(ostream & strm) const;
00782 #endif
00783 Comparison Compare(const PObject & obj) const;
00784 PObject * Clone() const;
00785 };
00786
00787
00788
00789
00790
00791
00792 class MCS_TVin : public PASN_Sequence
00793 {
00794 #ifndef PASN_LEANANDMEAN
00795 PCLASSINFO(MCS_TVin, PASN_Sequence);
00796 #endif
00797 public:
00798 MCS_TVin(unsigned tag = 34, TagClass tagClass = ApplicationTagClass);
00799
00800 MCS_UserId m_initiator;
00801 MCS_TokenId m_tokenId;
00802 MCS_UserId m_recipient;
00803
00804 PINDEX GetDataLength() const;
00805 BOOL Decode(PASN_Stream & strm);
00806 void Encode(PASN_Stream & strm) const;
00807 #ifndef PASN_NOPRINTON
00808 void PrintOn(ostream & strm) const;
00809 #endif
00810 Comparison Compare(const PObject & obj) const;
00811 PObject * Clone() const;
00812 };
00813
00814
00815
00816
00817
00818
00819 class MCS_TPrq : public PASN_Sequence
00820 {
00821 #ifndef PASN_LEANANDMEAN
00822 PCLASSINFO(MCS_TPrq, PASN_Sequence);
00823 #endif
00824 public:
00825 MCS_TPrq(unsigned tag = 37, TagClass tagClass = ApplicationTagClass);
00826
00827 MCS_UserId m_initiator;
00828 MCS_TokenId m_tokenId;
00829
00830 PINDEX GetDataLength() const;
00831 BOOL Decode(PASN_Stream & strm);
00832 void Encode(PASN_Stream & strm) const;
00833 #ifndef PASN_NOPRINTON
00834 void PrintOn(ostream & strm) const;
00835 #endif
00836 Comparison Compare(const PObject & obj) const;
00837 PObject * Clone() const;
00838 };
00839
00840
00841
00842
00843
00844
00845 class MCS_TPin : public PASN_Sequence
00846 {
00847 #ifndef PASN_LEANANDMEAN
00848 PCLASSINFO(MCS_TPin, PASN_Sequence);
00849 #endif
00850 public:
00851 MCS_TPin(unsigned tag = 38, TagClass tagClass = ApplicationTagClass);
00852
00853 MCS_UserId m_initiator;
00854 MCS_TokenId m_tokenId;
00855
00856 PINDEX GetDataLength() const;
00857 BOOL Decode(PASN_Stream & strm);
00858 void Encode(PASN_Stream & strm) const;
00859 #ifndef PASN_NOPRINTON
00860 void PrintOn(ostream & strm) const;
00861 #endif
00862 Comparison Compare(const PObject & obj) const;
00863 PObject * Clone() const;
00864 };
00865
00866
00867
00868
00869
00870
00871 class MCS_TRrq : public PASN_Sequence
00872 {
00873 #ifndef PASN_LEANANDMEAN
00874 PCLASSINFO(MCS_TRrq, PASN_Sequence);
00875 #endif
00876 public:
00877 MCS_TRrq(unsigned tag = 39, TagClass tagClass = ApplicationTagClass);
00878
00879 MCS_UserId m_initiator;
00880 MCS_TokenId m_tokenId;
00881
00882 PINDEX GetDataLength() const;
00883 BOOL Decode(PASN_Stream & strm);
00884 void Encode(PASN_Stream & strm) const;
00885 #ifndef PASN_NOPRINTON
00886 void PrintOn(ostream & strm) const;
00887 #endif
00888 Comparison Compare(const PObject & obj) const;
00889 PObject * Clone() const;
00890 };
00891
00892
00893
00894
00895
00896
00897 class MCS_TTrq : public PASN_Sequence
00898 {
00899 #ifndef PASN_LEANANDMEAN
00900 PCLASSINFO(MCS_TTrq, PASN_Sequence);
00901 #endif
00902 public:
00903 MCS_TTrq(unsigned tag = 41, TagClass tagClass = ApplicationTagClass);
00904
00905 MCS_UserId m_initiator;
00906 MCS_TokenId m_tokenId;
00907
00908 PINDEX GetDataLength() const;
00909 BOOL Decode(PASN_Stream & strm);
00910 void Encode(PASN_Stream & strm) const;
00911 #ifndef PASN_NOPRINTON
00912 void PrintOn(ostream & strm) const;
00913 #endif
00914 Comparison Compare(const PObject & obj) const;
00915 PObject * Clone() const;
00916 };
00917
00918
00919
00920
00921
00922
00923 class MCS_TTcf : public PASN_Sequence
00924 {
00925 #ifndef PASN_LEANANDMEAN
00926 PCLASSINFO(MCS_TTcf, PASN_Sequence);
00927 #endif
00928 public:
00929 MCS_TTcf(unsigned tag = 42, TagClass tagClass = ApplicationTagClass);
00930
00931 MCS_UserId m_initiator;
00932 MCS_TokenId m_tokenId;
00933 MCS_TokenStatus m_tokenStatus;
00934
00935 PINDEX GetDataLength() const;
00936 BOOL Decode(PASN_Stream & strm);
00937 void Encode(PASN_Stream & strm) const;
00938 #ifndef PASN_NOPRINTON
00939 void PrintOn(ostream & strm) const;
00940 #endif
00941 Comparison Compare(const PObject & obj) const;
00942 PObject * Clone() const;
00943 };
00944
00945
00946
00947
00948
00949
00950 class MCS_Reason : public PASN_Enumeration
00951 {
00952 #ifndef PASN_LEANANDMEAN
00953 PCLASSINFO(MCS_Reason, PASN_Enumeration);
00954 #endif
00955 public:
00956 MCS_Reason(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00957
00958 enum Enumerations {
00959 e_rn_domain_disconnected,
00960 e_rn_provider_initiated,
00961 e_rn_token_purged,
00962 e_rn_user_requested,
00963 e_rn_channel_purged
00964 };
00965
00966 MCS_Reason & operator=(unsigned v);
00967 PObject * Clone() const;
00968 };
00969
00970
00971
00972
00973
00974
00975 class MCS_Result : public PASN_Enumeration
00976 {
00977 #ifndef PASN_LEANANDMEAN
00978 PCLASSINFO(MCS_Result, PASN_Enumeration);
00979 #endif
00980 public:
00981 MCS_Result(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00982
00983 enum Enumerations {
00984 e_rt_successful,
00985 e_rt_domain_merging,
00986 e_rt_domain_not_hierarchical,
00987 e_rt_no_such_channel,
00988 e_rt_no_such_domain,
00989 e_rt_no_such_user,
00990 e_rt_not_admitted,
00991 e_rt_other_user_id,
00992 e_rt_parameters_unacceptable,
00993 e_rt_token_not_available,
00994 e_rt_token_not_possessed,
00995 e_rt_too_many_channels,
00996 e_rt_too_many_tokens,
00997 e_rt_too_many_users,
00998 e_rt_unspecified_failure,
00999 e_rt_user_rejected
01000 };
01001
01002 MCS_Result & operator=(unsigned v);
01003 PObject * Clone() const;
01004 };
01005
01006
01007
01008
01009
01010
01011 class MCS_Diagnostic : public PASN_Enumeration
01012 {
01013 #ifndef PASN_LEANANDMEAN
01014 PCLASSINFO(MCS_Diagnostic, PASN_Enumeration);
01015 #endif
01016 public:
01017 MCS_Diagnostic(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
01018
01019 enum Enumerations {
01020 e_dc_inconsistent_merge,
01021 e_dc_forbidden_PDU_downward,
01022 e_dc_forbidden_PDU_upward,
01023 e_dc_invalid_BER_encoding,
01024 e_dc_invalid_PER_encoding,
01025 e_dc_misrouted_user,
01026 e_dc_unrequested_confirm,
01027 e_dc_wrong_transport_priority,
01028 e_dc_channel_id_conflict,
01029 e_dc_token_id_conflict,
01030 e_dc_not_user_id_channel,
01031 e_dc_too_many_channels,
01032 e_dc_too_many_tokens,
01033 e_dc_too_many_users
01034 };
01035
01036 MCS_Diagnostic & operator=(unsigned v);
01037 PObject * Clone() const;
01038 };
01039
01040
01041
01042
01043
01044
01045 class MCS_Connect_Initial;
01046 class MCS_Connect_Response;
01047 class MCS_Connect_Additional;
01048 class MCS_Connect_Result;
01049
01050 class MCS_ConnectMCSPDU : public PASN_Choice
01051 {
01052 #ifndef PASN_LEANANDMEAN
01053 PCLASSINFO(MCS_ConnectMCSPDU, PASN_Choice);
01054 #endif
01055 public:
01056 MCS_ConnectMCSPDU(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01057
01058 enum Choices {
01059 e_connect_initial = 101,
01060 e_connect_response,
01061 e_connect_additional,
01062 e_connect_result
01063 };
01064
01065 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01066 operator MCS_Connect_Initial &() const;
01067 #else
01068 operator MCS_Connect_Initial &();
01069 operator const MCS_Connect_Initial &() const;
01070 #endif
01071 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01072 operator MCS_Connect_Response &() const;
01073 #else
01074 operator MCS_Connect_Response &();
01075 operator const MCS_Connect_Response &() const;
01076 #endif
01077 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01078 operator MCS_Connect_Additional &() const;
01079 #else
01080 operator MCS_Connect_Additional &();
01081 operator const MCS_Connect_Additional &() const;
01082 #endif
01083 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01084 operator MCS_Connect_Result &() const;
01085 #else
01086 operator MCS_Connect_Result &();
01087 operator const MCS_Connect_Result &() const;
01088 #endif
01089
01090 BOOL CreateObject();
01091 PObject * Clone() const;
01092 };
01093
01094
01095
01096
01097
01098
01099 class MCS_PDin;
01100 class MCS_EDrq;
01101 class MCS_MCrq;
01102 class MCS_MCcf;
01103 class MCS_PCin;
01104 class MCS_MTrq;
01105 class MCS_MTcf;
01106 class MCS_PTin;
01107 class MCS_DPum;
01108 class MCS_RJum;
01109 class MCS_AUrq;
01110 class MCS_AUcf;
01111 class MCS_DUrq;
01112 class MCS_DUin;
01113 class MCS_CJrq;
01114 class MCS_CJcf;
01115 class MCS_CLrq;
01116 class MCS_CCrq;
01117 class MCS_CCcf;
01118 class MCS_CDrq;
01119 class MCS_CDin;
01120 class MCS_CArq;
01121 class MCS_CAin;
01122 class MCS_CErq;
01123 class MCS_CEin;
01124 class MCS_SDrq;
01125 class MCS_SDin;
01126 class MCS_USrq;
01127 class MCS_USin;
01128 class MCS_TGrq;
01129 class MCS_TGcf;
01130 class MCS_TIrq;
01131 class MCS_TIcf;
01132 class MCS_TVrq;
01133 class MCS_TVin;
01134 class MCS_TVrs;
01135 class MCS_TVcf;
01136 class MCS_TPrq;
01137 class MCS_TPin;
01138 class MCS_TRrq;
01139 class MCS_TRcf;
01140 class MCS_TTrq;
01141 class MCS_TTcf;
01142
01143 class MCS_DomainMCSPDU : public PASN_Choice
01144 {
01145 #ifndef PASN_LEANANDMEAN
01146 PCLASSINFO(MCS_DomainMCSPDU, PASN_Choice);
01147 #endif
01148 public:
01149 MCS_DomainMCSPDU(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01150
01151 enum Choices {
01152 e_pdin,
01153 e_edrq,
01154 e_mcrq,
01155 e_mccf,
01156 e_pcin,
01157 e_mtrq,
01158 e_mtcf,
01159 e_ptin,
01160 e_dpum,
01161 e_rjum,
01162 e_aurq,
01163 e_aucf,
01164 e_durq,
01165 e_duin,
01166 e_cjrq,
01167 e_cjcf,
01168 e_clrq,
01169 e_ccrq,
01170 e_cccf,
01171 e_cdrq,
01172 e_cdin,
01173 e_carq,
01174 e_cain,
01175 e_cerq,
01176 e_cein,
01177 e_sdrq,
01178 e_sdin,
01179 e_usrq,
01180 e_usin,
01181 e_tgrq,
01182 e_tgcf,
01183 e_tirq,
01184 e_ticf,
01185 e_tvrq,
01186 e_tvin,
01187 e_tvrs,
01188 e_tvcf,
01189 e_tprq,
01190 e_tpin,
01191 e_trrq,
01192 e_trcf,
01193 e_ttrq,
01194 e_ttcf
01195 };
01196
01197 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01198 operator MCS_PDin &() const;
01199 #else
01200 operator MCS_PDin &();
01201 operator const MCS_PDin &() const;
01202 #endif
01203 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01204 operator MCS_EDrq &() const;
01205 #else
01206 operator MCS_EDrq &();
01207 operator const MCS_EDrq &() const;
01208 #endif
01209 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01210 operator MCS_MCrq &() const;
01211 #else
01212 operator MCS_MCrq &();
01213 operator const MCS_MCrq &() const;
01214 #endif
01215 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01216 operator MCS_MCcf &() const;
01217 #else
01218 operator MCS_MCcf &();
01219 operator const MCS_MCcf &() const;
01220 #endif
01221 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01222 operator MCS_PCin &() const;
01223 #else
01224 operator MCS_PCin &();
01225 operator const MCS_PCin &() const;
01226 #endif
01227 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01228 operator MCS_MTrq &() const;
01229 #else
01230 operator MCS_MTrq &();
01231 operator const MCS_MTrq &() const;
01232 #endif
01233 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01234 operator MCS_MTcf &() const;
01235 #else
01236 operator MCS_MTcf &();
01237 operator const MCS_MTcf &() const;
01238 #endif
01239 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01240 operator MCS_PTin &() const;
01241 #else
01242 operator MCS_PTin &();
01243 operator const MCS_PTin &() const;
01244 #endif
01245 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01246 operator MCS_DPum &() const;
01247 #else
01248 operator MCS_DPum &();
01249 operator const MCS_DPum &() const;
01250 #endif
01251 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01252 operator MCS_RJum &() const;
01253 #else
01254 operator MCS_RJum &();
01255 operator const MCS_RJum &() const;
01256 #endif
01257 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01258 operator MCS_AUrq &() const;
01259 #else
01260 operator MCS_AUrq &();
01261 operator const MCS_AUrq &() const;
01262 #endif
01263 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01264 operator MCS_AUcf &() const;
01265 #else
01266 operator MCS_AUcf &();
01267 operator const MCS_AUcf &() const;
01268 #endif
01269 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01270 operator MCS_DUrq &() const;
01271 #else
01272 operator MCS_DUrq &();
01273 operator const MCS_DUrq &() const;
01274 #endif
01275 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01276 operator MCS_DUin &() const;
01277 #else
01278 operator MCS_DUin &();
01279 operator const MCS_DUin &() const;
01280 #endif
01281 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01282 operator MCS_CJrq &() const;
01283 #else
01284 operator MCS_CJrq &();
01285 operator const MCS_CJrq &() const;
01286 #endif
01287 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01288 operator MCS_CJcf &() const;
01289 #else
01290 operator MCS_CJcf &();
01291 operator const MCS_CJcf &() const;
01292 #endif
01293 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01294 operator MCS_CLrq &() const;
01295 #else
01296 operator MCS_CLrq &();
01297 operator const MCS_CLrq &() const;
01298 #endif
01299 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01300 operator MCS_CCrq &() const;
01301 #else
01302 operator MCS_CCrq &();
01303 operator const MCS_CCrq &() const;
01304 #endif
01305 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01306 operator MCS_CCcf &() const;
01307 #else
01308 operator MCS_CCcf &();
01309 operator const MCS_CCcf &() const;
01310 #endif
01311 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01312 operator MCS_CDrq &() const;
01313 #else
01314 operator MCS_CDrq &();
01315 operator const MCS_CDrq &() const;
01316 #endif
01317 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01318 operator MCS_CDin &() const;
01319 #else
01320 operator MCS_CDin &();
01321 operator const MCS_CDin &() const;
01322 #endif
01323 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01324 operator MCS_CArq &() const;
01325 #else
01326 operator MCS_CArq &();
01327 operator const MCS_CArq &() const;
01328 #endif
01329 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01330 operator MCS_CAin &() const;
01331 #else
01332 operator MCS_CAin &();
01333 operator const MCS_CAin &() const;
01334 #endif
01335 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01336 operator MCS_CErq &() const;
01337 #else
01338 operator MCS_CErq &();
01339 operator const MCS_CErq &() const;
01340 #endif
01341 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01342 operator MCS_CEin &() const;
01343 #else
01344 operator MCS_CEin &();
01345 operator const MCS_CEin &() const;
01346 #endif
01347 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01348 operator MCS_SDrq &() const;
01349 #else
01350 operator MCS_SDrq &();
01351 operator const MCS_SDrq &() const;
01352 #endif
01353 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01354 operator MCS_SDin &() const;
01355 #else
01356 operator MCS_SDin &();
01357 operator const MCS_SDin &() const;
01358 #endif
01359 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01360 operator MCS_USrq &() const;
01361 #else
01362 operator MCS_USrq &();
01363 operator const MCS_USrq &() const;
01364 #endif
01365 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01366 operator MCS_USin &() const;
01367 #else
01368 operator MCS_USin &();
01369 operator const MCS_USin &() const;
01370 #endif
01371 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01372 operator MCS_TGrq &() const;
01373 #else
01374 operator MCS_TGrq &();
01375 operator const MCS_TGrq &() const;
01376 #endif
01377 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01378 operator MCS_TGcf &() const;
01379 #else
01380 operator MCS_TGcf &();
01381 operator const MCS_TGcf &() const;
01382 #endif
01383 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01384 operator MCS_TIrq &() const;
01385 #else
01386 operator MCS_TIrq &();
01387 operator const MCS_TIrq &() const;
01388 #endif
01389 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01390 operator MCS_TIcf &() const;
01391 #else
01392 operator MCS_TIcf &();
01393 operator const MCS_TIcf &() const;
01394 #endif
01395 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01396 operator MCS_TVrq &() const;
01397 #else
01398 operator MCS_TVrq &();
01399 operator const MCS_TVrq &() const;
01400 #endif
01401 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01402 operator MCS_TVin &() const;
01403 #else
01404 operator MCS_TVin &();
01405 operator const MCS_TVin &() const;
01406 #endif
01407 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01408 operator MCS_TVrs &() const;
01409 #else
01410 operator MCS_TVrs &();
01411 operator const MCS_TVrs &() const;
01412 #endif
01413 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01414 operator MCS_TVcf &() const;
01415 #else
01416 operator MCS_TVcf &();
01417 operator const MCS_TVcf &() const;
01418 #endif
01419 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01420 operator MCS_TPrq &() const;
01421 #else
01422 operator MCS_TPrq &();
01423 operator const MCS_TPrq &() const;
01424 #endif
01425 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01426 operator MCS_TPin &() const;
01427 #else
01428 operator MCS_TPin &();
01429 operator const MCS_TPin &() const;
01430 #endif
01431 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01432 operator MCS_TRrq &() const;
01433 #else
01434 operator MCS_TRrq &();
01435 operator const MCS_TRrq &() const;
01436 #endif
01437 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01438 operator MCS_TRcf &() const;
01439 #else
01440 operator MCS_TRcf &();
01441 operator const MCS_TRcf &() const;
01442 #endif
01443 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01444 operator MCS_TTrq &() const;
01445 #else
01446 operator MCS_TTrq &();
01447 operator const MCS_TTrq &() const;
01448 #endif
01449 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01450 operator MCS_TTcf &() const;
01451 #else
01452 operator MCS_TTcf &();
01453 operator const MCS_TTcf &() const;
01454 #endif
01455
01456 BOOL CreateObject();
01457 PObject * Clone() const;
01458 };
01459
01460
01461
01462
01463
01464
01465 class MCS_ChannelAttributes_static : public PASN_Sequence
01466 {
01467 #ifndef PASN_LEANANDMEAN
01468 PCLASSINFO(MCS_ChannelAttributes_static, PASN_Sequence);
01469 #endif
01470 public:
01471 MCS_ChannelAttributes_static(unsigned tag = 0, TagClass tagClass = ContextSpecificTagClass);
01472
01473 MCS_StaticChannelId m_channelId;
01474
01475 PINDEX GetDataLength() const;
01476 BOOL Decode(PASN_Stream & strm);
01477 void Encode(PASN_Stream & strm) const;
01478 #ifndef PASN_NOPRINTON
01479 void PrintOn(ostream & strm) const;
01480 #endif
01481 Comparison Compare(const PObject & obj) const;
01482 PObject * Clone() const;
01483 };
01484
01485
01486
01487
01488
01489
01490 class MCS_ChannelAttributes_userId : public PASN_Sequence
01491 {
01492 #ifndef PASN_LEANANDMEAN
01493 PCLASSINFO(MCS_ChannelAttributes_userId, PASN_Sequence);
01494 #endif
01495 public:
01496 MCS_ChannelAttributes_userId(unsigned tag = 1, TagClass tagClass = ContextSpecificTagClass);
01497
01498 PASN_Boolean m_joined;
01499 MCS_UserId m_userId;
01500
01501 PINDEX GetDataLength() const;
01502 BOOL Decode(PASN_Stream & strm);
01503 void Encode(PASN_Stream & strm) const;
01504 #ifndef PASN_NOPRINTON
01505 void PrintOn(ostream & strm) const;
01506 #endif
01507 Comparison Compare(const PObject & obj) const;
01508 PObject * Clone() const;
01509 };
01510
01511
01512
01513
01514
01515
01516 class MCS_ChannelAttributes_assigned : public PASN_Sequence
01517 {
01518 #ifndef PASN_LEANANDMEAN
01519 PCLASSINFO(MCS_ChannelAttributes_assigned, PASN_Sequence);
01520 #endif
01521 public:
01522 MCS_ChannelAttributes_assigned(unsigned tag = 3, TagClass tagClass = ContextSpecificTagClass);
01523
01524 MCS_AssignedChannelId m_channelId;
01525
01526 PINDEX GetDataLength() const;
01527 BOOL Decode(PASN_Stream & strm);
01528 void Encode(PASN_Stream & strm) const;
01529 #ifndef PASN_NOPRINTON
01530 void PrintOn(ostream & strm) const;
01531 #endif
01532 Comparison Compare(const PObject & obj) const;
01533 PObject * Clone() const;
01534 };
01535
01536
01537
01538
01539
01540
01541 class MCS_ChannelAttributes;
01542
01543 class MCS_ArrayOf_ChannelAttributes : public PASN_Array
01544 {
01545 #ifndef PASN_LEANANDMEAN
01546 PCLASSINFO(MCS_ArrayOf_ChannelAttributes, PASN_Array);
01547 #endif
01548 public:
01549 MCS_ArrayOf_ChannelAttributes(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
01550
01551 PASN_Object * CreateObject() const;
01552 MCS_ChannelAttributes & operator[](PINDEX i) const;
01553 PObject * Clone() const;
01554 };
01555
01556
01557
01558
01559
01560
01561 class MCS_ChannelId;
01562
01563 class MCS_ArrayOf_ChannelId : public PASN_Array
01564 {
01565 #ifndef PASN_LEANANDMEAN
01566 PCLASSINFO(MCS_ArrayOf_ChannelId, PASN_Array);
01567 #endif
01568 public:
01569 MCS_ArrayOf_ChannelId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
01570
01571 PASN_Object * CreateObject() const;
01572 MCS_ChannelId & operator[](PINDEX i) const;
01573 PObject * Clone() const;
01574 };
01575
01576
01577
01578
01579
01580
01581 class MCS_UserId;
01582
01583 class MCS_ArrayOf_UserId : public PASN_Array
01584 {
01585 #ifndef PASN_LEANANDMEAN
01586 PCLASSINFO(MCS_ArrayOf_UserId, PASN_Array);
01587 #endif
01588 public:
01589 MCS_ArrayOf_UserId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
01590
01591 PASN_Object * CreateObject() const;
01592 MCS_UserId & operator[](PINDEX i) const;
01593 PObject * Clone() const;
01594 };
01595
01596
01597
01598
01599
01600
01601 class MCS_TokenAttributes_grabbed : public PASN_Sequence
01602 {
01603 #ifndef PASN_LEANANDMEAN
01604 PCLASSINFO(MCS_TokenAttributes_grabbed, PASN_Sequence);
01605 #endif
01606 public:
01607 MCS_TokenAttributes_grabbed(unsigned tag = 0, TagClass tagClass = ContextSpecificTagClass);
01608
01609 MCS_TokenId m_tokenId;
01610 MCS_UserId m_grabber;
01611
01612 PINDEX GetDataLength() const;
01613 BOOL Decode(PASN_Stream & strm);
01614 void Encode(PASN_Stream & strm) const;
01615 #ifndef PASN_NOPRINTON
01616 void PrintOn(ostream & strm) const;
01617 #endif
01618 Comparison Compare(const PObject & obj) const;
01619 PObject * Clone() const;
01620 };
01621
01622
01623
01624
01625
01626
01627 class MCS_TokenAttributes_inhibited : public PASN_Sequence
01628 {
01629 #ifndef PASN_LEANANDMEAN
01630 PCLASSINFO(MCS_TokenAttributes_inhibited, PASN_Sequence);
01631 #endif
01632 public:
01633 MCS_TokenAttributes_inhibited(unsigned tag = 1, TagClass tagClass = ContextSpecificTagClass);
01634
01635 MCS_TokenId m_tokenId;
01636 MCS_ArrayOf_UserId m_inhibitors;
01637
01638 PINDEX GetDataLength() const;
01639 BOOL Decode(PASN_Stream & strm);
01640 void Encode(PASN_Stream & strm) const;
01641 #ifndef PASN_NOPRINTON
01642 void PrintOn(ostream & strm) const;
01643 #endif
01644 Comparison Compare(const PObject & obj) const;
01645 PObject * Clone() const;
01646 };
01647
01648
01649
01650
01651
01652
01653 class MCS_TokenAttributes_giving : public PASN_Sequence
01654 {
01655 #ifndef PASN_LEANANDMEAN
01656 PCLASSINFO(MCS_TokenAttributes_giving, PASN_Sequence);
01657 #endif
01658 public:
01659 MCS_TokenAttributes_giving(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);
01660
01661 MCS_TokenId m_tokenId;
01662 MCS_UserId m_grabber;
01663 MCS_UserId m_recipient;
01664
01665 PINDEX GetDataLength() const;
01666 BOOL Decode(PASN_Stream & strm);
01667 void Encode(PASN_Stream & strm) const;
01668 #ifndef PASN_NOPRINTON
01669 void PrintOn(ostream & strm) const;
01670 #endif
01671 Comparison Compare(const PObject & obj) const;
01672 PObject * Clone() const;
01673 };
01674
01675
01676
01677
01678
01679
01680 class MCS_TokenAttributes_ungivable : public PASN_Sequence
01681 {
01682 #ifndef PASN_LEANANDMEAN
01683 PCLASSINFO(MCS_TokenAttributes_ungivable, PASN_Sequence);
01684 #endif
01685 public:
01686 MCS_TokenAttributes_ungivable(unsigned tag = 3, TagClass tagClass = ContextSpecificTagClass);
01687
01688 MCS_TokenId m_tokenId;
01689 MCS_UserId m_grabber;
01690
01691 PINDEX GetDataLength() const;
01692 BOOL Decode(PASN_Stream & strm);
01693 void Encode(PASN_Stream & strm) const;
01694 #ifndef PASN_NOPRINTON
01695 void PrintOn(ostream & strm) const;
01696 #endif
01697 Comparison Compare(const PObject & obj) const;
01698 PObject * Clone() const;
01699 };
01700
01701
01702
01703
01704
01705
01706 class MCS_TokenAttributes_given : public PASN_Sequence
01707 {
01708 #ifndef PASN_LEANANDMEAN
01709 PCLASSINFO(MCS_TokenAttributes_given, PASN_Sequence);
01710 #endif
01711 public:
01712 MCS_TokenAttributes_given(unsigned tag = 4, TagClass tagClass = ContextSpecificTagClass);
01713
01714 MCS_TokenId m_tokenId;
01715 MCS_UserId m_recipient;
01716
01717 PINDEX GetDataLength() const;
01718 BOOL Decode(PASN_Stream & strm);
01719 void Encode(PASN_Stream & strm) const;
01720 #ifndef PASN_NOPRINTON
01721 void PrintOn(ostream & strm) const;
01722 #endif
01723 Comparison Compare(const PObject & obj) const;
01724 PObject * Clone() const;
01725 };
01726
01727
01728
01729
01730
01731
01732 class MCS_TokenAttributes;
01733
01734 class MCS_ArrayOf_TokenAttributes : public PASN_Array
01735 {
01736 #ifndef PASN_LEANANDMEAN
01737 PCLASSINFO(MCS_ArrayOf_TokenAttributes, PASN_Array);
01738 #endif
01739 public:
01740 MCS_ArrayOf_TokenAttributes(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
01741
01742 PASN_Object * CreateObject() const;
01743 MCS_TokenAttributes & operator[](PINDEX i) const;
01744 PObject * Clone() const;
01745 };
01746
01747
01748
01749
01750
01751
01752 class MCS_TokenId;
01753
01754 class MCS_ArrayOf_TokenId : public PASN_Array
01755 {
01756 #ifndef PASN_LEANANDMEAN
01757 PCLASSINFO(MCS_ArrayOf_TokenId, PASN_Array);
01758 #endif
01759 public:
01760 MCS_ArrayOf_TokenId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
01761
01762 PASN_Object * CreateObject() const;
01763 MCS_TokenId & operator[](PINDEX i) const;
01764 PObject * Clone() const;
01765 };
01766
01767
01768
01769
01770
01771
01772 class MCS_Connect_Response : public PASN_Sequence
01773 {
01774 #ifndef PASN_LEANANDMEAN
01775 PCLASSINFO(MCS_Connect_Response, PASN_Sequence);
01776 #endif
01777 public:
01778 MCS_Connect_Response(unsigned tag = 102, TagClass tagClass = ApplicationTagClass);
01779
01780 MCS_Result m_result;
01781 PASN_Integer m_calledConnectId;
01782 MCS_DomainParameters m_domainParameters;
01783 PASN_OctetString m_userData;
01784
01785 PINDEX GetDataLength() const;
01786 BOOL Decode(PASN_Stream & strm);
01787 void Encode(PASN_Stream & strm) const;
01788 #ifndef PASN_NOPRINTON
01789 void PrintOn(ostream & strm) const;
01790 #endif
01791 Comparison Compare(const PObject & obj) const;
01792 PObject * Clone() const;
01793 };
01794
01795
01796
01797
01798
01799
01800 class MCS_Connect_Result : public PASN_Sequence
01801 {
01802 #ifndef PASN_LEANANDMEAN
01803 PCLASSINFO(MCS_Connect_Result, PASN_Sequence);
01804 #endif
01805 public:
01806 MCS_Connect_Result(unsigned tag = 104, TagClass tagClass = ApplicationTagClass);
01807
01808 MCS_Result m_result;
01809
01810 PINDEX GetDataLength() const;
01811 BOOL Decode(PASN_Stream & strm);
01812 void Encode(PASN_Stream & strm) const;
01813 #ifndef PASN_NOPRINTON
01814 void PrintOn(ostream & strm) const;
01815 #endif
01816 Comparison Compare(const PObject & obj) const;
01817 PObject * Clone() const;
01818 };
01819
01820
01821
01822
01823
01824
01825 class MCS_MCrq : public PASN_Sequence
01826 {
01827 #ifndef PASN_LEANANDMEAN
01828 PCLASSINFO(MCS_MCrq, PASN_Sequence);
01829 #endif
01830 public:
01831 MCS_MCrq(unsigned tag = 2, TagClass tagClass = ApplicationTagClass);
01832
01833 MCS_ArrayOf_ChannelAttributes m_mergeChannels;
01834 MCS_ArrayOf_ChannelId m_purgeChannelIds;
01835
01836 PINDEX GetDataLength() const;
01837 BOOL Decode(PASN_Stream & strm);
01838 void Encode(PASN_Stream & strm) const;
01839 #ifndef PASN_NOPRINTON
01840 void PrintOn(ostream & strm) const;
01841 #endif
01842 Comparison Compare(const PObject & obj) const;
01843 PObject * Clone() const;
01844 };
01845
01846
01847
01848
01849
01850
01851 class MCS_MCcf : public PASN_Sequence
01852 {
01853 #ifndef PASN_LEANANDMEAN
01854 PCLASSINFO(MCS_MCcf, PASN_Sequence);
01855 #endif
01856 public:
01857 MCS_MCcf(unsigned tag = 3, TagClass tagClass = ApplicationTagClass);
01858
01859 MCS_ArrayOf_ChannelAttributes m_mergeChannels;
01860 MCS_ArrayOf_ChannelId m_purgeChannelIds;
01861
01862 PINDEX GetDataLength() const;
01863 BOOL Decode(PASN_Stream & strm);
01864 void Encode(PASN_Stream & strm) const;
01865 #ifndef PASN_NOPRINTON
01866 void PrintOn(ostream & strm) const;
01867 #endif
01868 Comparison Compare(const PObject & obj) const;
01869 PObject * Clone() const;
01870 };
01871
01872
01873
01874
01875
01876
01877 class MCS_PCin : public PASN_Sequence
01878 {
01879 #ifndef PASN_LEANANDMEAN
01880 PCLASSINFO(MCS_PCin, PASN_Sequence);
01881 #endif
01882 public:
01883 MCS_PCin(unsigned tag = 4, TagClass tagClass = ApplicationTagClass);
01884
01885 MCS_ArrayOf_UserId m_detachUserIds;
01886 MCS_ArrayOf_ChannelId m_purgeChannelIds;
01887
01888 PINDEX GetDataLength() const;
01889 BOOL Decode(PASN_Stream & strm);
01890 void Encode(PASN_Stream & strm) const;
01891 #ifndef PASN_NOPRINTON
01892 void PrintOn(ostream & strm) const;
01893 #endif
01894 Comparison Compare(const PObject & obj) const;
01895 PObject * Clone() const;
01896 };
01897
01898
01899
01900
01901
01902
01903 class MCS_MTrq : public PASN_Sequence
01904 {
01905 #ifndef PASN_LEANANDMEAN
01906 PCLASSINFO(MCS_MTrq, PASN_Sequence);
01907 #endif
01908 public:
01909 MCS_MTrq(unsigned tag = 5, TagClass tagClass = ApplicationTagClass);
01910
01911 MCS_ArrayOf_TokenAttributes m_mergeTokens;
01912 MCS_ArrayOf_TokenId m_purgeTokenIds;
01913
01914 PINDEX GetDataLength() const;
01915 BOOL Decode(PASN_Stream & strm);
01916 void Encode(PASN_Stream & strm) const;
01917 #ifndef PASN_NOPRINTON
01918 void PrintOn(ostream & strm) const;
01919 #endif
01920 Comparison Compare(const PObject & obj) const;
01921 PObject * Clone() const;
01922 };
01923
01924
01925
01926
01927
01928
01929 class MCS_MTcf : public PASN_Sequence
01930 {
01931 #ifndef PASN_LEANANDMEAN
01932 PCLASSINFO(MCS_MTcf, PASN_Sequence);
01933 #endif
01934 public:
01935 MCS_MTcf(unsigned tag = 6, TagClass tagClass = ApplicationTagClass);
01936
01937 MCS_ArrayOf_TokenAttributes m_mergeTokens;
01938 MCS_ArrayOf_TokenId m_purgeTokenIds;
01939
01940 PINDEX GetDataLength() const;
01941 BOOL Decode(PASN_Stream & strm);
01942 void Encode(PASN_Stream & strm) const;
01943 #ifndef PASN_NOPRINTON
01944 void PrintOn(ostream & strm) const;
01945 #endif
01946 Comparison Compare(const PObject & obj) const;
01947 PObject * Clone() const;
01948 };
01949
01950
01951
01952
01953
01954
01955 class MCS_PTin : public PASN_Sequence
01956 {
01957 #ifndef PASN_LEANANDMEAN
01958 PCLASSINFO(MCS_PTin, PASN_Sequence);
01959 #endif
01960 public:
01961 MCS_PTin(unsigned tag = 7, TagClass tagClass = ApplicationTagClass);
01962
01963 MCS_ArrayOf_TokenId m_purgeTokenIds;
01964
01965 PINDEX GetDataLength() const;
01966 BOOL Decode(PASN_Stream & strm);
01967 void Encode(PASN_Stream & strm) const;
01968 #ifndef PASN_NOPRINTON
01969 void PrintOn(ostream & strm) const;
01970 #endif
01971 Comparison Compare(const PObject & obj) const;
01972 PObject * Clone() const;
01973 };
01974
01975
01976
01977
01978
01979
01980 class MCS_DPum : public PASN_Sequence
01981 {
01982 #ifndef PASN_LEANANDMEAN
01983 PCLASSINFO(MCS_DPum, PASN_Sequence);
01984 #endif
01985 public:
01986 MCS_DPum(unsigned tag = 8, TagClass tagClass = ApplicationTagClass);
01987
01988 MCS_Reason m_reason;
01989
01990 PINDEX GetDataLength() const;
01991 BOOL Decode(PASN_Stream & strm);
01992 void Encode(PASN_Stream & strm) const;
01993 #ifndef PASN_NOPRINTON
01994 void PrintOn(ostream & strm) const;
01995 #endif
01996 Comparison Compare(const PObject & obj) const;
01997 PObject * Clone() const;
01998 };
01999
02000
02001
02002
02003
02004
02005 class MCS_RJum : public PASN_Sequence
02006 {
02007 #ifndef PASN_LEANANDMEAN
02008 PCLASSINFO(MCS_RJum, PASN_Sequence);
02009 #endif
02010 public:
02011 MCS_RJum(unsigned tag = 9, TagClass tagClass = ApplicationTagClass);
02012
02013 MCS_Diagnostic m_diagnostic;
02014 PASN_OctetString m_initialOctets;
02015
02016 PINDEX GetDataLength() const;
02017 BOOL Decode(PASN_Stream & strm);
02018 void Encode(PASN_Stream & strm) const;
02019 #ifndef PASN_NOPRINTON
02020 void PrintOn(ostream & strm) const;
02021 #endif
02022 Comparison Compare(const PObject & obj) const;
02023 PObject * Clone() const;
02024 };
02025
02026
02027
02028
02029
02030
02031 class MCS_AUcf : public PASN_Sequence
02032 {
02033 #ifndef PASN_LEANANDMEAN
02034 PCLASSINFO(MCS_AUcf, PASN_Sequence);
02035 #endif
02036 public:
02037 MCS_AUcf(unsigned tag = 11, TagClass tagClass = ApplicationTagClass);
02038
02039 enum OptionalFields {
02040 e_initiator
02041 };
02042
02043 MCS_Result m_result;
02044 MCS_UserId m_initiator;
02045
02046 PINDEX GetDataLength() const;
02047 BOOL Decode(PASN_Stream & strm);
02048 void Encode(PASN_Stream & strm) const;
02049 #ifndef PASN_NOPRINTON
02050 void PrintOn(ostream & strm) const;
02051 #endif
02052 Comparison Compare(const PObject & obj) const;
02053 PObject * Clone() const;
02054 };
02055
02056
02057
02058
02059
02060
02061 class MCS_DUrq : public PASN_Sequence
02062 {
02063 #ifndef PASN_LEANANDMEAN
02064 PCLASSINFO(MCS_DUrq, PASN_Sequence);
02065 #endif
02066 public:
02067 MCS_DUrq(unsigned tag = 12, TagClass tagClass = ApplicationTagClass);
02068
02069 MCS_Reason m_reason;
02070 MCS_ArrayOf_UserId m_userIds;
02071
02072 PINDEX GetDataLength() const;
02073 BOOL Decode(PASN_Stream & strm);
02074 void Encode(PASN_Stream & strm) const;
02075 #ifndef PASN_NOPRINTON
02076 void PrintOn(ostream & strm) const;
02077 #endif
02078 Comparison Compare(const PObject & obj) const;
02079 PObject * Clone() const;
02080 };
02081
02082
02083
02084
02085
02086
02087 class MCS_DUin : public PASN_Sequence
02088 {
02089 #ifndef PASN_LEANANDMEAN
02090 PCLASSINFO(MCS_DUin, PASN_Sequence);
02091 #endif
02092 public:
02093 MCS_DUin(unsigned tag = 13, TagClass tagClass = ApplicationTagClass);
02094
02095 MCS_Reason m_reason;
02096 MCS_ArrayOf_UserId m_userIds;
02097
02098 PINDEX GetDataLength() const;
02099 BOOL Decode(PASN_Stream & strm);
02100 void Encode(PASN_Stream & strm) const;
02101 #ifndef PASN_NOPRINTON
02102 void PrintOn(ostream & strm) const;
02103 #endif
02104 Comparison Compare(const PObject & obj) const;
02105 PObject * Clone() const;
02106 };
02107
02108
02109
02110
02111
02112
02113 class MCS_CJcf : public PASN_Sequence
02114 {
02115 #ifndef PASN_LEANANDMEAN
02116 PCLASSINFO(MCS_CJcf, PASN_Sequence);
02117 #endif
02118 public:
02119 MCS_CJcf(unsigned tag = 15, TagClass tagClass = ApplicationTagClass);
02120
02121 enum OptionalFields {
02122 e_channelId
02123 };
02124
02125 MCS_Result m_result;
02126 MCS_UserId m_initiator;
02127 MCS_ChannelId m_requested;
02128 MCS_ChannelId m_channelId;
02129
02130 PINDEX GetDataLength() const;
02131 BOOL Decode(PASN_Stream & strm);
02132 void Encode(PASN_Stream & strm) const;
02133 #ifndef PASN_NOPRINTON
02134 void PrintOn(ostream & strm) const;
02135 #endif
02136 Comparison Compare(const PObject & obj) const;
02137 PObject * Clone() const;
02138 };
02139
02140
02141
02142
02143
02144
02145 class MCS_CLrq : public PASN_Sequence
02146 {
02147 #ifndef PASN_LEANANDMEAN
02148 PCLASSINFO(MCS_CLrq, PASN_Sequence);
02149 #endif
02150 public:
02151 MCS_CLrq(unsigned tag = 16, TagClass tagClass = ApplicationTagClass);
02152
02153 MCS_ArrayOf_ChannelId m_channelIds;
02154
02155 PINDEX GetDataLength() const;
02156 BOOL Decode(PASN_Stream & strm);
02157 void Encode(PASN_Stream & strm) const;
02158 #ifndef PASN_NOPRINTON
02159 void PrintOn(ostream & strm) const;
02160 #endif
02161 Comparison Compare(const PObject & obj) const;
02162 PObject * Clone() const;
02163 };
02164
02165
02166
02167
02168
02169
02170 class MCS_CCcf : public PASN_Sequence
02171 {
02172 #ifndef PASN_LEANANDMEAN
02173 PCLASSINFO(MCS_CCcf, PASN_Sequence);
02174 #endif
02175 public:
02176 MCS_CCcf(unsigned tag = 18, TagClass tagClass = ApplicationTagClass);
02177
02178 enum OptionalFields {
02179 e_channelId
02180 };
02181
02182 MCS_Result m_result;
02183 MCS_UserId m_initiator;
02184 MCS_PrivateChannelId m_channelId;
02185
02186 PINDEX GetDataLength() const;
02187 BOOL Decode(PASN_Stream & strm);
02188 void Encode(PASN_Stream & strm) const;
02189 #ifndef PASN_NOPRINTON
02190 void PrintOn(ostream & strm) const;
02191 #endif
02192 Comparison Compare(const PObject & obj) const;
02193 PObject * Clone() const;
02194 };
02195
02196
02197
02198
02199
02200
02201 class MCS_CArq : public PASN_Sequence
02202 {
02203 #ifndef PASN_LEANANDMEAN
02204 PCLASSINFO(MCS_CArq, PASN_Sequence);
02205 #endif
02206 public:
02207 MCS_CArq(unsigned tag = 21, TagClass tagClass = ApplicationTagClass);
02208
02209 MCS_UserId m_initiator;
02210 MCS_PrivateChannelId m_channelId;
02211 MCS_ArrayOf_UserId m_userIds;
02212
02213 PINDEX GetDataLength() const;
02214 BOOL Decode(PASN_Stream & strm);
02215 void Encode(PASN_Stream & strm) const;
02216 #ifndef PASN_NOPRINTON
02217 void PrintOn(ostream & strm) const;
02218 #endif
02219 Comparison Compare(const PObject & obj) const;
02220 PObject * Clone() const;
02221 };
02222
02223
02224
02225
02226
02227
02228 class MCS_CAin : public PASN_Sequence
02229 {
02230 #ifndef PASN_LEANANDMEAN
02231 PCLASSINFO(MCS_CAin, PASN_Sequence);
02232 #endif
02233 public:
02234 MCS_CAin(unsigned tag = 22, TagClass tagClass = ApplicationTagClass);
02235
02236 MCS_UserId m_initiator;
02237 MCS_PrivateChannelId m_channelId;
02238 MCS_ArrayOf_UserId m_userIds;
02239
02240 PINDEX GetDataLength() const;
02241 BOOL Decode(PASN_Stream & strm);
02242 void Encode(PASN_Stream & strm) const;
02243 #ifndef PASN_NOPRINTON
02244 void PrintOn(ostream & strm) const;
02245 #endif
02246 Comparison Compare(const PObject & obj) const;
02247 PObject * Clone() const;
02248 };
02249
02250
02251
02252
02253
02254
02255 class MCS_CErq : public PASN_Sequence
02256 {
02257 #ifndef PASN_LEANANDMEAN
02258 PCLASSINFO(MCS_CErq, PASN_Sequence);
02259 #endif
02260 public:
02261 MCS_CErq(unsigned tag = 23, TagClass tagClass = ApplicationTagClass);
02262
02263 MCS_UserId m_initiator;
02264 MCS_PrivateChannelId m_channelId;
02265 MCS_ArrayOf_UserId m_userIds;
02266
02267 PINDEX GetDataLength() const;
02268 BOOL Decode(PASN_Stream & strm);
02269 void Encode(PASN_Stream & strm) const;
02270 #ifndef PASN_NOPRINTON
02271 void PrintOn(ostream & strm) const;
02272 #endif
02273 Comparison Compare(const PObject & obj) const;
02274 PObject * Clone() const;
02275 };
02276
02277
02278
02279
02280
02281
02282 class MCS_CEin : public PASN_Sequence
02283 {
02284 #ifndef PASN_LEANANDMEAN
02285 PCLASSINFO(MCS_CEin, PASN_Sequence);
02286 #endif
02287 public:
02288 MCS_CEin(unsigned tag = 24, TagClass tagClass = ApplicationTagClass);
02289
02290 MCS_PrivateChannelId m_channelId;
02291 MCS_ArrayOf_UserId m_userIds;
02292
02293 PINDEX GetDataLength() const;
02294 BOOL Decode(PASN_Stream & strm);
02295 void Encode(PASN_Stream & strm) const;
02296 #ifndef PASN_NOPRINTON
02297 void PrintOn(ostream & strm) const;
02298 #endif
02299 Comparison Compare(const PObject & obj) const;
02300 PObject * Clone() const;
02301 };
02302
02303
02304
02305
02306
02307
02308 class MCS_TGcf : public PASN_Sequence
02309 {
02310 #ifndef PASN_LEANANDMEAN
02311 PCLASSINFO(MCS_TGcf, PASN_Sequence);
02312 #endif
02313 public:
02314 MCS_TGcf(unsigned tag = 30, TagClass tagClass = ApplicationTagClass);
02315
02316 MCS_Result m_result;
02317 MCS_UserId m_initiator;
02318 MCS_TokenId m_tokenId;
02319 MCS_TokenStatus m_tokenStatus;
02320
02321 PINDEX GetDataLength() const;
02322 BOOL Decode(PASN_Stream & strm);
02323 void Encode(PASN_Stream & strm) const;
02324 #ifndef PASN_NOPRINTON
02325 void PrintOn(ostream & strm) const;
02326 #endif
02327 Comparison Compare(const PObject & obj) const;
02328 PObject * Clone() const;
02329 };
02330
02331
02332
02333
02334
02335
02336 class MCS_TIcf : public PASN_Sequence
02337 {
02338 #ifndef PASN_LEANANDMEAN
02339 PCLASSINFO(MCS_TIcf, PASN_Sequence);
02340 #endif
02341 public:
02342 MCS_TIcf(unsigned tag = 32, TagClass tagClass = ApplicationTagClass);
02343
02344 MCS_Result m_result;
02345 MCS_UserId m_initiator;
02346 MCS_TokenId m_tokenId;
02347 MCS_TokenStatus m_tokenStatus;
02348
02349 PINDEX GetDataLength() const;
02350 BOOL Decode(PASN_Stream & strm);
02351 void Encode(PASN_Stream & strm) const;
02352 #ifndef PASN_NOPRINTON
02353 void PrintOn(ostream & strm) const;
02354 #endif
02355 Comparison Compare(const PObject & obj) const;
02356 PObject * Clone() const;
02357 };
02358
02359
02360
02361
02362
02363
02364 class MCS_TVrs : public PASN_Sequence
02365 {
02366 #ifndef PASN_LEANANDMEAN
02367 PCLASSINFO(MCS_TVrs, PASN_Sequence);
02368 #endif
02369 public:
02370 MCS_TVrs(unsigned tag = 35, TagClass tagClass = ApplicationTagClass);
02371
02372 MCS_Result m_result;
02373 MCS_UserId m_recipient;
02374 MCS_TokenId m_tokenId;
02375
02376 PINDEX GetDataLength() const;
02377 BOOL Decode(PASN_Stream & strm);
02378 void Encode(PASN_Stream & strm) const;
02379 #ifndef PASN_NOPRINTON
02380 void PrintOn(ostream & strm) const;
02381 #endif
02382 Comparison Compare(const PObject & obj) const;
02383 PObject * Clone() const;
02384 };
02385
02386
02387
02388
02389
02390
02391 class MCS_TVcf : public PASN_Sequence
02392 {
02393 #ifndef PASN_LEANANDMEAN
02394 PCLASSINFO(MCS_TVcf, PASN_Sequence);
02395 #endif
02396 public:
02397 MCS_TVcf(unsigned tag = 36, TagClass tagClass = ApplicationTagClass);
02398
02399 MCS_Result m_result;
02400 MCS_UserId m_initiator;
02401 MCS_TokenId m_tokenId;
02402 MCS_TokenStatus m_tokenStatus;
02403
02404 PINDEX GetDataLength() const;
02405 BOOL Decode(PASN_Stream & strm);
02406 void Encode(PASN_Stream & strm) const;
02407 #ifndef PASN_NOPRINTON
02408 void PrintOn(ostream & strm) const;
02409 #endif
02410 Comparison Compare(const PObject & obj) const;
02411 PObject * Clone() const;
02412 };
02413
02414
02415
02416
02417
02418
02419 class MCS_TRcf : public PASN_Sequence
02420 {
02421 #ifndef PASN_LEANANDMEAN
02422 PCLASSINFO(MCS_TRcf, PASN_Sequence);
02423 #endif
02424 public:
02425 MCS_TRcf(unsigned tag = 40, TagClass tagClass = ApplicationTagClass);
02426
02427 MCS_Result m_result;
02428 MCS_UserId m_initiator;
02429 MCS_TokenId m_tokenId;
02430 MCS_TokenStatus m_tokenStatus;
02431
02432 PINDEX GetDataLength() const;
02433 BOOL Decode(PASN_Stream & strm);
02434 void Encode(PASN_Stream & strm) const;
02435 #ifndef PASN_NOPRINTON
02436 void PrintOn(ostream & strm) const;
02437 #endif
02438 Comparison Compare(const PObject & obj) const;
02439 PObject * Clone() const;
02440 };
02441
02442
02443
02444
02445
02446
02447 class MCS_ChannelAttributes_private : public PASN_Sequence
02448 {
02449 #ifndef PASN_LEANANDMEAN
02450 PCLASSINFO(MCS_ChannelAttributes_private, PASN_Sequence);
02451 #endif
02452 public:
02453 MCS_ChannelAttributes_private(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);
02454
02455 PASN_Boolean m_joined;
02456 MCS_PrivateChannelId m_channelId;
02457 MCS_UserId m_manager;
02458 MCS_ArrayOf_UserId m_admitted;
02459
02460 PINDEX GetDataLength() const;
02461 BOOL Decode(PASN_Stream & strm);
02462 void Encode(PASN_Stream & strm) const;
02463 #ifndef PASN_NOPRINTON
02464 void PrintOn(ostream & strm) const;
02465 #endif
02466 Comparison Compare(const PObject & obj) const;
02467 PObject * Clone() const;
02468 };
02469
02470
02471 #endif // __MCS_H
02472
02473 #endif // if ! H323_DISABLE_MCS
02474
02475
02476