t38.h

Go to the documentation of this file.
00001 //
00002 // t38.h
00003 //
00004 // Code automatically generated by asnparse.
00005 //
00006 
00007 #include <opal/buildopts.h>
00008 
00009 #if ! H323_DISABLE_T38
00010 
00011 #ifndef __T38_H
00012 #define __T38_H
00013 
00014 #ifdef P_USE_PRAGMA
00015 #pragma interface
00016 #endif
00017 
00018 #include <ptclib/asner.h>
00019 
00020 //
00021 // Type-of-msg
00022 //
00023 
00024 class T38_Type_of_msg_t30_indicator;
00025 class T38_Type_of_msg_data;
00026 
00027 class T38_Type_of_msg : public PASN_Choice
00028 {
00029 #ifndef PASN_LEANANDMEAN
00030     PCLASSINFO(T38_Type_of_msg, PASN_Choice);
00031 #endif
00032   public:
00033     T38_Type_of_msg(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00034 
00035     enum Choices {
00036       e_t30_indicator,
00037       e_data
00038     };
00039 
00040 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00041     operator T38_Type_of_msg_t30_indicator &() const;
00042 #else
00043     operator T38_Type_of_msg_t30_indicator &();
00044     operator const T38_Type_of_msg_t30_indicator &() const;
00045 #endif
00046 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00047     operator T38_Type_of_msg_data &() const;
00048 #else
00049     operator T38_Type_of_msg_data &();
00050     operator const T38_Type_of_msg_data &() const;
00051 #endif
00052 
00053     PBoolean CreateObject();
00054     PObject * Clone() const;
00055 };
00056 
00057 
00058 //
00059 // Data-Field
00060 //
00061 
00062 class T38_Data_Field_subtype;
00063 
00064 class T38_Data_Field : public PASN_Array
00065 {
00066 #ifndef PASN_LEANANDMEAN
00067     PCLASSINFO(T38_Data_Field, PASN_Array);
00068 #endif
00069   public:
00070     T38_Data_Field(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00071 
00072     PASN_Object * CreateObject() const;
00073     T38_Data_Field_subtype & operator[](PINDEX i) const;
00074     PObject * Clone() const;
00075 };
00076 
00077 
00078 //
00079 // PreCorrigendum-Data-Field
00080 //
00081 
00082 class T38_PreCorrigendum_Data_Field_subtype;
00083 
00084 class T38_PreCorrigendum_Data_Field : public PASN_Array
00085 {
00086 #ifndef PASN_LEANANDMEAN
00087     PCLASSINFO(T38_PreCorrigendum_Data_Field, PASN_Array);
00088 #endif
00089   public:
00090     T38_PreCorrigendum_Data_Field(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00091 
00092     PASN_Object * CreateObject() const;
00093     T38_PreCorrigendum_Data_Field_subtype & operator[](PINDEX i) const;
00094     PObject * Clone() const;
00095 };
00096 
00097 
00098 //
00099 // Type-of-msg_t30-indicator
00100 //
00101 
00102 class T38_Type_of_msg_t30_indicator : public PASN_Enumeration
00103 {
00104 #ifndef PASN_LEANANDMEAN
00105     PCLASSINFO(T38_Type_of_msg_t30_indicator, PASN_Enumeration);
00106 #endif
00107   public:
00108     T38_Type_of_msg_t30_indicator(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00109 
00110     enum Enumerations {
00111       e_no_signal,
00112       e_cng,
00113       e_ced,
00114       e_v21_preamble,
00115       e_v27_2400_training,
00116       e_v27_4800_training,
00117       e_v29_7200_training,
00118       e_v29_9600_training,
00119       e_v17_7200_short_training,
00120       e_v17_7200_long_training,
00121       e_v17_9600_short_training,
00122       e_v17_9600_long_training,
00123       e_v17_12000_short_training,
00124       e_v17_12000_long_training,
00125       e_v17_14400_short_training,
00126       e_v17_14400_long_training
00127     };
00128 
00129     T38_Type_of_msg_t30_indicator & operator=(unsigned v);
00130     PObject * Clone() const;
00131 };
00132 
00133 
00134 //
00135 // Type-of-msg_data
00136 //
00137 
00138 class T38_Type_of_msg_data : public PASN_Enumeration
00139 {
00140 #ifndef PASN_LEANANDMEAN
00141     PCLASSINFO(T38_Type_of_msg_data, PASN_Enumeration);
00142 #endif
00143   public:
00144     T38_Type_of_msg_data(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00145 
00146     enum Enumerations {
00147       e_v21,
00148       e_v27_2400,
00149       e_v27_4800,
00150       e_v29_7200,
00151       e_v29_9600,
00152       e_v17_7200,
00153       e_v17_9600,
00154       e_v17_12000,
00155       e_v17_14400
00156     };
00157 
00158     T38_Type_of_msg_data & operator=(unsigned v);
00159     PObject * Clone() const;
00160 };
00161 
00162 
00163 //
00164 // UDPTLPacket_error-recovery
00165 //
00166 
00167 class T38_UDPTLPacket_error_recovery_secondary_ifp_packets;
00168 class T38_UDPTLPacket_error_recovery_fec_info;
00169 
00170 class T38_UDPTLPacket_error_recovery : public PASN_Choice
00171 {
00172 #ifndef PASN_LEANANDMEAN
00173     PCLASSINFO(T38_UDPTLPacket_error_recovery, PASN_Choice);
00174 #endif
00175   public:
00176     T38_UDPTLPacket_error_recovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00177 
00178     enum Choices {
00179       e_secondary_ifp_packets,
00180       e_fec_info
00181     };
00182 
00183 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00184     operator T38_UDPTLPacket_error_recovery_secondary_ifp_packets &() const;
00185 #else
00186     operator T38_UDPTLPacket_error_recovery_secondary_ifp_packets &();
00187     operator const T38_UDPTLPacket_error_recovery_secondary_ifp_packets &() const;
00188 #endif
00189 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00190     operator T38_UDPTLPacket_error_recovery_fec_info &() const;
00191 #else
00192     operator T38_UDPTLPacket_error_recovery_fec_info &();
00193     operator const T38_UDPTLPacket_error_recovery_fec_info &() const;
00194 #endif
00195 
00196     PBoolean CreateObject();
00197     PObject * Clone() const;
00198 };
00199 
00200 
00201 //
00202 // Data-Field_subtype_field-type
00203 //
00204 
00205 class T38_Data_Field_subtype_field_type : public PASN_Enumeration
00206 {
00207 #ifndef PASN_LEANANDMEAN
00208     PCLASSINFO(T38_Data_Field_subtype_field_type, PASN_Enumeration);
00209 #endif
00210   public:
00211     T38_Data_Field_subtype_field_type(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00212 
00213     enum Enumerations {
00214       e_hdlc_data,
00215       e_hdlc_sig_end,
00216       e_hdlc_fcs_OK,
00217       e_hdlc_fcs_BAD,
00218       e_hdlc_fcs_OK_sig_end,
00219       e_hdlc_fcs_BAD_sig_end,
00220       e_t4_non_ecm_data,
00221       e_t4_non_ecm_sig_end
00222     };
00223 
00224     T38_Data_Field_subtype_field_type & operator=(unsigned v);
00225     PObject * Clone() const;
00226 };
00227 
00228 
00229 //
00230 // PreCorrigendum-Data-Field_subtype_field-type
00231 //
00232 
00233 class T38_PreCorrigendum_Data_Field_subtype_field_type : public PASN_Enumeration
00234 {
00235 #ifndef PASN_LEANANDMEAN
00236     PCLASSINFO(T38_PreCorrigendum_Data_Field_subtype_field_type, PASN_Enumeration);
00237 #endif
00238   public:
00239     T38_PreCorrigendum_Data_Field_subtype_field_type(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00240 
00241     enum Enumerations {
00242       e_hdlc_data,
00243       e_hdlc_sig_end,
00244       e_hdlc_fcs_OK,
00245       e_hdlc_fcs_BAD,
00246       e_hdlc_fcs_OK_sig_end,
00247       e_hdlc_fcs_BAD_sig_end,
00248       e_t4_non_ecm_data,
00249       e_t4_non_ecm_sig_end
00250     };
00251 
00252     T38_PreCorrigendum_Data_Field_subtype_field_type & operator=(unsigned v);
00253     PObject * Clone() const;
00254 };
00255 
00256 
00257 //
00258 // UDPTLPacket_error-recovery_secondary-ifp-packets
00259 //
00260 
00261 class T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype;
00262 
00263 class T38_UDPTLPacket_error_recovery_secondary_ifp_packets : public PASN_Array
00264 {
00265 #ifndef PASN_LEANANDMEAN
00266     PCLASSINFO(T38_UDPTLPacket_error_recovery_secondary_ifp_packets, PASN_Array);
00267 #endif
00268   public:
00269     T38_UDPTLPacket_error_recovery_secondary_ifp_packets(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00270 
00271     PASN_Object * CreateObject() const;
00272     T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype & operator[](PINDEX i) const;
00273     PObject * Clone() const;
00274 };
00275 
00276 
00277 //
00278 // ArrayOf_PASN_OctetString
00279 //
00280 
00281 class T38_ArrayOf_PASN_OctetString : public PASN_Array
00282 {
00283 #ifndef PASN_LEANANDMEAN
00284     PCLASSINFO(T38_ArrayOf_PASN_OctetString, PASN_Array);
00285 #endif
00286   public:
00287     T38_ArrayOf_PASN_OctetString(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00288 
00289     PASN_Object * CreateObject() const;
00290     PASN_OctetString & operator[](PINDEX i) const;
00291     PObject * Clone() const;
00292 };
00293 
00294 
00295 //
00296 // IFPPacket
00297 //
00298 
00299 class T38_IFPPacket : public PASN_Sequence
00300 {
00301 #ifndef PASN_LEANANDMEAN
00302     PCLASSINFO(T38_IFPPacket, PASN_Sequence);
00303 #endif
00304   public:
00305     T38_IFPPacket(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00306 
00307     enum OptionalFields {
00308       e_data_field
00309     };
00310 
00311     T38_Type_of_msg m_type_of_msg;
00312     T38_Data_Field m_data_field;
00313 
00314     PINDEX GetDataLength() const;
00315     PBoolean Decode(PASN_Stream & strm);
00316     void Encode(PASN_Stream & strm) const;
00317 #ifndef PASN_NOPRINTON
00318     void PrintOn(ostream & strm) const;
00319 #endif
00320     Comparison Compare(const PObject & obj) const;
00321     PObject * Clone() const;
00322 };
00323 
00324 
00325 //
00326 // PreCorrigendum-IFPPacket
00327 //
00328 
00329 class T38_PreCorrigendum_IFPPacket : public PASN_Sequence
00330 {
00331 #ifndef PASN_LEANANDMEAN
00332     PCLASSINFO(T38_PreCorrigendum_IFPPacket, PASN_Sequence);
00333 #endif
00334   public:
00335     T38_PreCorrigendum_IFPPacket(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00336 
00337     enum OptionalFields {
00338       e_data_field
00339     };
00340 
00341     T38_Type_of_msg m_type_of_msg;
00342     T38_PreCorrigendum_Data_Field m_data_field;
00343 
00344     PINDEX GetDataLength() const;
00345     PBoolean Decode(PASN_Stream & strm);
00346     void Encode(PASN_Stream & strm) const;
00347 #ifndef PASN_NOPRINTON
00348     void PrintOn(ostream & strm) const;
00349 #endif
00350     Comparison Compare(const PObject & obj) const;
00351     PObject * Clone() const;
00352 };
00353 
00354 
00355 //
00356 // Data-Field_subtype
00357 //
00358 
00359 class T38_Data_Field_subtype : public PASN_Sequence
00360 {
00361 #ifndef PASN_LEANANDMEAN
00362     PCLASSINFO(T38_Data_Field_subtype, PASN_Sequence);
00363 #endif
00364   public:
00365     T38_Data_Field_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00366 
00367     enum OptionalFields {
00368       e_field_data
00369     };
00370 
00371     T38_Data_Field_subtype_field_type m_field_type;
00372     PASN_OctetString m_field_data;
00373 
00374     PINDEX GetDataLength() const;
00375     PBoolean Decode(PASN_Stream & strm);
00376     void Encode(PASN_Stream & strm) const;
00377 #ifndef PASN_NOPRINTON
00378     void PrintOn(ostream & strm) const;
00379 #endif
00380     Comparison Compare(const PObject & obj) const;
00381     PObject * Clone() const;
00382 };
00383 
00384 
00385 //
00386 // PreCorrigendum-Data-Field_subtype
00387 //
00388 
00389 class T38_PreCorrigendum_Data_Field_subtype : public PASN_Sequence
00390 {
00391 #ifndef PASN_LEANANDMEAN
00392     PCLASSINFO(T38_PreCorrigendum_Data_Field_subtype, PASN_Sequence);
00393 #endif
00394   public:
00395     T38_PreCorrigendum_Data_Field_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00396 
00397     enum OptionalFields {
00398       e_field_data
00399     };
00400 
00401     T38_PreCorrigendum_Data_Field_subtype_field_type m_field_type;
00402     PASN_OctetString m_field_data;
00403 
00404     PINDEX GetDataLength() const;
00405     PBoolean Decode(PASN_Stream & strm);
00406     void Encode(PASN_Stream & strm) const;
00407 #ifndef PASN_NOPRINTON
00408     void PrintOn(ostream & strm) const;
00409 #endif
00410     Comparison Compare(const PObject & obj) const;
00411     PObject * Clone() const;
00412 };
00413 
00414 
00415 //
00416 // UDPTLPacket_primary-ifp-packet
00417 //
00418 
00419 class T38_UDPTLPacket_primary_ifp_packet : public PASN_OctetString
00420 {
00421 #ifndef PASN_LEANANDMEAN
00422     PCLASSINFO(T38_UDPTLPacket_primary_ifp_packet, PASN_OctetString);
00423 #endif
00424   public:
00425     T38_UDPTLPacket_primary_ifp_packet(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00426 
00427     PBoolean DecodeSubType(T38_IFPPacket & obj) { return PASN_OctetString::DecodeSubType(obj); }
00428     void EncodeSubType(const T38_IFPPacket & obj) { PASN_OctetString::EncodeSubType(obj); } 
00429 
00430     PObject * Clone() const;
00431 };
00432 
00433 
00434 //
00435 // UDPTLPacket_error-recovery_fec-info
00436 //
00437 
00438 class T38_UDPTLPacket_error_recovery_fec_info : public PASN_Sequence
00439 {
00440 #ifndef PASN_LEANANDMEAN
00441     PCLASSINFO(T38_UDPTLPacket_error_recovery_fec_info, PASN_Sequence);
00442 #endif
00443   public:
00444     T38_UDPTLPacket_error_recovery_fec_info(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00445 
00446     PASN_Integer m_fec_npackets;
00447     T38_ArrayOf_PASN_OctetString m_fec_data;
00448 
00449     PINDEX GetDataLength() const;
00450     PBoolean Decode(PASN_Stream & strm);
00451     void Encode(PASN_Stream & strm) const;
00452 #ifndef PASN_NOPRINTON
00453     void PrintOn(ostream & strm) const;
00454 #endif
00455     Comparison Compare(const PObject & obj) const;
00456     PObject * Clone() const;
00457 };
00458 
00459 
00460 //
00461 // UDPTLPacket_error-recovery_secondary-ifp-packets_subtype
00462 //
00463 
00464 class T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype : public PASN_OctetString
00465 {
00466 #ifndef PASN_LEANANDMEAN
00467     PCLASSINFO(T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype, PASN_OctetString);
00468 #endif
00469   public:
00470     T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00471 
00472     PBoolean DecodeSubType(T38_IFPPacket & obj) { return PASN_OctetString::DecodeSubType(obj); }
00473     void EncodeSubType(const T38_IFPPacket & obj) { PASN_OctetString::EncodeSubType(obj); } 
00474 
00475     PObject * Clone() const;
00476 };
00477 
00478 
00479 //
00480 // UDPTLPacket
00481 //
00482 
00483 class T38_UDPTLPacket : public PASN_Sequence
00484 {
00485 #ifndef PASN_LEANANDMEAN
00486     PCLASSINFO(T38_UDPTLPacket, PASN_Sequence);
00487 #endif
00488   public:
00489     T38_UDPTLPacket(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00490 
00491     PASN_Integer m_seq_number;
00492     T38_UDPTLPacket_primary_ifp_packet m_primary_ifp_packet;
00493     T38_UDPTLPacket_error_recovery m_error_recovery;
00494 
00495     PINDEX GetDataLength() const;
00496     PBoolean Decode(PASN_Stream & strm);
00497     void Encode(PASN_Stream & strm) const;
00498 #ifndef PASN_NOPRINTON
00499     void PrintOn(ostream & strm) const;
00500 #endif
00501     Comparison Compare(const PObject & obj) const;
00502     PObject * Clone() const;
00503 };
00504 
00505 
00506 #endif // __T38_H
00507 
00508 #endif // if ! H323_DISABLE_T38
00509 
00510 
00511 // End of t38.h

Generated on Mon Feb 23 02:01:39 2009 for OPAL by  doxygen 1.5.1