OpenH323 1.18.0
|
00001 // 00002 // h4509.h 00003 // 00004 // Code automatically generated by asnparse. 00005 // 00006 00007 #if ! H323_DISABLE_H4509 00008 00009 #ifndef __H4509_H 00010 #define __H4509_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 "h225.h" 00020 #include "h4501.h" 00021 #include "h4504.h" 00022 #include "h4501.h" 00023 #include "h4507.h" 00024 00025 00026 // 00027 // H323CallCompletionOperations 00028 // 00029 00030 class H4509_H323CallCompletionOperations : public PASN_Enumeration 00031 { 00032 #ifndef PASN_LEANANDMEAN 00033 PCLASSINFO(H4509_H323CallCompletionOperations, PASN_Enumeration); 00034 #endif 00035 public: 00036 H4509_H323CallCompletionOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 00037 00038 enum Enumerations { 00039 e_ccbsRequest = 40, 00040 e_ccnrRequest = 27, 00041 e_ccCancel, 00042 e_ccExecPossible, 00043 e_ccRingout = 31, 00044 e_ccSuspend, 00045 e_ccResume 00046 }; 00047 00048 H4509_H323CallCompletionOperations & operator=(unsigned v); 00049 PObject * Clone() const; 00050 }; 00051 00052 00053 // 00054 // CcArg 00055 // 00056 00057 class H4509_CcShortArg; 00058 class H4509_CcLongArg; 00059 00060 class H4509_CcArg : public PASN_Choice 00061 { 00062 #ifndef PASN_LEANANDMEAN 00063 PCLASSINFO(H4509_CcArg, PASN_Choice); 00064 #endif 00065 public: 00066 H4509_CcArg(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 00067 00068 enum Choices { 00069 e_shortArg, 00070 e_longArg 00071 }; 00072 00073 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00074 operator H4509_CcShortArg &() const; 00075 #else 00076 operator H4509_CcShortArg &(); 00077 operator const H4509_CcShortArg &() const; 00078 #endif 00079 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 00080 operator H4509_CcLongArg &() const; 00081 #else 00082 operator H4509_CcLongArg &(); 00083 operator const H4509_CcLongArg &() const; 00084 #endif 00085 00086 BOOL CreateObject(); 00087 PObject * Clone() const; 00088 }; 00089 00090 00091 // 00092 // CallCompletionErrors 00093 // 00094 00095 class H4509_CallCompletionErrors : public PASN_Enumeration 00096 { 00097 #ifndef PASN_LEANANDMEAN 00098 PCLASSINFO(H4509_CallCompletionErrors, PASN_Enumeration); 00099 #endif 00100 public: 00101 H4509_CallCompletionErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 00102 00103 enum Enumerations { 00104 e_shortTermRejection = 1010, 00105 e_longTermRejection, 00106 e_remoteUserBusyAgain, 00107 e_failureToMatch 00108 }; 00109 00110 H4509_CallCompletionErrors & operator=(unsigned v); 00111 PObject * Clone() const; 00112 }; 00113 00114 00115 // 00116 // ArrayOf_MixedExtension 00117 // 00118 00119 class H4504_MixedExtension; 00120 00121 class H4509_ArrayOf_MixedExtension : public PASN_Array 00122 { 00123 #ifndef PASN_LEANANDMEAN 00124 PCLASSINFO(H4509_ArrayOf_MixedExtension, PASN_Array); 00125 #endif 00126 public: 00127 H4509_ArrayOf_MixedExtension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00128 00129 PASN_Object * CreateObject() const; 00130 H4504_MixedExtension & operator[](PINDEX i) const; 00131 PObject * Clone() const; 00132 }; 00133 00134 00135 // 00136 // CcRequestArg 00137 // 00138 00139 class H4509_CcRequestArg : public PASN_Sequence 00140 { 00141 #ifndef PASN_LEANANDMEAN 00142 PCLASSINFO(H4509_CcRequestArg, PASN_Sequence); 00143 #endif 00144 public: 00145 H4509_CcRequestArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00146 00147 enum OptionalFields { 00148 e_ccIdentifier, 00149 e_retain_sig_connection, 00150 e_extension 00151 }; 00152 00153 H4501_EndpointAddress m_numberA; 00154 H4501_EndpointAddress m_numberB; 00155 H225_CallIdentifier m_ccIdentifier; 00156 H4507_BasicService m_service; 00157 PASN_Boolean m_can_retain_service; 00158 PASN_Boolean m_retain_sig_connection; 00159 H4509_ArrayOf_MixedExtension m_extension; 00160 00161 PINDEX GetDataLength() const; 00162 BOOL Decode(PASN_Stream & strm); 00163 void Encode(PASN_Stream & strm) const; 00164 #ifndef PASN_NOPRINTON 00165 void PrintOn(ostream & strm) const; 00166 #endif 00167 Comparison Compare(const PObject & obj) const; 00168 PObject * Clone() const; 00169 }; 00170 00171 00172 // 00173 // CcRequestRes 00174 // 00175 00176 class H4509_CcRequestRes : public PASN_Sequence 00177 { 00178 #ifndef PASN_LEANANDMEAN 00179 PCLASSINFO(H4509_CcRequestRes, PASN_Sequence); 00180 #endif 00181 public: 00182 H4509_CcRequestRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00183 00184 enum OptionalFields { 00185 e_extension 00186 }; 00187 00188 PASN_Boolean m_retain_service; 00189 H4509_ArrayOf_MixedExtension m_extension; 00190 00191 PINDEX GetDataLength() const; 00192 BOOL Decode(PASN_Stream & strm); 00193 void Encode(PASN_Stream & strm) const; 00194 #ifndef PASN_NOPRINTON 00195 void PrintOn(ostream & strm) const; 00196 #endif 00197 Comparison Compare(const PObject & obj) const; 00198 PObject * Clone() const; 00199 }; 00200 00201 00202 // 00203 // CcShortArg 00204 // 00205 00206 class H4509_CcShortArg : public PASN_Sequence 00207 { 00208 #ifndef PASN_LEANANDMEAN 00209 PCLASSINFO(H4509_CcShortArg, PASN_Sequence); 00210 #endif 00211 public: 00212 H4509_CcShortArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00213 00214 enum OptionalFields { 00215 e_ccIdentifier, 00216 e_extension 00217 }; 00218 00219 H225_CallIdentifier m_ccIdentifier; 00220 H4509_ArrayOf_MixedExtension m_extension; 00221 00222 PINDEX GetDataLength() const; 00223 BOOL Decode(PASN_Stream & strm); 00224 void Encode(PASN_Stream & strm) const; 00225 #ifndef PASN_NOPRINTON 00226 void PrintOn(ostream & strm) const; 00227 #endif 00228 Comparison Compare(const PObject & obj) const; 00229 PObject * Clone() const; 00230 }; 00231 00232 00233 // 00234 // CcLongArg 00235 // 00236 00237 class H4509_CcLongArg : public PASN_Sequence 00238 { 00239 #ifndef PASN_LEANANDMEAN 00240 PCLASSINFO(H4509_CcLongArg, PASN_Sequence); 00241 #endif 00242 public: 00243 H4509_CcLongArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 00244 00245 enum OptionalFields { 00246 e_numberA, 00247 e_numberB, 00248 e_ccIdentifier, 00249 e_service, 00250 e_extension 00251 }; 00252 00253 H4501_EndpointAddress m_numberA; 00254 H4501_EndpointAddress m_numberB; 00255 H225_CallIdentifier m_ccIdentifier; 00256 H4507_BasicService m_service; 00257 H4509_ArrayOf_MixedExtension m_extension; 00258 00259 PINDEX GetDataLength() const; 00260 BOOL Decode(PASN_Stream & strm); 00261 void Encode(PASN_Stream & strm) const; 00262 #ifndef PASN_NOPRINTON 00263 void PrintOn(ostream & strm) const; 00264 #endif 00265 Comparison Compare(const PObject & obj) const; 00266 PObject * Clone() const; 00267 }; 00268 00269 00270 #endif // __H4509_H 00271 00272 #endif // if ! H323_DISABLE_H4509 00273 00274 00275 // End of h4509.h