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