mcs.h

Go to the documentation of this file.
00001 //
00002 // mcspdu.h
00003 //
00004 // Code automatically generated by asnparse.
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 // ChannelId
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 // StaticChannelId
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 // DynamicChannelId
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 // UserId
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 // PrivateChannelId
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 // AssignedChannelId
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 // TokenId
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 // TokenStatus
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 // DataPriority
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 // Segmentation
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 // DomainParameters
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 // Connect-Initial
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 // Connect-Additional
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 // PDin
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 // EDrq
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 // ChannelAttributes
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 // TokenAttributes
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 // AUrq
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 // CJrq
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 // CCrq
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 // CDrq
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 // CDin
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 // SDrq
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 // SDin
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 // USrq
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 // USin
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 // TGrq
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 // TIrq
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 // TVrq
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 // TVin
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 // TPrq
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 // TPin
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 // TRrq
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 // TTrq
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 // TTcf
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 // Reason
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 // Result
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 // Diagnostic
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 // ConnectMCSPDU
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 // DomainMCSPDU
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 // ChannelAttributes_static
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 // ChannelAttributes_userId
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 // ChannelAttributes_assigned
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 // ArrayOf_ChannelAttributes
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 // ArrayOf_ChannelId
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 // ArrayOf_UserId
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 // TokenAttributes_grabbed
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 // TokenAttributes_inhibited
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 // TokenAttributes_giving
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 // TokenAttributes_ungivable
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 // TokenAttributes_given
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 // ArrayOf_TokenAttributes
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 // ArrayOf_TokenId
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 // Connect-Response
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 // Connect-Result
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 // MCrq
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 // MCcf
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 // PCin
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 // MTrq
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 // MTcf
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 // PTin
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 // DPum
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 // RJum
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 // AUcf
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 // DUrq
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 // DUin
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 // CJcf
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 // CLrq
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 // CCcf
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 // CArq
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 // CAin
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 // CErq
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 // CEin
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 // TGcf
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 // TIcf
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 // TVrs
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 // TVcf
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 // TRcf
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 // ChannelAttributes_private
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 // End of mcspdu.h

Generated on Mon Feb 23 02:01:38 2009 for OPAL by  doxygen 1.5.1