OpenH323 1.18.0
|
00001 // 00002 // h4508.h 00003 // 00004 // Code automatically generated by asnparse. 00005 // 00006 00007 #if ! H323_DISABLE_H4508 00008 00009 #ifndef __H4508_H 00010 #define __H4508_H 00011 00012 #ifdef P_USE_PRAGMA 00013 #pragma interface 00014 #endif 00015 00016 #include <ptclib/asner.h> 00017 00018 #include "h4501.h" 00019 #include "h4505.h" 00020 00021 00022 // 00023 // NameOperations 00024 // 00025 00026 class H4508_NameOperations : public PASN_Enumeration 00027 { 00028 #ifndef PASN_LEANANDMEAN 00029 PCLASSINFO(H4508_NameOperations, PASN_Enumeration); 00030 #endif 00031 public: 00032 H4508_NameOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 00033 00034 enum Enumerations { 00035 e_callingName, 00036 e_alertingName, 00037 e_connectedName, 00038 e_busyName 00039 }; 00040 00041 H4508_NameOperations & operator=(unsigned v); 00042 PObject * Clone() const; 00043 }; 00044 00045 00046 // 00047 // Name 00048 // 00049 00050 class H4508_NamePresentationAllowed; 00051 class H4508_NamePresentationRestricted; 00052 00053 class H4508_Name : public PASN_Choice 00054 { 00055 #ifndef PASN_LEANANDMEAN 00056 PCLASSINFO(H4508_Name, PASN_Choice); 00057 #endif 00058 public: 00059 H4508_Name(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 00060 00061 enum Choices { 00062 e_namePresentationAllowed, 00063 e_namePresentationRestricted, 00064 e_nameNotAvailable 00065 }; 00066 00067 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00068 operator H4508_NamePresentationAllowed &() const; 00069 #else 00070 operator H4508_NamePresentationAllowed &(); 00071 operator const H4508_NamePresentationAllowed &() const; 00072 #endif 00073 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00074 operator H4508_NamePresentationRestricted &() const; 00075 #else 00076 operator H4508_NamePresentationRestricted &(); 00077 operator const H4508_NamePresentationRestricted &() const; 00078 #endif 00079 00080 BOOL CreateObject(); 00081 PObject * Clone() const; 00082 }; 00083 00084 00085 // 00086 // NamePresentationAllowed 00087 // 00088 00089 class H4508_SimpleName; 00090 class H4508_ExtendedName; 00091 00092 class H4508_NamePresentationAllowed : public PASN_Choice 00093 { 00094 #ifndef PASN_LEANANDMEAN 00095 PCLASSINFO(H4508_NamePresentationAllowed, PASN_Choice); 00096 #endif 00097 public: 00098 H4508_NamePresentationAllowed(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 00099 00100 enum Choices { 00101 e_simpleName, 00102 e_extendedName 00103 }; 00104 00105 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00106 operator H4508_SimpleName &() const; 00107 #else 00108 operator H4508_SimpleName &(); 00109 operator const H4508_SimpleName &() const; 00110 #endif 00111 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00112 operator H4508_ExtendedName &() const; 00113 #else 00114 operator H4508_ExtendedName &(); 00115 operator const H4508_ExtendedName &() const; 00116 #endif 00117 00118 BOOL CreateObject(); 00119 PObject * Clone() const; 00120 }; 00121 00122 00123 // 00124 // NamePresentationRestricted 00125 // 00126 00127 class H4508_SimpleName; 00128 class H4508_ExtendedName; 00129 00130 class H4508_NamePresentationRestricted : public PASN_Choice 00131 { 00132 #ifndef PASN_LEANANDMEAN 00133 PCLASSINFO(H4508_NamePresentationRestricted, PASN_Choice); 00134 #endif 00135 public: 00136 H4508_NamePresentationRestricted(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 00137 00138 enum Choices { 00139 e_simpleName, 00140 e_extendedName, 00141 e_restrictedNull 00142 }; 00143 00144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00145 operator H4508_SimpleName &() const; 00146 #else 00147 operator H4508_SimpleName &(); 00148 operator const H4508_SimpleName &() const; 00149 #endif 00150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00151 operator H4508_ExtendedName &() const; 00152 #else 00153 operator H4508_ExtendedName &(); 00154 operator const H4508_ExtendedName &() const; 00155 #endif 00156 00157 BOOL CreateObject(); 00158 PObject * Clone() const; 00159 }; 00160 00161 00162 // 00163 // SimpleName 00164 // 00165 00166 class H4508_SimpleName : public PASN_OctetString 00167 { 00168 #ifndef PASN_LEANANDMEAN 00169 PCLASSINFO(H4508_SimpleName, PASN_OctetString); 00170 #endif 00171 public: 00172 H4508_SimpleName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass); 00173 00174 H4508_SimpleName(const char * v); 00175 H4508_SimpleName(const PString & v); 00176 H4508_SimpleName(const PBYTEArray & v); 00177 00178 H4508_SimpleName & operator=(const char * v); 00179 H4508_SimpleName & operator=(const PString & v); 00180 H4508_SimpleName & operator=(const PBYTEArray & v); 00181 PObject * Clone() const; 00182 }; 00183 00184 00185 // 00186 // ExtendedName 00187 // 00188 00189 class H4508_ExtendedName : public PASN_BMPString 00190 { 00191 #ifndef PASN_LEANANDMEAN 00192 PCLASSINFO(H4508_ExtendedName, PASN_BMPString); 00193 #endif 00194 public: 00195 H4508_ExtendedName(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass); 00196 00197 H4508_ExtendedName & operator=(const char * v); 00198 H4508_ExtendedName & operator=(const PString & v); 00199 H4508_ExtendedName & operator=(const PWORDArray & v); 00200 H4508_ExtendedName & operator=(const PASN_BMPString & v); 00201 PObject * Clone() const; 00202 }; 00203 00204 00205 #endif // __H4508_H 00206 00207 #endif // if ! H323_DISABLE_H4508 00208 00209 00210 // End of h4508.h