# h4509.h

Go to the documentation of this file.

    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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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