Utilise new MergeSym feature to no longer overwrite the source .DEF file when buildin...
[openh323.git] / include / h4503.h
blob232bda7294242d0fbea254c45c64bfb4dd0bac0c
1 //
2 // h4503.h
3 //
4 // Code automatically generated by asnparse.
5 //
7 #if ! H323_DISABLE_H4503
9 #ifndef __H4503_H
10 #define __H4503_H
12 #ifdef P_USE_PRAGMA
13 #pragma interface
14 #endif
16 #include <ptclib/asner.h>
18 #include "h4501.h"
19 #include "h225.h"
20 #include "h225.h"
21 #include "h4501.h"
22 #include "h4501.h"
26 // H323CallDiversionOperations
29 class H4503_H323CallDiversionOperations : public PASN_Enumeration
31 #ifndef PASN_LEANANDMEAN
32 PCLASSINFO(H4503_H323CallDiversionOperations, PASN_Enumeration);
33 #endif
34 public:
35 H4503_H323CallDiversionOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
37 enum Enumerations {
38 e_activateDiversionQ = 15,
39 e_deactivateDiversionQ,
40 e_interrogateDiversionQ,
41 e_checkRestriction,
42 e_callRerouting,
43 e_divertingLegInformation1,
44 e_divertingLegInformation2,
45 e_divertingLegInformation3,
46 e_divertingLegInformation4 = 100,
47 e_cfnrDivertedLegFailed = 23
50 H4503_H323CallDiversionOperations & operator=(unsigned v);
51 PObject * Clone() const;
56 // DiversionReason
59 class H4503_DiversionReason : public PASN_Enumeration
61 #ifndef PASN_LEANANDMEAN
62 PCLASSINFO(H4503_DiversionReason, PASN_Enumeration);
63 #endif
64 public:
65 H4503_DiversionReason(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
67 enum Enumerations {
68 e_unknown,
69 e_cfu,
70 e_cfb,
71 e_cfnr
74 H4503_DiversionReason & operator=(unsigned v);
75 PObject * Clone() const;
80 // IntResultList
83 class H4503_IntResult;
85 class H4503_IntResultList : public PASN_Array
87 #ifndef PASN_LEANANDMEAN
88 PCLASSINFO(H4503_IntResultList, PASN_Array);
89 #endif
90 public:
91 H4503_IntResultList(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
93 PASN_Object * CreateObject() const;
94 H4503_IntResult & operator[](PINDEX i) const;
95 PObject * Clone() const;
100 // Procedure
103 class H4503_Procedure : public PASN_Enumeration
105 #ifndef PASN_LEANANDMEAN
106 PCLASSINFO(H4503_Procedure, PASN_Enumeration);
107 #endif
108 public:
109 H4503_Procedure(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
111 enum Enumerations {
112 e_cfu,
113 e_cfb,
114 e_cfnr
117 H4503_Procedure & operator=(unsigned v);
118 PObject * Clone() const;
123 // SubscriptionOption
126 class H4503_SubscriptionOption : public PASN_Enumeration
128 #ifndef PASN_LEANANDMEAN
129 PCLASSINFO(H4503_SubscriptionOption, PASN_Enumeration);
130 #endif
131 public:
132 H4503_SubscriptionOption(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
134 enum Enumerations {
135 e_noNotification,
136 e_notificationWithoutDivertedToNr,
137 e_notificationWithDivertedToNr
140 H4503_SubscriptionOption & operator=(unsigned v);
141 PObject * Clone() const;
146 // CallDiversionErrors
149 class H4503_CallDiversionErrors : public PASN_Enumeration
151 #ifndef PASN_LEANANDMEAN
152 PCLASSINFO(H4503_CallDiversionErrors, PASN_Enumeration);
153 #endif
154 public:
155 H4503_CallDiversionErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
157 enum Enumerations {
158 e_invalidDivertedNumber = 12,
159 e_specialServiceNumber = 14,
160 e_diversionToServedUserNumber,
161 e_numberOfDiversionsExceeded = 24,
162 e_temporarilyUnavailable = 1000,
163 e_notAuthorized = 1007,
164 e_unspecified
167 H4503_CallDiversionErrors & operator=(unsigned v);
168 PObject * Clone() const;
173 // BasicService
176 class H4503_BasicService : public PASN_Enumeration
178 #ifndef PASN_LEANANDMEAN
179 PCLASSINFO(H4503_BasicService, PASN_Enumeration);
180 #endif
181 public:
182 H4503_BasicService(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
184 enum Enumerations {
185 e_allServices
188 H4503_BasicService & operator=(unsigned v);
189 PObject * Clone() const;
194 // ExtensionSeq
197 class H4501_Extension;
199 class H4503_ExtensionSeq : public PASN_Array
201 #ifndef PASN_LEANANDMEAN
202 PCLASSINFO(H4503_ExtensionSeq, PASN_Array);
203 #endif
204 public:
205 H4503_ExtensionSeq(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
207 PASN_Object * CreateObject() const;
208 H4501_Extension & operator[](PINDEX i) const;
209 PObject * Clone() const;
214 // IntResult_extension
217 class H4503_ExtensionSeq;
218 class H225_NonStandardParameter;
220 class H4503_IntResult_extension : public PASN_Choice
222 #ifndef PASN_LEANANDMEAN
223 PCLASSINFO(H4503_IntResult_extension, PASN_Choice);
224 #endif
225 public:
226 H4503_IntResult_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
228 enum Choices {
229 e_extensionSeq,
230 e_nonStandardData
233 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
234 operator H4503_ExtensionSeq &() const;
235 #else
236 operator H4503_ExtensionSeq &();
237 operator const H4503_ExtensionSeq &() const;
238 #endif
239 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
240 operator H225_NonStandardParameter &() const;
241 #else
242 operator H225_NonStandardParameter &();
243 operator const H225_NonStandardParameter &() const;
244 #endif
246 BOOL CreateObject();
247 PObject * Clone() const;
252 // DivertingLegInfo2Arg_extension
255 class H4503_ExtensionSeq;
256 class H225_NonStandardParameter;
258 class H4503_DivertingLegInfo2Arg_extension : public PASN_Choice
260 #ifndef PASN_LEANANDMEAN
261 PCLASSINFO(H4503_DivertingLegInfo2Arg_extension, PASN_Choice);
262 #endif
263 public:
264 H4503_DivertingLegInfo2Arg_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
266 enum Choices {
267 e_extensionSeq,
268 e_nonStandardData
271 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
272 operator H4503_ExtensionSeq &() const;
273 #else
274 operator H4503_ExtensionSeq &();
275 operator const H4503_ExtensionSeq &() const;
276 #endif
277 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
278 operator H225_NonStandardParameter &() const;
279 #else
280 operator H225_NonStandardParameter &();
281 operator const H225_NonStandardParameter &() const;
282 #endif
284 BOOL CreateObject();
285 PObject * Clone() const;
290 // IntResult
293 class H4503_IntResult : public PASN_Sequence
295 #ifndef PASN_LEANANDMEAN
296 PCLASSINFO(H4503_IntResult, PASN_Sequence);
297 #endif
298 public:
299 H4503_IntResult(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
301 enum OptionalFields {
302 e_extension
305 H4501_EndpointAddress m_servedUserNr;
306 H4503_BasicService m_basicService;
307 H4503_Procedure m_procedure;
308 H4501_EndpointAddress m_divertedToAddress;
309 PASN_Boolean m_remoteEnabled;
310 H4503_IntResult_extension m_extension;
312 PINDEX GetDataLength() const;
313 BOOL Decode(PASN_Stream & strm);
314 void Encode(PASN_Stream & strm) const;
315 #ifndef PASN_NOPRINTON
316 void PrintOn(ostream & strm) const;
317 #endif
318 Comparison Compare(const PObject & obj) const;
319 PObject * Clone() const;
324 // DivertingLegInfo2Arg
327 class H4503_DivertingLegInfo2Arg : public PASN_Sequence
329 #ifndef PASN_LEANANDMEAN
330 PCLASSINFO(H4503_DivertingLegInfo2Arg, PASN_Sequence);
331 #endif
332 public:
333 H4503_DivertingLegInfo2Arg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
335 enum OptionalFields {
336 e_originalDiversionReason,
337 e_divertingNr,
338 e_originalCalledNr,
339 e_redirectingInfo,
340 e_originalCalledInfo,
341 e_extension
344 PASN_Integer m_diversionCounter;
345 H4503_DiversionReason m_diversionReason;
346 H4503_DiversionReason m_originalDiversionReason;
347 H4501_EndpointAddress m_divertingNr;
348 H4501_EndpointAddress m_originalCalledNr;
349 PASN_BMPString m_redirectingInfo;
350 PASN_BMPString m_originalCalledInfo;
351 H4503_DivertingLegInfo2Arg_extension m_extension;
353 PINDEX GetDataLength() const;
354 BOOL Decode(PASN_Stream & strm);
355 void Encode(PASN_Stream & strm) const;
356 #ifndef PASN_NOPRINTON
357 void PrintOn(ostream & strm) const;
358 #endif
359 Comparison Compare(const PObject & obj) const;
360 PObject * Clone() const;
364 #endif // __H4503_H
366 #endif // if ! H323_DISABLE_H4503
369 // End of h4503.h