t38.h

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

Generated on Mon Sep 15 11:49:16 2008 for OPAL by  doxygen 1.5.1