h4503.h

Go to the documentation of this file.
00001 //
00002 // h4503.h
00003 //
00004 // Code automatically generated by asnparse.
00005 //
00006 
00007 #if ! H323_DISABLE_H4503
00008 
00009 #ifndef __H4503_H
00010 #define __H4503_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 "h225.h"
00021 #include "h4501.h"
00022 #include "h4501.h"
00023 
00024 
00025 //
00026 // H323CallDiversionOperations
00027 //
00028 
00029 class H4503_H323CallDiversionOperations : public PASN_Enumeration
00030 {
00031 #ifndef PASN_LEANANDMEAN
00032     PCLASSINFO(H4503_H323CallDiversionOperations, PASN_Enumeration);
00033 #endif
00034   public:
00035     H4503_H323CallDiversionOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00036 
00037     enum Enumerations {
00038       e_activateDiversionQ = 15,
00039       e_deactivateDiversionQ,
00040       e_interrogateDiversionQ,
00041       e_checkRestriction,
00042       e_callRerouting,
00043       e_divertingLegInformation1,
00044       e_divertingLegInformation2,
00045       e_divertingLegInformation3,
00046       e_divertingLegInformation4 = 100,
00047       e_cfnrDivertedLegFailed = 23
00048     };
00049 
00050     H4503_H323CallDiversionOperations & operator=(unsigned v);
00051     PObject * Clone() const;
00052 };
00053 
00054 
00055 //
00056 // DiversionReason
00057 //
00058 
00059 class H4503_DiversionReason : public PASN_Enumeration
00060 {
00061 #ifndef PASN_LEANANDMEAN
00062     PCLASSINFO(H4503_DiversionReason, PASN_Enumeration);
00063 #endif
00064   public:
00065     H4503_DiversionReason(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00066 
00067     enum Enumerations {
00068       e_unknown,
00069       e_cfu,
00070       e_cfb,
00071       e_cfnr
00072     };
00073 
00074     H4503_DiversionReason & operator=(unsigned v);
00075     PObject * Clone() const;
00076 };
00077 
00078 
00079 //
00080 // IntResultList
00081 //
00082 
00083 class H4503_IntResult;
00084 
00085 class H4503_IntResultList : public PASN_Array
00086 {
00087 #ifndef PASN_LEANANDMEAN
00088     PCLASSINFO(H4503_IntResultList, PASN_Array);
00089 #endif
00090   public:
00091     H4503_IntResultList(unsigned tag = UniversalSet, TagClass tagClass = UniversalTagClass);
00092 
00093     PASN_Object * CreateObject() const;
00094     H4503_IntResult & operator[](PINDEX i) const;
00095     PObject * Clone() const;
00096 };
00097 
00098 
00099 //
00100 // Procedure
00101 //
00102 
00103 class H4503_Procedure : public PASN_Enumeration
00104 {
00105 #ifndef PASN_LEANANDMEAN
00106     PCLASSINFO(H4503_Procedure, PASN_Enumeration);
00107 #endif
00108   public:
00109     H4503_Procedure(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00110 
00111     enum Enumerations {
00112       e_cfu,
00113       e_cfb,
00114       e_cfnr
00115     };
00116 
00117     H4503_Procedure & operator=(unsigned v);
00118     PObject * Clone() const;
00119 };
00120 
00121 
00122 //
00123 // SubscriptionOption
00124 //
00125 
00126 class H4503_SubscriptionOption : public PASN_Enumeration
00127 {
00128 #ifndef PASN_LEANANDMEAN
00129     PCLASSINFO(H4503_SubscriptionOption, PASN_Enumeration);
00130 #endif
00131   public:
00132     H4503_SubscriptionOption(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00133 
00134     enum Enumerations {
00135       e_noNotification,
00136       e_notificationWithoutDivertedToNr,
00137       e_notificationWithDivertedToNr
00138     };
00139 
00140     H4503_SubscriptionOption & operator=(unsigned v);
00141     PObject * Clone() const;
00142 };
00143 
00144 
00145 //
00146 // CallDiversionErrors
00147 //
00148 
00149 class H4503_CallDiversionErrors : public PASN_Enumeration
00150 {
00151 #ifndef PASN_LEANANDMEAN
00152     PCLASSINFO(H4503_CallDiversionErrors, PASN_Enumeration);
00153 #endif
00154   public:
00155     H4503_CallDiversionErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00156 
00157     enum Enumerations {
00158       e_invalidDivertedNumber = 12,
00159       e_specialServiceNumber = 14,
00160       e_diversionToServedUserNumber,
00161       e_numberOfDiversionsExceeded = 24,
00162       e_temporarilyUnavailable = 1000,
00163       e_notAuthorized = 1007,
00164       e_unspecified
00165     };
00166 
00167     H4503_CallDiversionErrors & operator=(unsigned v);
00168     PObject * Clone() const;
00169 };
00170 
00171 
00172 //
00173 // BasicService
00174 //
00175 
00176 class H4503_BasicService : public PASN_Enumeration
00177 {
00178 #ifndef PASN_LEANANDMEAN
00179     PCLASSINFO(H4503_BasicService, PASN_Enumeration);
00180 #endif
00181   public:
00182     H4503_BasicService(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00183 
00184     enum Enumerations {
00185       e_allServices
00186     };
00187 
00188     H4503_BasicService & operator=(unsigned v);
00189     PObject * Clone() const;
00190 };
00191 
00192 
00193 //
00194 // ExtensionSeq
00195 //
00196 
00197 class H4501_Extension;
00198 
00199 class H4503_ExtensionSeq : public PASN_Array
00200 {
00201 #ifndef PASN_LEANANDMEAN
00202     PCLASSINFO(H4503_ExtensionSeq, PASN_Array);
00203 #endif
00204   public:
00205     H4503_ExtensionSeq(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00206 
00207     PASN_Object * CreateObject() const;
00208     H4501_Extension & operator[](PINDEX i) const;
00209     PObject * Clone() const;
00210 };
00211 
00212 
00213 //
00214 // IntResult_extension
00215 //
00216 
00217 class H4503_ExtensionSeq;
00218 class H225_NonStandardParameter;
00219 
00220 class H4503_IntResult_extension : public PASN_Choice
00221 {
00222 #ifndef PASN_LEANANDMEAN
00223     PCLASSINFO(H4503_IntResult_extension, PASN_Choice);
00224 #endif
00225   public:
00226     H4503_IntResult_extension(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00227 
00228     enum Choices {
00229       e_extensionSeq,
00230       e_nonStandardData
00231     };
00232 
00233 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00234     operator H4503_ExtensionSeq &() const;
00235 #else
00236     operator H4503_ExtensionSeq &();
00237     operator const H4503_ExtensionSeq &() const;
00238 #endif
00239 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00240     operator H225_NonStandardParameter &() const;
00241 #else
00242     operator H225_NonStandardParameter &();
00243     operator const H225_NonStandardParameter &() const;
00244 #endif
00245 
00246     BOOL CreateObject();
00247     PObject * Clone() const;
00248 };
00249 
00250 
00251 //
00252 // IntResult
00253 //
00254 
00255 class H4503_IntResult : public PASN_Sequence
00256 {
00257 #ifndef PASN_LEANANDMEAN
00258     PCLASSINFO(H4503_IntResult, PASN_Sequence);
00259 #endif
00260   public:
00261     H4503_IntResult(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00262 
00263     enum OptionalFields {
00264       e_extension
00265     };
00266 
00267     H4501_EndpointAddress m_servedUserNr;
00268     H4503_BasicService m_basicService;
00269     H4503_Procedure m_procedure;
00270     H4501_EndpointAddress m_divertedToAddress;
00271     PASN_Boolean m_remoteEnabled;
00272     H4503_IntResult_extension m_extension;
00273 
00274     PINDEX GetDataLength() const;
00275     BOOL Decode(PASN_Stream & strm);
00276     void Encode(PASN_Stream & strm) const;
00277 #ifndef PASN_NOPRINTON
00278     void PrintOn(ostream & strm) const;
00279 #endif
00280     Comparison Compare(const PObject & obj) const;
00281     PObject * Clone() const;
00282 };
00283 
00284 
00285 #endif // __H4503_H
00286 
00287 #endif // if ! H323_DISABLE_H4503
00288 
00289 
00290 // End of h4503.h

Generated on Thu May 18 00:24:34 2006 for OpenH323 by  doxygen 1.4.6