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 / h4508.h < prev    next >
C/C++ Source or Header  |  2004-06-22  |  5KB  |  211 lines

  1. //
  2. // h4508.h
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. #if ! H323_DISABLE_H4508
  8.  
  9. #ifndef __H4508_H
  10. #define __H4508_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 "h4505.h"
  20.  
  21.  
  22. //
  23. // NameOperations
  24. //
  25.  
  26. class H4508_NameOperations : public PASN_Enumeration
  27. {
  28. #ifndef PASN_LEANANDMEAN
  29.     PCLASSINFO(H4508_NameOperations, PASN_Enumeration);
  30. #endif
  31.   public:
  32.     H4508_NameOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
  33.  
  34.     enum Enumerations {
  35.       e_callingName,
  36.       e_alertingName,
  37.       e_connectedName,
  38.       e_busyName
  39.     };
  40.  
  41.     H4508_NameOperations & operator=(unsigned v);
  42.     PObject * Clone() const;
  43. };
  44.  
  45.  
  46. //
  47. // Name
  48. //
  49.  
  50. class H4508_NamePresentationAllowed;
  51. class H4508_NamePresentationRestricted;
  52.  
  53. class H4508_Name : public PASN_Choice
  54. {
  55. #ifndef PASN_LEANANDMEAN
  56.     PCLASSINFO(H4508_Name, PASN_Choice);
  57. #endif
  58.   public:
  59.     H4508_Name(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  60.  
  61.     enum Choices {
  62.       e_namePresentationAllowed,
  63.       e_namePresentationRestricted,
  64.       e_nameNotAvailable
  65.     };
  66.  
  67. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  68.     operator H4508_NamePresentationAllowed &() const;
  69. #else
  70.     operator H4508_NamePresentationAllowed &();
  71.     operator const H4508_NamePresentationAllowed &() const;
  72. #endif
  73. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  74.     operator H4508_NamePresentationRestricted &() const;
  75. #else
  76.     operator H4508_NamePresentationRestricted &();
  77.     operator const H4508_NamePresentationRestricted &() const;
  78. #endif
  79.  
  80.     BOOL CreateObject();
  81.     PObject * Clone() const;
  82. };
  83.  
  84.  
  85. //
  86. // NamePresentationAllowed
  87. //
  88.  
  89. class H4508_SimpleName;
  90. class H4508_ExtendedName;
  91.  
  92. class H4508_NamePresentationAllowed : public PASN_Choice
  93. {
  94. #ifndef PASN_LEANANDMEAN
  95.     PCLASSINFO(H4508_NamePresentationAllowed, PASN_Choice);
  96. #endif
  97.   public:
  98.     H4508_NamePresentationAllowed(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  99.  
  100.     enum Choices {
  101.       e_simpleName,
  102.       e_extendedName
  103.     };
  104.  
  105. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  106.     operator H4508_SimpleName &() const;
  107. #else
  108.     operator H4508_SimpleName &();
  109.     operator const H4508_SimpleName &() const;
  110. #endif
  111. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  112.     operator H4508_ExtendedName &() const;
  113. #else
  114.     operator H4508_ExtendedName &();
  115.     operator const H4508_ExtendedName &() const;
  116. #endif
  117.  
  118.     BOOL CreateObject();
  119.     PObject * Clone() const;
  120. };
  121.  
  122.  
  123. //
  124. // NamePresentationRestricted
  125. //
  126.  
  127. class H4508_SimpleName;
  128. class H4508_ExtendedName;
  129.  
  130. class H4508_NamePresentationRestricted : public PASN_Choice
  131. {
  132. #ifndef PASN_LEANANDMEAN
  133.     PCLASSINFO(H4508_NamePresentationRestricted, PASN_Choice);
  134. #endif
  135.   public:
  136.     H4508_NamePresentationRestricted(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
  137.  
  138.     enum Choices {
  139.       e_simpleName,
  140.       e_extendedName,
  141.       e_restrictedNull
  142.     };
  143.  
  144. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  145.     operator H4508_SimpleName &() const;
  146. #else
  147.     operator H4508_SimpleName &();
  148.     operator const H4508_SimpleName &() const;
  149. #endif
  150. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  151.     operator H4508_ExtendedName &() const;
  152. #else
  153.     operator H4508_ExtendedName &();
  154.     operator const H4508_ExtendedName &() const;
  155. #endif
  156.  
  157.     BOOL CreateObject();
  158.     PObject * Clone() const;
  159. };
  160.  
  161.  
  162. //
  163. // SimpleName
  164. //
  165.  
  166. class H4508_SimpleName : public PASN_OctetString
  167. {
  168. #ifndef PASN_LEANANDMEAN
  169.     PCLASSINFO(H4508_SimpleName, PASN_OctetString);
  170. #endif
  171.   public:
  172.     H4508_SimpleName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
  173.  
  174.     H4508_SimpleName(const char * v);
  175.     H4508_SimpleName(const PString & v);
  176.     H4508_SimpleName(const PBYTEArray & v);
  177.  
  178.     H4508_SimpleName & operator=(const char * v);
  179.     H4508_SimpleName & operator=(const PString & v);
  180.     H4508_SimpleName & operator=(const PBYTEArray & v);
  181.     PObject * Clone() const;
  182. };
  183.  
  184.  
  185. //
  186. // ExtendedName
  187. //
  188.  
  189. class H4508_ExtendedName : public PASN_BMPString
  190. {
  191. #ifndef PASN_LEANANDMEAN
  192.     PCLASSINFO(H4508_ExtendedName, PASN_BMPString);
  193. #endif
  194.   public:
  195.     H4508_ExtendedName(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
  196.  
  197.     H4508_ExtendedName & operator=(const char * v);
  198.     H4508_ExtendedName & operator=(const PString & v);
  199.     H4508_ExtendedName & operator=(const PWORDArray & v);
  200.     H4508_ExtendedName & operator=(const PASN_BMPString & v);
  201.     PObject * Clone() const;
  202. };
  203.  
  204.  
  205. #endif // __H4508_H
  206.  
  207. #endif // if ! H323_DISABLE_H4508
  208.  
  209.  
  210. // End of h4508.h
  211.