home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / openh323.tar.gz / openh323.tar / openh323 / include / mcspdu.h < prev    next >
C/C++ Source or Header  |  2004-06-22  |  56KB  |  2,477 lines

  1. //
  2. // mcspdu.h
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. #if ! H323_DISABLE_MCS
  8.  
  9. #ifndef __MCS_H
  10. #define __MCS_H
  11.  
  12. #ifdef P_USE_PRAGMA
  13. #pragma interface
  14. #endif
  15.  
  16. #include <ptclib/asner.h>
  17.  
  18. //
  19. // ChannelId
  20. //
  21.  
  22. class MCS_ChannelId : public PASN_Integer
  23. {
  24. #ifndef PASN_LEANANDMEAN
  25.     PCLASSINFO(MCS_ChannelId, PASN_Integer);
  26. #endif
  27.   public:
  28.     MCS_ChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  29.  
  30.     MCS_ChannelId & operator=(int v);
  31.     MCS_ChannelId & operator=(unsigned v);
  32.     PObject * Clone() const;
  33. };
  34.  
  35.  
  36. //
  37. // StaticChannelId
  38. //
  39.  
  40. class MCS_StaticChannelId : public PASN_Integer
  41. {
  42. #ifndef PASN_LEANANDMEAN
  43.     PCLASSINFO(MCS_StaticChannelId, PASN_Integer);
  44. #endif
  45.   public:
  46.     MCS_StaticChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  47.  
  48.     MCS_StaticChannelId & operator=(int v);
  49.     MCS_StaticChannelId & operator=(unsigned v);
  50.     PObject * Clone() const;
  51. };
  52.  
  53.  
  54. //
  55. // DynamicChannelId
  56. //
  57.  
  58. class MCS_DynamicChannelId : public PASN_Integer
  59. {
  60. #ifndef PASN_LEANANDMEAN
  61.     PCLASSINFO(MCS_DynamicChannelId, PASN_Integer);
  62. #endif
  63.   public:
  64.     MCS_DynamicChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  65.  
  66.     MCS_DynamicChannelId & operator=(int v);
  67.     MCS_DynamicChannelId & operator=(unsigned v);
  68.     PObject * Clone() const;
  69. };
  70.  
  71.  
  72. //
  73. // UserId
  74. //
  75.  
  76. class MCS_UserId : public MCS_DynamicChannelId
  77. {
  78. #ifndef PASN_LEANANDMEAN
  79.     PCLASSINFO(MCS_UserId, MCS_DynamicChannelId);
  80. #endif
  81.   public:
  82.     MCS_UserId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  83.  
  84.     MCS_UserId & operator=(int v);
  85.     MCS_UserId & operator=(unsigned v);
  86.     PObject * Clone() const;
  87. };
  88.  
  89.  
  90. //
  91. // PrivateChannelId
  92. //
  93.  
  94. class MCS_PrivateChannelId : public MCS_DynamicChannelId
  95. {
  96. #ifndef PASN_LEANANDMEAN
  97.     PCLASSINFO(MCS_PrivateChannelId, MCS_DynamicChannelId);
  98. #endif
  99.   public:
  100.     MCS_PrivateChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  101.  
  102.     MCS_PrivateChannelId & operator=(int v);
  103.     MCS_PrivateChannelId & operator=(unsigned v);
  104.     PObject * Clone() const;
  105. };
  106.  
  107.  
  108. //
  109. // AssignedChannelId
  110. //
  111.  
  112. class MCS_AssignedChannelId : public MCS_DynamicChannelId
  113. {
  114. #ifndef PASN_LEANANDMEAN
  115.     PCLASSINFO(MCS_AssignedChannelId, MCS_DynamicChannelId);
  116. #endif
  117.   public:
  118.     MCS_AssignedChannelId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  119.  
  120.     MCS_AssignedChannelId & operator=(int v);
  121.     MCS_AssignedChannelId & operator=(unsigned v);
  122.     PObject * Clone() const;
  123. };
  124.  
  125.  
  126. //
  127. // TokenId
  128. //
  129.  
  130. class MCS_TokenId : public PASN_Integer
  131. {
  132. #ifndef PASN_LEANANDMEAN
  133.     PCLASSINFO(MCS_TokenId, PASN_Integer);
  134. #endif
  135.   public:
  136.     MCS_TokenId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
  137.  
  138.     MCS_TokenId & operator=(int v);
  139.     MCS_TokenId & operator=(unsigned v);
  140.     PObject * Clone() const;
  141. };
  142.  
  143.  
  144. //
  145. // TokenStatus
  146. //
  147.  
  148. class MCS_TokenStatus : public PASN_Enumeration
  149. {
  150. #ifndef PASN_LEANANDMEAN
  151.     PCLASSINFO(MCS_TokenStatus, PASN_Enumeration);
  152. #endif
  153.   public:
  154.     MCS_TokenStatus(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  155.  
  156.     enum Enumerations {
  157.       e_notInUse,
  158.       e_selfGrabbed,
  159.       e_otherGrabbed,
  160.       e_selfInhibited,
  161.       e_otherInhibited,
  162.       e_selfRecipient,
  163.       e_selfGiving,
  164.       e_otherGiving
  165.     };
  166.  
  167.     MCS_TokenStatus & operator=(unsigned v);
  168.     PObject * Clone() const;
  169. };
  170.  
  171.  
  172. //
  173. // DataPriority
  174. //
  175.  
  176. class MCS_DataPriority : public PASN_Enumeration
  177. {
  178. #ifndef PASN_LEANANDMEAN
  179.     PCLASSINFO(MCS_DataPriority, PASN_Enumeration);
  180. #endif
  181.   public:
  182.     MCS_DataPriority(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  183.  
  184.     enum Enumerations {
  185.       e_top,
  186.       e_high,
  187.       e_medium,
  188.       e_low
  189.     };
  190.  
  191.     MCS_DataPriority & operator=(unsigned v);
  192.     PObject * Clone() const;
  193. };
  194.  
  195.  
  196. //
  197. // Segmentation
  198. //
  199.  
  200. class MCS_Segmentation : public PASN_BitString
  201. {
  202. #ifndef PASN_LEANANDMEAN
  203.     PCLASSINFO(MCS_Segmentation, PASN_BitString);
  204. #endif
  205.   public:
  206.     MCS_Segmentation(unsigned tag = UniversalBitString, TagClass tagClass = UniversalTagClass);
  207.  
  208.     PObject * Clone() const;
  209. };
  210.  
  211.  
  212. //
  213. // DomainParameters
  214. //
  215.  
  216. class MCS_DomainParameters : public PASN_Sequence
  217. {
  218. #ifndef PASN_LEANANDMEAN
  219.     PCLASSINFO(MCS_DomainParameters, PASN_Sequence);
  220. #endif
  221.   public:
  222.     MCS_DomainParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  223.  
  224.     PASN_Integer m_maxChannelIds;
  225.     PASN_Integer m_maxUserIds;
  226.     PASN_Integer m_maxTokenIds;
  227.     PASN_Integer m_numPriorities;
  228.     PASN_Integer m_minThroughput;
  229.     PASN_Integer m_maxHeight;
  230.     PASN_Integer m_maxMCSPDUsize;
  231.     PASN_Integer m_protocolVersion;
  232.  
  233.     PINDEX GetDataLength() const;
  234.     BOOL Decode(PASN_Stream & strm);
  235.     void Encode(PASN_Stream & strm) const;
  236. #ifndef PASN_NOPRINTON
  237.     void PrintOn(ostream & strm) const;
  238. #endif
  239.     Comparison Compare(const PObject & obj) const;
  240.     PObject * Clone() const;
  241. };
  242.  
  243.  
  244. //
  245. // Connect-Initial
  246. //
  247.  
  248. class MCS_Connect_Initial : public PASN_Sequence
  249. {
  250. #ifndef PASN_LEANANDMEAN
  251.     PCLASSINFO(MCS_Connect_Initial, PASN_Sequence);
  252. #endif
  253.   public:
  254.     MCS_Connect_Initial(unsigned tag = 101, TagClass tagClass = ApplicationTagClass);
  255.  
  256.     PASN_OctetString m_callingDomainSelector;
  257.     PASN_OctetString m_calledDomainSelector;
  258.     PASN_Boolean m_upwardFlag;
  259.     MCS_DomainParameters m_targetParameters;
  260.     MCS_DomainParameters m_minimumParameters;
  261.     MCS_DomainParameters m_maximumParameters;
  262.     PASN_OctetString m_userData;
  263.  
  264.     PINDEX GetDataLength() const;
  265.     BOOL Decode(PASN_Stream & strm);
  266.     void Encode(PASN_Stream & strm) const;
  267. #ifndef PASN_NOPRINTON
  268.     void PrintOn(ostream & strm) const;
  269. #endif
  270.     Comparison Compare(const PObject & obj) const;
  271.     PObject * Clone() const;
  272. };
  273.  
  274.  
  275. //
  276. // Connect-Additional
  277. //
  278.  
  279. class MCS_Connect_Additional : public PASN_Sequence
  280. {
  281. #ifndef PASN_LEANANDMEAN
  282.     PCLASSINFO(MCS_Connect_Additional, PASN_Sequence);
  283. #endif
  284.   public:
  285.     MCS_Connect_Additional(unsigned tag = 103, TagClass tagClass = ApplicationTagClass);
  286.  
  287.     PASN_Integer m_calledConnectId;
  288.     MCS_DataPriority m_dataPriority;
  289.  
  290.     PINDEX GetDataLength() const;
  291.     BOOL Decode(PASN_Stream & strm);
  292.     void Encode(PASN_Stream & strm) const;
  293. #ifndef PASN_NOPRINTON
  294.     void PrintOn(ostream & strm) const;
  295. #endif
  296.     Comparison Compare(const PObject & obj) const;
  297.     PObject * Clone() const;
  298. };
  299.  
  300.  
  301. //
  302. // PDin
  303. //
  304.  
  305. class MCS_PDin : public PASN_Sequence
  306. {
  307. #ifndef PASN_LEANANDMEAN
  308.     PCLASSINFO(MCS_PDin, PASN_Sequence);
  309. #endif
  310.   public:
  311.     MCS_PDin(unsigned tag = 0, TagClass tagClass = ApplicationTagClass);
  312.  
  313.     PASN_Integer m_heightLimit;
  314.  
  315.     PINDEX GetDataLength() const;
  316.     BOOL Decode(PASN_Stream & strm);
  317.     void Encode(PASN_Stream & strm) const;
  318. #ifndef PASN_NOPRINTON
  319.     void PrintOn(ostream & strm) const;
  320. #endif
  321.     Comparison Compare(const PObject & obj) const;
  322.     PObject * Clone() const;
  323. };
  324.  
  325.  
  326. //
  327. // EDrq
  328. //
  329.  
  330. class MCS_EDrq : public PASN_Sequence
  331. {
  332. #ifndef PASN_LEANANDMEAN
  333.     PCLASSINFO(MCS_EDrq, PASN_Sequence);
  334. #endif
  335.   public:
  336.     MCS_EDrq(unsigned tag = 1, TagClass tagClass = ApplicationTagClass);
  337.  
  338.     PASN_Integer m_subHeight;
  339.     PASN_Integer m_subInterval;
  340.  
  341.     PINDEX GetDataLength() const;
  342.     BOOL Decode(PASN_Stream & strm);
  343.     void Encode(PASN_Stream & strm) const;
  344. #ifndef PASN_NOPRINTON
  345.     void PrintOn(ostream & strm) const;
  346. #endif
  347.     Comparison Compare(const PObject & obj) const;
  348.     PObject * Clone() const;
  349. };
  350.  
  351.  
  352. //
  353. // ChannelAttributes
  354. //
  355.  
  356. class MCS_ChannelAttributes_static;
  357. class MCS_ChannelAttributes_userId;
  358. class MCS_ChannelAttributes_private;
  359. class MCS_ChannelAttributes_assigned;
  360.  
  361. class MCS_ChannelAttributes : public PASN_Choice
  362. {
  363. #ifndef PASN_LEANANDMEAN
  364.     PCLASSINFO(MCS_ChannelAttributes, PASN_Choice);
  365. #endif
  366.   public:
  367.     MCS_ChannelAttributes(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  368.  
  369.     enum Choices {
  370.       e_static,
  371.       e_userId,
  372.       e_private,
  373.       e_assigned
  374.     };
  375.  
  376. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  377.     operator MCS_ChannelAttributes_static &() const;
  378. #else
  379.     operator MCS_ChannelAttributes_static &();
  380.     operator const MCS_ChannelAttributes_static &() const;
  381. #endif
  382. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  383.     operator MCS_ChannelAttributes_userId &() const;
  384. #else
  385.     operator MCS_ChannelAttributes_userId &();
  386.     operator const MCS_ChannelAttributes_userId &() const;
  387. #endif
  388. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  389.     operator MCS_ChannelAttributes_private &() const;
  390. #else
  391.     operator MCS_ChannelAttributes_private &();
  392.     operator const MCS_ChannelAttributes_private &() const;
  393. #endif
  394. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  395.     operator MCS_ChannelAttributes_assigned &() const;
  396. #else
  397.     operator MCS_ChannelAttributes_assigned &();
  398.     operator const MCS_ChannelAttributes_assigned &() const;
  399. #endif
  400.  
  401.     BOOL CreateObject();
  402.     PObject * Clone() const;
  403. };
  404.  
  405.  
  406. //
  407. // TokenAttributes
  408. //
  409.  
  410. class MCS_TokenAttributes_grabbed;
  411. class MCS_TokenAttributes_inhibited;
  412. class MCS_TokenAttributes_giving;
  413. class MCS_TokenAttributes_ungivable;
  414. class MCS_TokenAttributes_given;
  415.  
  416. class MCS_TokenAttributes : public PASN_Choice
  417. {
  418. #ifndef PASN_LEANANDMEAN
  419.     PCLASSINFO(MCS_TokenAttributes, PASN_Choice);
  420. #endif
  421.   public:
  422.     MCS_TokenAttributes(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  423.  
  424.     enum Choices {
  425.       e_grabbed,
  426.       e_inhibited,
  427.       e_giving,
  428.       e_ungivable,
  429.       e_given
  430.     };
  431.  
  432. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  433.     operator MCS_TokenAttributes_grabbed &() const;
  434. #else
  435.     operator MCS_TokenAttributes_grabbed &();
  436.     operator const MCS_TokenAttributes_grabbed &() const;
  437. #endif
  438. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  439.     operator MCS_TokenAttributes_inhibited &() const;
  440. #else
  441.     operator MCS_TokenAttributes_inhibited &();
  442.     operator const MCS_TokenAttributes_inhibited &() const;
  443. #endif
  444. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  445.     operator MCS_TokenAttributes_giving &() const;
  446. #else
  447.     operator MCS_TokenAttributes_giving &();
  448.     operator const MCS_TokenAttributes_giving &() const;
  449. #endif
  450. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  451.     operator MCS_TokenAttributes_ungivable &() const;
  452. #else
  453.     operator MCS_TokenAttributes_ungivable &();
  454.     operator const MCS_TokenAttributes_ungivable &() const;
  455. #endif
  456. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  457.     operator MCS_TokenAttributes_given &() const;
  458. #else
  459.     operator MCS_TokenAttributes_given &();
  460.     operator const MCS_TokenAttributes_given &() const;
  461. #endif
  462.  
  463.     BOOL CreateObject();
  464.     PObject * Clone() const;
  465. };
  466.  
  467.  
  468. //
  469. // AUrq
  470. //
  471.  
  472. class MCS_AUrq : public PASN_Sequence
  473. {
  474. #ifndef PASN_LEANANDMEAN
  475.     PCLASSINFO(MCS_AUrq, PASN_Sequence);
  476. #endif
  477.   public:
  478.     MCS_AUrq(unsigned tag = 10, TagClass tagClass = ApplicationTagClass);
  479.  
  480.  
  481.     PINDEX GetDataLength() const;
  482.     BOOL Decode(PASN_Stream & strm);
  483.     void Encode(PASN_Stream & strm) const;
  484. #ifndef PASN_NOPRINTON
  485.     void PrintOn(ostream & strm) const;
  486. #endif
  487.     PObject * Clone() const;
  488. };
  489.  
  490.  
  491. //
  492. // CJrq
  493. //
  494.  
  495. class MCS_CJrq : public PASN_Sequence
  496. {
  497. #ifndef PASN_LEANANDMEAN
  498.     PCLASSINFO(MCS_CJrq, PASN_Sequence);
  499. #endif
  500.   public:
  501.     MCS_CJrq(unsigned tag = 14, TagClass tagClass = ApplicationTagClass);
  502.  
  503.     MCS_UserId m_initiator;
  504.     MCS_ChannelId m_channelId;
  505.  
  506.     PINDEX GetDataLength() const;
  507.     BOOL Decode(PASN_Stream & strm);
  508.     void Encode(PASN_Stream & strm) const;
  509. #ifndef PASN_NOPRINTON
  510.     void PrintOn(ostream & strm) const;
  511. #endif
  512.     Comparison Compare(const PObject & obj) const;
  513.     PObject * Clone() const;
  514. };
  515.  
  516.  
  517. //
  518. // CCrq
  519. //
  520.  
  521. class MCS_CCrq : public PASN_Sequence
  522. {
  523. #ifndef PASN_LEANANDMEAN
  524.     PCLASSINFO(MCS_CCrq, PASN_Sequence);
  525. #endif
  526.   public:
  527.     MCS_CCrq(unsigned tag = 17, TagClass tagClass = ApplicationTagClass);
  528.  
  529.     MCS_UserId m_initiator;
  530.  
  531.     PINDEX GetDataLength() const;
  532.     BOOL Decode(PASN_Stream & strm);
  533.     void Encode(PASN_Stream & strm) const;
  534. #ifndef PASN_NOPRINTON
  535.     void PrintOn(ostream & strm) const;
  536. #endif
  537.     Comparison Compare(const PObject & obj) const;
  538.     PObject * Clone() const;
  539. };
  540.  
  541.  
  542. //
  543. // CDrq
  544. //
  545.  
  546. class MCS_CDrq : public PASN_Sequence
  547. {
  548. #ifndef PASN_LEANANDMEAN
  549.     PCLASSINFO(MCS_CDrq, PASN_Sequence);
  550. #endif
  551.   public:
  552.     MCS_CDrq(unsigned tag = 19, TagClass tagClass = ApplicationTagClass);
  553.  
  554.     MCS_UserId m_initiator;
  555.     MCS_PrivateChannelId m_channelId;
  556.  
  557.     PINDEX GetDataLength() const;
  558.     BOOL Decode(PASN_Stream & strm);
  559.     void Encode(PASN_Stream & strm) const;
  560. #ifndef PASN_NOPRINTON
  561.     void PrintOn(ostream & strm) const;
  562. #endif
  563.     Comparison Compare(const PObject & obj) const;
  564.     PObject * Clone() const;
  565. };
  566.  
  567.  
  568. //
  569. // CDin
  570. //
  571.  
  572. class MCS_CDin : public PASN_Sequence
  573. {
  574. #ifndef PASN_LEANANDMEAN
  575.     PCLASSINFO(MCS_CDin, PASN_Sequence);
  576. #endif
  577.   public:
  578.     MCS_CDin(unsigned tag = 20, TagClass tagClass = ApplicationTagClass);
  579.  
  580.     MCS_PrivateChannelId m_channelId;
  581.  
  582.     PINDEX GetDataLength() const;
  583.     BOOL Decode(PASN_Stream & strm);
  584.     void Encode(PASN_Stream & strm) const;
  585. #ifndef PASN_NOPRINTON
  586.     void PrintOn(ostream & strm) const;
  587. #endif
  588.     Comparison Compare(const PObject & obj) const;
  589.     PObject * Clone() const;
  590. };
  591.  
  592.  
  593. //
  594. // SDrq
  595. //
  596.  
  597. class MCS_SDrq : public PASN_Sequence
  598. {
  599. #ifndef PASN_LEANANDMEAN
  600.     PCLASSINFO(MCS_SDrq, PASN_Sequence);
  601. #endif
  602.   public:
  603.     MCS_SDrq(unsigned tag = 25, TagClass tagClass = ApplicationTagClass);
  604.  
  605.     MCS_UserId m_initiator;
  606.     MCS_ChannelId m_channelId;
  607.     MCS_DataPriority m_dataPriority;
  608.     MCS_Segmentation m_segmentation;
  609.     PASN_OctetString m_userData;
  610.  
  611.     PINDEX GetDataLength() const;
  612.     BOOL Decode(PASN_Stream & strm);
  613.     void Encode(PASN_Stream & strm) const;
  614. #ifndef PASN_NOPRINTON
  615.     void PrintOn(ostream & strm) const;
  616. #endif
  617.     Comparison Compare(const PObject & obj) const;
  618.     PObject * Clone() const;
  619. };
  620.  
  621.  
  622. //
  623. // SDin
  624. //
  625.  
  626. class MCS_SDin : public PASN_Sequence
  627. {
  628. #ifndef PASN_LEANANDMEAN
  629.     PCLASSINFO(MCS_SDin, PASN_Sequence);
  630. #endif
  631.   public:
  632.     MCS_SDin(unsigned tag = 26, TagClass tagClass = ApplicationTagClass);
  633.  
  634.     MCS_UserId m_initiator;
  635.     MCS_ChannelId m_channelId;
  636.     MCS_DataPriority m_dataPriority;
  637.     MCS_Segmentation m_segmentation;
  638.     PASN_OctetString m_userData;
  639.  
  640.     PINDEX GetDataLength() const;
  641.     BOOL Decode(PASN_Stream & strm);
  642.     void Encode(PASN_Stream & strm) const;
  643. #ifndef PASN_NOPRINTON
  644.     void PrintOn(ostream & strm) const;
  645. #endif
  646.     Comparison Compare(const PObject & obj) const;
  647.     PObject * Clone() const;
  648. };
  649.  
  650.  
  651. //
  652. // USrq
  653. //
  654.  
  655. class MCS_USrq : public PASN_Sequence
  656. {
  657. #ifndef PASN_LEANANDMEAN
  658.     PCLASSINFO(MCS_USrq, PASN_Sequence);
  659. #endif
  660.   public:
  661.     MCS_USrq(unsigned tag = 27, TagClass tagClass = ApplicationTagClass);
  662.  
  663.     MCS_UserId m_initiator;
  664.     MCS_ChannelId m_channelId;
  665.     MCS_DataPriority m_dataPriority;
  666.     MCS_Segmentation m_segmentation;
  667.     PASN_OctetString m_userData;
  668.  
  669.     PINDEX GetDataLength() const;
  670.     BOOL Decode(PASN_Stream & strm);
  671.     void Encode(PASN_Stream & strm) const;
  672. #ifndef PASN_NOPRINTON
  673.     void PrintOn(ostream & strm) const;
  674. #endif
  675.     Comparison Compare(const PObject & obj) const;
  676.     PObject * Clone() const;
  677. };
  678.  
  679.  
  680. //
  681. // USin
  682. //
  683.  
  684. class MCS_USin : public PASN_Sequence
  685. {
  686. #ifndef PASN_LEANANDMEAN
  687.     PCLASSINFO(MCS_USin, PASN_Sequence);
  688. #endif
  689.   public:
  690.     MCS_USin(unsigned tag = 28, TagClass tagClass = ApplicationTagClass);
  691.  
  692.     MCS_UserId m_initiator;
  693.     MCS_ChannelId m_channelId;
  694.     MCS_DataPriority m_dataPriority;
  695.     MCS_Segmentation m_segmentation;
  696.     PASN_OctetString m_userData;
  697.  
  698.     PINDEX GetDataLength() const;
  699.     BOOL Decode(PASN_Stream & strm);
  700.     void Encode(PASN_Stream & strm) const;
  701. #ifndef PASN_NOPRINTON
  702.     void PrintOn(ostream & strm) const;
  703. #endif
  704.     Comparison Compare(const PObject & obj) const;
  705.     PObject * Clone() const;
  706. };
  707.  
  708.  
  709. //
  710. // TGrq
  711. //
  712.  
  713. class MCS_TGrq : public PASN_Sequence
  714. {
  715. #ifndef PASN_LEANANDMEAN
  716.     PCLASSINFO(MCS_TGrq, PASN_Sequence);
  717. #endif
  718.   public:
  719.     MCS_TGrq(unsigned tag = 29, TagClass tagClass = ApplicationTagClass);
  720.  
  721.     MCS_UserId m_initiator;
  722.     MCS_TokenId m_tokenId;
  723.  
  724.     PINDEX GetDataLength() const;
  725.     BOOL Decode(PASN_Stream & strm);
  726.     void Encode(PASN_Stream & strm) const;
  727. #ifndef PASN_NOPRINTON
  728.     void PrintOn(ostream & strm) const;
  729. #endif
  730.     Comparison Compare(const PObject & obj) const;
  731.     PObject * Clone() const;
  732. };
  733.  
  734.  
  735. //
  736. // TIrq
  737. //
  738.  
  739. class MCS_TIrq : public PASN_Sequence
  740. {
  741. #ifndef PASN_LEANANDMEAN
  742.     PCLASSINFO(MCS_TIrq, PASN_Sequence);
  743. #endif
  744.   public:
  745.     MCS_TIrq(unsigned tag = 31, TagClass tagClass = ApplicationTagClass);
  746.  
  747.     MCS_UserId m_initiator;
  748.     MCS_TokenId m_tokenId;
  749.  
  750.     PINDEX GetDataLength() const;
  751.     BOOL Decode(PASN_Stream & strm);
  752.     void Encode(PASN_Stream & strm) const;
  753. #ifndef PASN_NOPRINTON
  754.     void PrintOn(ostream & strm) const;
  755. #endif
  756.     Comparison Compare(const PObject & obj) const;
  757.     PObject * Clone() const;
  758. };
  759.  
  760.  
  761. //
  762. // TVrq
  763. //
  764.  
  765. class MCS_TVrq : public PASN_Sequence
  766. {
  767. #ifndef PASN_LEANANDMEAN
  768.     PCLASSINFO(MCS_TVrq, PASN_Sequence);
  769. #endif
  770.   public:
  771.     MCS_TVrq(unsigned tag = 33, TagClass tagClass = ApplicationTagClass);
  772.  
  773.     MCS_UserId m_initiator;
  774.     MCS_TokenId m_tokenId;
  775.     MCS_UserId m_recipient;
  776.  
  777.     PINDEX GetDataLength() const;
  778.     BOOL Decode(PASN_Stream & strm);
  779.     void Encode(PASN_Stream & strm) const;
  780. #ifndef PASN_NOPRINTON
  781.     void PrintOn(ostream & strm) const;
  782. #endif
  783.     Comparison Compare(const PObject & obj) const;
  784.     PObject * Clone() const;
  785. };
  786.  
  787.  
  788. //
  789. // TVin
  790. //
  791.  
  792. class MCS_TVin : public PASN_Sequence
  793. {
  794. #ifndef PASN_LEANANDMEAN
  795.     PCLASSINFO(MCS_TVin, PASN_Sequence);
  796. #endif
  797.   public:
  798.     MCS_TVin(unsigned tag = 34, TagClass tagClass = ApplicationTagClass);
  799.  
  800.     MCS_UserId m_initiator;
  801.     MCS_TokenId m_tokenId;
  802.     MCS_UserId m_recipient;
  803.  
  804.     PINDEX GetDataLength() const;
  805.     BOOL Decode(PASN_Stream & strm);
  806.     void Encode(PASN_Stream & strm) const;
  807. #ifndef PASN_NOPRINTON
  808.     void PrintOn(ostream & strm) const;
  809. #endif
  810.     Comparison Compare(const PObject & obj) const;
  811.     PObject * Clone() const;
  812. };
  813.  
  814.  
  815. //
  816. // TPrq
  817. //
  818.  
  819. class MCS_TPrq : public PASN_Sequence
  820. {
  821. #ifndef PASN_LEANANDMEAN
  822.     PCLASSINFO(MCS_TPrq, PASN_Sequence);
  823. #endif
  824.   public:
  825.     MCS_TPrq(unsigned tag = 37, TagClass tagClass = ApplicationTagClass);
  826.  
  827.     MCS_UserId m_initiator;
  828.     MCS_TokenId m_tokenId;
  829.  
  830.     PINDEX GetDataLength() const;
  831.     BOOL Decode(PASN_Stream & strm);
  832.     void Encode(PASN_Stream & strm) const;
  833. #ifndef PASN_NOPRINTON
  834.     void PrintOn(ostream & strm) const;
  835. #endif
  836.     Comparison Compare(const PObject & obj) const;
  837.     PObject * Clone() const;
  838. };
  839.  
  840.  
  841. //
  842. // TPin
  843. //
  844.  
  845. class MCS_TPin : public PASN_Sequence
  846. {
  847. #ifndef PASN_LEANANDMEAN
  848.     PCLASSINFO(MCS_TPin, PASN_Sequence);
  849. #endif
  850.   public:
  851.     MCS_TPin(unsigned tag = 38, TagClass tagClass = ApplicationTagClass);
  852.  
  853.     MCS_UserId m_initiator;
  854.     MCS_TokenId m_tokenId;
  855.  
  856.     PINDEX GetDataLength() const;
  857.     BOOL Decode(PASN_Stream & strm);
  858.     void Encode(PASN_Stream & strm) const;
  859. #ifndef PASN_NOPRINTON
  860.     void PrintOn(ostream & strm) const;
  861. #endif
  862.     Comparison Compare(const PObject & obj) const;
  863.     PObject * Clone() const;
  864. };
  865.  
  866.  
  867. //
  868. // TRrq
  869. //
  870.  
  871. class MCS_TRrq : public PASN_Sequence
  872. {
  873. #ifndef PASN_LEANANDMEAN
  874.     PCLASSINFO(MCS_TRrq, PASN_Sequence);
  875. #endif
  876.   public:
  877.     MCS_TRrq(unsigned tag = 39, TagClass tagClass = ApplicationTagClass);
  878.  
  879.     MCS_UserId m_initiator;
  880.     MCS_TokenId m_tokenId;
  881.  
  882.     PINDEX GetDataLength() const;
  883.     BOOL Decode(PASN_Stream & strm);
  884.     void Encode(PASN_Stream & strm) const;
  885. #ifndef PASN_NOPRINTON
  886.     void PrintOn(ostream & strm) const;
  887. #endif
  888.     Comparison Compare(const PObject & obj) const;
  889.     PObject * Clone() const;
  890. };
  891.  
  892.  
  893. //
  894. // TTrq
  895. //
  896.  
  897. class MCS_TTrq : public PASN_Sequence
  898. {
  899. #ifndef PASN_LEANANDMEAN
  900.     PCLASSINFO(MCS_TTrq, PASN_Sequence);
  901. #endif
  902.   public:
  903.     MCS_TTrq(unsigned tag = 41, TagClass tagClass = ApplicationTagClass);
  904.  
  905.     MCS_UserId m_initiator;
  906.     MCS_TokenId m_tokenId;
  907.  
  908.     PINDEX GetDataLength() const;
  909.     BOOL Decode(PASN_Stream & strm);
  910.     void Encode(PASN_Stream & strm) const;
  911. #ifndef PASN_NOPRINTON
  912.     void PrintOn(ostream & strm) const;
  913. #endif
  914.     Comparison Compare(const PObject & obj) const;
  915.     PObject * Clone() const;
  916. };
  917.  
  918.  
  919. //
  920. // TTcf
  921. //
  922.  
  923. class MCS_TTcf : public PASN_Sequence
  924. {
  925. #ifndef PASN_LEANANDMEAN
  926.     PCLASSINFO(MCS_TTcf, PASN_Sequence);
  927. #endif
  928.   public:
  929.     MCS_TTcf(unsigned tag = 42, TagClass tagClass = ApplicationTagClass);
  930.  
  931.     MCS_UserId m_initiator;
  932.     MCS_TokenId m_tokenId;
  933.     MCS_TokenStatus m_tokenStatus;
  934.  
  935.     PINDEX GetDataLength() const;
  936.     BOOL Decode(PASN_Stream & strm);
  937.     void Encode(PASN_Stream & strm) const;
  938. #ifndef PASN_NOPRINTON
  939.     void PrintOn(ostream & strm) const;
  940. #endif
  941.     Comparison Compare(const PObject & obj) const;
  942.     PObject * Clone() const;
  943. };
  944.  
  945.  
  946. //
  947. // Reason
  948. //
  949.  
  950. class MCS_Reason : public PASN_Enumeration
  951. {
  952. #ifndef PASN_LEANANDMEAN
  953.     PCLASSINFO(MCS_Reason, PASN_Enumeration);
  954. #endif
  955.   public:
  956.     MCS_Reason(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  957.  
  958.     enum Enumerations {
  959.       e_rn_domain_disconnected,
  960.       e_rn_provider_initiated,
  961.       e_rn_token_purged,
  962.       e_rn_user_requested,
  963.       e_rn_channel_purged
  964.     };
  965.  
  966.     MCS_Reason & operator=(unsigned v);
  967.     PObject * Clone() const;
  968. };
  969.  
  970.  
  971. //
  972. // Result
  973. //
  974.  
  975. class MCS_Result : public PASN_Enumeration
  976. {
  977. #ifndef PASN_LEANANDMEAN
  978.     PCLASSINFO(MCS_Result, PASN_Enumeration);
  979. #endif
  980.   public:
  981.     MCS_Result(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  982.  
  983.     enum Enumerations {
  984.       e_rt_successful,
  985.       e_rt_domain_merging,
  986.       e_rt_domain_not_hierarchical,
  987.       e_rt_no_such_channel,
  988.       e_rt_no_such_domain,
  989.       e_rt_no_such_user,
  990.       e_rt_not_admitted,
  991.       e_rt_other_user_id,
  992.       e_rt_parameters_unacceptable,
  993.       e_rt_token_not_available,
  994.       e_rt_token_not_possessed,
  995.       e_rt_too_many_channels,
  996.       e_rt_too_many_tokens,
  997.       e_rt_too_many_users,
  998.       e_rt_unspecified_failure,
  999.       e_rt_user_rejected
  1000.     };
  1001.  
  1002.     MCS_Result & operator=(unsigned v);
  1003.     PObject * Clone() const;
  1004. };
  1005.  
  1006.  
  1007. //
  1008. // Diagnostic
  1009. //
  1010.  
  1011. class MCS_Diagnostic : public PASN_Enumeration
  1012. {
  1013. #ifndef PASN_LEANANDMEAN
  1014.     PCLASSINFO(MCS_Diagnostic, PASN_Enumeration);
  1015. #endif
  1016.   public:
  1017.     MCS_Diagnostic(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  1018.  
  1019.     enum Enumerations {
  1020.       e_dc_inconsistent_merge,
  1021.       e_dc_forbidden_PDU_downward,
  1022.       e_dc_forbidden_PDU_upward,
  1023.       e_dc_invalid_BER_encoding,
  1024.       e_dc_invalid_PER_encoding,
  1025.       e_dc_misrouted_user,
  1026.       e_dc_unrequested_confirm,
  1027.       e_dc_wrong_transport_priority,
  1028.       e_dc_channel_id_conflict,
  1029.       e_dc_token_id_conflict,
  1030.       e_dc_not_user_id_channel,
  1031.       e_dc_too_many_channels,
  1032.       e_dc_too_many_tokens,
  1033.       e_dc_too_many_users
  1034.     };
  1035.  
  1036.     MCS_Diagnostic & operator=(unsigned v);
  1037.     PObject * Clone() const;
  1038. };
  1039.  
  1040.  
  1041. //
  1042. // ConnectMCSPDU
  1043. //
  1044.  
  1045. class MCS_Connect_Initial;
  1046. class MCS_Connect_Response;
  1047. class MCS_Connect_Additional;
  1048. class MCS_Connect_Result;
  1049.  
  1050. class MCS_ConnectMCSPDU : public PASN_Choice
  1051. {
  1052. #ifndef PASN_LEANANDMEAN
  1053.     PCLASSINFO(MCS_ConnectMCSPDU, PASN_Choice);
  1054. #endif
  1055.   public:
  1056.     MCS_ConnectMCSPDU(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1057.  
  1058.     enum Choices {
  1059.       e_connect_initial = 101,
  1060.       e_connect_response,
  1061.       e_connect_additional,
  1062.       e_connect_result
  1063.     };
  1064.  
  1065. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1066.     operator MCS_Connect_Initial &() const;
  1067. #else
  1068.     operator MCS_Connect_Initial &();
  1069.     operator const MCS_Connect_Initial &() const;
  1070. #endif
  1071. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1072.     operator MCS_Connect_Response &() const;
  1073. #else
  1074.     operator MCS_Connect_Response &();
  1075.     operator const MCS_Connect_Response &() const;
  1076. #endif
  1077. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1078.     operator MCS_Connect_Additional &() const;
  1079. #else
  1080.     operator MCS_Connect_Additional &();
  1081.     operator const MCS_Connect_Additional &() const;
  1082. #endif
  1083. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1084.     operator MCS_Connect_Result &() const;
  1085. #else
  1086.     operator MCS_Connect_Result &();
  1087.     operator const MCS_Connect_Result &() const;
  1088. #endif
  1089.  
  1090.     BOOL CreateObject();
  1091.     PObject * Clone() const;
  1092. };
  1093.  
  1094.  
  1095. //
  1096. // DomainMCSPDU
  1097. //
  1098.  
  1099. class MCS_PDin;
  1100. class MCS_EDrq;
  1101. class MCS_MCrq;
  1102. class MCS_MCcf;
  1103. class MCS_PCin;
  1104. class MCS_MTrq;
  1105. class MCS_MTcf;
  1106. class MCS_PTin;
  1107. class MCS_DPum;
  1108. class MCS_RJum;
  1109. class MCS_AUrq;
  1110. class MCS_AUcf;
  1111. class MCS_DUrq;
  1112. class MCS_DUin;
  1113. class MCS_CJrq;
  1114. class MCS_CJcf;
  1115. class MCS_CLrq;
  1116. class MCS_CCrq;
  1117. class MCS_CCcf;
  1118. class MCS_CDrq;
  1119. class MCS_CDin;
  1120. class MCS_CArq;
  1121. class MCS_CAin;
  1122. class MCS_CErq;
  1123. class MCS_CEin;
  1124. class MCS_SDrq;
  1125. class MCS_SDin;
  1126. class MCS_USrq;
  1127. class MCS_USin;
  1128. class MCS_TGrq;
  1129. class MCS_TGcf;
  1130. class MCS_TIrq;
  1131. class MCS_TIcf;
  1132. class MCS_TVrq;
  1133. class MCS_TVin;
  1134. class MCS_TVrs;
  1135. class MCS_TVcf;
  1136. class MCS_TPrq;
  1137. class MCS_TPin;
  1138. class MCS_TRrq;
  1139. class MCS_TRcf;
  1140. class MCS_TTrq;
  1141. class MCS_TTcf;
  1142.  
  1143. class MCS_DomainMCSPDU : public PASN_Choice
  1144. {
  1145. #ifndef PASN_LEANANDMEAN
  1146.     PCLASSINFO(MCS_DomainMCSPDU, PASN_Choice);
  1147. #endif
  1148.   public:
  1149.     MCS_DomainMCSPDU(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  1150.  
  1151.     enum Choices {
  1152.       e_pdin,
  1153.       e_edrq,
  1154.       e_mcrq,
  1155.       e_mccf,
  1156.       e_pcin,
  1157.       e_mtrq,
  1158.       e_mtcf,
  1159.       e_ptin,
  1160.       e_dpum,
  1161.       e_rjum,
  1162.       e_aurq,
  1163.       e_aucf,
  1164.       e_durq,
  1165.       e_duin,
  1166.       e_cjrq,
  1167.       e_cjcf,
  1168.       e_clrq,
  1169.       e_ccrq,
  1170.       e_cccf,
  1171.       e_cdrq,
  1172.       e_cdin,
  1173.       e_carq,
  1174.       e_cain,
  1175.       e_cerq,
  1176.       e_cein,
  1177.       e_sdrq,
  1178.       e_sdin,
  1179.       e_usrq,
  1180.       e_usin,
  1181.       e_tgrq,
  1182.       e_tgcf,
  1183.       e_tirq,
  1184.       e_ticf,
  1185.       e_tvrq,
  1186.       e_tvin,
  1187.       e_tvrs,
  1188.       e_tvcf,
  1189.       e_tprq,
  1190.       e_tpin,
  1191.       e_trrq,
  1192.       e_trcf,
  1193.       e_ttrq,
  1194.       e_ttcf
  1195.     };
  1196.  
  1197. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1198.     operator MCS_PDin &() const;
  1199. #else
  1200.     operator MCS_PDin &();
  1201.     operator const MCS_PDin &() const;
  1202. #endif
  1203. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1204.     operator MCS_EDrq &() const;
  1205. #else
  1206.     operator MCS_EDrq &();
  1207.     operator const MCS_EDrq &() const;
  1208. #endif
  1209. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1210.     operator MCS_MCrq &() const;
  1211. #else
  1212.     operator MCS_MCrq &();
  1213.     operator const MCS_MCrq &() const;
  1214. #endif
  1215. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1216.     operator MCS_MCcf &() const;
  1217. #else
  1218.     operator MCS_MCcf &();
  1219.     operator const MCS_MCcf &() const;
  1220. #endif
  1221. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1222.     operator MCS_PCin &() const;
  1223. #else
  1224.     operator MCS_PCin &();
  1225.     operator const MCS_PCin &() const;
  1226. #endif
  1227. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1228.     operator MCS_MTrq &() const;
  1229. #else
  1230.     operator MCS_MTrq &();
  1231.     operator const MCS_MTrq &() const;
  1232. #endif
  1233. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1234.     operator MCS_MTcf &() const;
  1235. #else
  1236.     operator MCS_MTcf &();
  1237.     operator const MCS_MTcf &() const;
  1238. #endif
  1239. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1240.     operator MCS_PTin &() const;
  1241. #else
  1242.     operator MCS_PTin &();
  1243.     operator const MCS_PTin &() const;
  1244. #endif
  1245. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1246.     operator MCS_DPum &() const;
  1247. #else
  1248.     operator MCS_DPum &();
  1249.     operator const MCS_DPum &() const;
  1250. #endif
  1251. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1252.     operator MCS_RJum &() const;
  1253. #else
  1254.     operator MCS_RJum &();
  1255.     operator const MCS_RJum &() const;
  1256. #endif
  1257. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1258.     operator MCS_AUrq &() const;
  1259. #else
  1260.     operator MCS_AUrq &();
  1261.     operator const MCS_AUrq &() const;
  1262. #endif
  1263. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1264.     operator MCS_AUcf &() const;
  1265. #else
  1266.     operator MCS_AUcf &();
  1267.     operator const MCS_AUcf &() const;
  1268. #endif
  1269. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1270.     operator MCS_DUrq &() const;
  1271. #else
  1272.     operator MCS_DUrq &();
  1273.     operator const MCS_DUrq &() const;
  1274. #endif
  1275. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1276.     operator MCS_DUin &() const;
  1277. #else
  1278.     operator MCS_DUin &();
  1279.     operator const MCS_DUin &() const;
  1280. #endif
  1281. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1282.     operator MCS_CJrq &() const;
  1283. #else
  1284.     operator MCS_CJrq &();
  1285.     operator const MCS_CJrq &() const;
  1286. #endif
  1287. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1288.     operator MCS_CJcf &() const;
  1289. #else
  1290.     operator MCS_CJcf &();
  1291.     operator const MCS_CJcf &() const;
  1292. #endif
  1293. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1294.     operator MCS_CLrq &() const;
  1295. #else
  1296.     operator MCS_CLrq &();
  1297.     operator const MCS_CLrq &() const;
  1298. #endif
  1299. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1300.     operator MCS_CCrq &() const;
  1301. #else
  1302.     operator MCS_CCrq &();
  1303.     operator const MCS_CCrq &() const;
  1304. #endif
  1305. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1306.     operator MCS_CCcf &() const;
  1307. #else
  1308.     operator MCS_CCcf &();
  1309.     operator const MCS_CCcf &() const;
  1310. #endif
  1311. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1312.     operator MCS_CDrq &() const;
  1313. #else
  1314.     operator MCS_CDrq &();
  1315.     operator const MCS_CDrq &() const;
  1316. #endif
  1317. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1318.     operator MCS_CDin &() const;
  1319. #else
  1320.     operator MCS_CDin &();
  1321.     operator const MCS_CDin &() const;
  1322. #endif
  1323. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1324.     operator MCS_CArq &() const;
  1325. #else
  1326.     operator MCS_CArq &();
  1327.     operator const MCS_CArq &() const;
  1328. #endif
  1329. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1330.     operator MCS_CAin &() const;
  1331. #else
  1332.     operator MCS_CAin &();
  1333.     operator const MCS_CAin &() const;
  1334. #endif
  1335. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1336.     operator MCS_CErq &() const;
  1337. #else
  1338.     operator MCS_CErq &();
  1339.     operator const MCS_CErq &() const;
  1340. #endif
  1341. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1342.     operator MCS_CEin &() const;
  1343. #else
  1344.     operator MCS_CEin &();
  1345.     operator const MCS_CEin &() const;
  1346. #endif
  1347. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1348.     operator MCS_SDrq &() const;
  1349. #else
  1350.     operator MCS_SDrq &();
  1351.     operator const MCS_SDrq &() const;
  1352. #endif
  1353. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1354.     operator MCS_SDin &() const;
  1355. #else
  1356.     operator MCS_SDin &();
  1357.     operator const MCS_SDin &() const;
  1358. #endif
  1359. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1360.     operator MCS_USrq &() const;
  1361. #else
  1362.     operator MCS_USrq &();
  1363.     operator const MCS_USrq &() const;
  1364. #endif
  1365. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1366.     operator MCS_USin &() const;
  1367. #else
  1368.     operator MCS_USin &();
  1369.     operator const MCS_USin &() const;
  1370. #endif
  1371. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1372.     operator MCS_TGrq &() const;
  1373. #else
  1374.     operator MCS_TGrq &();
  1375.     operator const MCS_TGrq &() const;
  1376. #endif
  1377. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1378.     operator MCS_TGcf &() const;
  1379. #else
  1380.     operator MCS_TGcf &();
  1381.     operator const MCS_TGcf &() const;
  1382. #endif
  1383. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1384.     operator MCS_TIrq &() const;
  1385. #else
  1386.     operator MCS_TIrq &();
  1387.     operator const MCS_TIrq &() const;
  1388. #endif
  1389. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1390.     operator MCS_TIcf &() const;
  1391. #else
  1392.     operator MCS_TIcf &();
  1393.     operator const MCS_TIcf &() const;
  1394. #endif
  1395. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1396.     operator MCS_TVrq &() const;
  1397. #else
  1398.     operator MCS_TVrq &();
  1399.     operator const MCS_TVrq &() const;
  1400. #endif
  1401. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1402.     operator MCS_TVin &() const;
  1403. #else
  1404.     operator MCS_TVin &();
  1405.     operator const MCS_TVin &() const;
  1406. #endif
  1407. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1408.     operator MCS_TVrs &() const;
  1409. #else
  1410.     operator MCS_TVrs &();
  1411.     operator const MCS_TVrs &() const;
  1412. #endif
  1413. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1414.     operator MCS_TVcf &() const;
  1415. #else
  1416.     operator MCS_TVcf &();
  1417.     operator const MCS_TVcf &() const;
  1418. #endif
  1419. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1420.     operator MCS_TPrq &() const;
  1421. #else
  1422.     operator MCS_TPrq &();
  1423.     operator const MCS_TPrq &() const;
  1424. #endif
  1425. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1426.     operator MCS_TPin &() const;
  1427. #else
  1428.     operator MCS_TPin &();
  1429.     operator const MCS_TPin &() const;
  1430. #endif
  1431. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1432.     operator MCS_TRrq &() const;
  1433. #else
  1434.     operator MCS_TRrq &();
  1435.     operator const MCS_TRrq &() const;
  1436. #endif
  1437. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1438.     operator MCS_TRcf &() const;
  1439. #else
  1440.     operator MCS_TRcf &();
  1441.     operator const MCS_TRcf &() const;
  1442. #endif
  1443. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1444.     operator MCS_TTrq &() const;
  1445. #else
  1446.     operator MCS_TTrq &();
  1447.     operator const MCS_TTrq &() const;
  1448. #endif
  1449. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  1450.     operator MCS_TTcf &() const;
  1451. #else
  1452.     operator MCS_TTcf &();
  1453.     operator const MCS_TTcf &() const;
  1454. #endif
  1455.  
  1456.     BOOL CreateObject();
  1457.     PObject * Clone() const;
  1458. };
  1459.  
  1460.  
  1461. //
  1462. // ChannelAttributes_static
  1463. //
  1464.  
  1465. class MCS_ChannelAttributes_static : public PASN_Sequence
  1466. {
  1467. #ifndef PASN_LEANANDMEAN
  1468.     PCLASSINFO(MCS_ChannelAttributes_static, PASN_Sequence);
  1469. #endif
  1470.   public:
  1471.     MCS_ChannelAttributes_static(unsigned tag = 0, TagClass tagClass = ContextSpecificTagClass);
  1472.  
  1473.     MCS_StaticChannelId m_channelId;
  1474.  
  1475.     PINDEX GetDataLength() const;
  1476.     BOOL Decode(PASN_Stream & strm);
  1477.     void Encode(PASN_Stream & strm) const;
  1478. #ifndef PASN_NOPRINTON
  1479.     void PrintOn(ostream & strm) const;
  1480. #endif
  1481.     Comparison Compare(const PObject & obj) const;
  1482.     PObject * Clone() const;
  1483. };
  1484.  
  1485.  
  1486. //
  1487. // ChannelAttributes_userId
  1488. //
  1489.  
  1490. class MCS_ChannelAttributes_userId : public PASN_Sequence
  1491. {
  1492. #ifndef PASN_LEANANDMEAN
  1493.     PCLASSINFO(MCS_ChannelAttributes_userId, PASN_Sequence);
  1494. #endif
  1495.   public:
  1496.     MCS_ChannelAttributes_userId(unsigned tag = 1, TagClass tagClass = ContextSpecificTagClass);
  1497.  
  1498.     PASN_Boolean m_joined;
  1499.     MCS_UserId m_userId;
  1500.  
  1501.     PINDEX GetDataLength() const;
  1502.     BOOL Decode(PASN_Stream & strm);
  1503.     void Encode(PASN_Stream & strm) const;
  1504. #ifndef PASN_NOPRINTON
  1505.     void PrintOn(ostream & strm) const;
  1506. #endif
  1507.     Comparison Compare(const PObject & obj) const;
  1508.     PObject * Clone() const;
  1509. };
  1510.  
  1511.  
  1512. //
  1513. // ChannelAttributes_assigned
  1514. //
  1515.  
  1516. class MCS_ChannelAttributes_assigned : public PASN_Sequence
  1517. {
  1518. #ifndef PASN_LEANANDMEAN
  1519.     PCLASSINFO(MCS_ChannelAttributes_assigned, PASN_Sequence);
  1520. #endif
  1521.   public:
  1522.     MCS_ChannelAttributes_assigned(unsigned tag = 3, TagClass tagClass = ContextSpecificTagClass);
  1523.  
  1524.     MCS_AssignedChannelId m_channelId;
  1525.  
  1526.     PINDEX GetDataLength() const;
  1527.     BOOL Decode(PASN_Stream & strm);
  1528.     void Encode(PASN_Stream & strm) const;
  1529. #ifndef PASN_NOPRINTON
  1530.     void PrintOn(ostream & strm) const;
  1531. #endif
  1532.     Comparison Compare(const PObject & obj) const;
  1533.     PObject * Clone() const;
  1534. };
  1535.  
  1536.  
  1537. //
  1538. // ArrayOf_ChannelAttributes
  1539. //
  1540.  
  1541. class MCS_ChannelAttributes;
  1542.  
  1543. class MCS_ArrayOf_ChannelAttributes : public PASN_Array
  1544. {
  1545. #ifndef PASN_LEANANDMEAN
  1546.     PCLASSINFO(MCS_ArrayOf_ChannelAttributes, PASN_Array);
  1547. #endif
  1548.   public:
  1549.     MCS_ArrayOf_ChannelAttributes(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  1550.  
  1551.     PASN_Object * CreateObject() const;
  1552.     MCS_ChannelAttributes & operator[](PINDEX i) const;
  1553.     PObject * Clone() const;
  1554. };
  1555.  
  1556.  
  1557. //
  1558. // ArrayOf_ChannelId
  1559. //
  1560.  
  1561. class MCS_ChannelId;
  1562.  
  1563. class MCS_ArrayOf_ChannelId : public PASN_Array
  1564. {
  1565. #ifndef PASN_LEANANDMEAN
  1566.     PCLASSINFO(MCS_ArrayOf_ChannelId, PASN_Array);
  1567. #endif
  1568.   public:
  1569.     MCS_ArrayOf_ChannelId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  1570.  
  1571.     PASN_Object * CreateObject() const;
  1572.     MCS_ChannelId & operator[](PINDEX i) const;
  1573.     PObject * Clone() const;
  1574. };
  1575.  
  1576.  
  1577. //
  1578. // ArrayOf_UserId
  1579. //
  1580.  
  1581. class MCS_UserId;
  1582.  
  1583. class MCS_ArrayOf_UserId : public PASN_Array
  1584. {
  1585. #ifndef PASN_LEANANDMEAN
  1586.     PCLASSINFO(MCS_ArrayOf_UserId, PASN_Array);
  1587. #endif
  1588.   public:
  1589.     MCS_ArrayOf_UserId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  1590.  
  1591.     PASN_Object * CreateObject() const;
  1592.     MCS_UserId & operator[](PINDEX i) const;
  1593.     PObject * Clone() const;
  1594. };
  1595.  
  1596.  
  1597. //
  1598. // TokenAttributes_grabbed
  1599. //
  1600.  
  1601. class MCS_TokenAttributes_grabbed : public PASN_Sequence
  1602. {
  1603. #ifndef PASN_LEANANDMEAN
  1604.     PCLASSINFO(MCS_TokenAttributes_grabbed, PASN_Sequence);
  1605. #endif
  1606.   public:
  1607.     MCS_TokenAttributes_grabbed(unsigned tag = 0, TagClass tagClass = ContextSpecificTagClass);
  1608.  
  1609.     MCS_TokenId m_tokenId;
  1610.     MCS_UserId m_grabber;
  1611.  
  1612.     PINDEX GetDataLength() const;
  1613.     BOOL Decode(PASN_Stream & strm);
  1614.     void Encode(PASN_Stream & strm) const;
  1615. #ifndef PASN_NOPRINTON
  1616.     void PrintOn(ostream & strm) const;
  1617. #endif
  1618.     Comparison Compare(const PObject & obj) const;
  1619.     PObject * Clone() const;
  1620. };
  1621.  
  1622.  
  1623. //
  1624. // TokenAttributes_inhibited
  1625. //
  1626.  
  1627. class MCS_TokenAttributes_inhibited : public PASN_Sequence
  1628. {
  1629. #ifndef PASN_LEANANDMEAN
  1630.     PCLASSINFO(MCS_TokenAttributes_inhibited, PASN_Sequence);
  1631. #endif
  1632.   public:
  1633.     MCS_TokenAttributes_inhibited(unsigned tag = 1, TagClass tagClass = ContextSpecificTagClass);
  1634.  
  1635.     MCS_TokenId m_tokenId;
  1636.     MCS_ArrayOf_UserId m_inhibitors;
  1637.  
  1638.     PINDEX GetDataLength() const;
  1639.     BOOL Decode(PASN_Stream & strm);
  1640.     void Encode(PASN_Stream & strm) const;
  1641. #ifndef PASN_NOPRINTON
  1642.     void PrintOn(ostream & strm) const;
  1643. #endif
  1644.     Comparison Compare(const PObject & obj) const;
  1645.     PObject * Clone() const;
  1646. };
  1647.  
  1648.  
  1649. //
  1650. // TokenAttributes_giving
  1651. //
  1652.  
  1653. class MCS_TokenAttributes_giving : public PASN_Sequence
  1654. {
  1655. #ifndef PASN_LEANANDMEAN
  1656.     PCLASSINFO(MCS_TokenAttributes_giving, PASN_Sequence);
  1657. #endif
  1658.   public:
  1659.     MCS_TokenAttributes_giving(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);
  1660.  
  1661.     MCS_TokenId m_tokenId;
  1662.     MCS_UserId m_grabber;
  1663.     MCS_UserId m_recipient;
  1664.  
  1665.     PINDEX GetDataLength() const;
  1666.     BOOL Decode(PASN_Stream & strm);
  1667.     void Encode(PASN_Stream & strm) const;
  1668. #ifndef PASN_NOPRINTON
  1669.     void PrintOn(ostream & strm) const;
  1670. #endif
  1671.     Comparison Compare(const PObject & obj) const;
  1672.     PObject * Clone() const;
  1673. };
  1674.  
  1675.  
  1676. //
  1677. // TokenAttributes_ungivable
  1678. //
  1679.  
  1680. class MCS_TokenAttributes_ungivable : public PASN_Sequence
  1681. {
  1682. #ifndef PASN_LEANANDMEAN
  1683.     PCLASSINFO(MCS_TokenAttributes_ungivable, PASN_Sequence);
  1684. #endif
  1685.   public:
  1686.     MCS_TokenAttributes_ungivable(unsigned tag = 3, TagClass tagClass = ContextSpecificTagClass);
  1687.  
  1688.     MCS_TokenId m_tokenId;
  1689.     MCS_UserId m_grabber;
  1690.  
  1691.     PINDEX GetDataLength() const;
  1692.     BOOL Decode(PASN_Stream & strm);
  1693.     void Encode(PASN_Stream & strm) const;
  1694. #ifndef PASN_NOPRINTON
  1695.     void PrintOn(ostream & strm) const;
  1696. #endif
  1697.     Comparison Compare(const PObject & obj) const;
  1698.     PObject * Clone() const;
  1699. };
  1700.  
  1701.  
  1702. //
  1703. // TokenAttributes_given
  1704. //
  1705.  
  1706. class MCS_TokenAttributes_given : public PASN_Sequence
  1707. {
  1708. #ifndef PASN_LEANANDMEAN
  1709.     PCLASSINFO(MCS_TokenAttributes_given, PASN_Sequence);
  1710. #endif
  1711.   public:
  1712.     MCS_TokenAttributes_given(unsigned tag = 4, TagClass tagClass = ContextSpecificTagClass);
  1713.  
  1714.     MCS_TokenId m_tokenId;
  1715.     MCS_UserId m_recipient;
  1716.  
  1717.     PINDEX GetDataLength() const;
  1718.     BOOL Decode(PASN_Stream & strm);
  1719.     void Encode(PASN_Stream & strm) const;
  1720. #ifndef PASN_NOPRINTON
  1721.     void PrintOn(ostream & strm) const;
  1722. #endif
  1723.     Comparison Compare(const PObject & obj) const;
  1724.     PObject * Clone() const;
  1725. };
  1726.  
  1727.  
  1728. //
  1729. // ArrayOf_TokenAttributes
  1730. //
  1731.  
  1732. class MCS_TokenAttributes;
  1733.  
  1734. class MCS_ArrayOf_TokenAttributes : public PASN_Array
  1735. {
  1736. #ifndef PASN_LEANANDMEAN
  1737.     PCLASSINFO(MCS_ArrayOf_TokenAttributes, PASN_Array);
  1738. #endif
  1739.   public:
  1740.     MCS_ArrayOf_TokenAttributes(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  1741.  
  1742.     PASN_Object * CreateObject() const;
  1743.     MCS_TokenAttributes & operator[](PINDEX i) const;
  1744.     PObject * Clone() const;
  1745. };
  1746.  
  1747.  
  1748. //
  1749. // ArrayOf_TokenId
  1750. //
  1751.  
  1752. class MCS_TokenId;
  1753.  
  1754. class MCS_ArrayOf_TokenId : public PASN_Array
  1755. {
  1756. #ifndef PASN_LEANANDMEAN
  1757.     PCLASSINFO(MCS_ArrayOf_TokenId, PASN_Array);
  1758. #endif
  1759.   public:
  1760.     MCS_ArrayOf_TokenId(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
  1761.  
  1762.     PASN_Object * CreateObject() const;
  1763.     MCS_TokenId & operator[](PINDEX i) const;
  1764.     PObject * Clone() const;
  1765. };
  1766.  
  1767.  
  1768. //
  1769. // Connect-Response
  1770. //
  1771.  
  1772. class MCS_Connect_Response : public PASN_Sequence
  1773. {
  1774. #ifndef PASN_LEANANDMEAN
  1775.     PCLASSINFO(MCS_Connect_Response, PASN_Sequence);
  1776. #endif
  1777.   public:
  1778.     MCS_Connect_Response(unsigned tag = 102, TagClass tagClass = ApplicationTagClass);
  1779.  
  1780.     MCS_Result m_result;
  1781.     PASN_Integer m_calledConnectId;
  1782.     MCS_DomainParameters m_domainParameters;
  1783.     PASN_OctetString m_userData;
  1784.  
  1785.     PINDEX GetDataLength() const;
  1786.     BOOL Decode(PASN_Stream & strm);
  1787.     void Encode(PASN_Stream & strm) const;
  1788. #ifndef PASN_NOPRINTON
  1789.     void PrintOn(ostream & strm) const;
  1790. #endif
  1791.     Comparison Compare(const PObject & obj) const;
  1792.     PObject * Clone() const;
  1793. };
  1794.  
  1795.  
  1796. //
  1797. // Connect-Result
  1798. //
  1799.  
  1800. class MCS_Connect_Result : public PASN_Sequence
  1801. {
  1802. #ifndef PASN_LEANANDMEAN
  1803.     PCLASSINFO(MCS_Connect_Result, PASN_Sequence);
  1804. #endif
  1805.   public:
  1806.     MCS_Connect_Result(unsigned tag = 104, TagClass tagClass = ApplicationTagClass);
  1807.  
  1808.     MCS_Result m_result;
  1809.  
  1810.     PINDEX GetDataLength() const;
  1811.     BOOL Decode(PASN_Stream & strm);
  1812.     void Encode(PASN_Stream & strm) const;
  1813. #ifndef PASN_NOPRINTON
  1814.     void PrintOn(ostream & strm) const;
  1815. #endif
  1816.     Comparison Compare(const PObject & obj) const;
  1817.     PObject * Clone() const;
  1818. };
  1819.  
  1820.  
  1821. //
  1822. // MCrq
  1823. //
  1824.  
  1825. class MCS_MCrq : public PASN_Sequence
  1826. {
  1827. #ifndef PASN_LEANANDMEAN
  1828.     PCLASSINFO(MCS_MCrq, PASN_Sequence);
  1829. #endif
  1830.   public:
  1831.     MCS_MCrq(unsigned tag = 2, TagClass tagClass = ApplicationTagClass);
  1832.  
  1833.     MCS_ArrayOf_ChannelAttributes m_mergeChannels;
  1834.     MCS_ArrayOf_ChannelId m_purgeChannelIds;
  1835.  
  1836.     PINDEX GetDataLength() const;
  1837.     BOOL Decode(PASN_Stream & strm);
  1838.     void Encode(PASN_Stream & strm) const;
  1839. #ifndef PASN_NOPRINTON
  1840.     void PrintOn(ostream & strm) const;
  1841. #endif
  1842.     Comparison Compare(const PObject & obj) const;
  1843.     PObject * Clone() const;
  1844. };
  1845.  
  1846.  
  1847. //
  1848. // MCcf
  1849. //
  1850.  
  1851. class MCS_MCcf : public PASN_Sequence
  1852. {
  1853. #ifndef PASN_LEANANDMEAN
  1854.     PCLASSINFO(MCS_MCcf, PASN_Sequence);
  1855. #endif
  1856.   public:
  1857.     MCS_MCcf(unsigned tag = 3, TagClass tagClass = ApplicationTagClass);
  1858.  
  1859.     MCS_ArrayOf_ChannelAttributes m_mergeChannels;
  1860.     MCS_ArrayOf_ChannelId m_purgeChannelIds;
  1861.  
  1862.     PINDEX GetDataLength() const;
  1863.     BOOL Decode(PASN_Stream & strm);
  1864.     void Encode(PASN_Stream & strm) const;
  1865. #ifndef PASN_NOPRINTON
  1866.     void PrintOn(ostream & strm) const;
  1867. #endif
  1868.     Comparison Compare(const PObject & obj) const;
  1869.     PObject * Clone() const;
  1870. };
  1871.  
  1872.  
  1873. //
  1874. // PCin
  1875. //
  1876.  
  1877. class MCS_PCin : public PASN_Sequence
  1878. {
  1879. #ifndef PASN_LEANANDMEAN
  1880.     PCLASSINFO(MCS_PCin, PASN_Sequence);
  1881. #endif
  1882.   public:
  1883.     MCS_PCin(unsigned tag = 4, TagClass tagClass = ApplicationTagClass);
  1884.  
  1885.     MCS_ArrayOf_UserId m_detachUserIds;
  1886.     MCS_ArrayOf_ChannelId m_purgeChannelIds;
  1887.  
  1888.     PINDEX GetDataLength() const;
  1889.     BOOL Decode(PASN_Stream & strm);
  1890.     void Encode(PASN_Stream & strm) const;
  1891. #ifndef PASN_NOPRINTON
  1892.     void PrintOn(ostream & strm) const;
  1893. #endif
  1894.     Comparison Compare(const PObject & obj) const;
  1895.     PObject * Clone() const;
  1896. };
  1897.  
  1898.  
  1899. //
  1900. // MTrq
  1901. //
  1902.  
  1903. class MCS_MTrq : public PASN_Sequence
  1904. {
  1905. #ifndef PASN_LEANANDMEAN
  1906.     PCLASSINFO(MCS_MTrq, PASN_Sequence);
  1907. #endif
  1908.   public:
  1909.     MCS_MTrq(unsigned tag = 5, TagClass tagClass = ApplicationTagClass);
  1910.  
  1911.     MCS_ArrayOf_TokenAttributes m_mergeTokens;
  1912.     MCS_ArrayOf_TokenId m_purgeTokenIds;
  1913.  
  1914.     PINDEX GetDataLength() const;
  1915.     BOOL Decode(PASN_Stream & strm);
  1916.     void Encode(PASN_Stream & strm) const;
  1917. #ifndef PASN_NOPRINTON
  1918.     void PrintOn(ostream & strm) const;
  1919. #endif
  1920.     Comparison Compare(const PObject & obj) const;
  1921.     PObject * Clone() const;
  1922. };
  1923.  
  1924.  
  1925. //
  1926. // MTcf
  1927. //
  1928.  
  1929. class MCS_MTcf : public PASN_Sequence
  1930. {
  1931. #ifndef PASN_LEANANDMEAN
  1932.     PCLASSINFO(MCS_MTcf, PASN_Sequence);
  1933. #endif
  1934.   public:
  1935.     MCS_MTcf(unsigned tag = 6, TagClass tagClass = ApplicationTagClass);
  1936.  
  1937.     MCS_ArrayOf_TokenAttributes m_mergeTokens;
  1938.     MCS_ArrayOf_TokenId m_purgeTokenIds;
  1939.  
  1940.     PINDEX GetDataLength() const;
  1941.     BOOL Decode(PASN_Stream & strm);
  1942.     void Encode(PASN_Stream & strm) const;
  1943. #ifndef PASN_NOPRINTON
  1944.     void PrintOn(ostream & strm) const;
  1945. #endif
  1946.     Comparison Compare(const PObject & obj) const;
  1947.     PObject * Clone() const;
  1948. };
  1949.  
  1950.  
  1951. //
  1952. // PTin
  1953. //
  1954.  
  1955. class MCS_PTin : public PASN_Sequence
  1956. {
  1957. #ifndef PASN_LEANANDMEAN
  1958.     PCLASSINFO(MCS_PTin, PASN_Sequence);
  1959. #endif
  1960.   public:
  1961.     MCS_PTin(unsigned tag = 7, TagClass tagClass = ApplicationTagClass);
  1962.  
  1963.     MCS_ArrayOf_TokenId m_purgeTokenIds;
  1964.  
  1965.     PINDEX GetDataLength() const;
  1966.     BOOL Decode(PASN_Stream & strm);
  1967.     void Encode(PASN_Stream & strm) const;
  1968. #ifndef PASN_NOPRINTON
  1969.     void PrintOn(ostream & strm) const;
  1970. #endif
  1971.     Comparison Compare(const PObject & obj) const;
  1972.     PObject * Clone() const;
  1973. };
  1974.  
  1975.  
  1976. //
  1977. // DPum
  1978. //
  1979.  
  1980. class MCS_DPum : public PASN_Sequence
  1981. {
  1982. #ifndef PASN_LEANANDMEAN
  1983.     PCLASSINFO(MCS_DPum, PASN_Sequence);
  1984. #endif
  1985.   public:
  1986.     MCS_DPum(unsigned tag = 8, TagClass tagClass = ApplicationTagClass);
  1987.  
  1988.     MCS_Reason m_reason;
  1989.  
  1990.     PINDEX GetDataLength() const;
  1991.     BOOL Decode(PASN_Stream & strm);
  1992.     void Encode(PASN_Stream & strm) const;
  1993. #ifndef PASN_NOPRINTON
  1994.     void PrintOn(ostream & strm) const;
  1995. #endif
  1996.     Comparison Compare(const PObject & obj) const;
  1997.     PObject * Clone() const;
  1998. };
  1999.  
  2000.  
  2001. //
  2002. // RJum
  2003. //
  2004.  
  2005. class MCS_RJum : public PASN_Sequence
  2006. {
  2007. #ifndef PASN_LEANANDMEAN
  2008.     PCLASSINFO(MCS_RJum, PASN_Sequence);
  2009. #endif
  2010.   public:
  2011.     MCS_RJum(unsigned tag = 9, TagClass tagClass = ApplicationTagClass);
  2012.  
  2013.     MCS_Diagnostic m_diagnostic;
  2014.     PASN_OctetString m_initialOctets;
  2015.  
  2016.     PINDEX GetDataLength() const;
  2017.     BOOL Decode(PASN_Stream & strm);
  2018.     void Encode(PASN_Stream & strm) const;
  2019. #ifndef PASN_NOPRINTON
  2020.     void PrintOn(ostream & strm) const;
  2021. #endif
  2022.     Comparison Compare(const PObject & obj) const;
  2023.     PObject * Clone() const;
  2024. };
  2025.  
  2026.  
  2027. //
  2028. // AUcf
  2029. //
  2030.  
  2031. class MCS_AUcf : public PASN_Sequence
  2032. {
  2033. #ifndef PASN_LEANANDMEAN
  2034.     PCLASSINFO(MCS_AUcf, PASN_Sequence);
  2035. #endif
  2036.   public:
  2037.     MCS_AUcf(unsigned tag = 11, TagClass tagClass = ApplicationTagClass);
  2038.  
  2039.     enum OptionalFields {
  2040.       e_initiator
  2041.     };
  2042.  
  2043.     MCS_Result m_result;
  2044.     MCS_UserId m_initiator;
  2045.  
  2046.     PINDEX GetDataLength() const;
  2047.     BOOL Decode(PASN_Stream & strm);
  2048.     void Encode(PASN_Stream & strm) const;
  2049. #ifndef PASN_NOPRINTON
  2050.     void PrintOn(ostream & strm) const;
  2051. #endif
  2052.     Comparison Compare(const PObject & obj) const;
  2053.     PObject * Clone() const;
  2054. };
  2055.  
  2056.  
  2057. //
  2058. // DUrq
  2059. //
  2060.  
  2061. class MCS_DUrq : public PASN_Sequence
  2062. {
  2063. #ifndef PASN_LEANANDMEAN
  2064.     PCLASSINFO(MCS_DUrq, PASN_Sequence);
  2065. #endif
  2066.   public:
  2067.     MCS_DUrq(unsigned tag = 12, TagClass tagClass = ApplicationTagClass);
  2068.  
  2069.     MCS_Reason m_reason;
  2070.     MCS_ArrayOf_UserId m_userIds;
  2071.  
  2072.     PINDEX GetDataLength() const;
  2073.     BOOL Decode(PASN_Stream & strm);
  2074.     void Encode(PASN_Stream & strm) const;
  2075. #ifndef PASN_NOPRINTON
  2076.     void PrintOn(ostream & strm) const;
  2077. #endif
  2078.     Comparison Compare(const PObject & obj) const;
  2079.     PObject * Clone() const;
  2080. };
  2081.  
  2082.  
  2083. //
  2084. // DUin
  2085. //
  2086.  
  2087. class MCS_DUin : public PASN_Sequence
  2088. {
  2089. #ifndef PASN_LEANANDMEAN
  2090.     PCLASSINFO(MCS_DUin, PASN_Sequence);
  2091. #endif
  2092.   public:
  2093.     MCS_DUin(unsigned tag = 13, TagClass tagClass = ApplicationTagClass);
  2094.  
  2095.     MCS_Reason m_reason;
  2096.     MCS_ArrayOf_UserId m_userIds;
  2097.  
  2098.     PINDEX GetDataLength() const;
  2099.     BOOL Decode(PASN_Stream & strm);
  2100.     void Encode(PASN_Stream & strm) const;
  2101. #ifndef PASN_NOPRINTON
  2102.     void PrintOn(ostream & strm) const;
  2103. #endif
  2104.     Comparison Compare(const PObject & obj) const;
  2105.     PObject * Clone() const;
  2106. };
  2107.  
  2108.  
  2109. //
  2110. // CJcf
  2111. //
  2112.  
  2113. class MCS_CJcf : public PASN_Sequence
  2114. {
  2115. #ifndef PASN_LEANANDMEAN
  2116.     PCLASSINFO(MCS_CJcf, PASN_Sequence);
  2117. #endif
  2118.   public:
  2119.     MCS_CJcf(unsigned tag = 15, TagClass tagClass = ApplicationTagClass);
  2120.  
  2121.     enum OptionalFields {
  2122.       e_channelId
  2123.     };
  2124.  
  2125.     MCS_Result m_result;
  2126.     MCS_UserId m_initiator;
  2127.     MCS_ChannelId m_requested;
  2128.     MCS_ChannelId m_channelId;
  2129.  
  2130.     PINDEX GetDataLength() const;
  2131.     BOOL Decode(PASN_Stream & strm);
  2132.     void Encode(PASN_Stream & strm) const;
  2133. #ifndef PASN_NOPRINTON
  2134.     void PrintOn(ostream & strm) const;
  2135. #endif
  2136.     Comparison Compare(const PObject & obj) const;
  2137.     PObject * Clone() const;
  2138. };
  2139.  
  2140.  
  2141. //
  2142. // CLrq
  2143. //
  2144.  
  2145. class MCS_CLrq : public PASN_Sequence
  2146. {
  2147. #ifndef PASN_LEANANDMEAN
  2148.     PCLASSINFO(MCS_CLrq, PASN_Sequence);
  2149. #endif
  2150.   public:
  2151.     MCS_CLrq(unsigned tag = 16, TagClass tagClass = ApplicationTagClass);
  2152.  
  2153.     MCS_ArrayOf_ChannelId m_channelIds;
  2154.  
  2155.     PINDEX GetDataLength() const;
  2156.     BOOL Decode(PASN_Stream & strm);
  2157.     void Encode(PASN_Stream & strm) const;
  2158. #ifndef PASN_NOPRINTON
  2159.     void PrintOn(ostream & strm) const;
  2160. #endif
  2161.     Comparison Compare(const PObject & obj) const;
  2162.     PObject * Clone() const;
  2163. };
  2164.  
  2165.  
  2166. //
  2167. // CCcf
  2168. //
  2169.  
  2170. class MCS_CCcf : public PASN_Sequence
  2171. {
  2172. #ifndef PASN_LEANANDMEAN
  2173.     PCLASSINFO(MCS_CCcf, PASN_Sequence);
  2174. #endif
  2175.   public:
  2176.     MCS_CCcf(unsigned tag = 18, TagClass tagClass = ApplicationTagClass);
  2177.  
  2178.     enum OptionalFields {
  2179.       e_channelId
  2180.     };
  2181.  
  2182.     MCS_Result m_result;
  2183.     MCS_UserId m_initiator;
  2184.     MCS_PrivateChannelId m_channelId;
  2185.  
  2186.     PINDEX GetDataLength() const;
  2187.     BOOL Decode(PASN_Stream & strm);
  2188.     void Encode(PASN_Stream & strm) const;
  2189. #ifndef PASN_NOPRINTON
  2190.     void PrintOn(ostream & strm) const;
  2191. #endif
  2192.     Comparison Compare(const PObject & obj) const;
  2193.     PObject * Clone() const;
  2194. };
  2195.  
  2196.  
  2197. //
  2198. // CArq
  2199. //
  2200.  
  2201. class MCS_CArq : public PASN_Sequence
  2202. {
  2203. #ifndef PASN_LEANANDMEAN
  2204.     PCLASSINFO(MCS_CArq, PASN_Sequence);
  2205. #endif
  2206.   public:
  2207.     MCS_CArq(unsigned tag = 21, TagClass tagClass = ApplicationTagClass);
  2208.  
  2209.     MCS_UserId m_initiator;
  2210.     MCS_PrivateChannelId m_channelId;
  2211.     MCS_ArrayOf_UserId m_userIds;
  2212.  
  2213.     PINDEX GetDataLength() const;
  2214.     BOOL Decode(PASN_Stream & strm);
  2215.     void Encode(PASN_Stream & strm) const;
  2216. #ifndef PASN_NOPRINTON
  2217.     void PrintOn(ostream & strm) const;
  2218. #endif
  2219.     Comparison Compare(const PObject & obj) const;
  2220.     PObject * Clone() const;
  2221. };
  2222.  
  2223.  
  2224. //
  2225. // CAin
  2226. //
  2227.  
  2228. class MCS_CAin : public PASN_Sequence
  2229. {
  2230. #ifndef PASN_LEANANDMEAN
  2231.     PCLASSINFO(MCS_CAin, PASN_Sequence);
  2232. #endif
  2233.   public:
  2234.     MCS_CAin(unsigned tag = 22, TagClass tagClass = ApplicationTagClass);
  2235.  
  2236.     MCS_UserId m_initiator;
  2237.     MCS_PrivateChannelId m_channelId;
  2238.     MCS_ArrayOf_UserId m_userIds;
  2239.  
  2240.     PINDEX GetDataLength() const;
  2241.     BOOL Decode(PASN_Stream & strm);
  2242.     void Encode(PASN_Stream & strm) const;
  2243. #ifndef PASN_NOPRINTON
  2244.     void PrintOn(ostream & strm) const;
  2245. #endif
  2246.     Comparison Compare(const PObject & obj) const;
  2247.     PObject * Clone() const;
  2248. };
  2249.  
  2250.  
  2251. //
  2252. // CErq
  2253. //
  2254.  
  2255. class MCS_CErq : public PASN_Sequence
  2256. {
  2257. #ifndef PASN_LEANANDMEAN
  2258.     PCLASSINFO(MCS_CErq, PASN_Sequence);
  2259. #endif
  2260.   public:
  2261.     MCS_CErq(unsigned tag = 23, TagClass tagClass = ApplicationTagClass);
  2262.  
  2263.     MCS_UserId m_initiator;
  2264.     MCS_PrivateChannelId m_channelId;
  2265.     MCS_ArrayOf_UserId m_userIds;
  2266.  
  2267.     PINDEX GetDataLength() const;
  2268.     BOOL Decode(PASN_Stream & strm);
  2269.     void Encode(PASN_Stream & strm) const;
  2270. #ifndef PASN_NOPRINTON
  2271.     void PrintOn(ostream & strm) const;
  2272. #endif
  2273.     Comparison Compare(const PObject & obj) const;
  2274.     PObject * Clone() const;
  2275. };
  2276.  
  2277.  
  2278. //
  2279. // CEin
  2280. //
  2281.  
  2282. class MCS_CEin : public PASN_Sequence
  2283. {
  2284. #ifndef PASN_LEANANDMEAN
  2285.     PCLASSINFO(MCS_CEin, PASN_Sequence);
  2286. #endif
  2287.   public:
  2288.     MCS_CEin(unsigned tag = 24, TagClass tagClass = ApplicationTagClass);
  2289.  
  2290.     MCS_PrivateChannelId m_channelId;
  2291.     MCS_ArrayOf_UserId m_userIds;
  2292.  
  2293.     PINDEX GetDataLength() const;
  2294.     BOOL Decode(PASN_Stream & strm);
  2295.     void Encode(PASN_Stream & strm) const;
  2296. #ifndef PASN_NOPRINTON
  2297.     void PrintOn(ostream & strm) const;
  2298. #endif
  2299.     Comparison Compare(const PObject & obj) const;
  2300.     PObject * Clone() const;
  2301. };
  2302.  
  2303.  
  2304. //
  2305. // TGcf
  2306. //
  2307.  
  2308. class MCS_TGcf : public PASN_Sequence
  2309. {
  2310. #ifndef PASN_LEANANDMEAN
  2311.     PCLASSINFO(MCS_TGcf, PASN_Sequence);
  2312. #endif
  2313.   public:
  2314.     MCS_TGcf(unsigned tag = 30, TagClass tagClass = ApplicationTagClass);
  2315.  
  2316.     MCS_Result m_result;
  2317.     MCS_UserId m_initiator;
  2318.     MCS_TokenId m_tokenId;
  2319.     MCS_TokenStatus m_tokenStatus;
  2320.  
  2321.     PINDEX GetDataLength() const;
  2322.     BOOL Decode(PASN_Stream & strm);
  2323.     void Encode(PASN_Stream & strm) const;
  2324. #ifndef PASN_NOPRINTON
  2325.     void PrintOn(ostream & strm) const;
  2326. #endif
  2327.     Comparison Compare(const PObject & obj) const;
  2328.     PObject * Clone() const;
  2329. };
  2330.  
  2331.  
  2332. //
  2333. // TIcf
  2334. //
  2335.  
  2336. class MCS_TIcf : public PASN_Sequence
  2337. {
  2338. #ifndef PASN_LEANANDMEAN
  2339.     PCLASSINFO(MCS_TIcf, PASN_Sequence);
  2340. #endif
  2341.   public:
  2342.     MCS_TIcf(unsigned tag = 32, TagClass tagClass = ApplicationTagClass);
  2343.  
  2344.     MCS_Result m_result;
  2345.     MCS_UserId m_initiator;
  2346.     MCS_TokenId m_tokenId;
  2347.     MCS_TokenStatus m_tokenStatus;
  2348.  
  2349.     PINDEX GetDataLength() const;
  2350.     BOOL Decode(PASN_Stream & strm);
  2351.     void Encode(PASN_Stream & strm) const;
  2352. #ifndef PASN_NOPRINTON
  2353.     void PrintOn(ostream & strm) const;
  2354. #endif
  2355.     Comparison Compare(const PObject & obj) const;
  2356.     PObject * Clone() const;
  2357. };
  2358.  
  2359.  
  2360. //
  2361. // TVrs
  2362. //
  2363.  
  2364. class MCS_TVrs : public PASN_Sequence
  2365. {
  2366. #ifndef PASN_LEANANDMEAN
  2367.     PCLASSINFO(MCS_TVrs, PASN_Sequence);
  2368. #endif
  2369.   public:
  2370.     MCS_TVrs(unsigned tag = 35, TagClass tagClass = ApplicationTagClass);
  2371.  
  2372.     MCS_Result m_result;
  2373.     MCS_UserId m_recipient;
  2374.     MCS_TokenId m_tokenId;
  2375.  
  2376.     PINDEX GetDataLength() const;
  2377.     BOOL Decode(PASN_Stream & strm);
  2378.     void Encode(PASN_Stream & strm) const;
  2379. #ifndef PASN_NOPRINTON
  2380.     void PrintOn(ostream & strm) const;
  2381. #endif
  2382.     Comparison Compare(const PObject & obj) const;
  2383.     PObject * Clone() const;
  2384. };
  2385.  
  2386.  
  2387. //
  2388. // TVcf
  2389. //
  2390.  
  2391. class MCS_TVcf : public PASN_Sequence
  2392. {
  2393. #ifndef PASN_LEANANDMEAN
  2394.     PCLASSINFO(MCS_TVcf, PASN_Sequence);
  2395. #endif
  2396.   public:
  2397.     MCS_TVcf(unsigned tag = 36, TagClass tagClass = ApplicationTagClass);
  2398.  
  2399.     MCS_Result m_result;
  2400.     MCS_UserId m_initiator;
  2401.     MCS_TokenId m_tokenId;
  2402.     MCS_TokenStatus m_tokenStatus;
  2403.  
  2404.     PINDEX GetDataLength() const;
  2405.     BOOL Decode(PASN_Stream & strm);
  2406.     void Encode(PASN_Stream & strm) const;
  2407. #ifndef PASN_NOPRINTON
  2408.     void PrintOn(ostream & strm) const;
  2409. #endif
  2410.     Comparison Compare(const PObject & obj) const;
  2411.     PObject * Clone() const;
  2412. };
  2413.  
  2414.  
  2415. //
  2416. // TRcf
  2417. //
  2418.  
  2419. class MCS_TRcf : public PASN_Sequence
  2420. {
  2421. #ifndef PASN_LEANANDMEAN
  2422.     PCLASSINFO(MCS_TRcf, PASN_Sequence);
  2423. #endif
  2424.   public:
  2425.     MCS_TRcf(unsigned tag = 40, TagClass tagClass = ApplicationTagClass);
  2426.  
  2427.     MCS_Result m_result;
  2428.     MCS_UserId m_initiator;
  2429.     MCS_TokenId m_tokenId;
  2430.     MCS_TokenStatus m_tokenStatus;
  2431.  
  2432.     PINDEX GetDataLength() const;
  2433.     BOOL Decode(PASN_Stream & strm);
  2434.     void Encode(PASN_Stream & strm) const;
  2435. #ifndef PASN_NOPRINTON
  2436.     void PrintOn(ostream & strm) const;
  2437. #endif
  2438.     Comparison Compare(const PObject & obj) const;
  2439.     PObject * Clone() const;
  2440. };
  2441.  
  2442.  
  2443. //
  2444. // ChannelAttributes_private
  2445. //
  2446.  
  2447. class MCS_ChannelAttributes_private : public PASN_Sequence
  2448. {
  2449. #ifndef PASN_LEANANDMEAN
  2450.     PCLASSINFO(MCS_ChannelAttributes_private, PASN_Sequence);
  2451. #endif
  2452.   public:
  2453.     MCS_ChannelAttributes_private(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);
  2454.  
  2455.     PASN_Boolean m_joined;
  2456.     MCS_PrivateChannelId m_channelId;
  2457.     MCS_UserId m_manager;
  2458.     MCS_ArrayOf_UserId m_admitted;
  2459.  
  2460.     PINDEX GetDataLength() const;
  2461.     BOOL Decode(PASN_Stream & strm);
  2462.     void Encode(PASN_Stream & strm) const;
  2463. #ifndef PASN_NOPRINTON
  2464.     void PrintOn(ostream & strm) const;
  2465. #endif
  2466.     Comparison Compare(const PObject & obj) const;
  2467.     PObject * Clone() const;
  2468. };
  2469.  
  2470.  
  2471. #endif // __MCS_H
  2472.  
  2473. #endif // if ! H323_DISABLE_MCS
  2474.  
  2475.  
  2476. // End of mcspdu.h
  2477.