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 / h4509.h < prev    next >
C/C++ Source or Header  |  2004-06-22  |  6KB  |  276 lines

  1. //
  2. // h4509.h
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. #if ! H323_DISABLE_H4509
  8.  
  9. #ifndef __H4509_H
  10. #define __H4509_H
  11.  
  12. #ifdef P_USE_PRAGMA
  13. #pragma interface
  14. #endif
  15.  
  16. #include <ptclib/asner.h>
  17.  
  18. #include "h4501.h"
  19. #include "h225.h"
  20. #include "h4501.h"
  21. #include "h4504.h"
  22. #include "h4501.h"
  23. #include "h4507.h"
  24.  
  25.  
  26. //
  27. // H323CallCompletionOperations
  28. //
  29.  
  30. class H4509_H323CallCompletionOperations : public PASN_Enumeration
  31. {
  32. #ifndef PASN_LEANANDMEAN
  33.     PCLASSINFO(H4509_H323CallCompletionOperations, PASN_Enumeration);
  34. #endif
  35.   public:
  36.     H4509_H323CallCompletionOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  37.  
  38.     enum Enumerations {
  39.       e_ccbsRequest = 40,
  40.       e_ccnrRequest = 27,
  41.       e_ccCancel,
  42.       e_ccExecPossible,
  43.       e_ccRingout = 31,
  44.       e_ccSuspend,
  45.       e_ccResume
  46.     };
  47.  
  48.     H4509_H323CallCompletionOperations & operator=(unsigned v);
  49.     PObject * Clone() const;
  50. };
  51.  
  52.  
  53. //
  54. // CcArg
  55. //
  56.  
  57. class H4509_CcShortArg;
  58. class H4509_CcLongArg;
  59.  
  60. class H4509_CcArg : public PASN_Choice
  61. {
  62. #ifndef PASN_LEANANDMEAN
  63.     PCLASSINFO(H4509_CcArg, PASN_Choice);
  64. #endif
  65.   public:
  66.     H4509_CcArg(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  67.  
  68.     enum Choices {
  69.       e_shortArg,
  70.       e_longArg
  71.     };
  72.  
  73. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  74.     operator H4509_CcShortArg &() const;
  75. #else
  76.     operator H4509_CcShortArg &();
  77.     operator const H4509_CcShortArg &() const;
  78. #endif
  79. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  80.     operator H4509_CcLongArg &() const;
  81. #else
  82.     operator H4509_CcLongArg &();
  83.     operator const H4509_CcLongArg &() const;
  84. #endif
  85.  
  86.     BOOL CreateObject();
  87.     PObject * Clone() const;
  88. };
  89.  
  90.  
  91. //
  92. // CallCompletionErrors
  93. //
  94.  
  95. class H4509_CallCompletionErrors : public PASN_Enumeration
  96. {
  97. #ifndef PASN_LEANANDMEAN
  98.     PCLASSINFO(H4509_CallCompletionErrors, PASN_Enumeration);
  99. #endif
  100.   public:
  101.     H4509_CallCompletionErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  102.  
  103.     enum Enumerations {
  104.       e_shortTermRejection = 1010,
  105.       e_longTermRejection,
  106.       e_remoteUserBusyAgain,
  107.       e_failureToMatch
  108.     };
  109.  
  110.     H4509_CallCompletionErrors & operator=(unsigned v);
  111.     PObject * Clone() const;
  112. };
  113.  
  114.  
  115. //
  116. // ArrayOf_MixedExtension
  117. //
  118.  
  119. class H4504_MixedExtension;
  120.  
  121. class H4509_ArrayOf_MixedExtension : public PASN_Array
  122. {
  123. #ifndef PASN_LEANANDMEAN
  124.     PCLASSINFO(H4509_ArrayOf_MixedExtension, PASN_Array);
  125. #endif
  126.   public:
  127.     H4509_ArrayOf_MixedExtension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  128.  
  129.     PASN_Object * CreateObject() const;
  130.     H4504_MixedExtension & operator[](PINDEX i) const;
  131.     PObject * Clone() const;
  132. };
  133.  
  134.  
  135. //
  136. // CcRequestArg
  137. //
  138.  
  139. class H4509_CcRequestArg : public PASN_Sequence
  140. {
  141. #ifndef PASN_LEANANDMEAN
  142.     PCLASSINFO(H4509_CcRequestArg, PASN_Sequence);
  143. #endif
  144.   public:
  145.     H4509_CcRequestArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  146.  
  147.     enum OptionalFields {
  148.       e_ccIdentifier,
  149.       e_retain_sig_connection,
  150.       e_extension
  151.     };
  152.  
  153.     H4501_EndpointAddress m_numberA;
  154.     H4501_EndpointAddress m_numberB;
  155.     H225_CallIdentifier m_ccIdentifier;
  156.     H4507_BasicService m_service;
  157.     PASN_Boolean m_can_retain_service;
  158.     PASN_Boolean m_retain_sig_connection;
  159.     H4509_ArrayOf_MixedExtension m_extension;
  160.  
  161.     PINDEX GetDataLength() const;
  162.     BOOL Decode(PASN_Stream & strm);
  163.     void Encode(PASN_Stream & strm) const;
  164. #ifndef PASN_NOPRINTON
  165.     void PrintOn(ostream & strm) const;
  166. #endif
  167.     Comparison Compare(const PObject & obj) const;
  168.     PObject * Clone() const;
  169. };
  170.  
  171.  
  172. //
  173. // CcRequestRes
  174. //
  175.  
  176. class H4509_CcRequestRes : public PASN_Sequence
  177. {
  178. #ifndef PASN_LEANANDMEAN
  179.     PCLASSINFO(H4509_CcRequestRes, PASN_Sequence);
  180. #endif
  181.   public:
  182.     H4509_CcRequestRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  183.  
  184.     enum OptionalFields {
  185.       e_extension
  186.     };
  187.  
  188.     PASN_Boolean m_retain_service;
  189.     H4509_ArrayOf_MixedExtension m_extension;
  190.  
  191.     PINDEX GetDataLength() const;
  192.     BOOL Decode(PASN_Stream & strm);
  193.     void Encode(PASN_Stream & strm) const;
  194. #ifndef PASN_NOPRINTON
  195.     void PrintOn(ostream & strm) const;
  196. #endif
  197.     Comparison Compare(const PObject & obj) const;
  198.     PObject * Clone() const;
  199. };
  200.  
  201.  
  202. //
  203. // CcShortArg
  204. //
  205.  
  206. class H4509_CcShortArg : public PASN_Sequence
  207. {
  208. #ifndef PASN_LEANANDMEAN
  209.     PCLASSINFO(H4509_CcShortArg, PASN_Sequence);
  210. #endif
  211.   public:
  212.     H4509_CcShortArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  213.  
  214.     enum OptionalFields {
  215.       e_ccIdentifier,
  216.       e_extension
  217.     };
  218.  
  219.     H225_CallIdentifier m_ccIdentifier;
  220.     H4509_ArrayOf_MixedExtension m_extension;
  221.  
  222.     PINDEX GetDataLength() const;
  223.     BOOL Decode(PASN_Stream & strm);
  224.     void Encode(PASN_Stream & strm) const;
  225. #ifndef PASN_NOPRINTON
  226.     void PrintOn(ostream & strm) const;
  227. #endif
  228.     Comparison Compare(const PObject & obj) const;
  229.     PObject * Clone() const;
  230. };
  231.  
  232.  
  233. //
  234. // CcLongArg
  235. //
  236.  
  237. class H4509_CcLongArg : public PASN_Sequence
  238. {
  239. #ifndef PASN_LEANANDMEAN
  240.     PCLASSINFO(H4509_CcLongArg, PASN_Sequence);
  241. #endif
  242.   public:
  243.     H4509_CcLongArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
  244.  
  245.     enum OptionalFields {
  246.       e_numberA,
  247.       e_numberB,
  248.       e_ccIdentifier,
  249.       e_service,
  250.       e_extension
  251.     };
  252.  
  253.     H4501_EndpointAddress m_numberA;
  254.     H4501_EndpointAddress m_numberB;
  255.     H225_CallIdentifier m_ccIdentifier;
  256.     H4507_BasicService m_service;
  257.     H4509_ArrayOf_MixedExtension m_extension;
  258.  
  259.     PINDEX GetDataLength() const;
  260.     BOOL Decode(PASN_Stream & strm);
  261.     void Encode(PASN_Stream & strm) const;
  262. #ifndef PASN_NOPRINTON
  263.     void PrintOn(ostream & strm) const;
  264. #endif
  265.     Comparison Compare(const PObject & obj) const;
  266.     PObject * Clone() const;
  267. };
  268.  
  269.  
  270. #endif // __H4509_H
  271.  
  272. #endif // if ! H323_DISABLE_H4509
  273.  
  274.  
  275. // End of h4509.h
  276.