OpenH323 1.18.0
|
00001 // 00002 // h4504.h 00003 // 00004 // Code automatically generated by asnparse. 00005 // 00006 00007 #if ! H323_DISABLE_H4504 00008 00009 #ifndef __H4504_H 00010 #define __H4504_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 "h4501.h" 00020 #include "h225.h" 00021 00022 00023 // 00024 // CallHoldOperation 00025 // 00026 00027 class H4504_CallHoldOperation : public PASN_Enumeration 00028 { 00029 #ifndef PASN_LEANANDMEAN 00030 PCLASSINFO(H4504_CallHoldOperation, PASN_Enumeration); 00031 #endif 00032 public: 00033 H4504_CallHoldOperation(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 00034 00035 enum Enumerations { 00036 e_holdNotific = 101, 00037 e_retrieveNotific, 00038 e_remoteHold, 00039 e_remoteRetrieve 00040 }; 00041 00042 H4504_CallHoldOperation & operator=(unsigned v); 00043 PObject * Clone() const; 00044 }; 00045 00046 00047 // 00048 // MixedExtension 00049 // 00050 00051 class H4501_Extension; 00052 class H225_NonStandardParameter; 00053 00054 class H4504_MixedExtension : public PASN_Choice 00055 { 00056 #ifndef PASN_LEANANDMEAN 00057 PCLASSINFO(H4504_MixedExtension, PASN_Choice); 00058 #endif 00059 public: 00060 H4504_MixedExtension(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 00061 00062 enum Choices { 00063 e_extension, 00064 e_nonStandardData 00065 }; 00066 00067 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00068 operator H4501_Extension &() const; 00069 #else 00070 operator H4501_Extension &(); 00071 operator const H4501_Extension &() const; 00072 #endif 00073 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00074 operator H225_NonStandardParameter &() const; 00075 #else 00076 operator H225_NonStandardParameter &(); 00077 operator const H225_NonStandardParameter &() const; 00078 #endif 00079 00080 BOOL CreateObject(); 00081 PObject * Clone() const; 00082 }; 00083 00084 00085 // 00086 // Extension 00087 // 00088 00089 class H4504_Extension : public PASN_Sequence 00090 { 00091 #ifndef PASN_LEANANDMEAN 00092 PCLASSINFO(H4504_Extension, PASN_Sequence); 00093 #endif 00094 public: 00095 H4504_Extension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00096 00097 PASN_ObjectId m_extensionId; 00098 PASN_OctetString m_argument; 00099 00100 PINDEX GetDataLength() const; 00101 BOOL Decode(PASN_Stream & strm); 00102 void Encode(PASN_Stream & strm) const; 00103 #ifndef PASN_NOPRINTON 00104 void PrintOn(ostream & strm) const; 00105 #endif 00106 Comparison Compare(const PObject & obj) const; 00107 PObject * Clone() const; 00108 }; 00109 00110 00111 // 00112 // ArrayOf_MixedExtension 00113 // 00114 00115 class H4504_MixedExtension; 00116 00117 class H4504_ArrayOf_MixedExtension : public PASN_Array 00118 { 00119 #ifndef PASN_LEANANDMEAN 00120 PCLASSINFO(H4504_ArrayOf_MixedExtension, PASN_Array); 00121 #endif 00122 public: 00123 H4504_ArrayOf_MixedExtension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00124 00125 PASN_Object * CreateObject() const; 00126 H4504_MixedExtension & operator[](PINDEX i) const; 00127 PObject * Clone() const; 00128 }; 00129 00130 00131 // 00132 // HoldNotificArg 00133 // 00134 00135 class H4504_HoldNotificArg : public PASN_Sequence 00136 { 00137 #ifndef PASN_LEANANDMEAN 00138 PCLASSINFO(H4504_HoldNotificArg, PASN_Sequence); 00139 #endif 00140 public: 00141 H4504_HoldNotificArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00142 00143 enum OptionalFields { 00144 e_extensionArg 00145 }; 00146 00147 H4504_ArrayOf_MixedExtension m_extensionArg; 00148 00149 PINDEX GetDataLength() const; 00150 BOOL Decode(PASN_Stream & strm); 00151 void Encode(PASN_Stream & strm) const; 00152 #ifndef PASN_NOPRINTON 00153 void PrintOn(ostream & strm) const; 00154 #endif 00155 Comparison Compare(const PObject & obj) const; 00156 PObject * Clone() const; 00157 }; 00158 00159 00160 // 00161 // RetrieveNotificArg 00162 // 00163 00164 class H4504_RetrieveNotificArg : public PASN_Sequence 00165 { 00166 #ifndef PASN_LEANANDMEAN 00167 PCLASSINFO(H4504_RetrieveNotificArg, PASN_Sequence); 00168 #endif 00169 public: 00170 H4504_RetrieveNotificArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00171 00172 enum OptionalFields { 00173 e_extensionArg 00174 }; 00175 00176 H4504_ArrayOf_MixedExtension m_extensionArg; 00177 00178 PINDEX GetDataLength() const; 00179 BOOL Decode(PASN_Stream & strm); 00180 void Encode(PASN_Stream & strm) const; 00181 #ifndef PASN_NOPRINTON 00182 void PrintOn(ostream & strm) const; 00183 #endif 00184 Comparison Compare(const PObject & obj) const; 00185 PObject * Clone() const; 00186 }; 00187 00188 00189 // 00190 // RemoteHoldArg 00191 // 00192 00193 class H4504_RemoteHoldArg : public PASN_Sequence 00194 { 00195 #ifndef PASN_LEANANDMEAN 00196 PCLASSINFO(H4504_RemoteHoldArg, PASN_Sequence); 00197 #endif 00198 public: 00199 H4504_RemoteHoldArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00200 00201 enum OptionalFields { 00202 e_extensionArg 00203 }; 00204 00205 H4504_ArrayOf_MixedExtension m_extensionArg; 00206 00207 PINDEX GetDataLength() const; 00208 BOOL Decode(PASN_Stream & strm); 00209 void Encode(PASN_Stream & strm) const; 00210 #ifndef PASN_NOPRINTON 00211 void PrintOn(ostream & strm) const; 00212 #endif 00213 Comparison Compare(const PObject & obj) const; 00214 PObject * Clone() const; 00215 }; 00216 00217 00218 // 00219 // RemoteHoldRes 00220 // 00221 00222 class H4504_RemoteHoldRes : public PASN_Sequence 00223 { 00224 #ifndef PASN_LEANANDMEAN 00225 PCLASSINFO(H4504_RemoteHoldRes, PASN_Sequence); 00226 #endif 00227 public: 00228 H4504_RemoteHoldRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00229 00230 enum OptionalFields { 00231 e_extensionRes 00232 }; 00233 00234 H4504_ArrayOf_MixedExtension m_extensionRes; 00235 00236 PINDEX GetDataLength() const; 00237 BOOL Decode(PASN_Stream & strm); 00238 void Encode(PASN_Stream & strm) const; 00239 #ifndef PASN_NOPRINTON 00240 void PrintOn(ostream & strm) const; 00241 #endif 00242 Comparison Compare(const PObject & obj) const; 00243 PObject * Clone() const; 00244 }; 00245 00246 00247 // 00248 // RemoteRetrieveArg 00249 // 00250 00251 class H4504_RemoteRetrieveArg : public PASN_Sequence 00252 { 00253 #ifndef PASN_LEANANDMEAN 00254 PCLASSINFO(H4504_RemoteRetrieveArg, PASN_Sequence); 00255 #endif 00256 public: 00257 H4504_RemoteRetrieveArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00258 00259 enum OptionalFields { 00260 e_extensionArg 00261 }; 00262 00263 H4504_ArrayOf_MixedExtension m_extensionArg; 00264 00265 PINDEX GetDataLength() const; 00266 BOOL Decode(PASN_Stream & strm); 00267 void Encode(PASN_Stream & strm) const; 00268 #ifndef PASN_NOPRINTON 00269 void PrintOn(ostream & strm) const; 00270 #endif 00271 Comparison Compare(const PObject & obj) const; 00272 PObject * Clone() const; 00273 }; 00274 00275 00276 // 00277 // RemoteRetrieveRes 00278 // 00279 00280 class H4504_RemoteRetrieveRes : public PASN_Sequence 00281 { 00282 #ifndef PASN_LEANANDMEAN 00283 PCLASSINFO(H4504_RemoteRetrieveRes, PASN_Sequence); 00284 #endif 00285 public: 00286 H4504_RemoteRetrieveRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00287 00288 enum OptionalFields { 00289 e_extensionRes 00290 }; 00291 00292 H4504_ArrayOf_MixedExtension m_extensionRes; 00293 00294 PINDEX GetDataLength() const; 00295 BOOL Decode(PASN_Stream & strm); 00296 void Encode(PASN_Stream & strm) const; 00297 #ifndef PASN_NOPRINTON 00298 void PrintOn(ostream & strm) const; 00299 #endif 00300 Comparison Compare(const PObject & obj) const; 00301 PObject * Clone() const; 00302 }; 00303 00304 00305 #endif // __H4504_H 00306 00307 #endif // if ! H323_DISABLE_H4504 00308 00309 00310 // End of h4504.h