1 //
2 // h4609.cxx
3 //
4 // Code automatically generated by asnparse.
5 //
6
7 #ifdef P_USE_PRAGMA
8 #pragma implementation "h4609.h"
9 #endif
10
11 #include <ptlib.h>
12
13 #include <opal/buildopts.h>
14
15 #include "h460/h4609.h"
16
17 #if OPAL_H460
18
19 #define new PNEW
20
21
22 //
23 // EstimatedEnd2EndDelay
24 //
25
H4609_EstimatedEnd2EndDelay(unsigned tag,PASN_Object::TagClass tagClass)26 H4609_EstimatedEnd2EndDelay::H4609_EstimatedEnd2EndDelay(unsigned tag, PASN_Object::TagClass tagClass)
27 : PASN_Integer(tag, tagClass)
28 {
29 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
30 }
31
32
operator =(int v)33 H4609_EstimatedEnd2EndDelay & H4609_EstimatedEnd2EndDelay::operator=(int v)
34 {
35 SetValue(v);
36 return *this;
37 }
38
39
operator =(unsigned v)40 H4609_EstimatedEnd2EndDelay & H4609_EstimatedEnd2EndDelay::operator=(unsigned v)
41 {
42 SetValue(v);
43 return *this;
44 }
45
46
Clone() const47 PObject * H4609_EstimatedEnd2EndDelay::Clone() const
48 {
49 #ifndef PASN_LEANANDMEAN
50 PAssert(IsClass(H4609_EstimatedEnd2EndDelay::Class()), PInvalidCast);
51 #endif
52 return new H4609_EstimatedEnd2EndDelay(*this);
53 }
54
55
56 //
57 // CalculatedJitter
58 //
59
H4609_CalculatedJitter(unsigned tag,PASN_Object::TagClass tagClass)60 H4609_CalculatedJitter::H4609_CalculatedJitter(unsigned tag, PASN_Object::TagClass tagClass)
61 : PASN_Integer(tag, tagClass)
62 {
63 SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
64 }
65
66
operator =(int v)67 H4609_CalculatedJitter & H4609_CalculatedJitter::operator=(int v)
68 {
69 SetValue(v);
70 return *this;
71 }
72
73
operator =(unsigned v)74 H4609_CalculatedJitter & H4609_CalculatedJitter::operator=(unsigned v)
75 {
76 SetValue(v);
77 return *this;
78 }
79
80
Clone() const81 PObject * H4609_CalculatedJitter::Clone() const
82 {
83 #ifndef PASN_LEANANDMEAN
84 PAssert(IsClass(H4609_CalculatedJitter::Class()), PInvalidCast);
85 #endif
86 return new H4609_CalculatedJitter(*this);
87 }
88
89
90 //
91 // Extension
92 //
93
H4609_Extension(unsigned tag,PASN_Object::TagClass tagClass)94 H4609_Extension::H4609_Extension(unsigned tag, PASN_Object::TagClass tagClass)
95 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
96 {
97 }
98
99
100 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const101 void H4609_Extension::PrintOn(ostream & strm) const
102 {
103 std::streamsize indent = strm.precision() + 2;
104 strm << "{\n";
105 strm << setw(indent+14) << "extensionId = " << setprecision(indent) << m_extensionId << '\n';
106 if (HasOptionalField(e_extensionContent))
107 strm << setw(indent+19) << "extensionContent = " << setprecision(indent) << m_extensionContent << '\n';
108 strm << setw(indent-1) << setprecision(indent-2) << "}";
109 }
110 #endif
111
112
Compare(const PObject & obj) const113 PObject::Comparison H4609_Extension::Compare(const PObject & obj) const
114 {
115 #ifndef PASN_LEANANDMEAN
116 PAssert(PIsDescendant(&obj, H4609_Extension), PInvalidCast);
117 #endif
118 const H4609_Extension & other = (const H4609_Extension &)obj;
119
120 Comparison result;
121
122 if ((result = m_extensionId.Compare(other.m_extensionId)) != EqualTo)
123 return result;
124 if ((result = m_extensionContent.Compare(other.m_extensionContent)) != EqualTo)
125 return result;
126
127 return PASN_Sequence::Compare(other);
128 }
129
130
GetDataLength() const131 PINDEX H4609_Extension::GetDataLength() const
132 {
133 PINDEX length = 0;
134 length += m_extensionId.GetObjectLength();
135 if (HasOptionalField(e_extensionContent))
136 length += m_extensionContent.GetObjectLength();
137 return length;
138 }
139
140
Decode(PASN_Stream & strm)141 PBoolean H4609_Extension::Decode(PASN_Stream & strm)
142 {
143 if (!PreambleDecode(strm))
144 return FALSE;
145
146 if (!m_extensionId.Decode(strm))
147 return FALSE;
148 if (HasOptionalField(e_extensionContent) && !m_extensionContent.Decode(strm))
149 return FALSE;
150
151 return UnknownExtensionsDecode(strm);
152 }
153
154
Encode(PASN_Stream & strm) const155 void H4609_Extension::Encode(PASN_Stream & strm) const
156 {
157 PreambleEncode(strm);
158
159 m_extensionId.Encode(strm);
160 if (HasOptionalField(e_extensionContent))
161 m_extensionContent.Encode(strm);
162
163 UnknownExtensionsEncode(strm);
164 }
165
166
Clone() const167 PObject * H4609_Extension::Clone() const
168 {
169 #ifndef PASN_LEANANDMEAN
170 PAssert(IsClass(H4609_Extension::Class()), PInvalidCast);
171 #endif
172 return new H4609_Extension(*this);
173 }
174
175
176
177 #ifndef PASN_NOPRINTON
178 const static PASN_Names Names_H4609_QosMonitoringReportData[]={
179 {"periodic",0}
180 ,{"final",1}
181 ,{"interGK",2}
182 };
183 #endif
184 //
185 // QosMonitoringReportData
186 //
187
H4609_QosMonitoringReportData(unsigned tag,PASN_Object::TagClass tagClass)188 H4609_QosMonitoringReportData::H4609_QosMonitoringReportData(unsigned tag, PASN_Object::TagClass tagClass)
189 : PASN_Choice(tag, tagClass, 3, TRUE
190 #ifndef PASN_NOPRINTON
191 ,(const PASN_Names *)Names_H4609_QosMonitoringReportData,3
192 #endif
193 )
194 {
195 }
196
197
198 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H4609_PeriodicQoSMonReport&() const199 H4609_QosMonitoringReportData::operator H4609_PeriodicQoSMonReport &() const
200 #else
201 H4609_QosMonitoringReportData::operator H4609_PeriodicQoSMonReport &()
202 {
203 #ifndef PASN_LEANANDMEAN
204 PAssert(PIsDescendant(PAssertNULL(choice), H4609_PeriodicQoSMonReport), PInvalidCast);
205 #endif
206 return *(H4609_PeriodicQoSMonReport *)choice;
207 }
208
209
210 H4609_QosMonitoringReportData::operator const H4609_PeriodicQoSMonReport &() const
211 #endif
212 {
213 #ifndef PASN_LEANANDMEAN
214 PAssert(PIsDescendant(PAssertNULL(choice), H4609_PeriodicQoSMonReport), PInvalidCast);
215 #endif
216 return *(H4609_PeriodicQoSMonReport *)choice;
217 }
218
219
220 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H4609_FinalQosMonReport&() const221 H4609_QosMonitoringReportData::operator H4609_FinalQosMonReport &() const
222 #else
223 H4609_QosMonitoringReportData::operator H4609_FinalQosMonReport &()
224 {
225 #ifndef PASN_LEANANDMEAN
226 PAssert(PIsDescendant(PAssertNULL(choice), H4609_FinalQosMonReport), PInvalidCast);
227 #endif
228 return *(H4609_FinalQosMonReport *)choice;
229 }
230
231
232 H4609_QosMonitoringReportData::operator const H4609_FinalQosMonReport &() const
233 #endif
234 {
235 #ifndef PASN_LEANANDMEAN
236 PAssert(PIsDescendant(PAssertNULL(choice), H4609_FinalQosMonReport), PInvalidCast);
237 #endif
238 return *(H4609_FinalQosMonReport *)choice;
239 }
240
241
242 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H4609_InterGKQosMonReport&() const243 H4609_QosMonitoringReportData::operator H4609_InterGKQosMonReport &() const
244 #else
245 H4609_QosMonitoringReportData::operator H4609_InterGKQosMonReport &()
246 {
247 #ifndef PASN_LEANANDMEAN
248 PAssert(PIsDescendant(PAssertNULL(choice), H4609_InterGKQosMonReport), PInvalidCast);
249 #endif
250 return *(H4609_InterGKQosMonReport *)choice;
251 }
252
253
254 H4609_QosMonitoringReportData::operator const H4609_InterGKQosMonReport &() const
255 #endif
256 {
257 #ifndef PASN_LEANANDMEAN
258 PAssert(PIsDescendant(PAssertNULL(choice), H4609_InterGKQosMonReport), PInvalidCast);
259 #endif
260 return *(H4609_InterGKQosMonReport *)choice;
261 }
262
263
CreateObject()264 PBoolean H4609_QosMonitoringReportData::CreateObject()
265 {
266 switch (tag) {
267 case e_periodic :
268 choice = new H4609_PeriodicQoSMonReport();
269 return TRUE;
270 case e_final :
271 choice = new H4609_FinalQosMonReport();
272 return TRUE;
273 case e_interGK :
274 choice = new H4609_InterGKQosMonReport();
275 return TRUE;
276 }
277
278 choice = NULL;
279 return FALSE;
280 }
281
282
Clone() const283 PObject * H4609_QosMonitoringReportData::Clone() const
284 {
285 #ifndef PASN_LEANANDMEAN
286 PAssert(IsClass(H4609_QosMonitoringReportData::Class()), PInvalidCast);
287 #endif
288 return new H4609_QosMonitoringReportData(*this);
289 }
290
291
292 //
293 // RTCPMeasures_mediaSenderMeasures
294 //
295
H4609_RTCPMeasures_mediaSenderMeasures(unsigned tag,PASN_Object::TagClass tagClass)296 H4609_RTCPMeasures_mediaSenderMeasures::H4609_RTCPMeasures_mediaSenderMeasures(unsigned tag, PASN_Object::TagClass tagClass)
297 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
298 {
299 }
300
301
302 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const303 void H4609_RTCPMeasures_mediaSenderMeasures::PrintOn(ostream & strm) const
304 {
305 std::streamsize indent = strm.precision() + 2;
306 strm << "{\n";
307 if (HasOptionalField(e_worstEstimatedEnd2EndDelay))
308 strm << setw(indent+29) << "worstEstimatedEnd2EndDelay = " << setprecision(indent) << m_worstEstimatedEnd2EndDelay << '\n';
309 if (HasOptionalField(e_meanEstimatedEnd2EndDelay))
310 strm << setw(indent+28) << "meanEstimatedEnd2EndDelay = " << setprecision(indent) << m_meanEstimatedEnd2EndDelay << '\n';
311 strm << setw(indent-1) << setprecision(indent-2) << "}";
312 }
313 #endif
314
315
Compare(const PObject & obj) const316 PObject::Comparison H4609_RTCPMeasures_mediaSenderMeasures::Compare(const PObject & obj) const
317 {
318 #ifndef PASN_LEANANDMEAN
319 PAssert(PIsDescendant(&obj, H4609_RTCPMeasures_mediaSenderMeasures), PInvalidCast);
320 #endif
321 const H4609_RTCPMeasures_mediaSenderMeasures & other = (const H4609_RTCPMeasures_mediaSenderMeasures &)obj;
322
323 Comparison result;
324
325 if ((result = m_worstEstimatedEnd2EndDelay.Compare(other.m_worstEstimatedEnd2EndDelay)) != EqualTo)
326 return result;
327 if ((result = m_meanEstimatedEnd2EndDelay.Compare(other.m_meanEstimatedEnd2EndDelay)) != EqualTo)
328 return result;
329
330 return PASN_Sequence::Compare(other);
331 }
332
333
GetDataLength() const334 PINDEX H4609_RTCPMeasures_mediaSenderMeasures::GetDataLength() const
335 {
336 PINDEX length = 0;
337 if (HasOptionalField(e_worstEstimatedEnd2EndDelay))
338 length += m_worstEstimatedEnd2EndDelay.GetObjectLength();
339 if (HasOptionalField(e_meanEstimatedEnd2EndDelay))
340 length += m_meanEstimatedEnd2EndDelay.GetObjectLength();
341 return length;
342 }
343
344
Decode(PASN_Stream & strm)345 PBoolean H4609_RTCPMeasures_mediaSenderMeasures::Decode(PASN_Stream & strm)
346 {
347 if (!PreambleDecode(strm))
348 return FALSE;
349
350 if (HasOptionalField(e_worstEstimatedEnd2EndDelay) && !m_worstEstimatedEnd2EndDelay.Decode(strm))
351 return FALSE;
352 if (HasOptionalField(e_meanEstimatedEnd2EndDelay) && !m_meanEstimatedEnd2EndDelay.Decode(strm))
353 return FALSE;
354
355 return UnknownExtensionsDecode(strm);
356 }
357
358
Encode(PASN_Stream & strm) const359 void H4609_RTCPMeasures_mediaSenderMeasures::Encode(PASN_Stream & strm) const
360 {
361 PreambleEncode(strm);
362
363 if (HasOptionalField(e_worstEstimatedEnd2EndDelay))
364 m_worstEstimatedEnd2EndDelay.Encode(strm);
365 if (HasOptionalField(e_meanEstimatedEnd2EndDelay))
366 m_meanEstimatedEnd2EndDelay.Encode(strm);
367
368 UnknownExtensionsEncode(strm);
369 }
370
371
Clone() const372 PObject * H4609_RTCPMeasures_mediaSenderMeasures::Clone() const
373 {
374 #ifndef PASN_LEANANDMEAN
375 PAssert(IsClass(H4609_RTCPMeasures_mediaSenderMeasures::Class()), PInvalidCast);
376 #endif
377 return new H4609_RTCPMeasures_mediaSenderMeasures(*this);
378 }
379
380
381 //
382 // RTCPMeasures_mediaReceiverMeasures
383 //
384
H4609_RTCPMeasures_mediaReceiverMeasures(unsigned tag,PASN_Object::TagClass tagClass)385 H4609_RTCPMeasures_mediaReceiverMeasures::H4609_RTCPMeasures_mediaReceiverMeasures(unsigned tag, PASN_Object::TagClass tagClass)
386 : PASN_Sequence(tag, tagClass, 6, TRUE, 0)
387 {
388 m_cumulativeNumberOfPacketsLost.SetConstraints(PASN_Object::FixedConstraint, 0, 4294967295U);
389 m_packetLostRate.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
390 m_fractionLostRate.SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
391 }
392
393
394 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const395 void H4609_RTCPMeasures_mediaReceiverMeasures::PrintOn(ostream & strm) const
396 {
397 std::streamsize indent = strm.precision() + 2;
398 strm << "{\n";
399 if (HasOptionalField(e_cumulativeNumberOfPacketsLost))
400 strm << setw(indent+32) << "cumulativeNumberOfPacketsLost = " << setprecision(indent) << m_cumulativeNumberOfPacketsLost << '\n';
401 if (HasOptionalField(e_packetLostRate))
402 strm << setw(indent+17) << "packetLostRate = " << setprecision(indent) << m_packetLostRate << '\n';
403 if (HasOptionalField(e_worstJitter))
404 strm << setw(indent+14) << "worstJitter = " << setprecision(indent) << m_worstJitter << '\n';
405 if (HasOptionalField(e_estimatedThroughput))
406 strm << setw(indent+22) << "estimatedThroughput = " << setprecision(indent) << m_estimatedThroughput << '\n';
407 if (HasOptionalField(e_fractionLostRate))
408 strm << setw(indent+19) << "fractionLostRate = " << setprecision(indent) << m_fractionLostRate << '\n';
409 if (HasOptionalField(e_meanJitter))
410 strm << setw(indent+13) << "meanJitter = " << setprecision(indent) << m_meanJitter << '\n';
411 strm << setw(indent-1) << setprecision(indent-2) << "}";
412 }
413 #endif
414
415
Compare(const PObject & obj) const416 PObject::Comparison H4609_RTCPMeasures_mediaReceiverMeasures::Compare(const PObject & obj) const
417 {
418 #ifndef PASN_LEANANDMEAN
419 PAssert(PIsDescendant(&obj, H4609_RTCPMeasures_mediaReceiverMeasures), PInvalidCast);
420 #endif
421 const H4609_RTCPMeasures_mediaReceiverMeasures & other = (const H4609_RTCPMeasures_mediaReceiverMeasures &)obj;
422
423 Comparison result;
424
425 if ((result = m_cumulativeNumberOfPacketsLost.Compare(other.m_cumulativeNumberOfPacketsLost)) != EqualTo)
426 return result;
427 if ((result = m_packetLostRate.Compare(other.m_packetLostRate)) != EqualTo)
428 return result;
429 if ((result = m_worstJitter.Compare(other.m_worstJitter)) != EqualTo)
430 return result;
431 if ((result = m_estimatedThroughput.Compare(other.m_estimatedThroughput)) != EqualTo)
432 return result;
433 if ((result = m_fractionLostRate.Compare(other.m_fractionLostRate)) != EqualTo)
434 return result;
435 if ((result = m_meanJitter.Compare(other.m_meanJitter)) != EqualTo)
436 return result;
437
438 return PASN_Sequence::Compare(other);
439 }
440
441
GetDataLength() const442 PINDEX H4609_RTCPMeasures_mediaReceiverMeasures::GetDataLength() const
443 {
444 PINDEX length = 0;
445 if (HasOptionalField(e_cumulativeNumberOfPacketsLost))
446 length += m_cumulativeNumberOfPacketsLost.GetObjectLength();
447 if (HasOptionalField(e_packetLostRate))
448 length += m_packetLostRate.GetObjectLength();
449 if (HasOptionalField(e_worstJitter))
450 length += m_worstJitter.GetObjectLength();
451 if (HasOptionalField(e_estimatedThroughput))
452 length += m_estimatedThroughput.GetObjectLength();
453 if (HasOptionalField(e_fractionLostRate))
454 length += m_fractionLostRate.GetObjectLength();
455 if (HasOptionalField(e_meanJitter))
456 length += m_meanJitter.GetObjectLength();
457 return length;
458 }
459
460
Decode(PASN_Stream & strm)461 PBoolean H4609_RTCPMeasures_mediaReceiverMeasures::Decode(PASN_Stream & strm)
462 {
463 if (!PreambleDecode(strm))
464 return FALSE;
465
466 if (HasOptionalField(e_cumulativeNumberOfPacketsLost) && !m_cumulativeNumberOfPacketsLost.Decode(strm))
467 return FALSE;
468 if (HasOptionalField(e_packetLostRate) && !m_packetLostRate.Decode(strm))
469 return FALSE;
470 if (HasOptionalField(e_worstJitter) && !m_worstJitter.Decode(strm))
471 return FALSE;
472 if (HasOptionalField(e_estimatedThroughput) && !m_estimatedThroughput.Decode(strm))
473 return FALSE;
474 if (HasOptionalField(e_fractionLostRate) && !m_fractionLostRate.Decode(strm))
475 return FALSE;
476 if (HasOptionalField(e_meanJitter) && !m_meanJitter.Decode(strm))
477 return FALSE;
478
479 return UnknownExtensionsDecode(strm);
480 }
481
482
Encode(PASN_Stream & strm) const483 void H4609_RTCPMeasures_mediaReceiverMeasures::Encode(PASN_Stream & strm) const
484 {
485 PreambleEncode(strm);
486
487 if (HasOptionalField(e_cumulativeNumberOfPacketsLost))
488 m_cumulativeNumberOfPacketsLost.Encode(strm);
489 if (HasOptionalField(e_packetLostRate))
490 m_packetLostRate.Encode(strm);
491 if (HasOptionalField(e_worstJitter))
492 m_worstJitter.Encode(strm);
493 if (HasOptionalField(e_estimatedThroughput))
494 m_estimatedThroughput.Encode(strm);
495 if (HasOptionalField(e_fractionLostRate))
496 m_fractionLostRate.Encode(strm);
497 if (HasOptionalField(e_meanJitter))
498 m_meanJitter.Encode(strm);
499
500 UnknownExtensionsEncode(strm);
501 }
502
503
Clone() const504 PObject * H4609_RTCPMeasures_mediaReceiverMeasures::Clone() const
505 {
506 #ifndef PASN_LEANANDMEAN
507 PAssert(IsClass(H4609_RTCPMeasures_mediaReceiverMeasures::Class()), PInvalidCast);
508 #endif
509 return new H4609_RTCPMeasures_mediaReceiverMeasures(*this);
510 }
511
512
513 //
514 // ArrayOf_Extension
515 //
516
H4609_ArrayOf_Extension(unsigned tag,PASN_Object::TagClass tagClass)517 H4609_ArrayOf_Extension::H4609_ArrayOf_Extension(unsigned tag, PASN_Object::TagClass tagClass)
518 : PASN_Array(tag, tagClass)
519 {
520 }
521
522
CreateObject() const523 PASN_Object * H4609_ArrayOf_Extension::CreateObject() const
524 {
525 return new H4609_Extension;
526 }
527
528
operator [](PINDEX i) const529 H4609_Extension & H4609_ArrayOf_Extension::operator[](PINDEX i) const
530 {
531 return (H4609_Extension &)array[i];
532 }
533
534
Clone() const535 PObject * H4609_ArrayOf_Extension::Clone() const
536 {
537 #ifndef PASN_LEANANDMEAN
538 PAssert(IsClass(H4609_ArrayOf_Extension::Class()), PInvalidCast);
539 #endif
540 return new H4609_ArrayOf_Extension(*this);
541 }
542
543
544 //
545 // ArrayOf_RTCPMeasures
546 //
547
H4609_ArrayOf_RTCPMeasures(unsigned tag,PASN_Object::TagClass tagClass)548 H4609_ArrayOf_RTCPMeasures::H4609_ArrayOf_RTCPMeasures(unsigned tag, PASN_Object::TagClass tagClass)
549 : PASN_Array(tag, tagClass)
550 {
551 }
552
553
CreateObject() const554 PASN_Object * H4609_ArrayOf_RTCPMeasures::CreateObject() const
555 {
556 return new H4609_RTCPMeasures;
557 }
558
559
operator [](PINDEX i) const560 H4609_RTCPMeasures & H4609_ArrayOf_RTCPMeasures::operator[](PINDEX i) const
561 {
562 return (H4609_RTCPMeasures &)array[i];
563 }
564
565
Clone() const566 PObject * H4609_ArrayOf_RTCPMeasures::Clone() const
567 {
568 #ifndef PASN_LEANANDMEAN
569 PAssert(IsClass(H4609_ArrayOf_RTCPMeasures::Class()), PInvalidCast);
570 #endif
571 return new H4609_ArrayOf_RTCPMeasures(*this);
572 }
573
574
575 //
576 // ArrayOf_PerCallQoSReport
577 //
578
H4609_ArrayOf_PerCallQoSReport(unsigned tag,PASN_Object::TagClass tagClass)579 H4609_ArrayOf_PerCallQoSReport::H4609_ArrayOf_PerCallQoSReport(unsigned tag, PASN_Object::TagClass tagClass)
580 : PASN_Array(tag, tagClass)
581 {
582 }
583
584
CreateObject() const585 PASN_Object * H4609_ArrayOf_PerCallQoSReport::CreateObject() const
586 {
587 return new H4609_PerCallQoSReport;
588 }
589
590
operator [](PINDEX i) const591 H4609_PerCallQoSReport & H4609_ArrayOf_PerCallQoSReport::operator[](PINDEX i) const
592 {
593 return (H4609_PerCallQoSReport &)array[i];
594 }
595
596
Clone() const597 PObject * H4609_ArrayOf_PerCallQoSReport::Clone() const
598 {
599 #ifndef PASN_LEANANDMEAN
600 PAssert(IsClass(H4609_ArrayOf_PerCallQoSReport::Class()), PInvalidCast);
601 #endif
602 return new H4609_ArrayOf_PerCallQoSReport(*this);
603 }
604
605
606 //
607 // RTCPMeasures
608 //
609
H4609_RTCPMeasures(unsigned tag,PASN_Object::TagClass tagClass)610 H4609_RTCPMeasures::H4609_RTCPMeasures(unsigned tag, PASN_Object::TagClass tagClass)
611 : PASN_Sequence(tag, tagClass, 4, TRUE, 0)
612 {
613 m_sessionId.SetConstraints(PASN_Object::FixedConstraint, 1, 255);
614 }
615
616
617 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const618 void H4609_RTCPMeasures::PrintOn(ostream & strm) const
619 {
620 std::streamsize indent = strm.precision() + 2;
621 strm << "{\n";
622 strm << setw(indent+13) << "rtpAddress = " << setprecision(indent) << m_rtpAddress << '\n';
623 strm << setw(indent+14) << "rtcpAddress = " << setprecision(indent) << m_rtcpAddress << '\n';
624 strm << setw(indent+12) << "sessionId = " << setprecision(indent) << m_sessionId << '\n';
625 if (HasOptionalField(e_nonStandardData))
626 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
627 if (HasOptionalField(e_mediaSenderMeasures))
628 strm << setw(indent+22) << "mediaSenderMeasures = " << setprecision(indent) << m_mediaSenderMeasures << '\n';
629 if (HasOptionalField(e_mediaReceiverMeasures))
630 strm << setw(indent+24) << "mediaReceiverMeasures = " << setprecision(indent) << m_mediaReceiverMeasures << '\n';
631 if (HasOptionalField(e_extensions))
632 strm << setw(indent+13) << "extensions = " << setprecision(indent) << m_extensions << '\n';
633 strm << setw(indent-1) << setprecision(indent-2) << "}";
634 }
635 #endif
636
637
Compare(const PObject & obj) const638 PObject::Comparison H4609_RTCPMeasures::Compare(const PObject & obj) const
639 {
640 #ifndef PASN_LEANANDMEAN
641 PAssert(PIsDescendant(&obj, H4609_RTCPMeasures), PInvalidCast);
642 #endif
643 const H4609_RTCPMeasures & other = (const H4609_RTCPMeasures &)obj;
644
645 Comparison result;
646
647 if ((result = m_rtpAddress.Compare(other.m_rtpAddress)) != EqualTo)
648 return result;
649 if ((result = m_rtcpAddress.Compare(other.m_rtcpAddress)) != EqualTo)
650 return result;
651 if ((result = m_sessionId.Compare(other.m_sessionId)) != EqualTo)
652 return result;
653 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
654 return result;
655 if ((result = m_mediaSenderMeasures.Compare(other.m_mediaSenderMeasures)) != EqualTo)
656 return result;
657 if ((result = m_mediaReceiverMeasures.Compare(other.m_mediaReceiverMeasures)) != EqualTo)
658 return result;
659 if ((result = m_extensions.Compare(other.m_extensions)) != EqualTo)
660 return result;
661
662 return PASN_Sequence::Compare(other);
663 }
664
665
GetDataLength() const666 PINDEX H4609_RTCPMeasures::GetDataLength() const
667 {
668 PINDEX length = 0;
669 length += m_rtpAddress.GetObjectLength();
670 length += m_rtcpAddress.GetObjectLength();
671 length += m_sessionId.GetObjectLength();
672 if (HasOptionalField(e_nonStandardData))
673 length += m_nonStandardData.GetObjectLength();
674 if (HasOptionalField(e_mediaSenderMeasures))
675 length += m_mediaSenderMeasures.GetObjectLength();
676 if (HasOptionalField(e_mediaReceiverMeasures))
677 length += m_mediaReceiverMeasures.GetObjectLength();
678 if (HasOptionalField(e_extensions))
679 length += m_extensions.GetObjectLength();
680 return length;
681 }
682
683
Decode(PASN_Stream & strm)684 PBoolean H4609_RTCPMeasures::Decode(PASN_Stream & strm)
685 {
686 if (!PreambleDecode(strm))
687 return FALSE;
688
689 if (!m_rtpAddress.Decode(strm))
690 return FALSE;
691 if (!m_rtcpAddress.Decode(strm))
692 return FALSE;
693 if (!m_sessionId.Decode(strm))
694 return FALSE;
695 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
696 return FALSE;
697 if (HasOptionalField(e_mediaSenderMeasures) && !m_mediaSenderMeasures.Decode(strm))
698 return FALSE;
699 if (HasOptionalField(e_mediaReceiverMeasures) && !m_mediaReceiverMeasures.Decode(strm))
700 return FALSE;
701 if (HasOptionalField(e_extensions) && !m_extensions.Decode(strm))
702 return FALSE;
703
704 return UnknownExtensionsDecode(strm);
705 }
706
707
Encode(PASN_Stream & strm) const708 void H4609_RTCPMeasures::Encode(PASN_Stream & strm) const
709 {
710 PreambleEncode(strm);
711
712 m_rtpAddress.Encode(strm);
713 m_rtcpAddress.Encode(strm);
714 m_sessionId.Encode(strm);
715 if (HasOptionalField(e_nonStandardData))
716 m_nonStandardData.Encode(strm);
717 if (HasOptionalField(e_mediaSenderMeasures))
718 m_mediaSenderMeasures.Encode(strm);
719 if (HasOptionalField(e_mediaReceiverMeasures))
720 m_mediaReceiverMeasures.Encode(strm);
721 if (HasOptionalField(e_extensions))
722 m_extensions.Encode(strm);
723
724 UnknownExtensionsEncode(strm);
725 }
726
727
Clone() const728 PObject * H4609_RTCPMeasures::Clone() const
729 {
730 #ifndef PASN_LEANANDMEAN
731 PAssert(IsClass(H4609_RTCPMeasures::Class()), PInvalidCast);
732 #endif
733 return new H4609_RTCPMeasures(*this);
734 }
735
736
737 //
738 // PerCallQoSReport
739 //
740
H4609_PerCallQoSReport(unsigned tag,PASN_Object::TagClass tagClass)741 H4609_PerCallQoSReport::H4609_PerCallQoSReport(unsigned tag, PASN_Object::TagClass tagClass)
742 : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
743 {
744 }
745
746
747 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const748 void H4609_PerCallQoSReport::PrintOn(ostream & strm) const
749 {
750 std::streamsize indent = strm.precision() + 2;
751 strm << "{\n";
752 if (HasOptionalField(e_nonStandardData))
753 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
754 strm << setw(indent+21) << "callReferenceValue = " << setprecision(indent) << m_callReferenceValue << '\n';
755 strm << setw(indent+15) << "conferenceID = " << setprecision(indent) << m_conferenceID << '\n';
756 strm << setw(indent+17) << "callIdentifier = " << setprecision(indent) << m_callIdentifier << '\n';
757 if (HasOptionalField(e_mediaChannelsQoS))
758 strm << setw(indent+19) << "mediaChannelsQoS = " << setprecision(indent) << m_mediaChannelsQoS << '\n';
759 if (HasOptionalField(e_extensions))
760 strm << setw(indent+13) << "extensions = " << setprecision(indent) << m_extensions << '\n';
761 strm << setw(indent-1) << setprecision(indent-2) << "}";
762 }
763 #endif
764
765
Compare(const PObject & obj) const766 PObject::Comparison H4609_PerCallQoSReport::Compare(const PObject & obj) const
767 {
768 #ifndef PASN_LEANANDMEAN
769 PAssert(PIsDescendant(&obj, H4609_PerCallQoSReport), PInvalidCast);
770 #endif
771 const H4609_PerCallQoSReport & other = (const H4609_PerCallQoSReport &)obj;
772
773 Comparison result;
774
775 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
776 return result;
777 if ((result = m_callReferenceValue.Compare(other.m_callReferenceValue)) != EqualTo)
778 return result;
779 if ((result = m_conferenceID.Compare(other.m_conferenceID)) != EqualTo)
780 return result;
781 if ((result = m_callIdentifier.Compare(other.m_callIdentifier)) != EqualTo)
782 return result;
783 if ((result = m_mediaChannelsQoS.Compare(other.m_mediaChannelsQoS)) != EqualTo)
784 return result;
785 if ((result = m_extensions.Compare(other.m_extensions)) != EqualTo)
786 return result;
787
788 return PASN_Sequence::Compare(other);
789 }
790
791
GetDataLength() const792 PINDEX H4609_PerCallQoSReport::GetDataLength() const
793 {
794 PINDEX length = 0;
795 if (HasOptionalField(e_nonStandardData))
796 length += m_nonStandardData.GetObjectLength();
797 length += m_callReferenceValue.GetObjectLength();
798 length += m_conferenceID.GetObjectLength();
799 length += m_callIdentifier.GetObjectLength();
800 if (HasOptionalField(e_mediaChannelsQoS))
801 length += m_mediaChannelsQoS.GetObjectLength();
802 if (HasOptionalField(e_extensions))
803 length += m_extensions.GetObjectLength();
804 return length;
805 }
806
807
Decode(PASN_Stream & strm)808 PBoolean H4609_PerCallQoSReport::Decode(PASN_Stream & strm)
809 {
810 if (!PreambleDecode(strm))
811 return FALSE;
812
813 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
814 return FALSE;
815 if (!m_callReferenceValue.Decode(strm))
816 return FALSE;
817 if (!m_conferenceID.Decode(strm))
818 return FALSE;
819 if (!m_callIdentifier.Decode(strm))
820 return FALSE;
821 if (HasOptionalField(e_mediaChannelsQoS) && !m_mediaChannelsQoS.Decode(strm))
822 return FALSE;
823 if (HasOptionalField(e_extensions) && !m_extensions.Decode(strm))
824 return FALSE;
825
826 return UnknownExtensionsDecode(strm);
827 }
828
829
Encode(PASN_Stream & strm) const830 void H4609_PerCallQoSReport::Encode(PASN_Stream & strm) const
831 {
832 PreambleEncode(strm);
833
834 if (HasOptionalField(e_nonStandardData))
835 m_nonStandardData.Encode(strm);
836 m_callReferenceValue.Encode(strm);
837 m_conferenceID.Encode(strm);
838 m_callIdentifier.Encode(strm);
839 if (HasOptionalField(e_mediaChannelsQoS))
840 m_mediaChannelsQoS.Encode(strm);
841 if (HasOptionalField(e_extensions))
842 m_extensions.Encode(strm);
843
844 UnknownExtensionsEncode(strm);
845 }
846
847
Clone() const848 PObject * H4609_PerCallQoSReport::Clone() const
849 {
850 #ifndef PASN_LEANANDMEAN
851 PAssert(IsClass(H4609_PerCallQoSReport::Class()), PInvalidCast);
852 #endif
853 return new H4609_PerCallQoSReport(*this);
854 }
855
856
857 //
858 // PeriodicQoSMonReport
859 //
860
H4609_PeriodicQoSMonReport(unsigned tag,PASN_Object::TagClass tagClass)861 H4609_PeriodicQoSMonReport::H4609_PeriodicQoSMonReport(unsigned tag, PASN_Object::TagClass tagClass)
862 : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
863 {
864 }
865
866
867 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const868 void H4609_PeriodicQoSMonReport::PrintOn(ostream & strm) const
869 {
870 std::streamsize indent = strm.precision() + 2;
871 strm << "{\n";
872 strm << setw(indent+14) << "perCallInfo = " << setprecision(indent) << m_perCallInfo << '\n';
873 if (HasOptionalField(e_extensions))
874 strm << setw(indent+13) << "extensions = " << setprecision(indent) << m_extensions << '\n';
875 strm << setw(indent-1) << setprecision(indent-2) << "}";
876 }
877 #endif
878
879
Compare(const PObject & obj) const880 PObject::Comparison H4609_PeriodicQoSMonReport::Compare(const PObject & obj) const
881 {
882 #ifndef PASN_LEANANDMEAN
883 PAssert(PIsDescendant(&obj, H4609_PeriodicQoSMonReport), PInvalidCast);
884 #endif
885 const H4609_PeriodicQoSMonReport & other = (const H4609_PeriodicQoSMonReport &)obj;
886
887 Comparison result;
888
889 if ((result = m_perCallInfo.Compare(other.m_perCallInfo)) != EqualTo)
890 return result;
891 if ((result = m_extensions.Compare(other.m_extensions)) != EqualTo)
892 return result;
893
894 return PASN_Sequence::Compare(other);
895 }
896
897
GetDataLength() const898 PINDEX H4609_PeriodicQoSMonReport::GetDataLength() const
899 {
900 PINDEX length = 0;
901 length += m_perCallInfo.GetObjectLength();
902 if (HasOptionalField(e_extensions))
903 length += m_extensions.GetObjectLength();
904 return length;
905 }
906
907
Decode(PASN_Stream & strm)908 PBoolean H4609_PeriodicQoSMonReport::Decode(PASN_Stream & strm)
909 {
910 if (!PreambleDecode(strm))
911 return FALSE;
912
913 if (!m_perCallInfo.Decode(strm))
914 return FALSE;
915 if (HasOptionalField(e_extensions) && !m_extensions.Decode(strm))
916 return FALSE;
917
918 return UnknownExtensionsDecode(strm);
919 }
920
921
Encode(PASN_Stream & strm) const922 void H4609_PeriodicQoSMonReport::Encode(PASN_Stream & strm) const
923 {
924 PreambleEncode(strm);
925
926 m_perCallInfo.Encode(strm);
927 if (HasOptionalField(e_extensions))
928 m_extensions.Encode(strm);
929
930 UnknownExtensionsEncode(strm);
931 }
932
933
Clone() const934 PObject * H4609_PeriodicQoSMonReport::Clone() const
935 {
936 #ifndef PASN_LEANANDMEAN
937 PAssert(IsClass(H4609_PeriodicQoSMonReport::Class()), PInvalidCast);
938 #endif
939 return new H4609_PeriodicQoSMonReport(*this);
940 }
941
942
943 //
944 // FinalQosMonReport
945 //
946
H4609_FinalQosMonReport(unsigned tag,PASN_Object::TagClass tagClass)947 H4609_FinalQosMonReport::H4609_FinalQosMonReport(unsigned tag, PASN_Object::TagClass tagClass)
948 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
949 {
950 }
951
952
953 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const954 void H4609_FinalQosMonReport::PrintOn(ostream & strm) const
955 {
956 std::streamsize indent = strm.precision() + 2;
957 strm << "{\n";
958 strm << setw(indent+12) << "mediaInfo = " << setprecision(indent) << m_mediaInfo << '\n';
959 if (HasOptionalField(e_nonStandardData))
960 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
961 if (HasOptionalField(e_extensions))
962 strm << setw(indent+13) << "extensions = " << setprecision(indent) << m_extensions << '\n';
963 strm << setw(indent-1) << setprecision(indent-2) << "}";
964 }
965 #endif
966
967
Compare(const PObject & obj) const968 PObject::Comparison H4609_FinalQosMonReport::Compare(const PObject & obj) const
969 {
970 #ifndef PASN_LEANANDMEAN
971 PAssert(PIsDescendant(&obj, H4609_FinalQosMonReport), PInvalidCast);
972 #endif
973 const H4609_FinalQosMonReport & other = (const H4609_FinalQosMonReport &)obj;
974
975 Comparison result;
976
977 if ((result = m_mediaInfo.Compare(other.m_mediaInfo)) != EqualTo)
978 return result;
979 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
980 return result;
981 if ((result = m_extensions.Compare(other.m_extensions)) != EqualTo)
982 return result;
983
984 return PASN_Sequence::Compare(other);
985 }
986
987
GetDataLength() const988 PINDEX H4609_FinalQosMonReport::GetDataLength() const
989 {
990 PINDEX length = 0;
991 length += m_mediaInfo.GetObjectLength();
992 if (HasOptionalField(e_nonStandardData))
993 length += m_nonStandardData.GetObjectLength();
994 if (HasOptionalField(e_extensions))
995 length += m_extensions.GetObjectLength();
996 return length;
997 }
998
999
Decode(PASN_Stream & strm)1000 PBoolean H4609_FinalQosMonReport::Decode(PASN_Stream & strm)
1001 {
1002 if (!PreambleDecode(strm))
1003 return FALSE;
1004
1005 if (!m_mediaInfo.Decode(strm))
1006 return FALSE;
1007 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
1008 return FALSE;
1009 if (HasOptionalField(e_extensions) && !m_extensions.Decode(strm))
1010 return FALSE;
1011
1012 return UnknownExtensionsDecode(strm);
1013 }
1014
1015
Encode(PASN_Stream & strm) const1016 void H4609_FinalQosMonReport::Encode(PASN_Stream & strm) const
1017 {
1018 PreambleEncode(strm);
1019
1020 m_mediaInfo.Encode(strm);
1021 if (HasOptionalField(e_nonStandardData))
1022 m_nonStandardData.Encode(strm);
1023 if (HasOptionalField(e_extensions))
1024 m_extensions.Encode(strm);
1025
1026 UnknownExtensionsEncode(strm);
1027 }
1028
1029
Clone() const1030 PObject * H4609_FinalQosMonReport::Clone() const
1031 {
1032 #ifndef PASN_LEANANDMEAN
1033 PAssert(IsClass(H4609_FinalQosMonReport::Class()), PInvalidCast);
1034 #endif
1035 return new H4609_FinalQosMonReport(*this);
1036 }
1037
1038
1039 //
1040 // InterGKQosMonReport
1041 //
1042
H4609_InterGKQosMonReport(unsigned tag,PASN_Object::TagClass tagClass)1043 H4609_InterGKQosMonReport::H4609_InterGKQosMonReport(unsigned tag, PASN_Object::TagClass tagClass)
1044 : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
1045 {
1046 }
1047
1048
1049 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1050 void H4609_InterGKQosMonReport::PrintOn(ostream & strm) const
1051 {
1052 std::streamsize indent = strm.precision() + 2;
1053 strm << "{\n";
1054 strm << setw(indent+12) << "mediaInfo = " << setprecision(indent) << m_mediaInfo << '\n';
1055 if (HasOptionalField(e_nonStandardData))
1056 strm << setw(indent+18) << "nonStandardData = " << setprecision(indent) << m_nonStandardData << '\n';
1057 if (HasOptionalField(e_extensions))
1058 strm << setw(indent+13) << "extensions = " << setprecision(indent) << m_extensions << '\n';
1059 strm << setw(indent-1) << setprecision(indent-2) << "}";
1060 }
1061 #endif
1062
1063
Compare(const PObject & obj) const1064 PObject::Comparison H4609_InterGKQosMonReport::Compare(const PObject & obj) const
1065 {
1066 #ifndef PASN_LEANANDMEAN
1067 PAssert(PIsDescendant(&obj, H4609_InterGKQosMonReport), PInvalidCast);
1068 #endif
1069 const H4609_InterGKQosMonReport & other = (const H4609_InterGKQosMonReport &)obj;
1070
1071 Comparison result;
1072
1073 if ((result = m_mediaInfo.Compare(other.m_mediaInfo)) != EqualTo)
1074 return result;
1075 if ((result = m_nonStandardData.Compare(other.m_nonStandardData)) != EqualTo)
1076 return result;
1077 if ((result = m_extensions.Compare(other.m_extensions)) != EqualTo)
1078 return result;
1079
1080 return PASN_Sequence::Compare(other);
1081 }
1082
1083
GetDataLength() const1084 PINDEX H4609_InterGKQosMonReport::GetDataLength() const
1085 {
1086 PINDEX length = 0;
1087 length += m_mediaInfo.GetObjectLength();
1088 if (HasOptionalField(e_nonStandardData))
1089 length += m_nonStandardData.GetObjectLength();
1090 if (HasOptionalField(e_extensions))
1091 length += m_extensions.GetObjectLength();
1092 return length;
1093 }
1094
1095
Decode(PASN_Stream & strm)1096 PBoolean H4609_InterGKQosMonReport::Decode(PASN_Stream & strm)
1097 {
1098 if (!PreambleDecode(strm))
1099 return FALSE;
1100
1101 if (!m_mediaInfo.Decode(strm))
1102 return FALSE;
1103 if (HasOptionalField(e_nonStandardData) && !m_nonStandardData.Decode(strm))
1104 return FALSE;
1105 if (HasOptionalField(e_extensions) && !m_extensions.Decode(strm))
1106 return FALSE;
1107
1108 return UnknownExtensionsDecode(strm);
1109 }
1110
1111
Encode(PASN_Stream & strm) const1112 void H4609_InterGKQosMonReport::Encode(PASN_Stream & strm) const
1113 {
1114 PreambleEncode(strm);
1115
1116 m_mediaInfo.Encode(strm);
1117 if (HasOptionalField(e_nonStandardData))
1118 m_nonStandardData.Encode(strm);
1119 if (HasOptionalField(e_extensions))
1120 m_extensions.Encode(strm);
1121
1122 UnknownExtensionsEncode(strm);
1123 }
1124
1125
Clone() const1126 PObject * H4609_InterGKQosMonReport::Clone() const
1127 {
1128 #ifndef PASN_LEANANDMEAN
1129 PAssert(IsClass(H4609_InterGKQosMonReport::Class()), PInvalidCast);
1130 #endif
1131 return new H4609_InterGKQosMonReport(*this);
1132 }
1133
1134
1135 #endif // OPAL_H460
1136
1137
1138 // End of h4609.cxx
1139