D:/Storage/CVS_Head/h323plus/include/h460/h4609.h

00001 //
00002 // h4609.h
00003 //
00004 // Code automatically generated by asnparse.
00005 //
00006 
00007 #if ! H323_DISABLE_H4609
00008 
00009 #ifndef __H4609_H
00010 #define __H4609_H
00011 
00012 #ifdef P_USE_PRAGMA
00013 #pragma interface
00014 #endif
00015 
00016 #include <ptclib/asner.h>
00017 
00018 #include "h225.h"
00019 
00020 
00021 //
00022 // EstimatedEnd2EndDelay
00023 //
00024 
00025 class H4609_EstimatedEnd2EndDelay : public PASN_Integer
00026 {
00027 #ifndef PASN_LEANANDMEAN
00028     PCLASSINFO(H4609_EstimatedEnd2EndDelay, PASN_Integer);
00029 #endif
00030   public:
00031     H4609_EstimatedEnd2EndDelay(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00032 
00033     H4609_EstimatedEnd2EndDelay & operator=(int v);
00034     H4609_EstimatedEnd2EndDelay & operator=(unsigned v);
00035     PObject * Clone() const;
00036 };
00037 
00038 
00039 //
00040 // CalculatedJitter
00041 //
00042 
00043 class H4609_CalculatedJitter : public PASN_Integer
00044 {
00045 #ifndef PASN_LEANANDMEAN
00046     PCLASSINFO(H4609_CalculatedJitter, PASN_Integer);
00047 #endif
00048   public:
00049     H4609_CalculatedJitter(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00050 
00051     H4609_CalculatedJitter & operator=(int v);
00052     H4609_CalculatedJitter & operator=(unsigned v);
00053     PObject * Clone() const;
00054 };
00055 
00056 
00057 //
00058 // Extension
00059 //
00060 
00061 class H4609_Extension : public PASN_Sequence
00062 {
00063 #ifndef PASN_LEANANDMEAN
00064     PCLASSINFO(H4609_Extension, PASN_Sequence);
00065 #endif
00066   public:
00067     H4609_Extension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00068 
00069     enum OptionalFields {
00070       e_extensionContent
00071     };
00072 
00073     H225_GenericIdentifier m_extensionId;
00074     PASN_OctetString m_extensionContent;
00075 
00076     PINDEX GetDataLength() const;
00077     BOOL Decode(PASN_Stream & strm);
00078     void Encode(PASN_Stream & strm) const;
00079 #ifndef PASN_NOPRINTON
00080     void PrintOn(ostream & strm) const;
00081 #endif
00082     Comparison Compare(const PObject & obj) const;
00083     PObject * Clone() const;
00084 };
00085 
00086 
00087 //
00088 // QosMonitoringReportData
00089 //
00090 
00091 class H4609_PeriodicQoSMonReport;
00092 class H4609_FinalQosMonReport;
00093 class H4609_InterGKQosMonReport;
00094 
00095 class H4609_QosMonitoringReportData : public PASN_Choice
00096 {
00097 #ifndef PASN_LEANANDMEAN
00098     PCLASSINFO(H4609_QosMonitoringReportData, PASN_Choice);
00099 #endif
00100   public:
00101     H4609_QosMonitoringReportData(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00102 
00103     enum Choices {
00104       e_periodic,
00105       e_final,
00106       e_interGK
00107     };
00108 
00109 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00110     operator H4609_PeriodicQoSMonReport &() const;
00111 #else
00112     operator H4609_PeriodicQoSMonReport &();
00113     operator const H4609_PeriodicQoSMonReport &() const;
00114 #endif
00115 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00116     operator H4609_FinalQosMonReport &() const;
00117 #else
00118     operator H4609_FinalQosMonReport &();
00119     operator const H4609_FinalQosMonReport &() const;
00120 #endif
00121 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00122     operator H4609_InterGKQosMonReport &() const;
00123 #else
00124     operator H4609_InterGKQosMonReport &();
00125     operator const H4609_InterGKQosMonReport &() const;
00126 #endif
00127 
00128     BOOL CreateObject();
00129     PObject * Clone() const;
00130 };
00131 
00132 
00133 //
00134 // RTCPMeasures_mediaSenderMeasures
00135 //
00136 
00137 class H4609_RTCPMeasures_mediaSenderMeasures : public PASN_Sequence
00138 {
00139 #ifndef PASN_LEANANDMEAN
00140     PCLASSINFO(H4609_RTCPMeasures_mediaSenderMeasures, PASN_Sequence);
00141 #endif
00142   public:
00143     H4609_RTCPMeasures_mediaSenderMeasures(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00144 
00145     enum OptionalFields {
00146       e_worstEstimatedEnd2EndDelay,
00147       e_meanEstimatedEnd2EndDelay
00148     };
00149 
00150     H4609_EstimatedEnd2EndDelay m_worstEstimatedEnd2EndDelay;
00151     H4609_EstimatedEnd2EndDelay m_meanEstimatedEnd2EndDelay;
00152 
00153     PINDEX GetDataLength() const;
00154     BOOL Decode(PASN_Stream & strm);
00155     void Encode(PASN_Stream & strm) const;
00156 #ifndef PASN_NOPRINTON
00157     void PrintOn(ostream & strm) const;
00158 #endif
00159     Comparison Compare(const PObject & obj) const;
00160     PObject * Clone() const;
00161 };
00162 
00163 
00164 //
00165 // RTCPMeasures_mediaReceiverMeasures
00166 //
00167 
00168 class H4609_RTCPMeasures_mediaReceiverMeasures : public PASN_Sequence
00169 {
00170 #ifndef PASN_LEANANDMEAN
00171     PCLASSINFO(H4609_RTCPMeasures_mediaReceiverMeasures, PASN_Sequence);
00172 #endif
00173   public:
00174     H4609_RTCPMeasures_mediaReceiverMeasures(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00175 
00176     enum OptionalFields {
00177       e_cumulativeNumberOfPacketsLost,
00178       e_packetLostRate,
00179       e_worstJitter,
00180       e_estimatedThroughput,
00181       e_fractionLostRate,
00182       e_meanJitter
00183     };
00184 
00185     PASN_Integer m_cumulativeNumberOfPacketsLost;
00186     PASN_Integer m_packetLostRate;
00187     H4609_CalculatedJitter m_worstJitter;
00188     H225_BandWidth m_estimatedThroughput;
00189     PASN_Integer m_fractionLostRate;
00190     H4609_CalculatedJitter m_meanJitter;
00191 
00192     PINDEX GetDataLength() const;
00193     BOOL Decode(PASN_Stream & strm);
00194     void Encode(PASN_Stream & strm) const;
00195 #ifndef PASN_NOPRINTON
00196     void PrintOn(ostream & strm) const;
00197 #endif
00198     Comparison Compare(const PObject & obj) const;
00199     PObject * Clone() const;
00200 };
00201 
00202 
00203 //
00204 // ArrayOf_Extension
00205 //
00206 
00207 class H4609_Extension;
00208 
00209 class H4609_ArrayOf_Extension : public PASN_Array
00210 {
00211 #ifndef PASN_LEANANDMEAN
00212     PCLASSINFO(H4609_ArrayOf_Extension, PASN_Array);
00213 #endif
00214   public:
00215     H4609_ArrayOf_Extension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00216 
00217     PASN_Object * CreateObject() const;
00218     H4609_Extension & operator[](PINDEX i) const;
00219     PObject * Clone() const;
00220 };
00221 
00222 
00223 //
00224 // ArrayOf_RTCPMeasures
00225 //
00226 
00227 class H4609_RTCPMeasures;
00228 
00229 class H4609_ArrayOf_RTCPMeasures : public PASN_Array
00230 {
00231 #ifndef PASN_LEANANDMEAN
00232     PCLASSINFO(H4609_ArrayOf_RTCPMeasures, PASN_Array);
00233 #endif
00234   public:
00235     H4609_ArrayOf_RTCPMeasures(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00236 
00237     PASN_Object * CreateObject() const;
00238     H4609_RTCPMeasures & operator[](PINDEX i) const;
00239     PObject * Clone() const;
00240 };
00241 
00242 
00243 //
00244 // ArrayOf_PerCallQoSReport
00245 //
00246 
00247 class H4609_PerCallQoSReport;
00248 
00249 class H4609_ArrayOf_PerCallQoSReport : public PASN_Array
00250 {
00251 #ifndef PASN_LEANANDMEAN
00252     PCLASSINFO(H4609_ArrayOf_PerCallQoSReport, PASN_Array);
00253 #endif
00254   public:
00255     H4609_ArrayOf_PerCallQoSReport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00256 
00257     PASN_Object * CreateObject() const;
00258     H4609_PerCallQoSReport & operator[](PINDEX i) const;
00259     PObject * Clone() const;
00260 };
00261 
00262 
00263 //
00264 // RTCPMeasures
00265 //
00266 
00267 class H4609_RTCPMeasures : public PASN_Sequence
00268 {
00269 #ifndef PASN_LEANANDMEAN
00270     PCLASSINFO(H4609_RTCPMeasures, PASN_Sequence);
00271 #endif
00272   public:
00273     H4609_RTCPMeasures(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00274 
00275     enum OptionalFields {
00276       e_nonStandardData,
00277       e_mediaSenderMeasures,
00278       e_mediaReceiverMeasures,
00279       e_extensions
00280     };
00281 
00282     H225_TransportChannelInfo m_rtpAddress;
00283     H225_TransportChannelInfo m_rtcpAddress;
00284     PASN_Integer m_sessionId;
00285     H225_NonStandardParameter m_nonStandardData;
00286     H4609_RTCPMeasures_mediaSenderMeasures m_mediaSenderMeasures;
00287     H4609_RTCPMeasures_mediaReceiverMeasures m_mediaReceiverMeasures;
00288     H4609_ArrayOf_Extension m_extensions;
00289 
00290     PINDEX GetDataLength() const;
00291     BOOL Decode(PASN_Stream & strm);
00292     void Encode(PASN_Stream & strm) const;
00293 #ifndef PASN_NOPRINTON
00294     void PrintOn(ostream & strm) const;
00295 #endif
00296     Comparison Compare(const PObject & obj) const;
00297     PObject * Clone() const;
00298 };
00299 
00300 
00301 //
00302 // PerCallQoSReport
00303 //
00304 
00305 class H4609_PerCallQoSReport : public PASN_Sequence
00306 {
00307 #ifndef PASN_LEANANDMEAN
00308     PCLASSINFO(H4609_PerCallQoSReport, PASN_Sequence);
00309 #endif
00310   public:
00311     H4609_PerCallQoSReport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00312 
00313     enum OptionalFields {
00314       e_nonStandardData,
00315       e_mediaChannelsQoS,
00316       e_extensions
00317     };
00318 
00319     H225_NonStandardParameter m_nonStandardData;
00320     H225_CallReferenceValue m_callReferenceValue;
00321     H225_ConferenceIdentifier m_conferenceID;
00322     H225_CallIdentifier m_callIdentifier;
00323     H4609_ArrayOf_RTCPMeasures m_mediaChannelsQoS;
00324     H4609_ArrayOf_Extension m_extensions;
00325 
00326     PINDEX GetDataLength() const;
00327     BOOL Decode(PASN_Stream & strm);
00328     void Encode(PASN_Stream & strm) const;
00329 #ifndef PASN_NOPRINTON
00330     void PrintOn(ostream & strm) const;
00331 #endif
00332     Comparison Compare(const PObject & obj) const;
00333     PObject * Clone() const;
00334 };
00335 
00336 
00337 //
00338 // PeriodicQoSMonReport
00339 //
00340 
00341 class H4609_PeriodicQoSMonReport : public PASN_Sequence
00342 {
00343 #ifndef PASN_LEANANDMEAN
00344     PCLASSINFO(H4609_PeriodicQoSMonReport, PASN_Sequence);
00345 #endif
00346   public:
00347     H4609_PeriodicQoSMonReport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00348 
00349     enum OptionalFields {
00350       e_extensions
00351     };
00352 
00353     H4609_ArrayOf_PerCallQoSReport m_perCallInfo;
00354     H4609_ArrayOf_Extension m_extensions;
00355 
00356     PINDEX GetDataLength() const;
00357     BOOL Decode(PASN_Stream & strm);
00358     void Encode(PASN_Stream & strm) const;
00359 #ifndef PASN_NOPRINTON
00360     void PrintOn(ostream & strm) const;
00361 #endif
00362     Comparison Compare(const PObject & obj) const;
00363     PObject * Clone() const;
00364 };
00365 
00366 
00367 //
00368 // FinalQosMonReport
00369 //
00370 
00371 class H4609_FinalQosMonReport : public PASN_Sequence
00372 {
00373 #ifndef PASN_LEANANDMEAN
00374     PCLASSINFO(H4609_FinalQosMonReport, PASN_Sequence);
00375 #endif
00376   public:
00377     H4609_FinalQosMonReport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00378 
00379     enum OptionalFields {
00380       e_nonStandardData,
00381       e_extensions
00382     };
00383 
00384     H4609_ArrayOf_RTCPMeasures m_mediaInfo;
00385     H225_NonStandardParameter m_nonStandardData;
00386     H4609_ArrayOf_Extension m_extensions;
00387 
00388     PINDEX GetDataLength() const;
00389     BOOL Decode(PASN_Stream & strm);
00390     void Encode(PASN_Stream & strm) const;
00391 #ifndef PASN_NOPRINTON
00392     void PrintOn(ostream & strm) const;
00393 #endif
00394     Comparison Compare(const PObject & obj) const;
00395     PObject * Clone() const;
00396 };
00397 
00398 
00399 //
00400 // InterGKQosMonReport
00401 //
00402 
00403 class H4609_InterGKQosMonReport : public PASN_Sequence
00404 {
00405 #ifndef PASN_LEANANDMEAN
00406     PCLASSINFO(H4609_InterGKQosMonReport, PASN_Sequence);
00407 #endif
00408   public:
00409     H4609_InterGKQosMonReport(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00410 
00411     enum OptionalFields {
00412       e_nonStandardData,
00413       e_extensions
00414     };
00415 
00416     H4609_ArrayOf_RTCPMeasures m_mediaInfo;
00417     H225_NonStandardParameter m_nonStandardData;
00418     H4609_ArrayOf_Extension m_extensions;
00419 
00420     PINDEX GetDataLength() const;
00421     BOOL Decode(PASN_Stream & strm);
00422     void Encode(PASN_Stream & strm) const;
00423 #ifndef PASN_NOPRINTON
00424     void PrintOn(ostream & strm) const;
00425 #endif
00426     Comparison Compare(const PObject & obj) const;
00427     PObject * Clone() const;
00428 };
00429 
00430 
00431 #endif // __H4609_H
00432 
00433 #endif // if ! H323_DISABLE_H4609
00434 
00435 
00436 // End of h4609.h

Generated on Thu Oct 25 13:42:32 2007 for h323plus by  doxygen 1.5.2