# mcs.h

Go to the documentation of this file.

    00001 //
    00002 // mcspdu.h
    00003 //
    00004 // Code automatically generated by asnparse.
    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 // ChannelId
    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 // StaticChannelId
    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 // DynamicChannelId
    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 // UserId
    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 // PrivateChannelId
    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 // AssignedChannelId
    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 // TokenId
    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 // TokenStatus
    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 // DataPriority
    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 // Segmentation
    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 // DomainParameters
    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     PBoolean 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 // Connect-Initial
    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     PBoolean 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 // Connect-Additional
    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     PBoolean 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 // PDin
    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     PBoolean 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 // EDrq
    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     PBoolean 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 // ChannelAttributes
    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     PBoolean CreateObject();
    00402     PObject * Clone() const;
    00403 };
    00404
    00405
    00406 //
    00407 // TokenAttributes
    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     PBoolean CreateObject();
    00464     PObject * Clone() const;
    00465 };
    00466
    00467
    00468 //
    00469 // AUrq
    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     PBoolean 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 // CJrq
    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     PBoolean 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 // CCrq
    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     PBoolean 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 // CDrq
    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     PBoolean 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 // CDin
    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     PBoolean 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 // SDrq
    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     PBoolean 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 // SDin
    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     PBoolean 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 // USrq
    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     PBoolean 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 // USin
    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     PBoolean 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 // TGrq
    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     PBoolean 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 // TIrq
    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     PBoolean 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 // TVrq
    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     PBoolean 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 // TVin
    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     PBoolean 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 // TPrq
    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     PBoolean 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 // TPin
    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     PBoolean 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 // TRrq
    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     PBoolean 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 // TTrq
    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     PBoolean 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 // TTcf
    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     PBoolean 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 // Reason
    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 // Result
    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 // Diagnostic
    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 // ConnectMCSPDU
    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     PBoolean CreateObject();
    01091     PObject * Clone() const;
    01092 };
    01093
    01094
    01095 //
    01096 // DomainMCSPDU
    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     PBoolean CreateObject();
    01457     PObject * Clone() const;
    01458 };
    01459
    01460
    01461 //
    01462 // ChannelAttributes_static
    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     PBoolean 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 // ChannelAttributes_userId
    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     PBoolean 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 // ChannelAttributes_assigned
    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     PBoolean 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 // ArrayOf_ChannelAttributes
    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 // ArrayOf_ChannelId
    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 // ArrayOf_UserId
    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 // TokenAttributes_grabbed
    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     PBoolean 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 // TokenAttributes_inhibited
    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     PBoolean 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 // TokenAttributes_giving
    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     PBoolean 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 // TokenAttributes_ungivable
    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     PBoolean 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 // TokenAttributes_given
    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     PBoolean 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 // ArrayOf_TokenAttributes
    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 // ArrayOf_TokenId
    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 // Connect-Response
    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     PBoolean 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 // Connect-Result
    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     PBoolean 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 // MCrq
    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     PBoolean 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 // MCcf
    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     PBoolean 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 // PCin
    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     PBoolean 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 // MTrq
    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     PBoolean 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 // MTcf
    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     PBoolean 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 // PTin
    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     PBoolean 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 // DPum
    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     PBoolean 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 // RJum
    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     PBoolean 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 // AUcf
    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     PBoolean 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 // DUrq
    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     PBoolean 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 // DUin
    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     PBoolean 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 // CJcf
    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     PBoolean 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 // CLrq
    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     PBoolean 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 // CCcf
    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     PBoolean 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 // CArq
    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     PBoolean 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 // CAin
    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     PBoolean 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 // CErq
    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     PBoolean 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 // CEin
    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     PBoolean 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 // TGcf
    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     PBoolean 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 // TIcf
    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     PBoolean 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 // TVrs
    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     PBoolean 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 // TVcf
    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     PBoolean 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 // TRcf
    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     PBoolean 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 // ChannelAttributes_private
    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     PBoolean 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 // End of mcspdu.h