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