# h4504.h

Go to the documentation of this file.

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