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

Generated on Mon Sep 15 11:49:14 2008 for OPAL by  doxygen 1.5.1