4 // Code automatically generated by asnparse.
13 #if ! H323_DISABLE_H245
16 // FECData_rfc2733_pktMode_rfc2733diffport
19 H245_FECData_rfc2733_pktMode_rfc2733diffport::H245_FECData_rfc2733_pktMode_rfc2733diffport(unsigned tag
, PASN_Object::TagClass tagClass
)
20 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
25 #ifndef PASN_NOPRINTON
26 void H245_FECData_rfc2733_pktMode_rfc2733diffport::PrintOn(ostream
& strm
) const
28 int indent
= strm
.precision() + 2;
30 strm
<< setw(indent
+19) << "protectedChannel = " << setprecision(indent
) << m_protectedChannel
<< '\n';
31 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
36 PObject::Comparison
H245_FECData_rfc2733_pktMode_rfc2733diffport::Compare(const PObject
& obj
) const
38 #ifndef PASN_LEANANDMEAN
39 PAssert(PIsDescendant(&obj
, H245_FECData_rfc2733_pktMode_rfc2733diffport
), PInvalidCast
);
41 const H245_FECData_rfc2733_pktMode_rfc2733diffport
& other
= (const H245_FECData_rfc2733_pktMode_rfc2733diffport
&)obj
;
45 if ((result
= m_protectedChannel
.Compare(other
.m_protectedChannel
)) != EqualTo
)
48 return PASN_Sequence::Compare(other
);
52 PINDEX
H245_FECData_rfc2733_pktMode_rfc2733diffport::GetDataLength() const
55 length
+= m_protectedChannel
.GetObjectLength();
60 BOOL
H245_FECData_rfc2733_pktMode_rfc2733diffport::Decode(PASN_Stream
& strm
)
62 if (!PreambleDecode(strm
))
65 if (!m_protectedChannel
.Decode(strm
))
68 return UnknownExtensionsDecode(strm
);
72 void H245_FECData_rfc2733_pktMode_rfc2733diffport::Encode(PASN_Stream
& strm
) const
76 m_protectedChannel
.Encode(strm
);
78 UnknownExtensionsEncode(strm
);
82 PObject
* H245_FECData_rfc2733_pktMode_rfc2733diffport::Clone() const
84 #ifndef PASN_LEANANDMEAN
85 PAssert(IsClass(H245_FECData_rfc2733_pktMode_rfc2733diffport::Class()), PInvalidCast
);
87 return new H245_FECData_rfc2733_pktMode_rfc2733diffport(*this);
92 #ifndef PASN_NOPRINTON
93 const static PASN_Names Names_H245_DepFECMode_rfc2733Mode_mode_separateStream
[]={
99 // DepFECMode_rfc2733Mode_mode_separateStream
102 H245_DepFECMode_rfc2733Mode_mode_separateStream::H245_DepFECMode_rfc2733Mode_mode_separateStream(unsigned tag
, PASN_Object::TagClass tagClass
)
103 : PASN_Choice(tag
, tagClass
, 2, TRUE
104 #ifndef PASN_NOPRINTON
105 ,(const PASN_Names
*)Names_H245_DepFECMode_rfc2733Mode_mode_separateStream
,2
112 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
113 H245_DepFECMode_rfc2733Mode_mode_separateStream::operator H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
&() const
115 H245_DepFECMode_rfc2733Mode_mode_separateStream::operator H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
&()
117 #ifndef PASN_LEANANDMEAN
118 PAssert(PIsDescendant(PAssertNULL(choice
), H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
), PInvalidCast
);
120 return *(H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
*)choice
;
124 H245_DepFECMode_rfc2733Mode_mode_separateStream::operator const H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
&() const
127 #ifndef PASN_LEANANDMEAN
128 PAssert(PIsDescendant(PAssertNULL(choice
), H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
), PInvalidCast
);
130 return *(H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
*)choice
;
134 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
135 H245_DepFECMode_rfc2733Mode_mode_separateStream::operator H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
&() const
137 H245_DepFECMode_rfc2733Mode_mode_separateStream::operator H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
&()
139 #ifndef PASN_LEANANDMEAN
140 PAssert(PIsDescendant(PAssertNULL(choice
), H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
), PInvalidCast
);
142 return *(H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
*)choice
;
146 H245_DepFECMode_rfc2733Mode_mode_separateStream::operator const H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
&() const
149 #ifndef PASN_LEANANDMEAN
150 PAssert(PIsDescendant(PAssertNULL(choice
), H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
), PInvalidCast
);
152 return *(H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
*)choice
;
156 BOOL
H245_DepFECMode_rfc2733Mode_mode_separateStream::CreateObject()
159 case e_differentPort
:
160 choice
= new H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort();
163 choice
= new H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort();
172 PObject
* H245_DepFECMode_rfc2733Mode_mode_separateStream::Clone() const
174 #ifndef PASN_LEANANDMEAN
175 PAssert(IsClass(H245_DepFECMode_rfc2733Mode_mode_separateStream::Class()), PInvalidCast
);
177 return new H245_DepFECMode_rfc2733Mode_mode_separateStream(*this);
182 #ifndef PASN_NOPRINTON
183 const static PASN_Names Names_H245_MultilinkResponse_addConnection_responseCode_rejected
[]={
184 {"connectionsNotAvailable",0}
189 // MultilinkResponse_addConnection_responseCode_rejected
192 H245_MultilinkResponse_addConnection_responseCode_rejected::H245_MultilinkResponse_addConnection_responseCode_rejected(unsigned tag
, PASN_Object::TagClass tagClass
)
193 : PASN_Choice(tag
, tagClass
, 2, TRUE
194 #ifndef PASN_NOPRINTON
195 ,(const PASN_Names
*)Names_H245_MultilinkResponse_addConnection_responseCode_rejected
,2
202 BOOL
H245_MultilinkResponse_addConnection_responseCode_rejected::CreateObject()
204 choice
= (tag
<= e_userRejected
) ? new PASN_Null() : NULL
;
205 return choice
!= NULL
;
209 PObject
* H245_MultilinkResponse_addConnection_responseCode_rejected::Clone() const
211 #ifndef PASN_LEANANDMEAN
212 PAssert(IsClass(H245_MultilinkResponse_addConnection_responseCode_rejected::Class()), PInvalidCast
);
214 return new H245_MultilinkResponse_addConnection_responseCode_rejected(*this);
219 #ifndef PASN_NOPRINTON
220 const static PASN_Names Names_H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount
[]={
221 {"doOneProgression",0}
222 ,{"doContinuousProgressions",1}
223 ,{"doOneIndependentProgression",2}
224 ,{"doContinuousIndependentProgressions",3}
228 // MiscellaneousCommand_type_progressiveRefinementStart_repeatCount
231 H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount::H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(unsigned tag
, PASN_Object::TagClass tagClass
)
232 : PASN_Choice(tag
, tagClass
, 4, TRUE
233 #ifndef PASN_NOPRINTON
234 ,(const PASN_Names
*)Names_H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount
,4
241 BOOL
H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount::CreateObject()
243 choice
= (tag
<= e_doContinuousIndependentProgressions
) ? new PASN_Null() : NULL
;
244 return choice
!= NULL
;
248 PObject
* H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount::Clone() const
250 #ifndef PASN_LEANANDMEAN
251 PAssert(IsClass(H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount::Class()), PInvalidCast
);
253 return new H245_MiscellaneousCommand_type_progressiveRefinementStart_repeatCount(*this);
258 #ifndef PASN_NOPRINTON
259 const static PASN_Names Names_H245_NewATMVCCommand_aal_aal1_clockRecovery
[]={
260 {"nullClockRecovery",0}
261 ,{"srtsClockRecovery",1}
262 ,{"adaptiveClockRecovery",2}
266 // NewATMVCCommand_aal_aal1_clockRecovery
269 H245_NewATMVCCommand_aal_aal1_clockRecovery::H245_NewATMVCCommand_aal_aal1_clockRecovery(unsigned tag
, PASN_Object::TagClass tagClass
)
270 : PASN_Choice(tag
, tagClass
, 3, TRUE
271 #ifndef PASN_NOPRINTON
272 ,(const PASN_Names
*)Names_H245_NewATMVCCommand_aal_aal1_clockRecovery
,3
279 BOOL
H245_NewATMVCCommand_aal_aal1_clockRecovery::CreateObject()
281 choice
= (tag
<= e_adaptiveClockRecovery
) ? new PASN_Null() : NULL
;
282 return choice
!= NULL
;
286 PObject
* H245_NewATMVCCommand_aal_aal1_clockRecovery::Clone() const
288 #ifndef PASN_LEANANDMEAN
289 PAssert(IsClass(H245_NewATMVCCommand_aal_aal1_clockRecovery::Class()), PInvalidCast
);
291 return new H245_NewATMVCCommand_aal_aal1_clockRecovery(*this);
296 #ifndef PASN_NOPRINTON
297 const static PASN_Names Names_H245_NewATMVCCommand_aal_aal1_errorCorrection
[]={
298 {"nullErrorCorrection",0}
299 ,{"longInterleaver",1}
300 ,{"shortInterleaver",2}
301 ,{"errorCorrectionOnly",3}
305 // NewATMVCCommand_aal_aal1_errorCorrection
308 H245_NewATMVCCommand_aal_aal1_errorCorrection::H245_NewATMVCCommand_aal_aal1_errorCorrection(unsigned tag
, PASN_Object::TagClass tagClass
)
309 : PASN_Choice(tag
, tagClass
, 4, TRUE
310 #ifndef PASN_NOPRINTON
311 ,(const PASN_Names
*)Names_H245_NewATMVCCommand_aal_aal1_errorCorrection
,4
318 BOOL
H245_NewATMVCCommand_aal_aal1_errorCorrection::CreateObject()
320 choice
= (tag
<= e_errorCorrectionOnly
) ? new PASN_Null() : NULL
;
321 return choice
!= NULL
;
325 PObject
* H245_NewATMVCCommand_aal_aal1_errorCorrection::Clone() const
327 #ifndef PASN_LEANANDMEAN
328 PAssert(IsClass(H245_NewATMVCCommand_aal_aal1_errorCorrection::Class()), PInvalidCast
);
330 return new H245_NewATMVCCommand_aal_aal1_errorCorrection(*this);
335 #ifndef PASN_NOPRINTON
336 const static PASN_Names Names_H245_NewATMVCIndication_aal_aal1_clockRecovery
[]={
337 {"nullClockRecovery",0}
338 ,{"srtsClockRecovery",1}
339 ,{"adaptiveClockRecovery",2}
343 // NewATMVCIndication_aal_aal1_clockRecovery
346 H245_NewATMVCIndication_aal_aal1_clockRecovery::H245_NewATMVCIndication_aal_aal1_clockRecovery(unsigned tag
, PASN_Object::TagClass tagClass
)
347 : PASN_Choice(tag
, tagClass
, 3, TRUE
348 #ifndef PASN_NOPRINTON
349 ,(const PASN_Names
*)Names_H245_NewATMVCIndication_aal_aal1_clockRecovery
,3
356 BOOL
H245_NewATMVCIndication_aal_aal1_clockRecovery::CreateObject()
358 choice
= (tag
<= e_adaptiveClockRecovery
) ? new PASN_Null() : NULL
;
359 return choice
!= NULL
;
363 PObject
* H245_NewATMVCIndication_aal_aal1_clockRecovery::Clone() const
365 #ifndef PASN_LEANANDMEAN
366 PAssert(IsClass(H245_NewATMVCIndication_aal_aal1_clockRecovery::Class()), PInvalidCast
);
368 return new H245_NewATMVCIndication_aal_aal1_clockRecovery(*this);
373 #ifndef PASN_NOPRINTON
374 const static PASN_Names Names_H245_NewATMVCIndication_aal_aal1_errorCorrection
[]={
375 {"nullErrorCorrection",0}
376 ,{"longInterleaver",1}
377 ,{"shortInterleaver",2}
378 ,{"errorCorrectionOnly",3}
382 // NewATMVCIndication_aal_aal1_errorCorrection
385 H245_NewATMVCIndication_aal_aal1_errorCorrection::H245_NewATMVCIndication_aal_aal1_errorCorrection(unsigned tag
, PASN_Object::TagClass tagClass
)
386 : PASN_Choice(tag
, tagClass
, 4, TRUE
387 #ifndef PASN_NOPRINTON
388 ,(const PASN_Names
*)Names_H245_NewATMVCIndication_aal_aal1_errorCorrection
,4
395 BOOL
H245_NewATMVCIndication_aal_aal1_errorCorrection::CreateObject()
397 choice
= (tag
<= e_errorCorrectionOnly
) ? new PASN_Null() : NULL
;
398 return choice
!= NULL
;
402 PObject
* H245_NewATMVCIndication_aal_aal1_errorCorrection::Clone() const
404 #ifndef PASN_LEANANDMEAN
405 PAssert(IsClass(H245_NewATMVCIndication_aal_aal1_errorCorrection::Class()), PInvalidCast
);
407 return new H245_NewATMVCIndication_aal_aal1_errorCorrection(*this);
412 // DepFECData_rfc2733_mode_separateStream_differentPort
415 H245_DepFECData_rfc2733_mode_separateStream_differentPort::H245_DepFECData_rfc2733_mode_separateStream_differentPort(unsigned tag
, PASN_Object::TagClass tagClass
)
416 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
418 m_protectedSessionID
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
419 m_protectedPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
423 #ifndef PASN_NOPRINTON
424 void H245_DepFECData_rfc2733_mode_separateStream_differentPort::PrintOn(ostream
& strm
) const
426 int indent
= strm
.precision() + 2;
428 strm
<< setw(indent
+21) << "protectedSessionID = " << setprecision(indent
) << m_protectedSessionID
<< '\n';
429 if (HasOptionalField(e_protectedPayloadType
))
430 strm
<< setw(indent
+23) << "protectedPayloadType = " << setprecision(indent
) << m_protectedPayloadType
<< '\n';
431 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
436 PObject::Comparison
H245_DepFECData_rfc2733_mode_separateStream_differentPort::Compare(const PObject
& obj
) const
438 #ifndef PASN_LEANANDMEAN
439 PAssert(PIsDescendant(&obj
, H245_DepFECData_rfc2733_mode_separateStream_differentPort
), PInvalidCast
);
441 const H245_DepFECData_rfc2733_mode_separateStream_differentPort
& other
= (const H245_DepFECData_rfc2733_mode_separateStream_differentPort
&)obj
;
445 if ((result
= m_protectedSessionID
.Compare(other
.m_protectedSessionID
)) != EqualTo
)
447 if ((result
= m_protectedPayloadType
.Compare(other
.m_protectedPayloadType
)) != EqualTo
)
450 return PASN_Sequence::Compare(other
);
454 PINDEX
H245_DepFECData_rfc2733_mode_separateStream_differentPort::GetDataLength() const
457 length
+= m_protectedSessionID
.GetObjectLength();
458 if (HasOptionalField(e_protectedPayloadType
))
459 length
+= m_protectedPayloadType
.GetObjectLength();
464 BOOL
H245_DepFECData_rfc2733_mode_separateStream_differentPort::Decode(PASN_Stream
& strm
)
466 if (!PreambleDecode(strm
))
469 if (!m_protectedSessionID
.Decode(strm
))
471 if (HasOptionalField(e_protectedPayloadType
) && !m_protectedPayloadType
.Decode(strm
))
474 return UnknownExtensionsDecode(strm
);
478 void H245_DepFECData_rfc2733_mode_separateStream_differentPort::Encode(PASN_Stream
& strm
) const
480 PreambleEncode(strm
);
482 m_protectedSessionID
.Encode(strm
);
483 if (HasOptionalField(e_protectedPayloadType
))
484 m_protectedPayloadType
.Encode(strm
);
486 UnknownExtensionsEncode(strm
);
490 PObject
* H245_DepFECData_rfc2733_mode_separateStream_differentPort::Clone() const
492 #ifndef PASN_LEANANDMEAN
493 PAssert(IsClass(H245_DepFECData_rfc2733_mode_separateStream_differentPort::Class()), PInvalidCast
);
495 return new H245_DepFECData_rfc2733_mode_separateStream_differentPort(*this);
500 // DepFECData_rfc2733_mode_separateStream_samePort
503 H245_DepFECData_rfc2733_mode_separateStream_samePort::H245_DepFECData_rfc2733_mode_separateStream_samePort(unsigned tag
, PASN_Object::TagClass tagClass
)
504 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
506 m_protectedPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
510 #ifndef PASN_NOPRINTON
511 void H245_DepFECData_rfc2733_mode_separateStream_samePort::PrintOn(ostream
& strm
) const
513 int indent
= strm
.precision() + 2;
515 strm
<< setw(indent
+23) << "protectedPayloadType = " << setprecision(indent
) << m_protectedPayloadType
<< '\n';
516 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
521 PObject::Comparison
H245_DepFECData_rfc2733_mode_separateStream_samePort::Compare(const PObject
& obj
) const
523 #ifndef PASN_LEANANDMEAN
524 PAssert(PIsDescendant(&obj
, H245_DepFECData_rfc2733_mode_separateStream_samePort
), PInvalidCast
);
526 const H245_DepFECData_rfc2733_mode_separateStream_samePort
& other
= (const H245_DepFECData_rfc2733_mode_separateStream_samePort
&)obj
;
530 if ((result
= m_protectedPayloadType
.Compare(other
.m_protectedPayloadType
)) != EqualTo
)
533 return PASN_Sequence::Compare(other
);
537 PINDEX
H245_DepFECData_rfc2733_mode_separateStream_samePort::GetDataLength() const
540 length
+= m_protectedPayloadType
.GetObjectLength();
545 BOOL
H245_DepFECData_rfc2733_mode_separateStream_samePort::Decode(PASN_Stream
& strm
)
547 if (!PreambleDecode(strm
))
550 if (!m_protectedPayloadType
.Decode(strm
))
553 return UnknownExtensionsDecode(strm
);
557 void H245_DepFECData_rfc2733_mode_separateStream_samePort::Encode(PASN_Stream
& strm
) const
559 PreambleEncode(strm
);
561 m_protectedPayloadType
.Encode(strm
);
563 UnknownExtensionsEncode(strm
);
567 PObject
* H245_DepFECData_rfc2733_mode_separateStream_samePort::Clone() const
569 #ifndef PASN_LEANANDMEAN
570 PAssert(IsClass(H245_DepFECData_rfc2733_mode_separateStream_samePort::Class()), PInvalidCast
);
572 return new H245_DepFECData_rfc2733_mode_separateStream_samePort(*this);
577 // DepFECMode_rfc2733Mode_mode_separateStream_differentPort
580 H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort(unsigned tag
, PASN_Object::TagClass tagClass
)
581 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
583 m_protectedSessionID
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
584 m_protectedPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
588 #ifndef PASN_NOPRINTON
589 void H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::PrintOn(ostream
& strm
) const
591 int indent
= strm
.precision() + 2;
593 strm
<< setw(indent
+21) << "protectedSessionID = " << setprecision(indent
) << m_protectedSessionID
<< '\n';
594 if (HasOptionalField(e_protectedPayloadType
))
595 strm
<< setw(indent
+23) << "protectedPayloadType = " << setprecision(indent
) << m_protectedPayloadType
<< '\n';
596 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
601 PObject::Comparison
H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::Compare(const PObject
& obj
) const
603 #ifndef PASN_LEANANDMEAN
604 PAssert(PIsDescendant(&obj
, H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
), PInvalidCast
);
606 const H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
& other
= (const H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort
&)obj
;
610 if ((result
= m_protectedSessionID
.Compare(other
.m_protectedSessionID
)) != EqualTo
)
612 if ((result
= m_protectedPayloadType
.Compare(other
.m_protectedPayloadType
)) != EqualTo
)
615 return PASN_Sequence::Compare(other
);
619 PINDEX
H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::GetDataLength() const
622 length
+= m_protectedSessionID
.GetObjectLength();
623 if (HasOptionalField(e_protectedPayloadType
))
624 length
+= m_protectedPayloadType
.GetObjectLength();
629 BOOL
H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::Decode(PASN_Stream
& strm
)
631 if (!PreambleDecode(strm
))
634 if (!m_protectedSessionID
.Decode(strm
))
636 if (HasOptionalField(e_protectedPayloadType
) && !m_protectedPayloadType
.Decode(strm
))
639 return UnknownExtensionsDecode(strm
);
643 void H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::Encode(PASN_Stream
& strm
) const
645 PreambleEncode(strm
);
647 m_protectedSessionID
.Encode(strm
);
648 if (HasOptionalField(e_protectedPayloadType
))
649 m_protectedPayloadType
.Encode(strm
);
651 UnknownExtensionsEncode(strm
);
655 PObject
* H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::Clone() const
657 #ifndef PASN_LEANANDMEAN
658 PAssert(IsClass(H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort::Class()), PInvalidCast
);
660 return new H245_DepFECMode_rfc2733Mode_mode_separateStream_differentPort(*this);
665 // DepFECMode_rfc2733Mode_mode_separateStream_samePort
668 H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort(unsigned tag
, PASN_Object::TagClass tagClass
)
669 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
674 #ifndef PASN_NOPRINTON
675 void H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::PrintOn(ostream
& strm
) const
677 int indent
= strm
.precision() + 2;
679 strm
<< setw(indent
+16) << "protectedType = " << setprecision(indent
) << m_protectedType
<< '\n';
680 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
685 PObject::Comparison
H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::Compare(const PObject
& obj
) const
687 #ifndef PASN_LEANANDMEAN
688 PAssert(PIsDescendant(&obj
, H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
), PInvalidCast
);
690 const H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
& other
= (const H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort
&)obj
;
694 if ((result
= m_protectedType
.Compare(other
.m_protectedType
)) != EqualTo
)
697 return PASN_Sequence::Compare(other
);
701 PINDEX
H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::GetDataLength() const
704 length
+= m_protectedType
.GetObjectLength();
709 BOOL
H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::Decode(PASN_Stream
& strm
)
711 if (!PreambleDecode(strm
))
714 if (!m_protectedType
.Decode(strm
))
717 return UnknownExtensionsDecode(strm
);
721 void H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::Encode(PASN_Stream
& strm
) const
723 PreambleEncode(strm
);
725 m_protectedType
.Encode(strm
);
727 UnknownExtensionsEncode(strm
);
731 PObject
* H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::Clone() const
733 #ifndef PASN_LEANANDMEAN
734 PAssert(IsClass(H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort::Class()), PInvalidCast
);
736 return new H245_DepFECMode_rfc2733Mode_mode_separateStream_samePort(*this);
744 H245_GenericMessage::H245_GenericMessage(unsigned tag
, PASN_Object::TagClass tagClass
)
745 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
747 m_subMessageIdentifier
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
751 #ifndef PASN_NOPRINTON
752 void H245_GenericMessage::PrintOn(ostream
& strm
) const
754 int indent
= strm
.precision() + 2;
756 strm
<< setw(indent
+20) << "messageIdentifier = " << setprecision(indent
) << m_messageIdentifier
<< '\n';
757 if (HasOptionalField(e_subMessageIdentifier
))
758 strm
<< setw(indent
+23) << "subMessageIdentifier = " << setprecision(indent
) << m_subMessageIdentifier
<< '\n';
759 if (HasOptionalField(e_messageContent
))
760 strm
<< setw(indent
+17) << "messageContent = " << setprecision(indent
) << m_messageContent
<< '\n';
761 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
766 PObject::Comparison
H245_GenericMessage::Compare(const PObject
& obj
) const
768 #ifndef PASN_LEANANDMEAN
769 PAssert(PIsDescendant(&obj
, H245_GenericMessage
), PInvalidCast
);
771 const H245_GenericMessage
& other
= (const H245_GenericMessage
&)obj
;
775 if ((result
= m_messageIdentifier
.Compare(other
.m_messageIdentifier
)) != EqualTo
)
777 if ((result
= m_subMessageIdentifier
.Compare(other
.m_subMessageIdentifier
)) != EqualTo
)
779 if ((result
= m_messageContent
.Compare(other
.m_messageContent
)) != EqualTo
)
782 return PASN_Sequence::Compare(other
);
786 PINDEX
H245_GenericMessage::GetDataLength() const
789 length
+= m_messageIdentifier
.GetObjectLength();
790 if (HasOptionalField(e_subMessageIdentifier
))
791 length
+= m_subMessageIdentifier
.GetObjectLength();
792 if (HasOptionalField(e_messageContent
))
793 length
+= m_messageContent
.GetObjectLength();
798 BOOL
H245_GenericMessage::Decode(PASN_Stream
& strm
)
800 if (!PreambleDecode(strm
))
803 if (!m_messageIdentifier
.Decode(strm
))
805 if (HasOptionalField(e_subMessageIdentifier
) && !m_subMessageIdentifier
.Decode(strm
))
807 if (HasOptionalField(e_messageContent
) && !m_messageContent
.Decode(strm
))
810 return UnknownExtensionsDecode(strm
);
814 void H245_GenericMessage::Encode(PASN_Stream
& strm
) const
816 PreambleEncode(strm
);
818 m_messageIdentifier
.Encode(strm
);
819 if (HasOptionalField(e_subMessageIdentifier
))
820 m_subMessageIdentifier
.Encode(strm
);
821 if (HasOptionalField(e_messageContent
))
822 m_messageContent
.Encode(strm
);
824 UnknownExtensionsEncode(strm
);
828 PObject
* H245_GenericMessage::Clone() const
830 #ifndef PASN_LEANANDMEAN
831 PAssert(IsClass(H245_GenericMessage::Class()), PInvalidCast
);
833 return new H245_GenericMessage(*this);
838 // GenericInformation
841 H245_GenericInformation::H245_GenericInformation(unsigned tag
, PASN_Object::TagClass tagClass
)
842 : H245_GenericMessage(tag
, tagClass
)
847 PObject
* H245_GenericInformation::Clone() const
849 #ifndef PASN_LEANANDMEAN
850 PAssert(IsClass(H245_GenericInformation::Class()), PInvalidCast
);
852 return new H245_GenericInformation(*this);
857 // NonStandardParameter
860 H245_NonStandardParameter::H245_NonStandardParameter(unsigned tag
, PASN_Object::TagClass tagClass
)
861 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
866 #ifndef PASN_NOPRINTON
867 void H245_NonStandardParameter::PrintOn(ostream
& strm
) const
869 int indent
= strm
.precision() + 2;
871 strm
<< setw(indent
+24) << "nonStandardIdentifier = " << setprecision(indent
) << m_nonStandardIdentifier
<< '\n';
872 strm
<< setw(indent
+7) << "data = " << setprecision(indent
) << m_data
<< '\n';
873 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
878 PObject::Comparison
H245_NonStandardParameter::Compare(const PObject
& obj
) const
880 #ifndef PASN_LEANANDMEAN
881 PAssert(PIsDescendant(&obj
, H245_NonStandardParameter
), PInvalidCast
);
883 const H245_NonStandardParameter
& other
= (const H245_NonStandardParameter
&)obj
;
887 if ((result
= m_nonStandardIdentifier
.Compare(other
.m_nonStandardIdentifier
)) != EqualTo
)
889 if ((result
= m_data
.Compare(other
.m_data
)) != EqualTo
)
892 return PASN_Sequence::Compare(other
);
896 PINDEX
H245_NonStandardParameter::GetDataLength() const
899 length
+= m_nonStandardIdentifier
.GetObjectLength();
900 length
+= m_data
.GetObjectLength();
905 BOOL
H245_NonStandardParameter::Decode(PASN_Stream
& strm
)
907 if (!PreambleDecode(strm
))
910 if (!m_nonStandardIdentifier
.Decode(strm
))
912 if (!m_data
.Decode(strm
))
915 return UnknownExtensionsDecode(strm
);
919 void H245_NonStandardParameter::Encode(PASN_Stream
& strm
) const
921 PreambleEncode(strm
);
923 m_nonStandardIdentifier
.Encode(strm
);
926 UnknownExtensionsEncode(strm
);
930 PObject
* H245_NonStandardParameter::Clone() const
932 #ifndef PASN_LEANANDMEAN
933 PAssert(IsClass(H245_NonStandardParameter::Class()), PInvalidCast
);
935 return new H245_NonStandardParameter(*this);
940 // MasterSlaveDeterminationAck
943 H245_MasterSlaveDeterminationAck::H245_MasterSlaveDeterminationAck(unsigned tag
, PASN_Object::TagClass tagClass
)
944 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
949 #ifndef PASN_NOPRINTON
950 void H245_MasterSlaveDeterminationAck::PrintOn(ostream
& strm
) const
952 int indent
= strm
.precision() + 2;
954 strm
<< setw(indent
+11) << "decision = " << setprecision(indent
) << m_decision
<< '\n';
955 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
960 PObject::Comparison
H245_MasterSlaveDeterminationAck::Compare(const PObject
& obj
) const
962 #ifndef PASN_LEANANDMEAN
963 PAssert(PIsDescendant(&obj
, H245_MasterSlaveDeterminationAck
), PInvalidCast
);
965 const H245_MasterSlaveDeterminationAck
& other
= (const H245_MasterSlaveDeterminationAck
&)obj
;
969 if ((result
= m_decision
.Compare(other
.m_decision
)) != EqualTo
)
972 return PASN_Sequence::Compare(other
);
976 PINDEX
H245_MasterSlaveDeterminationAck::GetDataLength() const
979 length
+= m_decision
.GetObjectLength();
984 BOOL
H245_MasterSlaveDeterminationAck::Decode(PASN_Stream
& strm
)
986 if (!PreambleDecode(strm
))
989 if (!m_decision
.Decode(strm
))
992 return UnknownExtensionsDecode(strm
);
996 void H245_MasterSlaveDeterminationAck::Encode(PASN_Stream
& strm
) const
998 PreambleEncode(strm
);
1000 m_decision
.Encode(strm
);
1002 UnknownExtensionsEncode(strm
);
1006 PObject
* H245_MasterSlaveDeterminationAck::Clone() const
1008 #ifndef PASN_LEANANDMEAN
1009 PAssert(IsClass(H245_MasterSlaveDeterminationAck::Class()), PInvalidCast
);
1011 return new H245_MasterSlaveDeterminationAck(*this);
1016 // MasterSlaveDeterminationReject
1019 H245_MasterSlaveDeterminationReject::H245_MasterSlaveDeterminationReject(unsigned tag
, PASN_Object::TagClass tagClass
)
1020 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
1025 #ifndef PASN_NOPRINTON
1026 void H245_MasterSlaveDeterminationReject::PrintOn(ostream
& strm
) const
1028 int indent
= strm
.precision() + 2;
1030 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
1031 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1036 PObject::Comparison
H245_MasterSlaveDeterminationReject::Compare(const PObject
& obj
) const
1038 #ifndef PASN_LEANANDMEAN
1039 PAssert(PIsDescendant(&obj
, H245_MasterSlaveDeterminationReject
), PInvalidCast
);
1041 const H245_MasterSlaveDeterminationReject
& other
= (const H245_MasterSlaveDeterminationReject
&)obj
;
1045 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
1048 return PASN_Sequence::Compare(other
);
1052 PINDEX
H245_MasterSlaveDeterminationReject::GetDataLength() const
1055 length
+= m_cause
.GetObjectLength();
1060 BOOL
H245_MasterSlaveDeterminationReject::Decode(PASN_Stream
& strm
)
1062 if (!PreambleDecode(strm
))
1065 if (!m_cause
.Decode(strm
))
1068 return UnknownExtensionsDecode(strm
);
1072 void H245_MasterSlaveDeterminationReject::Encode(PASN_Stream
& strm
) const
1074 PreambleEncode(strm
);
1076 m_cause
.Encode(strm
);
1078 UnknownExtensionsEncode(strm
);
1082 PObject
* H245_MasterSlaveDeterminationReject::Clone() const
1084 #ifndef PASN_LEANANDMEAN
1085 PAssert(IsClass(H245_MasterSlaveDeterminationReject::Class()), PInvalidCast
);
1087 return new H245_MasterSlaveDeterminationReject(*this);
1092 // TerminalCapabilitySet
1095 H245_TerminalCapabilitySet::H245_TerminalCapabilitySet(unsigned tag
, PASN_Object::TagClass tagClass
)
1096 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 1)
1098 m_capabilityTable
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
1099 m_capabilityDescriptors
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
1103 #ifndef PASN_NOPRINTON
1104 void H245_TerminalCapabilitySet::PrintOn(ostream
& strm
) const
1106 int indent
= strm
.precision() + 2;
1108 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
1109 strm
<< setw(indent
+21) << "protocolIdentifier = " << setprecision(indent
) << m_protocolIdentifier
<< '\n';
1110 if (HasOptionalField(e_multiplexCapability
))
1111 strm
<< setw(indent
+22) << "multiplexCapability = " << setprecision(indent
) << m_multiplexCapability
<< '\n';
1112 if (HasOptionalField(e_capabilityTable
))
1113 strm
<< setw(indent
+18) << "capabilityTable = " << setprecision(indent
) << m_capabilityTable
<< '\n';
1114 if (HasOptionalField(e_capabilityDescriptors
))
1115 strm
<< setw(indent
+24) << "capabilityDescriptors = " << setprecision(indent
) << m_capabilityDescriptors
<< '\n';
1116 if (HasOptionalField(e_genericInformation
))
1117 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
1118 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1123 PObject::Comparison
H245_TerminalCapabilitySet::Compare(const PObject
& obj
) const
1125 #ifndef PASN_LEANANDMEAN
1126 PAssert(PIsDescendant(&obj
, H245_TerminalCapabilitySet
), PInvalidCast
);
1128 const H245_TerminalCapabilitySet
& other
= (const H245_TerminalCapabilitySet
&)obj
;
1132 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
1134 if ((result
= m_protocolIdentifier
.Compare(other
.m_protocolIdentifier
)) != EqualTo
)
1136 if ((result
= m_multiplexCapability
.Compare(other
.m_multiplexCapability
)) != EqualTo
)
1138 if ((result
= m_capabilityTable
.Compare(other
.m_capabilityTable
)) != EqualTo
)
1140 if ((result
= m_capabilityDescriptors
.Compare(other
.m_capabilityDescriptors
)) != EqualTo
)
1143 return PASN_Sequence::Compare(other
);
1147 PINDEX
H245_TerminalCapabilitySet::GetDataLength() const
1150 length
+= m_sequenceNumber
.GetObjectLength();
1151 length
+= m_protocolIdentifier
.GetObjectLength();
1152 if (HasOptionalField(e_multiplexCapability
))
1153 length
+= m_multiplexCapability
.GetObjectLength();
1154 if (HasOptionalField(e_capabilityTable
))
1155 length
+= m_capabilityTable
.GetObjectLength();
1156 if (HasOptionalField(e_capabilityDescriptors
))
1157 length
+= m_capabilityDescriptors
.GetObjectLength();
1162 BOOL
H245_TerminalCapabilitySet::Decode(PASN_Stream
& strm
)
1164 if (!PreambleDecode(strm
))
1167 if (!m_sequenceNumber
.Decode(strm
))
1169 if (!m_protocolIdentifier
.Decode(strm
))
1171 if (HasOptionalField(e_multiplexCapability
) && !m_multiplexCapability
.Decode(strm
))
1173 if (HasOptionalField(e_capabilityTable
) && !m_capabilityTable
.Decode(strm
))
1175 if (HasOptionalField(e_capabilityDescriptors
) && !m_capabilityDescriptors
.Decode(strm
))
1177 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
1180 return UnknownExtensionsDecode(strm
);
1184 void H245_TerminalCapabilitySet::Encode(PASN_Stream
& strm
) const
1186 PreambleEncode(strm
);
1188 m_sequenceNumber
.Encode(strm
);
1189 m_protocolIdentifier
.Encode(strm
);
1190 if (HasOptionalField(e_multiplexCapability
))
1191 m_multiplexCapability
.Encode(strm
);
1192 if (HasOptionalField(e_capabilityTable
))
1193 m_capabilityTable
.Encode(strm
);
1194 if (HasOptionalField(e_capabilityDescriptors
))
1195 m_capabilityDescriptors
.Encode(strm
);
1196 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
1198 UnknownExtensionsEncode(strm
);
1202 PObject
* H245_TerminalCapabilitySet::Clone() const
1204 #ifndef PASN_LEANANDMEAN
1205 PAssert(IsClass(H245_TerminalCapabilitySet::Class()), PInvalidCast
);
1207 return new H245_TerminalCapabilitySet(*this);
1212 // CapabilityTableEntry
1215 H245_CapabilityTableEntry::H245_CapabilityTableEntry(unsigned tag
, PASN_Object::TagClass tagClass
)
1216 : PASN_Sequence(tag
, tagClass
, 1, FALSE
, 0)
1221 #ifndef PASN_NOPRINTON
1222 void H245_CapabilityTableEntry::PrintOn(ostream
& strm
) const
1224 int indent
= strm
.precision() + 2;
1226 strm
<< setw(indent
+29) << "capabilityTableEntryNumber = " << setprecision(indent
) << m_capabilityTableEntryNumber
<< '\n';
1227 if (HasOptionalField(e_capability
))
1228 strm
<< setw(indent
+13) << "capability = " << setprecision(indent
) << m_capability
<< '\n';
1229 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1234 PObject::Comparison
H245_CapabilityTableEntry::Compare(const PObject
& obj
) const
1236 #ifndef PASN_LEANANDMEAN
1237 PAssert(PIsDescendant(&obj
, H245_CapabilityTableEntry
), PInvalidCast
);
1239 const H245_CapabilityTableEntry
& other
= (const H245_CapabilityTableEntry
&)obj
;
1243 if ((result
= m_capabilityTableEntryNumber
.Compare(other
.m_capabilityTableEntryNumber
)) != EqualTo
)
1245 if ((result
= m_capability
.Compare(other
.m_capability
)) != EqualTo
)
1248 return PASN_Sequence::Compare(other
);
1252 PINDEX
H245_CapabilityTableEntry::GetDataLength() const
1255 length
+= m_capabilityTableEntryNumber
.GetObjectLength();
1256 if (HasOptionalField(e_capability
))
1257 length
+= m_capability
.GetObjectLength();
1262 BOOL
H245_CapabilityTableEntry::Decode(PASN_Stream
& strm
)
1264 if (!PreambleDecode(strm
))
1267 if (!m_capabilityTableEntryNumber
.Decode(strm
))
1269 if (HasOptionalField(e_capability
) && !m_capability
.Decode(strm
))
1272 return UnknownExtensionsDecode(strm
);
1276 void H245_CapabilityTableEntry::Encode(PASN_Stream
& strm
) const
1278 PreambleEncode(strm
);
1280 m_capabilityTableEntryNumber
.Encode(strm
);
1281 if (HasOptionalField(e_capability
))
1282 m_capability
.Encode(strm
);
1284 UnknownExtensionsEncode(strm
);
1288 PObject
* H245_CapabilityTableEntry::Clone() const
1290 #ifndef PASN_LEANANDMEAN
1291 PAssert(IsClass(H245_CapabilityTableEntry::Class()), PInvalidCast
);
1293 return new H245_CapabilityTableEntry(*this);
1298 // CapabilityDescriptor
1301 H245_CapabilityDescriptor::H245_CapabilityDescriptor(unsigned tag
, PASN_Object::TagClass tagClass
)
1302 : PASN_Sequence(tag
, tagClass
, 1, FALSE
, 0)
1304 m_simultaneousCapabilities
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
1308 #ifndef PASN_NOPRINTON
1309 void H245_CapabilityDescriptor::PrintOn(ostream
& strm
) const
1311 int indent
= strm
.precision() + 2;
1313 strm
<< setw(indent
+29) << "capabilityDescriptorNumber = " << setprecision(indent
) << m_capabilityDescriptorNumber
<< '\n';
1314 if (HasOptionalField(e_simultaneousCapabilities
))
1315 strm
<< setw(indent
+27) << "simultaneousCapabilities = " << setprecision(indent
) << m_simultaneousCapabilities
<< '\n';
1316 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1321 PObject::Comparison
H245_CapabilityDescriptor::Compare(const PObject
& obj
) const
1323 #ifndef PASN_LEANANDMEAN
1324 PAssert(PIsDescendant(&obj
, H245_CapabilityDescriptor
), PInvalidCast
);
1326 const H245_CapabilityDescriptor
& other
= (const H245_CapabilityDescriptor
&)obj
;
1330 if ((result
= m_capabilityDescriptorNumber
.Compare(other
.m_capabilityDescriptorNumber
)) != EqualTo
)
1332 if ((result
= m_simultaneousCapabilities
.Compare(other
.m_simultaneousCapabilities
)) != EqualTo
)
1335 return PASN_Sequence::Compare(other
);
1339 PINDEX
H245_CapabilityDescriptor::GetDataLength() const
1342 length
+= m_capabilityDescriptorNumber
.GetObjectLength();
1343 if (HasOptionalField(e_simultaneousCapabilities
))
1344 length
+= m_simultaneousCapabilities
.GetObjectLength();
1349 BOOL
H245_CapabilityDescriptor::Decode(PASN_Stream
& strm
)
1351 if (!PreambleDecode(strm
))
1354 if (!m_capabilityDescriptorNumber
.Decode(strm
))
1356 if (HasOptionalField(e_simultaneousCapabilities
) && !m_simultaneousCapabilities
.Decode(strm
))
1359 return UnknownExtensionsDecode(strm
);
1363 void H245_CapabilityDescriptor::Encode(PASN_Stream
& strm
) const
1365 PreambleEncode(strm
);
1367 m_capabilityDescriptorNumber
.Encode(strm
);
1368 if (HasOptionalField(e_simultaneousCapabilities
))
1369 m_simultaneousCapabilities
.Encode(strm
);
1371 UnknownExtensionsEncode(strm
);
1375 PObject
* H245_CapabilityDescriptor::Clone() const
1377 #ifndef PASN_LEANANDMEAN
1378 PAssert(IsClass(H245_CapabilityDescriptor::Class()), PInvalidCast
);
1380 return new H245_CapabilityDescriptor(*this);
1385 // TerminalCapabilitySetAck
1388 H245_TerminalCapabilitySetAck::H245_TerminalCapabilitySetAck(unsigned tag
, PASN_Object::TagClass tagClass
)
1389 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
1394 #ifndef PASN_NOPRINTON
1395 void H245_TerminalCapabilitySetAck::PrintOn(ostream
& strm
) const
1397 int indent
= strm
.precision() + 2;
1399 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
1400 if (HasOptionalField(e_genericInformation
))
1401 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
1402 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1407 PObject::Comparison
H245_TerminalCapabilitySetAck::Compare(const PObject
& obj
) const
1409 #ifndef PASN_LEANANDMEAN
1410 PAssert(PIsDescendant(&obj
, H245_TerminalCapabilitySetAck
), PInvalidCast
);
1412 const H245_TerminalCapabilitySetAck
& other
= (const H245_TerminalCapabilitySetAck
&)obj
;
1416 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
1419 return PASN_Sequence::Compare(other
);
1423 PINDEX
H245_TerminalCapabilitySetAck::GetDataLength() const
1426 length
+= m_sequenceNumber
.GetObjectLength();
1431 BOOL
H245_TerminalCapabilitySetAck::Decode(PASN_Stream
& strm
)
1433 if (!PreambleDecode(strm
))
1436 if (!m_sequenceNumber
.Decode(strm
))
1438 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
1441 return UnknownExtensionsDecode(strm
);
1445 void H245_TerminalCapabilitySetAck::Encode(PASN_Stream
& strm
) const
1447 PreambleEncode(strm
);
1449 m_sequenceNumber
.Encode(strm
);
1450 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
1452 UnknownExtensionsEncode(strm
);
1456 PObject
* H245_TerminalCapabilitySetAck::Clone() const
1458 #ifndef PASN_LEANANDMEAN
1459 PAssert(IsClass(H245_TerminalCapabilitySetAck::Class()), PInvalidCast
);
1461 return new H245_TerminalCapabilitySetAck(*this);
1466 // TerminalCapabilitySetReject
1469 H245_TerminalCapabilitySetReject::H245_TerminalCapabilitySetReject(unsigned tag
, PASN_Object::TagClass tagClass
)
1470 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
1475 #ifndef PASN_NOPRINTON
1476 void H245_TerminalCapabilitySetReject::PrintOn(ostream
& strm
) const
1478 int indent
= strm
.precision() + 2;
1480 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
1481 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
1482 if (HasOptionalField(e_genericInformation
))
1483 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
1484 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1489 PObject::Comparison
H245_TerminalCapabilitySetReject::Compare(const PObject
& obj
) const
1491 #ifndef PASN_LEANANDMEAN
1492 PAssert(PIsDescendant(&obj
, H245_TerminalCapabilitySetReject
), PInvalidCast
);
1494 const H245_TerminalCapabilitySetReject
& other
= (const H245_TerminalCapabilitySetReject
&)obj
;
1498 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
1500 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
1503 return PASN_Sequence::Compare(other
);
1507 PINDEX
H245_TerminalCapabilitySetReject::GetDataLength() const
1510 length
+= m_sequenceNumber
.GetObjectLength();
1511 length
+= m_cause
.GetObjectLength();
1516 BOOL
H245_TerminalCapabilitySetReject::Decode(PASN_Stream
& strm
)
1518 if (!PreambleDecode(strm
))
1521 if (!m_sequenceNumber
.Decode(strm
))
1523 if (!m_cause
.Decode(strm
))
1525 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
1528 return UnknownExtensionsDecode(strm
);
1532 void H245_TerminalCapabilitySetReject::Encode(PASN_Stream
& strm
) const
1534 PreambleEncode(strm
);
1536 m_sequenceNumber
.Encode(strm
);
1537 m_cause
.Encode(strm
);
1538 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
1540 UnknownExtensionsEncode(strm
);
1544 PObject
* H245_TerminalCapabilitySetReject::Clone() const
1546 #ifndef PASN_LEANANDMEAN
1547 PAssert(IsClass(H245_TerminalCapabilitySetReject::Class()), PInvalidCast
);
1549 return new H245_TerminalCapabilitySetReject(*this);
1554 // TerminalCapabilitySetRelease
1557 H245_TerminalCapabilitySetRelease::H245_TerminalCapabilitySetRelease(unsigned tag
, PASN_Object::TagClass tagClass
)
1558 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
1563 #ifndef PASN_NOPRINTON
1564 void H245_TerminalCapabilitySetRelease::PrintOn(ostream
& strm
) const
1566 int indent
= strm
.precision() + 2;
1568 if (HasOptionalField(e_genericInformation
))
1569 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
1570 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1575 PINDEX
H245_TerminalCapabilitySetRelease::GetDataLength() const
1582 BOOL
H245_TerminalCapabilitySetRelease::Decode(PASN_Stream
& strm
)
1584 if (!PreambleDecode(strm
))
1587 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
1590 return UnknownExtensionsDecode(strm
);
1594 void H245_TerminalCapabilitySetRelease::Encode(PASN_Stream
& strm
) const
1596 PreambleEncode(strm
);
1598 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
1600 UnknownExtensionsEncode(strm
);
1604 PObject
* H245_TerminalCapabilitySetRelease::Clone() const
1606 #ifndef PASN_LEANANDMEAN
1607 PAssert(IsClass(H245_TerminalCapabilitySetRelease::Class()), PInvalidCast
);
1609 return new H245_TerminalCapabilitySetRelease(*this);
1617 H245_H222Capability::H245_H222Capability(unsigned tag
, PASN_Object::TagClass tagClass
)
1618 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
1620 m_numberOfVCs
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
1624 #ifndef PASN_NOPRINTON
1625 void H245_H222Capability::PrintOn(ostream
& strm
) const
1627 int indent
= strm
.precision() + 2;
1629 strm
<< setw(indent
+14) << "numberOfVCs = " << setprecision(indent
) << m_numberOfVCs
<< '\n';
1630 strm
<< setw(indent
+15) << "vcCapability = " << setprecision(indent
) << m_vcCapability
<< '\n';
1631 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1636 PObject::Comparison
H245_H222Capability::Compare(const PObject
& obj
) const
1638 #ifndef PASN_LEANANDMEAN
1639 PAssert(PIsDescendant(&obj
, H245_H222Capability
), PInvalidCast
);
1641 const H245_H222Capability
& other
= (const H245_H222Capability
&)obj
;
1645 if ((result
= m_numberOfVCs
.Compare(other
.m_numberOfVCs
)) != EqualTo
)
1647 if ((result
= m_vcCapability
.Compare(other
.m_vcCapability
)) != EqualTo
)
1650 return PASN_Sequence::Compare(other
);
1654 PINDEX
H245_H222Capability::GetDataLength() const
1657 length
+= m_numberOfVCs
.GetObjectLength();
1658 length
+= m_vcCapability
.GetObjectLength();
1663 BOOL
H245_H222Capability::Decode(PASN_Stream
& strm
)
1665 if (!PreambleDecode(strm
))
1668 if (!m_numberOfVCs
.Decode(strm
))
1670 if (!m_vcCapability
.Decode(strm
))
1673 return UnknownExtensionsDecode(strm
);
1677 void H245_H222Capability::Encode(PASN_Stream
& strm
) const
1679 PreambleEncode(strm
);
1681 m_numberOfVCs
.Encode(strm
);
1682 m_vcCapability
.Encode(strm
);
1684 UnknownExtensionsEncode(strm
);
1688 PObject
* H245_H222Capability::Clone() const
1690 #ifndef PASN_LEANANDMEAN
1691 PAssert(IsClass(H245_H222Capability::Class()), PInvalidCast
);
1693 return new H245_H222Capability(*this);
1701 H245_H223Capability::H245_H223Capability(unsigned tag
, PASN_Object::TagClass tagClass
)
1702 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 6)
1704 m_maximumAl2SDUSize
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
1705 m_maximumAl3SDUSize
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
1706 m_maximumDelayJitter
.SetConstraints(PASN_Object::FixedConstraint
, 0, 1023);
1707 IncludeOptionalField(e_maxMUXPDUSizeCapability
);
1708 IncludeOptionalField(e_nsrpSupport
);
1709 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 19200);
1713 #ifndef PASN_NOPRINTON
1714 void H245_H223Capability::PrintOn(ostream
& strm
) const
1716 int indent
= strm
.precision() + 2;
1718 strm
<< setw(indent
+24) << "transportWithI_frames = " << setprecision(indent
) << m_transportWithI_frames
<< '\n';
1719 strm
<< setw(indent
+15) << "videoWithAL1 = " << setprecision(indent
) << m_videoWithAL1
<< '\n';
1720 strm
<< setw(indent
+15) << "videoWithAL2 = " << setprecision(indent
) << m_videoWithAL2
<< '\n';
1721 strm
<< setw(indent
+15) << "videoWithAL3 = " << setprecision(indent
) << m_videoWithAL3
<< '\n';
1722 strm
<< setw(indent
+15) << "audioWithAL1 = " << setprecision(indent
) << m_audioWithAL1
<< '\n';
1723 strm
<< setw(indent
+15) << "audioWithAL2 = " << setprecision(indent
) << m_audioWithAL2
<< '\n';
1724 strm
<< setw(indent
+15) << "audioWithAL3 = " << setprecision(indent
) << m_audioWithAL3
<< '\n';
1725 strm
<< setw(indent
+14) << "dataWithAL1 = " << setprecision(indent
) << m_dataWithAL1
<< '\n';
1726 strm
<< setw(indent
+14) << "dataWithAL2 = " << setprecision(indent
) << m_dataWithAL2
<< '\n';
1727 strm
<< setw(indent
+14) << "dataWithAL3 = " << setprecision(indent
) << m_dataWithAL3
<< '\n';
1728 strm
<< setw(indent
+20) << "maximumAl2SDUSize = " << setprecision(indent
) << m_maximumAl2SDUSize
<< '\n';
1729 strm
<< setw(indent
+20) << "maximumAl3SDUSize = " << setprecision(indent
) << m_maximumAl3SDUSize
<< '\n';
1730 strm
<< setw(indent
+21) << "maximumDelayJitter = " << setprecision(indent
) << m_maximumDelayJitter
<< '\n';
1731 strm
<< setw(indent
+31) << "h223MultiplexTableCapability = " << setprecision(indent
) << m_h223MultiplexTableCapability
<< '\n';
1732 if (HasOptionalField(e_maxMUXPDUSizeCapability
))
1733 strm
<< setw(indent
+26) << "maxMUXPDUSizeCapability = " << setprecision(indent
) << m_maxMUXPDUSizeCapability
<< '\n';
1734 if (HasOptionalField(e_nsrpSupport
))
1735 strm
<< setw(indent
+14) << "nsrpSupport = " << setprecision(indent
) << m_nsrpSupport
<< '\n';
1736 if (HasOptionalField(e_mobileOperationTransmitCapability
))
1737 strm
<< setw(indent
+36) << "mobileOperationTransmitCapability = " << setprecision(indent
) << m_mobileOperationTransmitCapability
<< '\n';
1738 if (HasOptionalField(e_h223AnnexCCapability
))
1739 strm
<< setw(indent
+23) << "h223AnnexCCapability = " << setprecision(indent
) << m_h223AnnexCCapability
<< '\n';
1740 if (HasOptionalField(e_bitRate
))
1741 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
1742 if (HasOptionalField(e_mobileMultilinkFrameCapability
))
1743 strm
<< setw(indent
+33) << "mobileMultilinkFrameCapability = " << setprecision(indent
) << m_mobileMultilinkFrameCapability
<< '\n';
1744 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1749 PObject::Comparison
H245_H223Capability::Compare(const PObject
& obj
) const
1751 #ifndef PASN_LEANANDMEAN
1752 PAssert(PIsDescendant(&obj
, H245_H223Capability
), PInvalidCast
);
1754 const H245_H223Capability
& other
= (const H245_H223Capability
&)obj
;
1758 if ((result
= m_transportWithI_frames
.Compare(other
.m_transportWithI_frames
)) != EqualTo
)
1760 if ((result
= m_videoWithAL1
.Compare(other
.m_videoWithAL1
)) != EqualTo
)
1762 if ((result
= m_videoWithAL2
.Compare(other
.m_videoWithAL2
)) != EqualTo
)
1764 if ((result
= m_videoWithAL3
.Compare(other
.m_videoWithAL3
)) != EqualTo
)
1766 if ((result
= m_audioWithAL1
.Compare(other
.m_audioWithAL1
)) != EqualTo
)
1768 if ((result
= m_audioWithAL2
.Compare(other
.m_audioWithAL2
)) != EqualTo
)
1770 if ((result
= m_audioWithAL3
.Compare(other
.m_audioWithAL3
)) != EqualTo
)
1772 if ((result
= m_dataWithAL1
.Compare(other
.m_dataWithAL1
)) != EqualTo
)
1774 if ((result
= m_dataWithAL2
.Compare(other
.m_dataWithAL2
)) != EqualTo
)
1776 if ((result
= m_dataWithAL3
.Compare(other
.m_dataWithAL3
)) != EqualTo
)
1778 if ((result
= m_maximumAl2SDUSize
.Compare(other
.m_maximumAl2SDUSize
)) != EqualTo
)
1780 if ((result
= m_maximumAl3SDUSize
.Compare(other
.m_maximumAl3SDUSize
)) != EqualTo
)
1782 if ((result
= m_maximumDelayJitter
.Compare(other
.m_maximumDelayJitter
)) != EqualTo
)
1784 if ((result
= m_h223MultiplexTableCapability
.Compare(other
.m_h223MultiplexTableCapability
)) != EqualTo
)
1787 return PASN_Sequence::Compare(other
);
1791 PINDEX
H245_H223Capability::GetDataLength() const
1794 length
+= m_transportWithI_frames
.GetObjectLength();
1795 length
+= m_videoWithAL1
.GetObjectLength();
1796 length
+= m_videoWithAL2
.GetObjectLength();
1797 length
+= m_videoWithAL3
.GetObjectLength();
1798 length
+= m_audioWithAL1
.GetObjectLength();
1799 length
+= m_audioWithAL2
.GetObjectLength();
1800 length
+= m_audioWithAL3
.GetObjectLength();
1801 length
+= m_dataWithAL1
.GetObjectLength();
1802 length
+= m_dataWithAL2
.GetObjectLength();
1803 length
+= m_dataWithAL3
.GetObjectLength();
1804 length
+= m_maximumAl2SDUSize
.GetObjectLength();
1805 length
+= m_maximumAl3SDUSize
.GetObjectLength();
1806 length
+= m_maximumDelayJitter
.GetObjectLength();
1807 length
+= m_h223MultiplexTableCapability
.GetObjectLength();
1812 BOOL
H245_H223Capability::Decode(PASN_Stream
& strm
)
1814 if (!PreambleDecode(strm
))
1817 if (!m_transportWithI_frames
.Decode(strm
))
1819 if (!m_videoWithAL1
.Decode(strm
))
1821 if (!m_videoWithAL2
.Decode(strm
))
1823 if (!m_videoWithAL3
.Decode(strm
))
1825 if (!m_audioWithAL1
.Decode(strm
))
1827 if (!m_audioWithAL2
.Decode(strm
))
1829 if (!m_audioWithAL3
.Decode(strm
))
1831 if (!m_dataWithAL1
.Decode(strm
))
1833 if (!m_dataWithAL2
.Decode(strm
))
1835 if (!m_dataWithAL3
.Decode(strm
))
1837 if (!m_maximumAl2SDUSize
.Decode(strm
))
1839 if (!m_maximumAl3SDUSize
.Decode(strm
))
1841 if (!m_maximumDelayJitter
.Decode(strm
))
1843 if (!m_h223MultiplexTableCapability
.Decode(strm
))
1845 if (!KnownExtensionDecode(strm
, e_maxMUXPDUSizeCapability
, m_maxMUXPDUSizeCapability
))
1847 if (!KnownExtensionDecode(strm
, e_nsrpSupport
, m_nsrpSupport
))
1849 if (!KnownExtensionDecode(strm
, e_mobileOperationTransmitCapability
, m_mobileOperationTransmitCapability
))
1851 if (!KnownExtensionDecode(strm
, e_h223AnnexCCapability
, m_h223AnnexCCapability
))
1853 if (!KnownExtensionDecode(strm
, e_bitRate
, m_bitRate
))
1855 if (!KnownExtensionDecode(strm
, e_mobileMultilinkFrameCapability
, m_mobileMultilinkFrameCapability
))
1858 return UnknownExtensionsDecode(strm
);
1862 void H245_H223Capability::Encode(PASN_Stream
& strm
) const
1864 PreambleEncode(strm
);
1866 m_transportWithI_frames
.Encode(strm
);
1867 m_videoWithAL1
.Encode(strm
);
1868 m_videoWithAL2
.Encode(strm
);
1869 m_videoWithAL3
.Encode(strm
);
1870 m_audioWithAL1
.Encode(strm
);
1871 m_audioWithAL2
.Encode(strm
);
1872 m_audioWithAL3
.Encode(strm
);
1873 m_dataWithAL1
.Encode(strm
);
1874 m_dataWithAL2
.Encode(strm
);
1875 m_dataWithAL3
.Encode(strm
);
1876 m_maximumAl2SDUSize
.Encode(strm
);
1877 m_maximumAl3SDUSize
.Encode(strm
);
1878 m_maximumDelayJitter
.Encode(strm
);
1879 m_h223MultiplexTableCapability
.Encode(strm
);
1880 KnownExtensionEncode(strm
, e_maxMUXPDUSizeCapability
, m_maxMUXPDUSizeCapability
);
1881 KnownExtensionEncode(strm
, e_nsrpSupport
, m_nsrpSupport
);
1882 KnownExtensionEncode(strm
, e_mobileOperationTransmitCapability
, m_mobileOperationTransmitCapability
);
1883 KnownExtensionEncode(strm
, e_h223AnnexCCapability
, m_h223AnnexCCapability
);
1884 KnownExtensionEncode(strm
, e_bitRate
, m_bitRate
);
1885 KnownExtensionEncode(strm
, e_mobileMultilinkFrameCapability
, m_mobileMultilinkFrameCapability
);
1887 UnknownExtensionsEncode(strm
);
1891 PObject
* H245_H223Capability::Clone() const
1893 #ifndef PASN_LEANANDMEAN
1894 PAssert(IsClass(H245_H223Capability::Class()), PInvalidCast
);
1896 return new H245_H223Capability(*this);
1904 H245_V76Capability::H245_V76Capability(unsigned tag
, PASN_Object::TagClass tagClass
)
1905 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
1907 m_numOfDLCS
.SetConstraints(PASN_Object::FixedConstraint
, 2, 8191);
1908 m_n401Capability
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4095);
1909 m_maxWindowSizeCapability
.SetConstraints(PASN_Object::FixedConstraint
, 1, 127);
1913 #ifndef PASN_NOPRINTON
1914 void H245_V76Capability::PrintOn(ostream
& strm
) const
1916 int indent
= strm
.precision() + 2;
1918 strm
<< setw(indent
+34) << "suspendResumeCapabilitywAddress = " << setprecision(indent
) << m_suspendResumeCapabilitywAddress
<< '\n';
1919 strm
<< setw(indent
+35) << "suspendResumeCapabilitywoAddress = " << setprecision(indent
) << m_suspendResumeCapabilitywoAddress
<< '\n';
1920 strm
<< setw(indent
+16) << "rejCapability = " << setprecision(indent
) << m_rejCapability
<< '\n';
1921 strm
<< setw(indent
+17) << "sREJCapability = " << setprecision(indent
) << m_sREJCapability
<< '\n';
1922 strm
<< setw(indent
+17) << "mREJCapability = " << setprecision(indent
) << m_mREJCapability
<< '\n';
1923 strm
<< setw(indent
+20) << "crc8bitCapability = " << setprecision(indent
) << m_crc8bitCapability
<< '\n';
1924 strm
<< setw(indent
+21) << "crc16bitCapability = " << setprecision(indent
) << m_crc16bitCapability
<< '\n';
1925 strm
<< setw(indent
+21) << "crc32bitCapability = " << setprecision(indent
) << m_crc32bitCapability
<< '\n';
1926 strm
<< setw(indent
+16) << "uihCapability = " << setprecision(indent
) << m_uihCapability
<< '\n';
1927 strm
<< setw(indent
+12) << "numOfDLCS = " << setprecision(indent
) << m_numOfDLCS
<< '\n';
1928 strm
<< setw(indent
+33) << "twoOctetAddressFieldCapability = " << setprecision(indent
) << m_twoOctetAddressFieldCapability
<< '\n';
1929 strm
<< setw(indent
+25) << "loopBackTestCapability = " << setprecision(indent
) << m_loopBackTestCapability
<< '\n';
1930 strm
<< setw(indent
+17) << "n401Capability = " << setprecision(indent
) << m_n401Capability
<< '\n';
1931 strm
<< setw(indent
+26) << "maxWindowSizeCapability = " << setprecision(indent
) << m_maxWindowSizeCapability
<< '\n';
1932 strm
<< setw(indent
+16) << "v75Capability = " << setprecision(indent
) << m_v75Capability
<< '\n';
1933 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
1938 PObject::Comparison
H245_V76Capability::Compare(const PObject
& obj
) const
1940 #ifndef PASN_LEANANDMEAN
1941 PAssert(PIsDescendant(&obj
, H245_V76Capability
), PInvalidCast
);
1943 const H245_V76Capability
& other
= (const H245_V76Capability
&)obj
;
1947 if ((result
= m_suspendResumeCapabilitywAddress
.Compare(other
.m_suspendResumeCapabilitywAddress
)) != EqualTo
)
1949 if ((result
= m_suspendResumeCapabilitywoAddress
.Compare(other
.m_suspendResumeCapabilitywoAddress
)) != EqualTo
)
1951 if ((result
= m_rejCapability
.Compare(other
.m_rejCapability
)) != EqualTo
)
1953 if ((result
= m_sREJCapability
.Compare(other
.m_sREJCapability
)) != EqualTo
)
1955 if ((result
= m_mREJCapability
.Compare(other
.m_mREJCapability
)) != EqualTo
)
1957 if ((result
= m_crc8bitCapability
.Compare(other
.m_crc8bitCapability
)) != EqualTo
)
1959 if ((result
= m_crc16bitCapability
.Compare(other
.m_crc16bitCapability
)) != EqualTo
)
1961 if ((result
= m_crc32bitCapability
.Compare(other
.m_crc32bitCapability
)) != EqualTo
)
1963 if ((result
= m_uihCapability
.Compare(other
.m_uihCapability
)) != EqualTo
)
1965 if ((result
= m_numOfDLCS
.Compare(other
.m_numOfDLCS
)) != EqualTo
)
1967 if ((result
= m_twoOctetAddressFieldCapability
.Compare(other
.m_twoOctetAddressFieldCapability
)) != EqualTo
)
1969 if ((result
= m_loopBackTestCapability
.Compare(other
.m_loopBackTestCapability
)) != EqualTo
)
1971 if ((result
= m_n401Capability
.Compare(other
.m_n401Capability
)) != EqualTo
)
1973 if ((result
= m_maxWindowSizeCapability
.Compare(other
.m_maxWindowSizeCapability
)) != EqualTo
)
1975 if ((result
= m_v75Capability
.Compare(other
.m_v75Capability
)) != EqualTo
)
1978 return PASN_Sequence::Compare(other
);
1982 PINDEX
H245_V76Capability::GetDataLength() const
1985 length
+= m_suspendResumeCapabilitywAddress
.GetObjectLength();
1986 length
+= m_suspendResumeCapabilitywoAddress
.GetObjectLength();
1987 length
+= m_rejCapability
.GetObjectLength();
1988 length
+= m_sREJCapability
.GetObjectLength();
1989 length
+= m_mREJCapability
.GetObjectLength();
1990 length
+= m_crc8bitCapability
.GetObjectLength();
1991 length
+= m_crc16bitCapability
.GetObjectLength();
1992 length
+= m_crc32bitCapability
.GetObjectLength();
1993 length
+= m_uihCapability
.GetObjectLength();
1994 length
+= m_numOfDLCS
.GetObjectLength();
1995 length
+= m_twoOctetAddressFieldCapability
.GetObjectLength();
1996 length
+= m_loopBackTestCapability
.GetObjectLength();
1997 length
+= m_n401Capability
.GetObjectLength();
1998 length
+= m_maxWindowSizeCapability
.GetObjectLength();
1999 length
+= m_v75Capability
.GetObjectLength();
2004 BOOL
H245_V76Capability::Decode(PASN_Stream
& strm
)
2006 if (!PreambleDecode(strm
))
2009 if (!m_suspendResumeCapabilitywAddress
.Decode(strm
))
2011 if (!m_suspendResumeCapabilitywoAddress
.Decode(strm
))
2013 if (!m_rejCapability
.Decode(strm
))
2015 if (!m_sREJCapability
.Decode(strm
))
2017 if (!m_mREJCapability
.Decode(strm
))
2019 if (!m_crc8bitCapability
.Decode(strm
))
2021 if (!m_crc16bitCapability
.Decode(strm
))
2023 if (!m_crc32bitCapability
.Decode(strm
))
2025 if (!m_uihCapability
.Decode(strm
))
2027 if (!m_numOfDLCS
.Decode(strm
))
2029 if (!m_twoOctetAddressFieldCapability
.Decode(strm
))
2031 if (!m_loopBackTestCapability
.Decode(strm
))
2033 if (!m_n401Capability
.Decode(strm
))
2035 if (!m_maxWindowSizeCapability
.Decode(strm
))
2037 if (!m_v75Capability
.Decode(strm
))
2040 return UnknownExtensionsDecode(strm
);
2044 void H245_V76Capability::Encode(PASN_Stream
& strm
) const
2046 PreambleEncode(strm
);
2048 m_suspendResumeCapabilitywAddress
.Encode(strm
);
2049 m_suspendResumeCapabilitywoAddress
.Encode(strm
);
2050 m_rejCapability
.Encode(strm
);
2051 m_sREJCapability
.Encode(strm
);
2052 m_mREJCapability
.Encode(strm
);
2053 m_crc8bitCapability
.Encode(strm
);
2054 m_crc16bitCapability
.Encode(strm
);
2055 m_crc32bitCapability
.Encode(strm
);
2056 m_uihCapability
.Encode(strm
);
2057 m_numOfDLCS
.Encode(strm
);
2058 m_twoOctetAddressFieldCapability
.Encode(strm
);
2059 m_loopBackTestCapability
.Encode(strm
);
2060 m_n401Capability
.Encode(strm
);
2061 m_maxWindowSizeCapability
.Encode(strm
);
2062 m_v75Capability
.Encode(strm
);
2064 UnknownExtensionsEncode(strm
);
2068 PObject
* H245_V76Capability::Clone() const
2070 #ifndef PASN_LEANANDMEAN
2071 PAssert(IsClass(H245_V76Capability::Class()), PInvalidCast
);
2073 return new H245_V76Capability(*this);
2078 // MediaPacketizationCapability
2081 H245_MediaPacketizationCapability::H245_MediaPacketizationCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
2082 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
2084 m_rtpPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
2088 #ifndef PASN_NOPRINTON
2089 void H245_MediaPacketizationCapability::PrintOn(ostream
& strm
) const
2091 int indent
= strm
.precision() + 2;
2093 strm
<< setw(indent
+26) << "h261aVideoPacketization = " << setprecision(indent
) << m_h261aVideoPacketization
<< '\n';
2094 if (HasOptionalField(e_rtpPayloadType
))
2095 strm
<< setw(indent
+17) << "rtpPayloadType = " << setprecision(indent
) << m_rtpPayloadType
<< '\n';
2096 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2101 PObject::Comparison
H245_MediaPacketizationCapability::Compare(const PObject
& obj
) const
2103 #ifndef PASN_LEANANDMEAN
2104 PAssert(PIsDescendant(&obj
, H245_MediaPacketizationCapability
), PInvalidCast
);
2106 const H245_MediaPacketizationCapability
& other
= (const H245_MediaPacketizationCapability
&)obj
;
2110 if ((result
= m_h261aVideoPacketization
.Compare(other
.m_h261aVideoPacketization
)) != EqualTo
)
2113 return PASN_Sequence::Compare(other
);
2117 PINDEX
H245_MediaPacketizationCapability::GetDataLength() const
2120 length
+= m_h261aVideoPacketization
.GetObjectLength();
2125 BOOL
H245_MediaPacketizationCapability::Decode(PASN_Stream
& strm
)
2127 if (!PreambleDecode(strm
))
2130 if (!m_h261aVideoPacketization
.Decode(strm
))
2132 if (!KnownExtensionDecode(strm
, e_rtpPayloadType
, m_rtpPayloadType
))
2135 return UnknownExtensionsDecode(strm
);
2139 void H245_MediaPacketizationCapability::Encode(PASN_Stream
& strm
) const
2141 PreambleEncode(strm
);
2143 m_h261aVideoPacketization
.Encode(strm
);
2144 KnownExtensionEncode(strm
, e_rtpPayloadType
, m_rtpPayloadType
);
2146 UnknownExtensionsEncode(strm
);
2150 PObject
* H245_MediaPacketizationCapability::Clone() const
2152 #ifndef PASN_LEANANDMEAN
2153 PAssert(IsClass(H245_MediaPacketizationCapability::Class()), PInvalidCast
);
2155 return new H245_MediaPacketizationCapability(*this);
2163 H245_RSVPParameters::H245_RSVPParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
2164 : PASN_Sequence(tag
, tagClass
, 6, TRUE
, 0)
2166 m_tokenRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2167 m_bucketSize
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2168 m_peakRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2169 m_minPoliced
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2170 m_maxPktSize
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2174 #ifndef PASN_NOPRINTON
2175 void H245_RSVPParameters::PrintOn(ostream
& strm
) const
2177 int indent
= strm
.precision() + 2;
2179 if (HasOptionalField(e_qosMode
))
2180 strm
<< setw(indent
+10) << "qosMode = " << setprecision(indent
) << m_qosMode
<< '\n';
2181 if (HasOptionalField(e_tokenRate
))
2182 strm
<< setw(indent
+12) << "tokenRate = " << setprecision(indent
) << m_tokenRate
<< '\n';
2183 if (HasOptionalField(e_bucketSize
))
2184 strm
<< setw(indent
+13) << "bucketSize = " << setprecision(indent
) << m_bucketSize
<< '\n';
2185 if (HasOptionalField(e_peakRate
))
2186 strm
<< setw(indent
+11) << "peakRate = " << setprecision(indent
) << m_peakRate
<< '\n';
2187 if (HasOptionalField(e_minPoliced
))
2188 strm
<< setw(indent
+13) << "minPoliced = " << setprecision(indent
) << m_minPoliced
<< '\n';
2189 if (HasOptionalField(e_maxPktSize
))
2190 strm
<< setw(indent
+13) << "maxPktSize = " << setprecision(indent
) << m_maxPktSize
<< '\n';
2191 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2196 PObject::Comparison
H245_RSVPParameters::Compare(const PObject
& obj
) const
2198 #ifndef PASN_LEANANDMEAN
2199 PAssert(PIsDescendant(&obj
, H245_RSVPParameters
), PInvalidCast
);
2201 const H245_RSVPParameters
& other
= (const H245_RSVPParameters
&)obj
;
2205 if ((result
= m_qosMode
.Compare(other
.m_qosMode
)) != EqualTo
)
2207 if ((result
= m_tokenRate
.Compare(other
.m_tokenRate
)) != EqualTo
)
2209 if ((result
= m_bucketSize
.Compare(other
.m_bucketSize
)) != EqualTo
)
2211 if ((result
= m_peakRate
.Compare(other
.m_peakRate
)) != EqualTo
)
2213 if ((result
= m_minPoliced
.Compare(other
.m_minPoliced
)) != EqualTo
)
2215 if ((result
= m_maxPktSize
.Compare(other
.m_maxPktSize
)) != EqualTo
)
2218 return PASN_Sequence::Compare(other
);
2222 PINDEX
H245_RSVPParameters::GetDataLength() const
2225 if (HasOptionalField(e_qosMode
))
2226 length
+= m_qosMode
.GetObjectLength();
2227 if (HasOptionalField(e_tokenRate
))
2228 length
+= m_tokenRate
.GetObjectLength();
2229 if (HasOptionalField(e_bucketSize
))
2230 length
+= m_bucketSize
.GetObjectLength();
2231 if (HasOptionalField(e_peakRate
))
2232 length
+= m_peakRate
.GetObjectLength();
2233 if (HasOptionalField(e_minPoliced
))
2234 length
+= m_minPoliced
.GetObjectLength();
2235 if (HasOptionalField(e_maxPktSize
))
2236 length
+= m_maxPktSize
.GetObjectLength();
2241 BOOL
H245_RSVPParameters::Decode(PASN_Stream
& strm
)
2243 if (!PreambleDecode(strm
))
2246 if (HasOptionalField(e_qosMode
) && !m_qosMode
.Decode(strm
))
2248 if (HasOptionalField(e_tokenRate
) && !m_tokenRate
.Decode(strm
))
2250 if (HasOptionalField(e_bucketSize
) && !m_bucketSize
.Decode(strm
))
2252 if (HasOptionalField(e_peakRate
) && !m_peakRate
.Decode(strm
))
2254 if (HasOptionalField(e_minPoliced
) && !m_minPoliced
.Decode(strm
))
2256 if (HasOptionalField(e_maxPktSize
) && !m_maxPktSize
.Decode(strm
))
2259 return UnknownExtensionsDecode(strm
);
2263 void H245_RSVPParameters::Encode(PASN_Stream
& strm
) const
2265 PreambleEncode(strm
);
2267 if (HasOptionalField(e_qosMode
))
2268 m_qosMode
.Encode(strm
);
2269 if (HasOptionalField(e_tokenRate
))
2270 m_tokenRate
.Encode(strm
);
2271 if (HasOptionalField(e_bucketSize
))
2272 m_bucketSize
.Encode(strm
);
2273 if (HasOptionalField(e_peakRate
))
2274 m_peakRate
.Encode(strm
);
2275 if (HasOptionalField(e_minPoliced
))
2276 m_minPoliced
.Encode(strm
);
2277 if (HasOptionalField(e_maxPktSize
))
2278 m_maxPktSize
.Encode(strm
);
2280 UnknownExtensionsEncode(strm
);
2284 PObject
* H245_RSVPParameters::Clone() const
2286 #ifndef PASN_LEANANDMEAN
2287 PAssert(IsClass(H245_RSVPParameters::Class()), PInvalidCast
);
2289 return new H245_RSVPParameters(*this);
2294 // ServicePriorityValue
2297 H245_ServicePriorityValue::H245_ServicePriorityValue(unsigned tag
, PASN_Object::TagClass tagClass
)
2298 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
2303 #ifndef PASN_NOPRINTON
2304 void H245_ServicePriorityValue::PrintOn(ostream
& strm
) const
2306 int indent
= strm
.precision() + 2;
2308 if (HasOptionalField(e_nonStandardParameter
))
2309 strm
<< setw(indent
+23) << "nonStandardParameter = " << setprecision(indent
) << m_nonStandardParameter
<< '\n';
2310 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2315 PObject::Comparison
H245_ServicePriorityValue::Compare(const PObject
& obj
) const
2317 #ifndef PASN_LEANANDMEAN
2318 PAssert(PIsDescendant(&obj
, H245_ServicePriorityValue
), PInvalidCast
);
2320 const H245_ServicePriorityValue
& other
= (const H245_ServicePriorityValue
&)obj
;
2324 if ((result
= m_nonStandardParameter
.Compare(other
.m_nonStandardParameter
)) != EqualTo
)
2327 return PASN_Sequence::Compare(other
);
2331 PINDEX
H245_ServicePriorityValue::GetDataLength() const
2334 if (HasOptionalField(e_nonStandardParameter
))
2335 length
+= m_nonStandardParameter
.GetObjectLength();
2340 BOOL
H245_ServicePriorityValue::Decode(PASN_Stream
& strm
)
2342 if (!PreambleDecode(strm
))
2345 if (HasOptionalField(e_nonStandardParameter
) && !m_nonStandardParameter
.Decode(strm
))
2348 return UnknownExtensionsDecode(strm
);
2352 void H245_ServicePriorityValue::Encode(PASN_Stream
& strm
) const
2354 PreambleEncode(strm
);
2356 if (HasOptionalField(e_nonStandardParameter
))
2357 m_nonStandardParameter
.Encode(strm
);
2359 UnknownExtensionsEncode(strm
);
2363 PObject
* H245_ServicePriorityValue::Clone() const
2365 #ifndef PASN_LEANANDMEAN
2366 PAssert(IsClass(H245_ServicePriorityValue::Class()), PInvalidCast
);
2368 return new H245_ServicePriorityValue(*this);
2376 H245_ServicePriority::H245_ServicePriority(unsigned tag
, PASN_Object::TagClass tagClass
)
2377 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
2382 #ifndef PASN_NOPRINTON
2383 void H245_ServicePriority::PrintOn(ostream
& strm
) const
2385 int indent
= strm
.precision() + 2;
2387 if (HasOptionalField(e_nonStandardData
))
2388 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2389 strm
<< setw(indent
+27) << "servicePrioritySignalled = " << setprecision(indent
) << m_servicePrioritySignalled
<< '\n';
2390 if (HasOptionalField(e_servicePriorityValue
))
2391 strm
<< setw(indent
+23) << "servicePriorityValue = " << setprecision(indent
) << m_servicePriorityValue
<< '\n';
2392 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2397 PObject::Comparison
H245_ServicePriority::Compare(const PObject
& obj
) const
2399 #ifndef PASN_LEANANDMEAN
2400 PAssert(PIsDescendant(&obj
, H245_ServicePriority
), PInvalidCast
);
2402 const H245_ServicePriority
& other
= (const H245_ServicePriority
&)obj
;
2406 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2408 if ((result
= m_servicePrioritySignalled
.Compare(other
.m_servicePrioritySignalled
)) != EqualTo
)
2410 if ((result
= m_servicePriorityValue
.Compare(other
.m_servicePriorityValue
)) != EqualTo
)
2413 return PASN_Sequence::Compare(other
);
2417 PINDEX
H245_ServicePriority::GetDataLength() const
2420 if (HasOptionalField(e_nonStandardData
))
2421 length
+= m_nonStandardData
.GetObjectLength();
2422 length
+= m_servicePrioritySignalled
.GetObjectLength();
2423 if (HasOptionalField(e_servicePriorityValue
))
2424 length
+= m_servicePriorityValue
.GetObjectLength();
2429 BOOL
H245_ServicePriority::Decode(PASN_Stream
& strm
)
2431 if (!PreambleDecode(strm
))
2434 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2436 if (!m_servicePrioritySignalled
.Decode(strm
))
2438 if (HasOptionalField(e_servicePriorityValue
) && !m_servicePriorityValue
.Decode(strm
))
2441 return UnknownExtensionsDecode(strm
);
2445 void H245_ServicePriority::Encode(PASN_Stream
& strm
) const
2447 PreambleEncode(strm
);
2449 if (HasOptionalField(e_nonStandardData
))
2450 m_nonStandardData
.Encode(strm
);
2451 m_servicePrioritySignalled
.Encode(strm
);
2452 if (HasOptionalField(e_servicePriorityValue
))
2453 m_servicePriorityValue
.Encode(strm
);
2455 UnknownExtensionsEncode(strm
);
2459 PObject
* H245_ServicePriority::Clone() const
2461 #ifndef PASN_LEANANDMEAN
2462 PAssert(IsClass(H245_ServicePriority::Class()), PInvalidCast
);
2464 return new H245_ServicePriority(*this);
2469 // AuthorizationParameters
2472 H245_AuthorizationParameters::H245_AuthorizationParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
2473 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
2478 #ifndef PASN_NOPRINTON
2479 void H245_AuthorizationParameters::PrintOn(ostream
& strm
) const
2481 int indent
= strm
.precision() + 2;
2483 if (HasOptionalField(e_nonStandardData
))
2484 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2485 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2490 PObject::Comparison
H245_AuthorizationParameters::Compare(const PObject
& obj
) const
2492 #ifndef PASN_LEANANDMEAN
2493 PAssert(PIsDescendant(&obj
, H245_AuthorizationParameters
), PInvalidCast
);
2495 const H245_AuthorizationParameters
& other
= (const H245_AuthorizationParameters
&)obj
;
2499 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2502 return PASN_Sequence::Compare(other
);
2506 PINDEX
H245_AuthorizationParameters::GetDataLength() const
2509 if (HasOptionalField(e_nonStandardData
))
2510 length
+= m_nonStandardData
.GetObjectLength();
2515 BOOL
H245_AuthorizationParameters::Decode(PASN_Stream
& strm
)
2517 if (!PreambleDecode(strm
))
2520 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2523 return UnknownExtensionsDecode(strm
);
2527 void H245_AuthorizationParameters::Encode(PASN_Stream
& strm
) const
2529 PreambleEncode(strm
);
2531 if (HasOptionalField(e_nonStandardData
))
2532 m_nonStandardData
.Encode(strm
);
2534 UnknownExtensionsEncode(strm
);
2538 PObject
* H245_AuthorizationParameters::Clone() const
2540 #ifndef PASN_LEANANDMEAN
2541 PAssert(IsClass(H245_AuthorizationParameters::Class()), PInvalidCast
);
2543 return new H245_AuthorizationParameters(*this);
2551 H245_QOSDescriptor::H245_QOSDescriptor(unsigned tag
, PASN_Object::TagClass tagClass
)
2552 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
2557 #ifndef PASN_NOPRINTON
2558 void H245_QOSDescriptor::PrintOn(ostream
& strm
) const
2560 int indent
= strm
.precision() + 2;
2562 if (HasOptionalField(e_nonStandardData
))
2563 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2564 strm
<< setw(indent
+10) << "qosType = " << setprecision(indent
) << m_qosType
<< '\n';
2565 strm
<< setw(indent
+11) << "qosClass = " << setprecision(indent
) << m_qosClass
<< '\n';
2566 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2571 PObject::Comparison
H245_QOSDescriptor::Compare(const PObject
& obj
) const
2573 #ifndef PASN_LEANANDMEAN
2574 PAssert(PIsDescendant(&obj
, H245_QOSDescriptor
), PInvalidCast
);
2576 const H245_QOSDescriptor
& other
= (const H245_QOSDescriptor
&)obj
;
2580 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2582 if ((result
= m_qosType
.Compare(other
.m_qosType
)) != EqualTo
)
2584 if ((result
= m_qosClass
.Compare(other
.m_qosClass
)) != EqualTo
)
2587 return PASN_Sequence::Compare(other
);
2591 PINDEX
H245_QOSDescriptor::GetDataLength() const
2594 if (HasOptionalField(e_nonStandardData
))
2595 length
+= m_nonStandardData
.GetObjectLength();
2596 length
+= m_qosType
.GetObjectLength();
2597 length
+= m_qosClass
.GetObjectLength();
2602 BOOL
H245_QOSDescriptor::Decode(PASN_Stream
& strm
)
2604 if (!PreambleDecode(strm
))
2607 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2609 if (!m_qosType
.Decode(strm
))
2611 if (!m_qosClass
.Decode(strm
))
2614 return UnknownExtensionsDecode(strm
);
2618 void H245_QOSDescriptor::Encode(PASN_Stream
& strm
) const
2620 PreambleEncode(strm
);
2622 if (HasOptionalField(e_nonStandardData
))
2623 m_nonStandardData
.Encode(strm
);
2624 m_qosType
.Encode(strm
);
2625 m_qosClass
.Encode(strm
);
2627 UnknownExtensionsEncode(strm
);
2631 PObject
* H245_QOSDescriptor::Clone() const
2633 #ifndef PASN_LEANANDMEAN
2634 PAssert(IsClass(H245_QOSDescriptor::Class()), PInvalidCast
);
2636 return new H245_QOSDescriptor(*this);
2641 // GenericTransportParameters
2644 H245_GenericTransportParameters::H245_GenericTransportParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
2645 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 0)
2647 m_averageRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2648 m_burst
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2649 m_peakRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2650 m_maxPktSize
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
2654 #ifndef PASN_NOPRINTON
2655 void H245_GenericTransportParameters::PrintOn(ostream
& strm
) const
2657 int indent
= strm
.precision() + 2;
2659 if (HasOptionalField(e_nonStandardData
))
2660 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2661 if (HasOptionalField(e_averageRate
))
2662 strm
<< setw(indent
+14) << "averageRate = " << setprecision(indent
) << m_averageRate
<< '\n';
2663 if (HasOptionalField(e_burst
))
2664 strm
<< setw(indent
+8) << "burst = " << setprecision(indent
) << m_burst
<< '\n';
2665 if (HasOptionalField(e_peakRate
))
2666 strm
<< setw(indent
+11) << "peakRate = " << setprecision(indent
) << m_peakRate
<< '\n';
2667 if (HasOptionalField(e_maxPktSize
))
2668 strm
<< setw(indent
+13) << "maxPktSize = " << setprecision(indent
) << m_maxPktSize
<< '\n';
2669 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2674 PObject::Comparison
H245_GenericTransportParameters::Compare(const PObject
& obj
) const
2676 #ifndef PASN_LEANANDMEAN
2677 PAssert(PIsDescendant(&obj
, H245_GenericTransportParameters
), PInvalidCast
);
2679 const H245_GenericTransportParameters
& other
= (const H245_GenericTransportParameters
&)obj
;
2683 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2685 if ((result
= m_averageRate
.Compare(other
.m_averageRate
)) != EqualTo
)
2687 if ((result
= m_burst
.Compare(other
.m_burst
)) != EqualTo
)
2689 if ((result
= m_peakRate
.Compare(other
.m_peakRate
)) != EqualTo
)
2691 if ((result
= m_maxPktSize
.Compare(other
.m_maxPktSize
)) != EqualTo
)
2694 return PASN_Sequence::Compare(other
);
2698 PINDEX
H245_GenericTransportParameters::GetDataLength() const
2701 if (HasOptionalField(e_nonStandardData
))
2702 length
+= m_nonStandardData
.GetObjectLength();
2703 if (HasOptionalField(e_averageRate
))
2704 length
+= m_averageRate
.GetObjectLength();
2705 if (HasOptionalField(e_burst
))
2706 length
+= m_burst
.GetObjectLength();
2707 if (HasOptionalField(e_peakRate
))
2708 length
+= m_peakRate
.GetObjectLength();
2709 if (HasOptionalField(e_maxPktSize
))
2710 length
+= m_maxPktSize
.GetObjectLength();
2715 BOOL
H245_GenericTransportParameters::Decode(PASN_Stream
& strm
)
2717 if (!PreambleDecode(strm
))
2720 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2722 if (HasOptionalField(e_averageRate
) && !m_averageRate
.Decode(strm
))
2724 if (HasOptionalField(e_burst
) && !m_burst
.Decode(strm
))
2726 if (HasOptionalField(e_peakRate
) && !m_peakRate
.Decode(strm
))
2728 if (HasOptionalField(e_maxPktSize
) && !m_maxPktSize
.Decode(strm
))
2731 return UnknownExtensionsDecode(strm
);
2735 void H245_GenericTransportParameters::Encode(PASN_Stream
& strm
) const
2737 PreambleEncode(strm
);
2739 if (HasOptionalField(e_nonStandardData
))
2740 m_nonStandardData
.Encode(strm
);
2741 if (HasOptionalField(e_averageRate
))
2742 m_averageRate
.Encode(strm
);
2743 if (HasOptionalField(e_burst
))
2744 m_burst
.Encode(strm
);
2745 if (HasOptionalField(e_peakRate
))
2746 m_peakRate
.Encode(strm
);
2747 if (HasOptionalField(e_maxPktSize
))
2748 m_maxPktSize
.Encode(strm
);
2750 UnknownExtensionsEncode(strm
);
2754 PObject
* H245_GenericTransportParameters::Clone() const
2756 #ifndef PASN_LEANANDMEAN
2757 PAssert(IsClass(H245_GenericTransportParameters::Class()), PInvalidCast
);
2759 return new H245_GenericTransportParameters(*this);
2767 H245_QOSCapability::H245_QOSCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
2768 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 6)
2770 m_dscpValue
.SetConstraints(PASN_Object::FixedConstraint
, 0, 63);
2774 #ifndef PASN_NOPRINTON
2775 void H245_QOSCapability::PrintOn(ostream
& strm
) const
2777 int indent
= strm
.precision() + 2;
2779 if (HasOptionalField(e_nonStandardData
))
2780 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
2781 if (HasOptionalField(e_rsvpParameters
))
2782 strm
<< setw(indent
+17) << "rsvpParameters = " << setprecision(indent
) << m_rsvpParameters
<< '\n';
2783 if (HasOptionalField(e_atmParameters
))
2784 strm
<< setw(indent
+16) << "atmParameters = " << setprecision(indent
) << m_atmParameters
<< '\n';
2785 if (HasOptionalField(e_localQoS
))
2786 strm
<< setw(indent
+11) << "localQoS = " << setprecision(indent
) << m_localQoS
<< '\n';
2787 if (HasOptionalField(e_genericTransportParameters
))
2788 strm
<< setw(indent
+29) << "genericTransportParameters = " << setprecision(indent
) << m_genericTransportParameters
<< '\n';
2789 if (HasOptionalField(e_servicePriority
))
2790 strm
<< setw(indent
+18) << "servicePriority = " << setprecision(indent
) << m_servicePriority
<< '\n';
2791 if (HasOptionalField(e_authorizationParameter
))
2792 strm
<< setw(indent
+25) << "authorizationParameter = " << setprecision(indent
) << m_authorizationParameter
<< '\n';
2793 if (HasOptionalField(e_qosDescriptor
))
2794 strm
<< setw(indent
+16) << "qosDescriptor = " << setprecision(indent
) << m_qosDescriptor
<< '\n';
2795 if (HasOptionalField(e_dscpValue
))
2796 strm
<< setw(indent
+12) << "dscpValue = " << setprecision(indent
) << m_dscpValue
<< '\n';
2797 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2802 PObject::Comparison
H245_QOSCapability::Compare(const PObject
& obj
) const
2804 #ifndef PASN_LEANANDMEAN
2805 PAssert(PIsDescendant(&obj
, H245_QOSCapability
), PInvalidCast
);
2807 const H245_QOSCapability
& other
= (const H245_QOSCapability
&)obj
;
2811 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
2813 if ((result
= m_rsvpParameters
.Compare(other
.m_rsvpParameters
)) != EqualTo
)
2815 if ((result
= m_atmParameters
.Compare(other
.m_atmParameters
)) != EqualTo
)
2818 return PASN_Sequence::Compare(other
);
2822 PINDEX
H245_QOSCapability::GetDataLength() const
2825 if (HasOptionalField(e_nonStandardData
))
2826 length
+= m_nonStandardData
.GetObjectLength();
2827 if (HasOptionalField(e_rsvpParameters
))
2828 length
+= m_rsvpParameters
.GetObjectLength();
2829 if (HasOptionalField(e_atmParameters
))
2830 length
+= m_atmParameters
.GetObjectLength();
2835 BOOL
H245_QOSCapability::Decode(PASN_Stream
& strm
)
2837 if (!PreambleDecode(strm
))
2840 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
2842 if (HasOptionalField(e_rsvpParameters
) && !m_rsvpParameters
.Decode(strm
))
2844 if (HasOptionalField(e_atmParameters
) && !m_atmParameters
.Decode(strm
))
2846 if (!KnownExtensionDecode(strm
, e_localQoS
, m_localQoS
))
2848 if (!KnownExtensionDecode(strm
, e_genericTransportParameters
, m_genericTransportParameters
))
2850 if (!KnownExtensionDecode(strm
, e_servicePriority
, m_servicePriority
))
2852 if (!KnownExtensionDecode(strm
, e_authorizationParameter
, m_authorizationParameter
))
2854 if (!KnownExtensionDecode(strm
, e_qosDescriptor
, m_qosDescriptor
))
2856 if (!KnownExtensionDecode(strm
, e_dscpValue
, m_dscpValue
))
2859 return UnknownExtensionsDecode(strm
);
2863 void H245_QOSCapability::Encode(PASN_Stream
& strm
) const
2865 PreambleEncode(strm
);
2867 if (HasOptionalField(e_nonStandardData
))
2868 m_nonStandardData
.Encode(strm
);
2869 if (HasOptionalField(e_rsvpParameters
))
2870 m_rsvpParameters
.Encode(strm
);
2871 if (HasOptionalField(e_atmParameters
))
2872 m_atmParameters
.Encode(strm
);
2873 KnownExtensionEncode(strm
, e_localQoS
, m_localQoS
);
2874 KnownExtensionEncode(strm
, e_genericTransportParameters
, m_genericTransportParameters
);
2875 KnownExtensionEncode(strm
, e_servicePriority
, m_servicePriority
);
2876 KnownExtensionEncode(strm
, e_authorizationParameter
, m_authorizationParameter
);
2877 KnownExtensionEncode(strm
, e_qosDescriptor
, m_qosDescriptor
);
2878 KnownExtensionEncode(strm
, e_dscpValue
, m_dscpValue
);
2880 UnknownExtensionsEncode(strm
);
2884 PObject
* H245_QOSCapability::Clone() const
2886 #ifndef PASN_LEANANDMEAN
2887 PAssert(IsClass(H245_QOSCapability::Class()), PInvalidCast
);
2889 return new H245_QOSCapability(*this);
2894 // TransportCapability
2897 H245_TransportCapability::H245_TransportCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
2898 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
2900 m_qOSCapabilities
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
2901 m_mediaChannelCapabilities
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
2905 #ifndef PASN_NOPRINTON
2906 void H245_TransportCapability::PrintOn(ostream
& strm
) const
2908 int indent
= strm
.precision() + 2;
2910 if (HasOptionalField(e_nonStandard
))
2911 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
2912 if (HasOptionalField(e_qOSCapabilities
))
2913 strm
<< setw(indent
+18) << "qOSCapabilities = " << setprecision(indent
) << m_qOSCapabilities
<< '\n';
2914 if (HasOptionalField(e_mediaChannelCapabilities
))
2915 strm
<< setw(indent
+27) << "mediaChannelCapabilities = " << setprecision(indent
) << m_mediaChannelCapabilities
<< '\n';
2916 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
2921 PObject::Comparison
H245_TransportCapability::Compare(const PObject
& obj
) const
2923 #ifndef PASN_LEANANDMEAN
2924 PAssert(PIsDescendant(&obj
, H245_TransportCapability
), PInvalidCast
);
2926 const H245_TransportCapability
& other
= (const H245_TransportCapability
&)obj
;
2930 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
2932 if ((result
= m_qOSCapabilities
.Compare(other
.m_qOSCapabilities
)) != EqualTo
)
2934 if ((result
= m_mediaChannelCapabilities
.Compare(other
.m_mediaChannelCapabilities
)) != EqualTo
)
2937 return PASN_Sequence::Compare(other
);
2941 PINDEX
H245_TransportCapability::GetDataLength() const
2944 if (HasOptionalField(e_nonStandard
))
2945 length
+= m_nonStandard
.GetObjectLength();
2946 if (HasOptionalField(e_qOSCapabilities
))
2947 length
+= m_qOSCapabilities
.GetObjectLength();
2948 if (HasOptionalField(e_mediaChannelCapabilities
))
2949 length
+= m_mediaChannelCapabilities
.GetObjectLength();
2954 BOOL
H245_TransportCapability::Decode(PASN_Stream
& strm
)
2956 if (!PreambleDecode(strm
))
2959 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
2961 if (HasOptionalField(e_qOSCapabilities
) && !m_qOSCapabilities
.Decode(strm
))
2963 if (HasOptionalField(e_mediaChannelCapabilities
) && !m_mediaChannelCapabilities
.Decode(strm
))
2966 return UnknownExtensionsDecode(strm
);
2970 void H245_TransportCapability::Encode(PASN_Stream
& strm
) const
2972 PreambleEncode(strm
);
2974 if (HasOptionalField(e_nonStandard
))
2975 m_nonStandard
.Encode(strm
);
2976 if (HasOptionalField(e_qOSCapabilities
))
2977 m_qOSCapabilities
.Encode(strm
);
2978 if (HasOptionalField(e_mediaChannelCapabilities
))
2979 m_mediaChannelCapabilities
.Encode(strm
);
2981 UnknownExtensionsEncode(strm
);
2985 PObject
* H245_TransportCapability::Clone() const
2987 #ifndef PASN_LEANANDMEAN
2988 PAssert(IsClass(H245_TransportCapability::Class()), PInvalidCast
);
2990 return new H245_TransportCapability(*this);
2995 // RedundancyEncodingCapability
2998 H245_RedundancyEncodingCapability::H245_RedundancyEncodingCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
2999 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3001 m_secondaryEncoding
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
3005 #ifndef PASN_NOPRINTON
3006 void H245_RedundancyEncodingCapability::PrintOn(ostream
& strm
) const
3008 int indent
= strm
.precision() + 2;
3010 strm
<< setw(indent
+27) << "redundancyEncodingMethod = " << setprecision(indent
) << m_redundancyEncodingMethod
<< '\n';
3011 strm
<< setw(indent
+18) << "primaryEncoding = " << setprecision(indent
) << m_primaryEncoding
<< '\n';
3012 if (HasOptionalField(e_secondaryEncoding
))
3013 strm
<< setw(indent
+20) << "secondaryEncoding = " << setprecision(indent
) << m_secondaryEncoding
<< '\n';
3014 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3019 PObject::Comparison
H245_RedundancyEncodingCapability::Compare(const PObject
& obj
) const
3021 #ifndef PASN_LEANANDMEAN
3022 PAssert(PIsDescendant(&obj
, H245_RedundancyEncodingCapability
), PInvalidCast
);
3024 const H245_RedundancyEncodingCapability
& other
= (const H245_RedundancyEncodingCapability
&)obj
;
3028 if ((result
= m_redundancyEncodingMethod
.Compare(other
.m_redundancyEncodingMethod
)) != EqualTo
)
3030 if ((result
= m_primaryEncoding
.Compare(other
.m_primaryEncoding
)) != EqualTo
)
3032 if ((result
= m_secondaryEncoding
.Compare(other
.m_secondaryEncoding
)) != EqualTo
)
3035 return PASN_Sequence::Compare(other
);
3039 PINDEX
H245_RedundancyEncodingCapability::GetDataLength() const
3042 length
+= m_redundancyEncodingMethod
.GetObjectLength();
3043 length
+= m_primaryEncoding
.GetObjectLength();
3044 if (HasOptionalField(e_secondaryEncoding
))
3045 length
+= m_secondaryEncoding
.GetObjectLength();
3050 BOOL
H245_RedundancyEncodingCapability::Decode(PASN_Stream
& strm
)
3052 if (!PreambleDecode(strm
))
3055 if (!m_redundancyEncodingMethod
.Decode(strm
))
3057 if (!m_primaryEncoding
.Decode(strm
))
3059 if (HasOptionalField(e_secondaryEncoding
) && !m_secondaryEncoding
.Decode(strm
))
3062 return UnknownExtensionsDecode(strm
);
3066 void H245_RedundancyEncodingCapability::Encode(PASN_Stream
& strm
) const
3068 PreambleEncode(strm
);
3070 m_redundancyEncodingMethod
.Encode(strm
);
3071 m_primaryEncoding
.Encode(strm
);
3072 if (HasOptionalField(e_secondaryEncoding
))
3073 m_secondaryEncoding
.Encode(strm
);
3075 UnknownExtensionsEncode(strm
);
3079 PObject
* H245_RedundancyEncodingCapability::Clone() const
3081 #ifndef PASN_LEANANDMEAN
3082 PAssert(IsClass(H245_RedundancyEncodingCapability::Class()), PInvalidCast
);
3084 return new H245_RedundancyEncodingCapability(*this);
3089 // RTPH263VideoRedundancyEncoding
3092 H245_RTPH263VideoRedundancyEncoding::H245_RTPH263VideoRedundancyEncoding(unsigned tag
, PASN_Object::TagClass tagClass
)
3093 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3095 m_numberOfThreads
.SetConstraints(PASN_Object::FixedConstraint
, 1, 16);
3096 m_framesBetweenSyncPoints
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
3100 #ifndef PASN_NOPRINTON
3101 void H245_RTPH263VideoRedundancyEncoding::PrintOn(ostream
& strm
) const
3103 int indent
= strm
.precision() + 2;
3105 strm
<< setw(indent
+18) << "numberOfThreads = " << setprecision(indent
) << m_numberOfThreads
<< '\n';
3106 strm
<< setw(indent
+26) << "framesBetweenSyncPoints = " << setprecision(indent
) << m_framesBetweenSyncPoints
<< '\n';
3107 strm
<< setw(indent
+23) << "frameToThreadMapping = " << setprecision(indent
) << m_frameToThreadMapping
<< '\n';
3108 if (HasOptionalField(e_containedThreads
))
3109 strm
<< setw(indent
+19) << "containedThreads = " << setprecision(indent
) << m_containedThreads
<< '\n';
3110 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3115 PObject::Comparison
H245_RTPH263VideoRedundancyEncoding::Compare(const PObject
& obj
) const
3117 #ifndef PASN_LEANANDMEAN
3118 PAssert(PIsDescendant(&obj
, H245_RTPH263VideoRedundancyEncoding
), PInvalidCast
);
3120 const H245_RTPH263VideoRedundancyEncoding
& other
= (const H245_RTPH263VideoRedundancyEncoding
&)obj
;
3124 if ((result
= m_numberOfThreads
.Compare(other
.m_numberOfThreads
)) != EqualTo
)
3126 if ((result
= m_framesBetweenSyncPoints
.Compare(other
.m_framesBetweenSyncPoints
)) != EqualTo
)
3128 if ((result
= m_frameToThreadMapping
.Compare(other
.m_frameToThreadMapping
)) != EqualTo
)
3130 if ((result
= m_containedThreads
.Compare(other
.m_containedThreads
)) != EqualTo
)
3133 return PASN_Sequence::Compare(other
);
3137 PINDEX
H245_RTPH263VideoRedundancyEncoding::GetDataLength() const
3140 length
+= m_numberOfThreads
.GetObjectLength();
3141 length
+= m_framesBetweenSyncPoints
.GetObjectLength();
3142 length
+= m_frameToThreadMapping
.GetObjectLength();
3143 if (HasOptionalField(e_containedThreads
))
3144 length
+= m_containedThreads
.GetObjectLength();
3149 BOOL
H245_RTPH263VideoRedundancyEncoding::Decode(PASN_Stream
& strm
)
3151 if (!PreambleDecode(strm
))
3154 if (!m_numberOfThreads
.Decode(strm
))
3156 if (!m_framesBetweenSyncPoints
.Decode(strm
))
3158 if (!m_frameToThreadMapping
.Decode(strm
))
3160 if (HasOptionalField(e_containedThreads
) && !m_containedThreads
.Decode(strm
))
3163 return UnknownExtensionsDecode(strm
);
3167 void H245_RTPH263VideoRedundancyEncoding::Encode(PASN_Stream
& strm
) const
3169 PreambleEncode(strm
);
3171 m_numberOfThreads
.Encode(strm
);
3172 m_framesBetweenSyncPoints
.Encode(strm
);
3173 m_frameToThreadMapping
.Encode(strm
);
3174 if (HasOptionalField(e_containedThreads
))
3175 m_containedThreads
.Encode(strm
);
3177 UnknownExtensionsEncode(strm
);
3181 PObject
* H245_RTPH263VideoRedundancyEncoding::Clone() const
3183 #ifndef PASN_LEANANDMEAN
3184 PAssert(IsClass(H245_RTPH263VideoRedundancyEncoding::Class()), PInvalidCast
);
3186 return new H245_RTPH263VideoRedundancyEncoding(*this);
3191 // RTPH263VideoRedundancyFrameMapping
3194 H245_RTPH263VideoRedundancyFrameMapping::H245_RTPH263VideoRedundancyFrameMapping(unsigned tag
, PASN_Object::TagClass tagClass
)
3195 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
3197 m_threadNumber
.SetConstraints(PASN_Object::FixedConstraint
, 0, 15);
3201 #ifndef PASN_NOPRINTON
3202 void H245_RTPH263VideoRedundancyFrameMapping::PrintOn(ostream
& strm
) const
3204 int indent
= strm
.precision() + 2;
3206 strm
<< setw(indent
+15) << "threadNumber = " << setprecision(indent
) << m_threadNumber
<< '\n';
3207 strm
<< setw(indent
+16) << "frameSequence = " << setprecision(indent
) << m_frameSequence
<< '\n';
3208 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3213 PObject::Comparison
H245_RTPH263VideoRedundancyFrameMapping::Compare(const PObject
& obj
) const
3215 #ifndef PASN_LEANANDMEAN
3216 PAssert(PIsDescendant(&obj
, H245_RTPH263VideoRedundancyFrameMapping
), PInvalidCast
);
3218 const H245_RTPH263VideoRedundancyFrameMapping
& other
= (const H245_RTPH263VideoRedundancyFrameMapping
&)obj
;
3222 if ((result
= m_threadNumber
.Compare(other
.m_threadNumber
)) != EqualTo
)
3224 if ((result
= m_frameSequence
.Compare(other
.m_frameSequence
)) != EqualTo
)
3227 return PASN_Sequence::Compare(other
);
3231 PINDEX
H245_RTPH263VideoRedundancyFrameMapping::GetDataLength() const
3234 length
+= m_threadNumber
.GetObjectLength();
3235 length
+= m_frameSequence
.GetObjectLength();
3240 BOOL
H245_RTPH263VideoRedundancyFrameMapping::Decode(PASN_Stream
& strm
)
3242 if (!PreambleDecode(strm
))
3245 if (!m_threadNumber
.Decode(strm
))
3247 if (!m_frameSequence
.Decode(strm
))
3250 return UnknownExtensionsDecode(strm
);
3254 void H245_RTPH263VideoRedundancyFrameMapping::Encode(PASN_Stream
& strm
) const
3256 PreambleEncode(strm
);
3258 m_threadNumber
.Encode(strm
);
3259 m_frameSequence
.Encode(strm
);
3261 UnknownExtensionsEncode(strm
);
3265 PObject
* H245_RTPH263VideoRedundancyFrameMapping::Clone() const
3267 #ifndef PASN_LEANANDMEAN
3268 PAssert(IsClass(H245_RTPH263VideoRedundancyFrameMapping::Class()), PInvalidCast
);
3270 return new H245_RTPH263VideoRedundancyFrameMapping(*this);
3275 // MultipointCapability
3278 H245_MultipointCapability::H245_MultipointCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
3279 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
3284 #ifndef PASN_NOPRINTON
3285 void H245_MultipointCapability::PrintOn(ostream
& strm
) const
3287 int indent
= strm
.precision() + 2;
3289 strm
<< setw(indent
+22) << "multicastCapability = " << setprecision(indent
) << m_multicastCapability
<< '\n';
3290 strm
<< setw(indent
+25) << "multiUniCastConference = " << setprecision(indent
) << m_multiUniCastConference
<< '\n';
3291 strm
<< setw(indent
+30) << "mediaDistributionCapability = " << setprecision(indent
) << m_mediaDistributionCapability
<< '\n';
3292 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3297 PObject::Comparison
H245_MultipointCapability::Compare(const PObject
& obj
) const
3299 #ifndef PASN_LEANANDMEAN
3300 PAssert(PIsDescendant(&obj
, H245_MultipointCapability
), PInvalidCast
);
3302 const H245_MultipointCapability
& other
= (const H245_MultipointCapability
&)obj
;
3306 if ((result
= m_multicastCapability
.Compare(other
.m_multicastCapability
)) != EqualTo
)
3308 if ((result
= m_multiUniCastConference
.Compare(other
.m_multiUniCastConference
)) != EqualTo
)
3310 if ((result
= m_mediaDistributionCapability
.Compare(other
.m_mediaDistributionCapability
)) != EqualTo
)
3313 return PASN_Sequence::Compare(other
);
3317 PINDEX
H245_MultipointCapability::GetDataLength() const
3320 length
+= m_multicastCapability
.GetObjectLength();
3321 length
+= m_multiUniCastConference
.GetObjectLength();
3322 length
+= m_mediaDistributionCapability
.GetObjectLength();
3327 BOOL
H245_MultipointCapability::Decode(PASN_Stream
& strm
)
3329 if (!PreambleDecode(strm
))
3332 if (!m_multicastCapability
.Decode(strm
))
3334 if (!m_multiUniCastConference
.Decode(strm
))
3336 if (!m_mediaDistributionCapability
.Decode(strm
))
3339 return UnknownExtensionsDecode(strm
);
3343 void H245_MultipointCapability::Encode(PASN_Stream
& strm
) const
3345 PreambleEncode(strm
);
3347 m_multicastCapability
.Encode(strm
);
3348 m_multiUniCastConference
.Encode(strm
);
3349 m_mediaDistributionCapability
.Encode(strm
);
3351 UnknownExtensionsEncode(strm
);
3355 PObject
* H245_MultipointCapability::Clone() const
3357 #ifndef PASN_LEANANDMEAN
3358 PAssert(IsClass(H245_MultipointCapability::Class()), PInvalidCast
);
3360 return new H245_MultipointCapability(*this);
3365 // MediaDistributionCapability
3368 H245_MediaDistributionCapability::H245_MediaDistributionCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
3369 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
3374 #ifndef PASN_NOPRINTON
3375 void H245_MediaDistributionCapability::PrintOn(ostream
& strm
) const
3377 int indent
= strm
.precision() + 2;
3379 strm
<< setw(indent
+21) << "centralizedControl = " << setprecision(indent
) << m_centralizedControl
<< '\n';
3380 strm
<< setw(indent
+21) << "distributedControl = " << setprecision(indent
) << m_distributedControl
<< '\n';
3381 strm
<< setw(indent
+19) << "centralizedAudio = " << setprecision(indent
) << m_centralizedAudio
<< '\n';
3382 strm
<< setw(indent
+19) << "distributedAudio = " << setprecision(indent
) << m_distributedAudio
<< '\n';
3383 strm
<< setw(indent
+19) << "centralizedVideo = " << setprecision(indent
) << m_centralizedVideo
<< '\n';
3384 strm
<< setw(indent
+19) << "distributedVideo = " << setprecision(indent
) << m_distributedVideo
<< '\n';
3385 if (HasOptionalField(e_centralizedData
))
3386 strm
<< setw(indent
+18) << "centralizedData = " << setprecision(indent
) << m_centralizedData
<< '\n';
3387 if (HasOptionalField(e_distributedData
))
3388 strm
<< setw(indent
+18) << "distributedData = " << setprecision(indent
) << m_distributedData
<< '\n';
3389 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3394 PObject::Comparison
H245_MediaDistributionCapability::Compare(const PObject
& obj
) const
3396 #ifndef PASN_LEANANDMEAN
3397 PAssert(PIsDescendant(&obj
, H245_MediaDistributionCapability
), PInvalidCast
);
3399 const H245_MediaDistributionCapability
& other
= (const H245_MediaDistributionCapability
&)obj
;
3403 if ((result
= m_centralizedControl
.Compare(other
.m_centralizedControl
)) != EqualTo
)
3405 if ((result
= m_distributedControl
.Compare(other
.m_distributedControl
)) != EqualTo
)
3407 if ((result
= m_centralizedAudio
.Compare(other
.m_centralizedAudio
)) != EqualTo
)
3409 if ((result
= m_distributedAudio
.Compare(other
.m_distributedAudio
)) != EqualTo
)
3411 if ((result
= m_centralizedVideo
.Compare(other
.m_centralizedVideo
)) != EqualTo
)
3413 if ((result
= m_distributedVideo
.Compare(other
.m_distributedVideo
)) != EqualTo
)
3415 if ((result
= m_centralizedData
.Compare(other
.m_centralizedData
)) != EqualTo
)
3417 if ((result
= m_distributedData
.Compare(other
.m_distributedData
)) != EqualTo
)
3420 return PASN_Sequence::Compare(other
);
3424 PINDEX
H245_MediaDistributionCapability::GetDataLength() const
3427 length
+= m_centralizedControl
.GetObjectLength();
3428 length
+= m_distributedControl
.GetObjectLength();
3429 length
+= m_centralizedAudio
.GetObjectLength();
3430 length
+= m_distributedAudio
.GetObjectLength();
3431 length
+= m_centralizedVideo
.GetObjectLength();
3432 length
+= m_distributedVideo
.GetObjectLength();
3433 if (HasOptionalField(e_centralizedData
))
3434 length
+= m_centralizedData
.GetObjectLength();
3435 if (HasOptionalField(e_distributedData
))
3436 length
+= m_distributedData
.GetObjectLength();
3441 BOOL
H245_MediaDistributionCapability::Decode(PASN_Stream
& strm
)
3443 if (!PreambleDecode(strm
))
3446 if (!m_centralizedControl
.Decode(strm
))
3448 if (!m_distributedControl
.Decode(strm
))
3450 if (!m_centralizedAudio
.Decode(strm
))
3452 if (!m_distributedAudio
.Decode(strm
))
3454 if (!m_centralizedVideo
.Decode(strm
))
3456 if (!m_distributedVideo
.Decode(strm
))
3458 if (HasOptionalField(e_centralizedData
) && !m_centralizedData
.Decode(strm
))
3460 if (HasOptionalField(e_distributedData
) && !m_distributedData
.Decode(strm
))
3463 return UnknownExtensionsDecode(strm
);
3467 void H245_MediaDistributionCapability::Encode(PASN_Stream
& strm
) const
3469 PreambleEncode(strm
);
3471 m_centralizedControl
.Encode(strm
);
3472 m_distributedControl
.Encode(strm
);
3473 m_centralizedAudio
.Encode(strm
);
3474 m_distributedAudio
.Encode(strm
);
3475 m_centralizedVideo
.Encode(strm
);
3476 m_distributedVideo
.Encode(strm
);
3477 if (HasOptionalField(e_centralizedData
))
3478 m_centralizedData
.Encode(strm
);
3479 if (HasOptionalField(e_distributedData
))
3480 m_distributedData
.Encode(strm
);
3482 UnknownExtensionsEncode(strm
);
3486 PObject
* H245_MediaDistributionCapability::Clone() const
3488 #ifndef PASN_LEANANDMEAN
3489 PAssert(IsClass(H245_MediaDistributionCapability::Class()), PInvalidCast
);
3491 return new H245_MediaDistributionCapability(*this);
3496 // ExtendedVideoCapability
3499 H245_ExtendedVideoCapability::H245_ExtendedVideoCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
3500 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3505 #ifndef PASN_NOPRINTON
3506 void H245_ExtendedVideoCapability::PrintOn(ostream
& strm
) const
3508 int indent
= strm
.precision() + 2;
3510 strm
<< setw(indent
+18) << "videoCapability = " << setprecision(indent
) << m_videoCapability
<< '\n';
3511 if (HasOptionalField(e_videoCapabilityExtension
))
3512 strm
<< setw(indent
+27) << "videoCapabilityExtension = " << setprecision(indent
) << m_videoCapabilityExtension
<< '\n';
3513 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3518 PObject::Comparison
H245_ExtendedVideoCapability::Compare(const PObject
& obj
) const
3520 #ifndef PASN_LEANANDMEAN
3521 PAssert(PIsDescendant(&obj
, H245_ExtendedVideoCapability
), PInvalidCast
);
3523 const H245_ExtendedVideoCapability
& other
= (const H245_ExtendedVideoCapability
&)obj
;
3527 if ((result
= m_videoCapability
.Compare(other
.m_videoCapability
)) != EqualTo
)
3529 if ((result
= m_videoCapabilityExtension
.Compare(other
.m_videoCapabilityExtension
)) != EqualTo
)
3532 return PASN_Sequence::Compare(other
);
3536 PINDEX
H245_ExtendedVideoCapability::GetDataLength() const
3539 length
+= m_videoCapability
.GetObjectLength();
3540 if (HasOptionalField(e_videoCapabilityExtension
))
3541 length
+= m_videoCapabilityExtension
.GetObjectLength();
3546 BOOL
H245_ExtendedVideoCapability::Decode(PASN_Stream
& strm
)
3548 if (!PreambleDecode(strm
))
3551 if (!m_videoCapability
.Decode(strm
))
3553 if (HasOptionalField(e_videoCapabilityExtension
) && !m_videoCapabilityExtension
.Decode(strm
))
3556 return UnknownExtensionsDecode(strm
);
3560 void H245_ExtendedVideoCapability::Encode(PASN_Stream
& strm
) const
3562 PreambleEncode(strm
);
3564 m_videoCapability
.Encode(strm
);
3565 if (HasOptionalField(e_videoCapabilityExtension
))
3566 m_videoCapabilityExtension
.Encode(strm
);
3568 UnknownExtensionsEncode(strm
);
3572 PObject
* H245_ExtendedVideoCapability::Clone() const
3574 #ifndef PASN_LEANANDMEAN
3575 PAssert(IsClass(H245_ExtendedVideoCapability::Class()), PInvalidCast
);
3577 return new H245_ExtendedVideoCapability(*this);
3582 // EnhancementLayerInfo
3585 H245_EnhancementLayerInfo::H245_EnhancementLayerInfo(unsigned tag
, PASN_Object::TagClass tagClass
)
3586 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
3588 m_snrEnhancement
.SetConstraints(PASN_Object::FixedConstraint
, 1, 14);
3589 m_spatialEnhancement
.SetConstraints(PASN_Object::FixedConstraint
, 1, 14);
3590 m_bPictureEnhancement
.SetConstraints(PASN_Object::FixedConstraint
, 1, 14);
3594 #ifndef PASN_NOPRINTON
3595 void H245_EnhancementLayerInfo::PrintOn(ostream
& strm
) const
3597 int indent
= strm
.precision() + 2;
3599 strm
<< setw(indent
+25) << "baseBitRateConstrained = " << setprecision(indent
) << m_baseBitRateConstrained
<< '\n';
3600 if (HasOptionalField(e_snrEnhancement
))
3601 strm
<< setw(indent
+17) << "snrEnhancement = " << setprecision(indent
) << m_snrEnhancement
<< '\n';
3602 if (HasOptionalField(e_spatialEnhancement
))
3603 strm
<< setw(indent
+21) << "spatialEnhancement = " << setprecision(indent
) << m_spatialEnhancement
<< '\n';
3604 if (HasOptionalField(e_bPictureEnhancement
))
3605 strm
<< setw(indent
+22) << "bPictureEnhancement = " << setprecision(indent
) << m_bPictureEnhancement
<< '\n';
3606 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3611 PObject::Comparison
H245_EnhancementLayerInfo::Compare(const PObject
& obj
) const
3613 #ifndef PASN_LEANANDMEAN
3614 PAssert(PIsDescendant(&obj
, H245_EnhancementLayerInfo
), PInvalidCast
);
3616 const H245_EnhancementLayerInfo
& other
= (const H245_EnhancementLayerInfo
&)obj
;
3620 if ((result
= m_baseBitRateConstrained
.Compare(other
.m_baseBitRateConstrained
)) != EqualTo
)
3622 if ((result
= m_snrEnhancement
.Compare(other
.m_snrEnhancement
)) != EqualTo
)
3624 if ((result
= m_spatialEnhancement
.Compare(other
.m_spatialEnhancement
)) != EqualTo
)
3626 if ((result
= m_bPictureEnhancement
.Compare(other
.m_bPictureEnhancement
)) != EqualTo
)
3629 return PASN_Sequence::Compare(other
);
3633 PINDEX
H245_EnhancementLayerInfo::GetDataLength() const
3636 length
+= m_baseBitRateConstrained
.GetObjectLength();
3637 if (HasOptionalField(e_snrEnhancement
))
3638 length
+= m_snrEnhancement
.GetObjectLength();
3639 if (HasOptionalField(e_spatialEnhancement
))
3640 length
+= m_spatialEnhancement
.GetObjectLength();
3641 if (HasOptionalField(e_bPictureEnhancement
))
3642 length
+= m_bPictureEnhancement
.GetObjectLength();
3647 BOOL
H245_EnhancementLayerInfo::Decode(PASN_Stream
& strm
)
3649 if (!PreambleDecode(strm
))
3652 if (!m_baseBitRateConstrained
.Decode(strm
))
3654 if (HasOptionalField(e_snrEnhancement
) && !m_snrEnhancement
.Decode(strm
))
3656 if (HasOptionalField(e_spatialEnhancement
) && !m_spatialEnhancement
.Decode(strm
))
3658 if (HasOptionalField(e_bPictureEnhancement
) && !m_bPictureEnhancement
.Decode(strm
))
3661 return UnknownExtensionsDecode(strm
);
3665 void H245_EnhancementLayerInfo::Encode(PASN_Stream
& strm
) const
3667 PreambleEncode(strm
);
3669 m_baseBitRateConstrained
.Encode(strm
);
3670 if (HasOptionalField(e_snrEnhancement
))
3671 m_snrEnhancement
.Encode(strm
);
3672 if (HasOptionalField(e_spatialEnhancement
))
3673 m_spatialEnhancement
.Encode(strm
);
3674 if (HasOptionalField(e_bPictureEnhancement
))
3675 m_bPictureEnhancement
.Encode(strm
);
3677 UnknownExtensionsEncode(strm
);
3681 PObject
* H245_EnhancementLayerInfo::Clone() const
3683 #ifndef PASN_LEANANDMEAN
3684 PAssert(IsClass(H245_EnhancementLayerInfo::Class()), PInvalidCast
);
3686 return new H245_EnhancementLayerInfo(*this);
3691 // H263ModeComboFlags
3694 H245_H263ModeComboFlags::H245_H263ModeComboFlags(unsigned tag
, PASN_Object::TagClass tagClass
)
3695 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 2)
3697 IncludeOptionalField(e_enhancedReferencePicSelect
);
3698 IncludeOptionalField(e_h263Version3Options
);
3702 #ifndef PASN_NOPRINTON
3703 void H245_H263ModeComboFlags::PrintOn(ostream
& strm
) const
3705 int indent
= strm
.precision() + 2;
3707 strm
<< setw(indent
+21) << "unrestrictedVector = " << setprecision(indent
) << m_unrestrictedVector
<< '\n';
3708 strm
<< setw(indent
+19) << "arithmeticCoding = " << setprecision(indent
) << m_arithmeticCoding
<< '\n';
3709 strm
<< setw(indent
+21) << "advancedPrediction = " << setprecision(indent
) << m_advancedPrediction
<< '\n';
3710 strm
<< setw(indent
+11) << "pbFrames = " << setprecision(indent
) << m_pbFrames
<< '\n';
3711 strm
<< setw(indent
+26) << "advancedIntraCodingMode = " << setprecision(indent
) << m_advancedIntraCodingMode
<< '\n';
3712 strm
<< setw(indent
+23) << "deblockingFilterMode = " << setprecision(indent
) << m_deblockingFilterMode
<< '\n';
3713 strm
<< setw(indent
+25) << "unlimitedMotionVectors = " << setprecision(indent
) << m_unlimitedMotionVectors
<< '\n';
3714 strm
<< setw(indent
+24) << "slicesInOrder_NonRect = " << setprecision(indent
) << m_slicesInOrder_NonRect
<< '\n';
3715 strm
<< setw(indent
+21) << "slicesInOrder_Rect = " << setprecision(indent
) << m_slicesInOrder_Rect
<< '\n';
3716 strm
<< setw(indent
+24) << "slicesNoOrder_NonRect = " << setprecision(indent
) << m_slicesNoOrder_NonRect
<< '\n';
3717 strm
<< setw(indent
+21) << "slicesNoOrder_Rect = " << setprecision(indent
) << m_slicesNoOrder_Rect
<< '\n';
3718 strm
<< setw(indent
+23) << "improvedPBFramesMode = " << setprecision(indent
) << m_improvedPBFramesMode
<< '\n';
3719 strm
<< setw(indent
+21) << "referencePicSelect = " << setprecision(indent
) << m_referencePicSelect
<< '\n';
3720 strm
<< setw(indent
+31) << "dynamicPictureResizingByFour = " << setprecision(indent
) << m_dynamicPictureResizingByFour
<< '\n';
3721 strm
<< setw(indent
+37) << "dynamicPictureResizingSixteenthPel = " << setprecision(indent
) << m_dynamicPictureResizingSixteenthPel
<< '\n';
3722 strm
<< setw(indent
+24) << "dynamicWarpingHalfPel = " << setprecision(indent
) << m_dynamicWarpingHalfPel
<< '\n';
3723 strm
<< setw(indent
+29) << "dynamicWarpingSixteenthPel = " << setprecision(indent
) << m_dynamicWarpingSixteenthPel
<< '\n';
3724 strm
<< setw(indent
+26) << "reducedResolutionUpdate = " << setprecision(indent
) << m_reducedResolutionUpdate
<< '\n';
3725 strm
<< setw(indent
+29) << "independentSegmentDecoding = " << setprecision(indent
) << m_independentSegmentDecoding
<< '\n';
3726 strm
<< setw(indent
+24) << "alternateInterVLCMode = " << setprecision(indent
) << m_alternateInterVLCMode
<< '\n';
3727 strm
<< setw(indent
+27) << "modifiedQuantizationMode = " << setprecision(indent
) << m_modifiedQuantizationMode
<< '\n';
3728 if (HasOptionalField(e_enhancedReferencePicSelect
))
3729 strm
<< setw(indent
+29) << "enhancedReferencePicSelect = " << setprecision(indent
) << m_enhancedReferencePicSelect
<< '\n';
3730 if (HasOptionalField(e_h263Version3Options
))
3731 strm
<< setw(indent
+22) << "h263Version3Options = " << setprecision(indent
) << m_h263Version3Options
<< '\n';
3732 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3737 PObject::Comparison
H245_H263ModeComboFlags::Compare(const PObject
& obj
) const
3739 #ifndef PASN_LEANANDMEAN
3740 PAssert(PIsDescendant(&obj
, H245_H263ModeComboFlags
), PInvalidCast
);
3742 const H245_H263ModeComboFlags
& other
= (const H245_H263ModeComboFlags
&)obj
;
3746 if ((result
= m_unrestrictedVector
.Compare(other
.m_unrestrictedVector
)) != EqualTo
)
3748 if ((result
= m_arithmeticCoding
.Compare(other
.m_arithmeticCoding
)) != EqualTo
)
3750 if ((result
= m_advancedPrediction
.Compare(other
.m_advancedPrediction
)) != EqualTo
)
3752 if ((result
= m_pbFrames
.Compare(other
.m_pbFrames
)) != EqualTo
)
3754 if ((result
= m_advancedIntraCodingMode
.Compare(other
.m_advancedIntraCodingMode
)) != EqualTo
)
3756 if ((result
= m_deblockingFilterMode
.Compare(other
.m_deblockingFilterMode
)) != EqualTo
)
3758 if ((result
= m_unlimitedMotionVectors
.Compare(other
.m_unlimitedMotionVectors
)) != EqualTo
)
3760 if ((result
= m_slicesInOrder_NonRect
.Compare(other
.m_slicesInOrder_NonRect
)) != EqualTo
)
3762 if ((result
= m_slicesInOrder_Rect
.Compare(other
.m_slicesInOrder_Rect
)) != EqualTo
)
3764 if ((result
= m_slicesNoOrder_NonRect
.Compare(other
.m_slicesNoOrder_NonRect
)) != EqualTo
)
3766 if ((result
= m_slicesNoOrder_Rect
.Compare(other
.m_slicesNoOrder_Rect
)) != EqualTo
)
3768 if ((result
= m_improvedPBFramesMode
.Compare(other
.m_improvedPBFramesMode
)) != EqualTo
)
3770 if ((result
= m_referencePicSelect
.Compare(other
.m_referencePicSelect
)) != EqualTo
)
3772 if ((result
= m_dynamicPictureResizingByFour
.Compare(other
.m_dynamicPictureResizingByFour
)) != EqualTo
)
3774 if ((result
= m_dynamicPictureResizingSixteenthPel
.Compare(other
.m_dynamicPictureResizingSixteenthPel
)) != EqualTo
)
3776 if ((result
= m_dynamicWarpingHalfPel
.Compare(other
.m_dynamicWarpingHalfPel
)) != EqualTo
)
3778 if ((result
= m_dynamicWarpingSixteenthPel
.Compare(other
.m_dynamicWarpingSixteenthPel
)) != EqualTo
)
3780 if ((result
= m_reducedResolutionUpdate
.Compare(other
.m_reducedResolutionUpdate
)) != EqualTo
)
3782 if ((result
= m_independentSegmentDecoding
.Compare(other
.m_independentSegmentDecoding
)) != EqualTo
)
3784 if ((result
= m_alternateInterVLCMode
.Compare(other
.m_alternateInterVLCMode
)) != EqualTo
)
3786 if ((result
= m_modifiedQuantizationMode
.Compare(other
.m_modifiedQuantizationMode
)) != EqualTo
)
3789 return PASN_Sequence::Compare(other
);
3793 PINDEX
H245_H263ModeComboFlags::GetDataLength() const
3796 length
+= m_unrestrictedVector
.GetObjectLength();
3797 length
+= m_arithmeticCoding
.GetObjectLength();
3798 length
+= m_advancedPrediction
.GetObjectLength();
3799 length
+= m_pbFrames
.GetObjectLength();
3800 length
+= m_advancedIntraCodingMode
.GetObjectLength();
3801 length
+= m_deblockingFilterMode
.GetObjectLength();
3802 length
+= m_unlimitedMotionVectors
.GetObjectLength();
3803 length
+= m_slicesInOrder_NonRect
.GetObjectLength();
3804 length
+= m_slicesInOrder_Rect
.GetObjectLength();
3805 length
+= m_slicesNoOrder_NonRect
.GetObjectLength();
3806 length
+= m_slicesNoOrder_Rect
.GetObjectLength();
3807 length
+= m_improvedPBFramesMode
.GetObjectLength();
3808 length
+= m_referencePicSelect
.GetObjectLength();
3809 length
+= m_dynamicPictureResizingByFour
.GetObjectLength();
3810 length
+= m_dynamicPictureResizingSixteenthPel
.GetObjectLength();
3811 length
+= m_dynamicWarpingHalfPel
.GetObjectLength();
3812 length
+= m_dynamicWarpingSixteenthPel
.GetObjectLength();
3813 length
+= m_reducedResolutionUpdate
.GetObjectLength();
3814 length
+= m_independentSegmentDecoding
.GetObjectLength();
3815 length
+= m_alternateInterVLCMode
.GetObjectLength();
3816 length
+= m_modifiedQuantizationMode
.GetObjectLength();
3821 BOOL
H245_H263ModeComboFlags::Decode(PASN_Stream
& strm
)
3823 if (!PreambleDecode(strm
))
3826 if (!m_unrestrictedVector
.Decode(strm
))
3828 if (!m_arithmeticCoding
.Decode(strm
))
3830 if (!m_advancedPrediction
.Decode(strm
))
3832 if (!m_pbFrames
.Decode(strm
))
3834 if (!m_advancedIntraCodingMode
.Decode(strm
))
3836 if (!m_deblockingFilterMode
.Decode(strm
))
3838 if (!m_unlimitedMotionVectors
.Decode(strm
))
3840 if (!m_slicesInOrder_NonRect
.Decode(strm
))
3842 if (!m_slicesInOrder_Rect
.Decode(strm
))
3844 if (!m_slicesNoOrder_NonRect
.Decode(strm
))
3846 if (!m_slicesNoOrder_Rect
.Decode(strm
))
3848 if (!m_improvedPBFramesMode
.Decode(strm
))
3850 if (!m_referencePicSelect
.Decode(strm
))
3852 if (!m_dynamicPictureResizingByFour
.Decode(strm
))
3854 if (!m_dynamicPictureResizingSixteenthPel
.Decode(strm
))
3856 if (!m_dynamicWarpingHalfPel
.Decode(strm
))
3858 if (!m_dynamicWarpingSixteenthPel
.Decode(strm
))
3860 if (!m_reducedResolutionUpdate
.Decode(strm
))
3862 if (!m_independentSegmentDecoding
.Decode(strm
))
3864 if (!m_alternateInterVLCMode
.Decode(strm
))
3866 if (!m_modifiedQuantizationMode
.Decode(strm
))
3868 if (!KnownExtensionDecode(strm
, e_enhancedReferencePicSelect
, m_enhancedReferencePicSelect
))
3870 if (!KnownExtensionDecode(strm
, e_h263Version3Options
, m_h263Version3Options
))
3873 return UnknownExtensionsDecode(strm
);
3877 void H245_H263ModeComboFlags::Encode(PASN_Stream
& strm
) const
3879 PreambleEncode(strm
);
3881 m_unrestrictedVector
.Encode(strm
);
3882 m_arithmeticCoding
.Encode(strm
);
3883 m_advancedPrediction
.Encode(strm
);
3884 m_pbFrames
.Encode(strm
);
3885 m_advancedIntraCodingMode
.Encode(strm
);
3886 m_deblockingFilterMode
.Encode(strm
);
3887 m_unlimitedMotionVectors
.Encode(strm
);
3888 m_slicesInOrder_NonRect
.Encode(strm
);
3889 m_slicesInOrder_Rect
.Encode(strm
);
3890 m_slicesNoOrder_NonRect
.Encode(strm
);
3891 m_slicesNoOrder_Rect
.Encode(strm
);
3892 m_improvedPBFramesMode
.Encode(strm
);
3893 m_referencePicSelect
.Encode(strm
);
3894 m_dynamicPictureResizingByFour
.Encode(strm
);
3895 m_dynamicPictureResizingSixteenthPel
.Encode(strm
);
3896 m_dynamicWarpingHalfPel
.Encode(strm
);
3897 m_dynamicWarpingSixteenthPel
.Encode(strm
);
3898 m_reducedResolutionUpdate
.Encode(strm
);
3899 m_independentSegmentDecoding
.Encode(strm
);
3900 m_alternateInterVLCMode
.Encode(strm
);
3901 m_modifiedQuantizationMode
.Encode(strm
);
3902 KnownExtensionEncode(strm
, e_enhancedReferencePicSelect
, m_enhancedReferencePicSelect
);
3903 KnownExtensionEncode(strm
, e_h263Version3Options
, m_h263Version3Options
);
3905 UnknownExtensionsEncode(strm
);
3909 PObject
* H245_H263ModeComboFlags::Clone() const
3911 #ifndef PASN_LEANANDMEAN
3912 PAssert(IsClass(H245_H263ModeComboFlags::Class()), PInvalidCast
);
3914 return new H245_H263ModeComboFlags(*this);
3919 // G7231AnnexCCapability
3922 H245_G7231AnnexCCapability::H245_G7231AnnexCCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
3923 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
3925 m_maxAl_sduAudioFrames
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
3929 #ifndef PASN_NOPRINTON
3930 void H245_G7231AnnexCCapability::PrintOn(ostream
& strm
) const
3932 int indent
= strm
.precision() + 2;
3934 strm
<< setw(indent
+23) << "maxAl_sduAudioFrames = " << setprecision(indent
) << m_maxAl_sduAudioFrames
<< '\n';
3935 strm
<< setw(indent
+21) << "silenceSuppression = " << setprecision(indent
) << m_silenceSuppression
<< '\n';
3936 if (HasOptionalField(e_g723AnnexCAudioMode
))
3937 strm
<< setw(indent
+22) << "g723AnnexCAudioMode = " << setprecision(indent
) << m_g723AnnexCAudioMode
<< '\n';
3938 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
3943 PObject::Comparison
H245_G7231AnnexCCapability::Compare(const PObject
& obj
) const
3945 #ifndef PASN_LEANANDMEAN
3946 PAssert(PIsDescendant(&obj
, H245_G7231AnnexCCapability
), PInvalidCast
);
3948 const H245_G7231AnnexCCapability
& other
= (const H245_G7231AnnexCCapability
&)obj
;
3952 if ((result
= m_maxAl_sduAudioFrames
.Compare(other
.m_maxAl_sduAudioFrames
)) != EqualTo
)
3954 if ((result
= m_silenceSuppression
.Compare(other
.m_silenceSuppression
)) != EqualTo
)
3956 if ((result
= m_g723AnnexCAudioMode
.Compare(other
.m_g723AnnexCAudioMode
)) != EqualTo
)
3959 return PASN_Sequence::Compare(other
);
3963 PINDEX
H245_G7231AnnexCCapability::GetDataLength() const
3966 length
+= m_maxAl_sduAudioFrames
.GetObjectLength();
3967 length
+= m_silenceSuppression
.GetObjectLength();
3968 if (HasOptionalField(e_g723AnnexCAudioMode
))
3969 length
+= m_g723AnnexCAudioMode
.GetObjectLength();
3974 BOOL
H245_G7231AnnexCCapability::Decode(PASN_Stream
& strm
)
3976 if (!PreambleDecode(strm
))
3979 if (!m_maxAl_sduAudioFrames
.Decode(strm
))
3981 if (!m_silenceSuppression
.Decode(strm
))
3983 if (HasOptionalField(e_g723AnnexCAudioMode
) && !m_g723AnnexCAudioMode
.Decode(strm
))
3986 return UnknownExtensionsDecode(strm
);
3990 void H245_G7231AnnexCCapability::Encode(PASN_Stream
& strm
) const
3992 PreambleEncode(strm
);
3994 m_maxAl_sduAudioFrames
.Encode(strm
);
3995 m_silenceSuppression
.Encode(strm
);
3996 if (HasOptionalField(e_g723AnnexCAudioMode
))
3997 m_g723AnnexCAudioMode
.Encode(strm
);
3999 UnknownExtensionsEncode(strm
);
4003 PObject
* H245_G7231AnnexCCapability::Clone() const
4005 #ifndef PASN_LEANANDMEAN
4006 PAssert(IsClass(H245_G7231AnnexCCapability::Class()), PInvalidCast
);
4008 return new H245_G7231AnnexCCapability(*this);
4013 // DataApplicationCapability
4016 H245_DataApplicationCapability::H245_DataApplicationCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4017 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
4019 m_maxBitRate
.SetConstraints(PASN_Object::FixedConstraint
, 0, 4294967295U);
4023 #ifndef PASN_NOPRINTON
4024 void H245_DataApplicationCapability::PrintOn(ostream
& strm
) const
4026 int indent
= strm
.precision() + 2;
4028 strm
<< setw(indent
+14) << "application = " << setprecision(indent
) << m_application
<< '\n';
4029 strm
<< setw(indent
+13) << "maxBitRate = " << setprecision(indent
) << m_maxBitRate
<< '\n';
4030 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4035 PObject::Comparison
H245_DataApplicationCapability::Compare(const PObject
& obj
) const
4037 #ifndef PASN_LEANANDMEAN
4038 PAssert(PIsDescendant(&obj
, H245_DataApplicationCapability
), PInvalidCast
);
4040 const H245_DataApplicationCapability
& other
= (const H245_DataApplicationCapability
&)obj
;
4044 if ((result
= m_application
.Compare(other
.m_application
)) != EqualTo
)
4046 if ((result
= m_maxBitRate
.Compare(other
.m_maxBitRate
)) != EqualTo
)
4049 return PASN_Sequence::Compare(other
);
4053 PINDEX
H245_DataApplicationCapability::GetDataLength() const
4056 length
+= m_application
.GetObjectLength();
4057 length
+= m_maxBitRate
.GetObjectLength();
4062 BOOL
H245_DataApplicationCapability::Decode(PASN_Stream
& strm
)
4064 if (!PreambleDecode(strm
))
4067 if (!m_application
.Decode(strm
))
4069 if (!m_maxBitRate
.Decode(strm
))
4072 return UnknownExtensionsDecode(strm
);
4076 void H245_DataApplicationCapability::Encode(PASN_Stream
& strm
) const
4078 PreambleEncode(strm
);
4080 m_application
.Encode(strm
);
4081 m_maxBitRate
.Encode(strm
);
4083 UnknownExtensionsEncode(strm
);
4087 PObject
* H245_DataApplicationCapability::Clone() const
4089 #ifndef PASN_LEANANDMEAN
4090 PAssert(IsClass(H245_DataApplicationCapability::Class()), PInvalidCast
);
4092 return new H245_DataApplicationCapability(*this);
4100 H245_T38FaxUdpOptions::H245_T38FaxUdpOptions(unsigned tag
, PASN_Object::TagClass tagClass
)
4101 : PASN_Sequence(tag
, tagClass
, 2, FALSE
, 0)
4106 #ifndef PASN_NOPRINTON
4107 void H245_T38FaxUdpOptions::PrintOn(ostream
& strm
) const
4109 int indent
= strm
.precision() + 2;
4111 if (HasOptionalField(e_t38FaxMaxBuffer
))
4112 strm
<< setw(indent
+18) << "t38FaxMaxBuffer = " << setprecision(indent
) << m_t38FaxMaxBuffer
<< '\n';
4113 if (HasOptionalField(e_t38FaxMaxDatagram
))
4114 strm
<< setw(indent
+20) << "t38FaxMaxDatagram = " << setprecision(indent
) << m_t38FaxMaxDatagram
<< '\n';
4115 strm
<< setw(indent
+14) << "t38FaxUdpEC = " << setprecision(indent
) << m_t38FaxUdpEC
<< '\n';
4116 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4121 PObject::Comparison
H245_T38FaxUdpOptions::Compare(const PObject
& obj
) const
4123 #ifndef PASN_LEANANDMEAN
4124 PAssert(PIsDescendant(&obj
, H245_T38FaxUdpOptions
), PInvalidCast
);
4126 const H245_T38FaxUdpOptions
& other
= (const H245_T38FaxUdpOptions
&)obj
;
4130 if ((result
= m_t38FaxMaxBuffer
.Compare(other
.m_t38FaxMaxBuffer
)) != EqualTo
)
4132 if ((result
= m_t38FaxMaxDatagram
.Compare(other
.m_t38FaxMaxDatagram
)) != EqualTo
)
4134 if ((result
= m_t38FaxUdpEC
.Compare(other
.m_t38FaxUdpEC
)) != EqualTo
)
4137 return PASN_Sequence::Compare(other
);
4141 PINDEX
H245_T38FaxUdpOptions::GetDataLength() const
4144 if (HasOptionalField(e_t38FaxMaxBuffer
))
4145 length
+= m_t38FaxMaxBuffer
.GetObjectLength();
4146 if (HasOptionalField(e_t38FaxMaxDatagram
))
4147 length
+= m_t38FaxMaxDatagram
.GetObjectLength();
4148 length
+= m_t38FaxUdpEC
.GetObjectLength();
4153 BOOL
H245_T38FaxUdpOptions::Decode(PASN_Stream
& strm
)
4155 if (!PreambleDecode(strm
))
4158 if (HasOptionalField(e_t38FaxMaxBuffer
) && !m_t38FaxMaxBuffer
.Decode(strm
))
4160 if (HasOptionalField(e_t38FaxMaxDatagram
) && !m_t38FaxMaxDatagram
.Decode(strm
))
4162 if (!m_t38FaxUdpEC
.Decode(strm
))
4165 return UnknownExtensionsDecode(strm
);
4169 void H245_T38FaxUdpOptions::Encode(PASN_Stream
& strm
) const
4171 PreambleEncode(strm
);
4173 if (HasOptionalField(e_t38FaxMaxBuffer
))
4174 m_t38FaxMaxBuffer
.Encode(strm
);
4175 if (HasOptionalField(e_t38FaxMaxDatagram
))
4176 m_t38FaxMaxDatagram
.Encode(strm
);
4177 m_t38FaxUdpEC
.Encode(strm
);
4179 UnknownExtensionsEncode(strm
);
4183 PObject
* H245_T38FaxUdpOptions::Clone() const
4185 #ifndef PASN_LEANANDMEAN
4186 PAssert(IsClass(H245_T38FaxUdpOptions::Class()), PInvalidCast
);
4188 return new H245_T38FaxUdpOptions(*this);
4193 // AuthenticationCapability
4196 H245_AuthenticationCapability::H245_AuthenticationCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4197 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
4202 #ifndef PASN_NOPRINTON
4203 void H245_AuthenticationCapability::PrintOn(ostream
& strm
) const
4205 int indent
= strm
.precision() + 2;
4207 if (HasOptionalField(e_nonStandard
))
4208 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
4209 if (HasOptionalField(e_antiSpamAlgorithm
))
4210 strm
<< setw(indent
+20) << "antiSpamAlgorithm = " << setprecision(indent
) << m_antiSpamAlgorithm
<< '\n';
4211 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4216 PObject::Comparison
H245_AuthenticationCapability::Compare(const PObject
& obj
) const
4218 #ifndef PASN_LEANANDMEAN
4219 PAssert(PIsDescendant(&obj
, H245_AuthenticationCapability
), PInvalidCast
);
4221 const H245_AuthenticationCapability
& other
= (const H245_AuthenticationCapability
&)obj
;
4225 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
4228 return PASN_Sequence::Compare(other
);
4232 PINDEX
H245_AuthenticationCapability::GetDataLength() const
4235 if (HasOptionalField(e_nonStandard
))
4236 length
+= m_nonStandard
.GetObjectLength();
4241 BOOL
H245_AuthenticationCapability::Decode(PASN_Stream
& strm
)
4243 if (!PreambleDecode(strm
))
4246 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
4248 if (!KnownExtensionDecode(strm
, e_antiSpamAlgorithm
, m_antiSpamAlgorithm
))
4251 return UnknownExtensionsDecode(strm
);
4255 void H245_AuthenticationCapability::Encode(PASN_Stream
& strm
) const
4257 PreambleEncode(strm
);
4259 if (HasOptionalField(e_nonStandard
))
4260 m_nonStandard
.Encode(strm
);
4261 KnownExtensionEncode(strm
, e_antiSpamAlgorithm
, m_antiSpamAlgorithm
);
4263 UnknownExtensionsEncode(strm
);
4267 PObject
* H245_AuthenticationCapability::Clone() const
4269 #ifndef PASN_LEANANDMEAN
4270 PAssert(IsClass(H245_AuthenticationCapability::Class()), PInvalidCast
);
4272 return new H245_AuthenticationCapability(*this);
4277 // IntegrityCapability
4280 H245_IntegrityCapability::H245_IntegrityCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4281 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
4286 #ifndef PASN_NOPRINTON
4287 void H245_IntegrityCapability::PrintOn(ostream
& strm
) const
4289 int indent
= strm
.precision() + 2;
4291 if (HasOptionalField(e_nonStandard
))
4292 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
4293 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4298 PObject::Comparison
H245_IntegrityCapability::Compare(const PObject
& obj
) const
4300 #ifndef PASN_LEANANDMEAN
4301 PAssert(PIsDescendant(&obj
, H245_IntegrityCapability
), PInvalidCast
);
4303 const H245_IntegrityCapability
& other
= (const H245_IntegrityCapability
&)obj
;
4307 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
4310 return PASN_Sequence::Compare(other
);
4314 PINDEX
H245_IntegrityCapability::GetDataLength() const
4317 if (HasOptionalField(e_nonStandard
))
4318 length
+= m_nonStandard
.GetObjectLength();
4323 BOOL
H245_IntegrityCapability::Decode(PASN_Stream
& strm
)
4325 if (!PreambleDecode(strm
))
4328 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
4331 return UnknownExtensionsDecode(strm
);
4335 void H245_IntegrityCapability::Encode(PASN_Stream
& strm
) const
4337 PreambleEncode(strm
);
4339 if (HasOptionalField(e_nonStandard
))
4340 m_nonStandard
.Encode(strm
);
4342 UnknownExtensionsEncode(strm
);
4346 PObject
* H245_IntegrityCapability::Clone() const
4348 #ifndef PASN_LEANANDMEAN
4349 PAssert(IsClass(H245_IntegrityCapability::Class()), PInvalidCast
);
4351 return new H245_IntegrityCapability(*this);
4356 // ConferenceCapability
4359 H245_ConferenceCapability::H245_ConferenceCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4360 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
4362 IncludeOptionalField(e_videoIndicateMixingCapability
);
4366 #ifndef PASN_NOPRINTON
4367 void H245_ConferenceCapability::PrintOn(ostream
& strm
) const
4369 int indent
= strm
.precision() + 2;
4371 if (HasOptionalField(e_nonStandardData
))
4372 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
4373 strm
<< setw(indent
+25) << "chairControlCapability = " << setprecision(indent
) << m_chairControlCapability
<< '\n';
4374 if (HasOptionalField(e_videoIndicateMixingCapability
))
4375 strm
<< setw(indent
+32) << "videoIndicateMixingCapability = " << setprecision(indent
) << m_videoIndicateMixingCapability
<< '\n';
4376 if (HasOptionalField(e_multipointVisualizationCapability
))
4377 strm
<< setw(indent
+36) << "multipointVisualizationCapability = " << setprecision(indent
) << m_multipointVisualizationCapability
<< '\n';
4378 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4383 PObject::Comparison
H245_ConferenceCapability::Compare(const PObject
& obj
) const
4385 #ifndef PASN_LEANANDMEAN
4386 PAssert(PIsDescendant(&obj
, H245_ConferenceCapability
), PInvalidCast
);
4388 const H245_ConferenceCapability
& other
= (const H245_ConferenceCapability
&)obj
;
4392 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
4394 if ((result
= m_chairControlCapability
.Compare(other
.m_chairControlCapability
)) != EqualTo
)
4397 return PASN_Sequence::Compare(other
);
4401 PINDEX
H245_ConferenceCapability::GetDataLength() const
4404 if (HasOptionalField(e_nonStandardData
))
4405 length
+= m_nonStandardData
.GetObjectLength();
4406 length
+= m_chairControlCapability
.GetObjectLength();
4411 BOOL
H245_ConferenceCapability::Decode(PASN_Stream
& strm
)
4413 if (!PreambleDecode(strm
))
4416 if (HasOptionalField(e_nonStandardData
) && !m_nonStandardData
.Decode(strm
))
4418 if (!m_chairControlCapability
.Decode(strm
))
4420 if (!KnownExtensionDecode(strm
, e_videoIndicateMixingCapability
, m_videoIndicateMixingCapability
))
4422 if (!KnownExtensionDecode(strm
, e_multipointVisualizationCapability
, m_multipointVisualizationCapability
))
4425 return UnknownExtensionsDecode(strm
);
4429 void H245_ConferenceCapability::Encode(PASN_Stream
& strm
) const
4431 PreambleEncode(strm
);
4433 if (HasOptionalField(e_nonStandardData
))
4434 m_nonStandardData
.Encode(strm
);
4435 m_chairControlCapability
.Encode(strm
);
4436 KnownExtensionEncode(strm
, e_videoIndicateMixingCapability
, m_videoIndicateMixingCapability
);
4437 KnownExtensionEncode(strm
, e_multipointVisualizationCapability
, m_multipointVisualizationCapability
);
4439 UnknownExtensionsEncode(strm
);
4443 PObject
* H245_ConferenceCapability::Clone() const
4445 #ifndef PASN_LEANANDMEAN
4446 PAssert(IsClass(H245_ConferenceCapability::Class()), PInvalidCast
);
4448 return new H245_ConferenceCapability(*this);
4453 // GenericCapability
4456 H245_GenericCapability::H245_GenericCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4457 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 0)
4459 m_maxBitRate
.SetConstraints(PASN_Object::FixedConstraint
, 0, 4294967295U);
4463 #ifndef PASN_NOPRINTON
4464 void H245_GenericCapability::PrintOn(ostream
& strm
) const
4466 int indent
= strm
.precision() + 2;
4468 strm
<< setw(indent
+23) << "capabilityIdentifier = " << setprecision(indent
) << m_capabilityIdentifier
<< '\n';
4469 if (HasOptionalField(e_maxBitRate
))
4470 strm
<< setw(indent
+13) << "maxBitRate = " << setprecision(indent
) << m_maxBitRate
<< '\n';
4471 if (HasOptionalField(e_collapsing
))
4472 strm
<< setw(indent
+13) << "collapsing = " << setprecision(indent
) << m_collapsing
<< '\n';
4473 if (HasOptionalField(e_nonCollapsing
))
4474 strm
<< setw(indent
+16) << "nonCollapsing = " << setprecision(indent
) << m_nonCollapsing
<< '\n';
4475 if (HasOptionalField(e_nonCollapsingRaw
))
4476 strm
<< setw(indent
+19) << "nonCollapsingRaw = " << setprecision(indent
) << m_nonCollapsingRaw
<< '\n';
4477 if (HasOptionalField(e_transport
))
4478 strm
<< setw(indent
+12) << "transport = " << setprecision(indent
) << m_transport
<< '\n';
4479 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4484 PObject::Comparison
H245_GenericCapability::Compare(const PObject
& obj
) const
4486 #ifndef PASN_LEANANDMEAN
4487 PAssert(PIsDescendant(&obj
, H245_GenericCapability
), PInvalidCast
);
4489 const H245_GenericCapability
& other
= (const H245_GenericCapability
&)obj
;
4493 if ((result
= m_capabilityIdentifier
.Compare(other
.m_capabilityIdentifier
)) != EqualTo
)
4495 if ((result
= m_maxBitRate
.Compare(other
.m_maxBitRate
)) != EqualTo
)
4497 if ((result
= m_collapsing
.Compare(other
.m_collapsing
)) != EqualTo
)
4499 if ((result
= m_nonCollapsing
.Compare(other
.m_nonCollapsing
)) != EqualTo
)
4501 if ((result
= m_nonCollapsingRaw
.Compare(other
.m_nonCollapsingRaw
)) != EqualTo
)
4503 if ((result
= m_transport
.Compare(other
.m_transport
)) != EqualTo
)
4506 return PASN_Sequence::Compare(other
);
4510 PINDEX
H245_GenericCapability::GetDataLength() const
4513 length
+= m_capabilityIdentifier
.GetObjectLength();
4514 if (HasOptionalField(e_maxBitRate
))
4515 length
+= m_maxBitRate
.GetObjectLength();
4516 if (HasOptionalField(e_collapsing
))
4517 length
+= m_collapsing
.GetObjectLength();
4518 if (HasOptionalField(e_nonCollapsing
))
4519 length
+= m_nonCollapsing
.GetObjectLength();
4520 if (HasOptionalField(e_nonCollapsingRaw
))
4521 length
+= m_nonCollapsingRaw
.GetObjectLength();
4522 if (HasOptionalField(e_transport
))
4523 length
+= m_transport
.GetObjectLength();
4528 BOOL
H245_GenericCapability::Decode(PASN_Stream
& strm
)
4530 if (!PreambleDecode(strm
))
4533 if (!m_capabilityIdentifier
.Decode(strm
))
4535 if (HasOptionalField(e_maxBitRate
) && !m_maxBitRate
.Decode(strm
))
4537 if (HasOptionalField(e_collapsing
) && !m_collapsing
.Decode(strm
))
4539 if (HasOptionalField(e_nonCollapsing
) && !m_nonCollapsing
.Decode(strm
))
4541 if (HasOptionalField(e_nonCollapsingRaw
) && !m_nonCollapsingRaw
.Decode(strm
))
4543 if (HasOptionalField(e_transport
) && !m_transport
.Decode(strm
))
4546 return UnknownExtensionsDecode(strm
);
4550 void H245_GenericCapability::Encode(PASN_Stream
& strm
) const
4552 PreambleEncode(strm
);
4554 m_capabilityIdentifier
.Encode(strm
);
4555 if (HasOptionalField(e_maxBitRate
))
4556 m_maxBitRate
.Encode(strm
);
4557 if (HasOptionalField(e_collapsing
))
4558 m_collapsing
.Encode(strm
);
4559 if (HasOptionalField(e_nonCollapsing
))
4560 m_nonCollapsing
.Encode(strm
);
4561 if (HasOptionalField(e_nonCollapsingRaw
))
4562 m_nonCollapsingRaw
.Encode(strm
);
4563 if (HasOptionalField(e_transport
))
4564 m_transport
.Encode(strm
);
4566 UnknownExtensionsEncode(strm
);
4570 PObject
* H245_GenericCapability::Clone() const
4572 #ifndef PASN_LEANANDMEAN
4573 PAssert(IsClass(H245_GenericCapability::Class()), PInvalidCast
);
4575 return new H245_GenericCapability(*this);
4583 H245_GenericParameter::H245_GenericParameter(unsigned tag
, PASN_Object::TagClass tagClass
)
4584 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
4589 #ifndef PASN_NOPRINTON
4590 void H245_GenericParameter::PrintOn(ostream
& strm
) const
4592 int indent
= strm
.precision() + 2;
4594 strm
<< setw(indent
+22) << "parameterIdentifier = " << setprecision(indent
) << m_parameterIdentifier
<< '\n';
4595 strm
<< setw(indent
+17) << "parameterValue = " << setprecision(indent
) << m_parameterValue
<< '\n';
4596 if (HasOptionalField(e_supersedes
))
4597 strm
<< setw(indent
+13) << "supersedes = " << setprecision(indent
) << m_supersedes
<< '\n';
4598 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4603 PObject::Comparison
H245_GenericParameter::Compare(const PObject
& obj
) const
4605 #ifndef PASN_LEANANDMEAN
4606 PAssert(PIsDescendant(&obj
, H245_GenericParameter
), PInvalidCast
);
4608 const H245_GenericParameter
& other
= (const H245_GenericParameter
&)obj
;
4612 if ((result
= m_parameterIdentifier
.Compare(other
.m_parameterIdentifier
)) != EqualTo
)
4614 if ((result
= m_parameterValue
.Compare(other
.m_parameterValue
)) != EqualTo
)
4616 if ((result
= m_supersedes
.Compare(other
.m_supersedes
)) != EqualTo
)
4619 return PASN_Sequence::Compare(other
);
4623 PINDEX
H245_GenericParameter::GetDataLength() const
4626 length
+= m_parameterIdentifier
.GetObjectLength();
4627 length
+= m_parameterValue
.GetObjectLength();
4628 if (HasOptionalField(e_supersedes
))
4629 length
+= m_supersedes
.GetObjectLength();
4634 BOOL
H245_GenericParameter::Decode(PASN_Stream
& strm
)
4636 if (!PreambleDecode(strm
))
4639 if (!m_parameterIdentifier
.Decode(strm
))
4641 if (!m_parameterValue
.Decode(strm
))
4643 if (HasOptionalField(e_supersedes
) && !m_supersedes
.Decode(strm
))
4646 return UnknownExtensionsDecode(strm
);
4650 void H245_GenericParameter::Encode(PASN_Stream
& strm
) const
4652 PreambleEncode(strm
);
4654 m_parameterIdentifier
.Encode(strm
);
4655 m_parameterValue
.Encode(strm
);
4656 if (HasOptionalField(e_supersedes
))
4657 m_supersedes
.Encode(strm
);
4659 UnknownExtensionsEncode(strm
);
4663 PObject
* H245_GenericParameter::Clone() const
4665 #ifndef PASN_LEANANDMEAN
4666 PAssert(IsClass(H245_GenericParameter::Class()), PInvalidCast
);
4668 return new H245_GenericParameter(*this);
4673 // MultiplexedStreamCapability
4676 H245_MultiplexedStreamCapability::H245_MultiplexedStreamCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4677 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
4679 m_capabilityOnMuxStream
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
4683 #ifndef PASN_NOPRINTON
4684 void H245_MultiplexedStreamCapability::PrintOn(ostream
& strm
) const
4686 int indent
= strm
.precision() + 2;
4688 strm
<< setw(indent
+18) << "multiplexFormat = " << setprecision(indent
) << m_multiplexFormat
<< '\n';
4689 strm
<< setw(indent
+21) << "controlOnMuxStream = " << setprecision(indent
) << m_controlOnMuxStream
<< '\n';
4690 if (HasOptionalField(e_capabilityOnMuxStream
))
4691 strm
<< setw(indent
+24) << "capabilityOnMuxStream = " << setprecision(indent
) << m_capabilityOnMuxStream
<< '\n';
4692 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4697 PObject::Comparison
H245_MultiplexedStreamCapability::Compare(const PObject
& obj
) const
4699 #ifndef PASN_LEANANDMEAN
4700 PAssert(PIsDescendant(&obj
, H245_MultiplexedStreamCapability
), PInvalidCast
);
4702 const H245_MultiplexedStreamCapability
& other
= (const H245_MultiplexedStreamCapability
&)obj
;
4706 if ((result
= m_multiplexFormat
.Compare(other
.m_multiplexFormat
)) != EqualTo
)
4708 if ((result
= m_controlOnMuxStream
.Compare(other
.m_controlOnMuxStream
)) != EqualTo
)
4710 if ((result
= m_capabilityOnMuxStream
.Compare(other
.m_capabilityOnMuxStream
)) != EqualTo
)
4713 return PASN_Sequence::Compare(other
);
4717 PINDEX
H245_MultiplexedStreamCapability::GetDataLength() const
4720 length
+= m_multiplexFormat
.GetObjectLength();
4721 length
+= m_controlOnMuxStream
.GetObjectLength();
4722 if (HasOptionalField(e_capabilityOnMuxStream
))
4723 length
+= m_capabilityOnMuxStream
.GetObjectLength();
4728 BOOL
H245_MultiplexedStreamCapability::Decode(PASN_Stream
& strm
)
4730 if (!PreambleDecode(strm
))
4733 if (!m_multiplexFormat
.Decode(strm
))
4735 if (!m_controlOnMuxStream
.Decode(strm
))
4737 if (HasOptionalField(e_capabilityOnMuxStream
) && !m_capabilityOnMuxStream
.Decode(strm
))
4740 return UnknownExtensionsDecode(strm
);
4744 void H245_MultiplexedStreamCapability::Encode(PASN_Stream
& strm
) const
4746 PreambleEncode(strm
);
4748 m_multiplexFormat
.Encode(strm
);
4749 m_controlOnMuxStream
.Encode(strm
);
4750 if (HasOptionalField(e_capabilityOnMuxStream
))
4751 m_capabilityOnMuxStream
.Encode(strm
);
4753 UnknownExtensionsEncode(strm
);
4757 PObject
* H245_MultiplexedStreamCapability::Clone() const
4759 #ifndef PASN_LEANANDMEAN
4760 PAssert(IsClass(H245_MultiplexedStreamCapability::Class()), PInvalidCast
);
4762 return new H245_MultiplexedStreamCapability(*this);
4767 // MultiplePayloadStreamCapability
4770 H245_MultiplePayloadStreamCapability::H245_MultiplePayloadStreamCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4771 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
4773 m_capabilities
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
4777 #ifndef PASN_NOPRINTON
4778 void H245_MultiplePayloadStreamCapability::PrintOn(ostream
& strm
) const
4780 int indent
= strm
.precision() + 2;
4782 strm
<< setw(indent
+15) << "capabilities = " << setprecision(indent
) << m_capabilities
<< '\n';
4783 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4788 PObject::Comparison
H245_MultiplePayloadStreamCapability::Compare(const PObject
& obj
) const
4790 #ifndef PASN_LEANANDMEAN
4791 PAssert(PIsDescendant(&obj
, H245_MultiplePayloadStreamCapability
), PInvalidCast
);
4793 const H245_MultiplePayloadStreamCapability
& other
= (const H245_MultiplePayloadStreamCapability
&)obj
;
4797 if ((result
= m_capabilities
.Compare(other
.m_capabilities
)) != EqualTo
)
4800 return PASN_Sequence::Compare(other
);
4804 PINDEX
H245_MultiplePayloadStreamCapability::GetDataLength() const
4807 length
+= m_capabilities
.GetObjectLength();
4812 BOOL
H245_MultiplePayloadStreamCapability::Decode(PASN_Stream
& strm
)
4814 if (!PreambleDecode(strm
))
4817 if (!m_capabilities
.Decode(strm
))
4820 return UnknownExtensionsDecode(strm
);
4824 void H245_MultiplePayloadStreamCapability::Encode(PASN_Stream
& strm
) const
4826 PreambleEncode(strm
);
4828 m_capabilities
.Encode(strm
);
4830 UnknownExtensionsEncode(strm
);
4834 PObject
* H245_MultiplePayloadStreamCapability::Clone() const
4836 #ifndef PASN_LEANANDMEAN
4837 PAssert(IsClass(H245_MultiplePayloadStreamCapability::Class()), PInvalidCast
);
4839 return new H245_MultiplePayloadStreamCapability(*this);
4847 H245_FECCapability::H245_FECCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
4848 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
4853 #ifndef PASN_NOPRINTON
4854 void H245_FECCapability::PrintOn(ostream
& strm
) const
4856 int indent
= strm
.precision() + 2;
4858 strm
<< setw(indent
+22) << "protectedCapability = " << setprecision(indent
) << m_protectedCapability
<< '\n';
4859 if (HasOptionalField(e_fecScheme
))
4860 strm
<< setw(indent
+12) << "fecScheme = " << setprecision(indent
) << m_fecScheme
<< '\n';
4861 if (HasOptionalField(e_rfc2733Format
))
4862 strm
<< setw(indent
+16) << "rfc2733Format = " << setprecision(indent
) << m_rfc2733Format
<< '\n';
4863 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4868 PObject::Comparison
H245_FECCapability::Compare(const PObject
& obj
) const
4870 #ifndef PASN_LEANANDMEAN
4871 PAssert(PIsDescendant(&obj
, H245_FECCapability
), PInvalidCast
);
4873 const H245_FECCapability
& other
= (const H245_FECCapability
&)obj
;
4877 if ((result
= m_protectedCapability
.Compare(other
.m_protectedCapability
)) != EqualTo
)
4879 if ((result
= m_fecScheme
.Compare(other
.m_fecScheme
)) != EqualTo
)
4881 if ((result
= m_rfc2733Format
.Compare(other
.m_rfc2733Format
)) != EqualTo
)
4884 return PASN_Sequence::Compare(other
);
4888 PINDEX
H245_FECCapability::GetDataLength() const
4891 length
+= m_protectedCapability
.GetObjectLength();
4892 if (HasOptionalField(e_fecScheme
))
4893 length
+= m_fecScheme
.GetObjectLength();
4894 if (HasOptionalField(e_rfc2733Format
))
4895 length
+= m_rfc2733Format
.GetObjectLength();
4900 BOOL
H245_FECCapability::Decode(PASN_Stream
& strm
)
4902 if (!PreambleDecode(strm
))
4905 if (!m_protectedCapability
.Decode(strm
))
4907 if (HasOptionalField(e_fecScheme
) && !m_fecScheme
.Decode(strm
))
4909 if (HasOptionalField(e_rfc2733Format
) && !m_rfc2733Format
.Decode(strm
))
4912 return UnknownExtensionsDecode(strm
);
4916 void H245_FECCapability::Encode(PASN_Stream
& strm
) const
4918 PreambleEncode(strm
);
4920 m_protectedCapability
.Encode(strm
);
4921 if (HasOptionalField(e_fecScheme
))
4922 m_fecScheme
.Encode(strm
);
4923 if (HasOptionalField(e_rfc2733Format
))
4924 m_rfc2733Format
.Encode(strm
);
4926 UnknownExtensionsEncode(strm
);
4930 PObject
* H245_FECCapability::Clone() const
4932 #ifndef PASN_LEANANDMEAN
4933 PAssert(IsClass(H245_FECCapability::Class()), PInvalidCast
);
4935 return new H245_FECCapability(*this);
4940 // NetworkAccessParameters
4943 H245_NetworkAccessParameters::H245_NetworkAccessParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
4944 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 1)
4946 m_externalReference
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
4950 #ifndef PASN_NOPRINTON
4951 void H245_NetworkAccessParameters::PrintOn(ostream
& strm
) const
4953 int indent
= strm
.precision() + 2;
4955 if (HasOptionalField(e_distribution
))
4956 strm
<< setw(indent
+15) << "distribution = " << setprecision(indent
) << m_distribution
<< '\n';
4957 strm
<< setw(indent
+17) << "networkAddress = " << setprecision(indent
) << m_networkAddress
<< '\n';
4958 strm
<< setw(indent
+22) << "associateConference = " << setprecision(indent
) << m_associateConference
<< '\n';
4959 if (HasOptionalField(e_externalReference
))
4960 strm
<< setw(indent
+20) << "externalReference = " << setprecision(indent
) << m_externalReference
<< '\n';
4961 if (HasOptionalField(e_t120SetupProcedure
))
4962 strm
<< setw(indent
+21) << "t120SetupProcedure = " << setprecision(indent
) << m_t120SetupProcedure
<< '\n';
4963 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
4968 PObject::Comparison
H245_NetworkAccessParameters::Compare(const PObject
& obj
) const
4970 #ifndef PASN_LEANANDMEAN
4971 PAssert(PIsDescendant(&obj
, H245_NetworkAccessParameters
), PInvalidCast
);
4973 const H245_NetworkAccessParameters
& other
= (const H245_NetworkAccessParameters
&)obj
;
4977 if ((result
= m_distribution
.Compare(other
.m_distribution
)) != EqualTo
)
4979 if ((result
= m_networkAddress
.Compare(other
.m_networkAddress
)) != EqualTo
)
4981 if ((result
= m_associateConference
.Compare(other
.m_associateConference
)) != EqualTo
)
4983 if ((result
= m_externalReference
.Compare(other
.m_externalReference
)) != EqualTo
)
4986 return PASN_Sequence::Compare(other
);
4990 PINDEX
H245_NetworkAccessParameters::GetDataLength() const
4993 if (HasOptionalField(e_distribution
))
4994 length
+= m_distribution
.GetObjectLength();
4995 length
+= m_networkAddress
.GetObjectLength();
4996 length
+= m_associateConference
.GetObjectLength();
4997 if (HasOptionalField(e_externalReference
))
4998 length
+= m_externalReference
.GetObjectLength();
5003 BOOL
H245_NetworkAccessParameters::Decode(PASN_Stream
& strm
)
5005 if (!PreambleDecode(strm
))
5008 if (HasOptionalField(e_distribution
) && !m_distribution
.Decode(strm
))
5010 if (!m_networkAddress
.Decode(strm
))
5012 if (!m_associateConference
.Decode(strm
))
5014 if (HasOptionalField(e_externalReference
) && !m_externalReference
.Decode(strm
))
5016 if (!KnownExtensionDecode(strm
, e_t120SetupProcedure
, m_t120SetupProcedure
))
5019 return UnknownExtensionsDecode(strm
);
5023 void H245_NetworkAccessParameters::Encode(PASN_Stream
& strm
) const
5025 PreambleEncode(strm
);
5027 if (HasOptionalField(e_distribution
))
5028 m_distribution
.Encode(strm
);
5029 m_networkAddress
.Encode(strm
);
5030 m_associateConference
.Encode(strm
);
5031 if (HasOptionalField(e_externalReference
))
5032 m_externalReference
.Encode(strm
);
5033 KnownExtensionEncode(strm
, e_t120SetupProcedure
, m_t120SetupProcedure
);
5035 UnknownExtensionsEncode(strm
);
5039 PObject
* H245_NetworkAccessParameters::Clone() const
5041 #ifndef PASN_LEANANDMEAN
5042 PAssert(IsClass(H245_NetworkAccessParameters::Class()), PInvalidCast
);
5044 return new H245_NetworkAccessParameters(*this);
5052 H245_Q2931Address::H245_Q2931Address(unsigned tag
, PASN_Object::TagClass tagClass
)
5053 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
5055 m_subaddress
.SetConstraints(PASN_Object::FixedConstraint
, 1, 20);
5059 #ifndef PASN_NOPRINTON
5060 void H245_Q2931Address::PrintOn(ostream
& strm
) const
5062 int indent
= strm
.precision() + 2;
5064 strm
<< setw(indent
+10) << "address = " << setprecision(indent
) << m_address
<< '\n';
5065 if (HasOptionalField(e_subaddress
))
5066 strm
<< setw(indent
+13) << "subaddress = " << setprecision(indent
) << m_subaddress
<< '\n';
5067 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5072 PObject::Comparison
H245_Q2931Address::Compare(const PObject
& obj
) const
5074 #ifndef PASN_LEANANDMEAN
5075 PAssert(PIsDescendant(&obj
, H245_Q2931Address
), PInvalidCast
);
5077 const H245_Q2931Address
& other
= (const H245_Q2931Address
&)obj
;
5081 if ((result
= m_address
.Compare(other
.m_address
)) != EqualTo
)
5083 if ((result
= m_subaddress
.Compare(other
.m_subaddress
)) != EqualTo
)
5086 return PASN_Sequence::Compare(other
);
5090 PINDEX
H245_Q2931Address::GetDataLength() const
5093 length
+= m_address
.GetObjectLength();
5094 if (HasOptionalField(e_subaddress
))
5095 length
+= m_subaddress
.GetObjectLength();
5100 BOOL
H245_Q2931Address::Decode(PASN_Stream
& strm
)
5102 if (!PreambleDecode(strm
))
5105 if (!m_address
.Decode(strm
))
5107 if (HasOptionalField(e_subaddress
) && !m_subaddress
.Decode(strm
))
5110 return UnknownExtensionsDecode(strm
);
5114 void H245_Q2931Address::Encode(PASN_Stream
& strm
) const
5116 PreambleEncode(strm
);
5118 m_address
.Encode(strm
);
5119 if (HasOptionalField(e_subaddress
))
5120 m_subaddress
.Encode(strm
);
5122 UnknownExtensionsEncode(strm
);
5126 PObject
* H245_Q2931Address::Clone() const
5128 #ifndef PASN_LEANANDMEAN
5129 PAssert(IsClass(H245_Q2931Address::Class()), PInvalidCast
);
5131 return new H245_Q2931Address(*this);
5136 // H223LogicalChannelParameters
5139 H245_H223LogicalChannelParameters::H245_H223LogicalChannelParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
5140 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
5145 #ifndef PASN_NOPRINTON
5146 void H245_H223LogicalChannelParameters::PrintOn(ostream
& strm
) const
5148 int indent
= strm
.precision() + 2;
5150 strm
<< setw(indent
+22) << "adaptationLayerType = " << setprecision(indent
) << m_adaptationLayerType
<< '\n';
5151 strm
<< setw(indent
+18) << "segmentableFlag = " << setprecision(indent
) << m_segmentableFlag
<< '\n';
5152 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5157 PObject::Comparison
H245_H223LogicalChannelParameters::Compare(const PObject
& obj
) const
5159 #ifndef PASN_LEANANDMEAN
5160 PAssert(PIsDescendant(&obj
, H245_H223LogicalChannelParameters
), PInvalidCast
);
5162 const H245_H223LogicalChannelParameters
& other
= (const H245_H223LogicalChannelParameters
&)obj
;
5166 if ((result
= m_adaptationLayerType
.Compare(other
.m_adaptationLayerType
)) != EqualTo
)
5168 if ((result
= m_segmentableFlag
.Compare(other
.m_segmentableFlag
)) != EqualTo
)
5171 return PASN_Sequence::Compare(other
);
5175 PINDEX
H245_H223LogicalChannelParameters::GetDataLength() const
5178 length
+= m_adaptationLayerType
.GetObjectLength();
5179 length
+= m_segmentableFlag
.GetObjectLength();
5184 BOOL
H245_H223LogicalChannelParameters::Decode(PASN_Stream
& strm
)
5186 if (!PreambleDecode(strm
))
5189 if (!m_adaptationLayerType
.Decode(strm
))
5191 if (!m_segmentableFlag
.Decode(strm
))
5194 return UnknownExtensionsDecode(strm
);
5198 void H245_H223LogicalChannelParameters::Encode(PASN_Stream
& strm
) const
5200 PreambleEncode(strm
);
5202 m_adaptationLayerType
.Encode(strm
);
5203 m_segmentableFlag
.Encode(strm
);
5205 UnknownExtensionsEncode(strm
);
5209 PObject
* H245_H223LogicalChannelParameters::Clone() const
5211 #ifndef PASN_LEANANDMEAN
5212 PAssert(IsClass(H245_H223LogicalChannelParameters::Class()), PInvalidCast
);
5214 return new H245_H223LogicalChannelParameters(*this);
5219 // H223AL1MParameters
5222 H245_H223AL1MParameters::H245_H223AL1MParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
5223 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
5225 m_rcpcCodeRate
.SetConstraints(PASN_Object::FixedConstraint
, 8, 32);
5226 m_rsCodeCorrection
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
5230 #ifndef PASN_NOPRINTON
5231 void H245_H223AL1MParameters::PrintOn(ostream
& strm
) const
5233 int indent
= strm
.precision() + 2;
5235 strm
<< setw(indent
+15) << "transferMode = " << setprecision(indent
) << m_transferMode
<< '\n';
5236 strm
<< setw(indent
+12) << "headerFEC = " << setprecision(indent
) << m_headerFEC
<< '\n';
5237 strm
<< setw(indent
+12) << "crcLength = " << setprecision(indent
) << m_crcLength
<< '\n';
5238 strm
<< setw(indent
+15) << "rcpcCodeRate = " << setprecision(indent
) << m_rcpcCodeRate
<< '\n';
5239 strm
<< setw(indent
+10) << "arqType = " << setprecision(indent
) << m_arqType
<< '\n';
5240 strm
<< setw(indent
+20) << "alpduInterleaving = " << setprecision(indent
) << m_alpduInterleaving
<< '\n';
5241 strm
<< setw(indent
+17) << "alsduSplitting = " << setprecision(indent
) << m_alsduSplitting
<< '\n';
5242 if (HasOptionalField(e_rsCodeCorrection
))
5243 strm
<< setw(indent
+19) << "rsCodeCorrection = " << setprecision(indent
) << m_rsCodeCorrection
<< '\n';
5244 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5249 PObject::Comparison
H245_H223AL1MParameters::Compare(const PObject
& obj
) const
5251 #ifndef PASN_LEANANDMEAN
5252 PAssert(PIsDescendant(&obj
, H245_H223AL1MParameters
), PInvalidCast
);
5254 const H245_H223AL1MParameters
& other
= (const H245_H223AL1MParameters
&)obj
;
5258 if ((result
= m_transferMode
.Compare(other
.m_transferMode
)) != EqualTo
)
5260 if ((result
= m_headerFEC
.Compare(other
.m_headerFEC
)) != EqualTo
)
5262 if ((result
= m_crcLength
.Compare(other
.m_crcLength
)) != EqualTo
)
5264 if ((result
= m_rcpcCodeRate
.Compare(other
.m_rcpcCodeRate
)) != EqualTo
)
5266 if ((result
= m_arqType
.Compare(other
.m_arqType
)) != EqualTo
)
5268 if ((result
= m_alpduInterleaving
.Compare(other
.m_alpduInterleaving
)) != EqualTo
)
5270 if ((result
= m_alsduSplitting
.Compare(other
.m_alsduSplitting
)) != EqualTo
)
5273 return PASN_Sequence::Compare(other
);
5277 PINDEX
H245_H223AL1MParameters::GetDataLength() const
5280 length
+= m_transferMode
.GetObjectLength();
5281 length
+= m_headerFEC
.GetObjectLength();
5282 length
+= m_crcLength
.GetObjectLength();
5283 length
+= m_rcpcCodeRate
.GetObjectLength();
5284 length
+= m_arqType
.GetObjectLength();
5285 length
+= m_alpduInterleaving
.GetObjectLength();
5286 length
+= m_alsduSplitting
.GetObjectLength();
5291 BOOL
H245_H223AL1MParameters::Decode(PASN_Stream
& strm
)
5293 if (!PreambleDecode(strm
))
5296 if (!m_transferMode
.Decode(strm
))
5298 if (!m_headerFEC
.Decode(strm
))
5300 if (!m_crcLength
.Decode(strm
))
5302 if (!m_rcpcCodeRate
.Decode(strm
))
5304 if (!m_arqType
.Decode(strm
))
5306 if (!m_alpduInterleaving
.Decode(strm
))
5308 if (!m_alsduSplitting
.Decode(strm
))
5310 if (!KnownExtensionDecode(strm
, e_rsCodeCorrection
, m_rsCodeCorrection
))
5313 return UnknownExtensionsDecode(strm
);
5317 void H245_H223AL1MParameters::Encode(PASN_Stream
& strm
) const
5319 PreambleEncode(strm
);
5321 m_transferMode
.Encode(strm
);
5322 m_headerFEC
.Encode(strm
);
5323 m_crcLength
.Encode(strm
);
5324 m_rcpcCodeRate
.Encode(strm
);
5325 m_arqType
.Encode(strm
);
5326 m_alpduInterleaving
.Encode(strm
);
5327 m_alsduSplitting
.Encode(strm
);
5328 KnownExtensionEncode(strm
, e_rsCodeCorrection
, m_rsCodeCorrection
);
5330 UnknownExtensionsEncode(strm
);
5334 PObject
* H245_H223AL1MParameters::Clone() const
5336 #ifndef PASN_LEANANDMEAN
5337 PAssert(IsClass(H245_H223AL1MParameters::Class()), PInvalidCast
);
5339 return new H245_H223AL1MParameters(*this);
5344 // H223AL2MParameters
5347 H245_H223AL2MParameters::H245_H223AL2MParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
5348 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
5353 #ifndef PASN_NOPRINTON
5354 void H245_H223AL2MParameters::PrintOn(ostream
& strm
) const
5356 int indent
= strm
.precision() + 2;
5358 strm
<< setw(indent
+12) << "headerFEC = " << setprecision(indent
) << m_headerFEC
<< '\n';
5359 strm
<< setw(indent
+20) << "alpduInterleaving = " << setprecision(indent
) << m_alpduInterleaving
<< '\n';
5360 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5365 PObject::Comparison
H245_H223AL2MParameters::Compare(const PObject
& obj
) const
5367 #ifndef PASN_LEANANDMEAN
5368 PAssert(PIsDescendant(&obj
, H245_H223AL2MParameters
), PInvalidCast
);
5370 const H245_H223AL2MParameters
& other
= (const H245_H223AL2MParameters
&)obj
;
5374 if ((result
= m_headerFEC
.Compare(other
.m_headerFEC
)) != EqualTo
)
5376 if ((result
= m_alpduInterleaving
.Compare(other
.m_alpduInterleaving
)) != EqualTo
)
5379 return PASN_Sequence::Compare(other
);
5383 PINDEX
H245_H223AL2MParameters::GetDataLength() const
5386 length
+= m_headerFEC
.GetObjectLength();
5387 length
+= m_alpduInterleaving
.GetObjectLength();
5392 BOOL
H245_H223AL2MParameters::Decode(PASN_Stream
& strm
)
5394 if (!PreambleDecode(strm
))
5397 if (!m_headerFEC
.Decode(strm
))
5399 if (!m_alpduInterleaving
.Decode(strm
))
5402 return UnknownExtensionsDecode(strm
);
5406 void H245_H223AL2MParameters::Encode(PASN_Stream
& strm
) const
5408 PreambleEncode(strm
);
5410 m_headerFEC
.Encode(strm
);
5411 m_alpduInterleaving
.Encode(strm
);
5413 UnknownExtensionsEncode(strm
);
5417 PObject
* H245_H223AL2MParameters::Clone() const
5419 #ifndef PASN_LEANANDMEAN
5420 PAssert(IsClass(H245_H223AL2MParameters::Class()), PInvalidCast
);
5422 return new H245_H223AL2MParameters(*this);
5427 // H223AL3MParameters
5430 H245_H223AL3MParameters::H245_H223AL3MParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
5431 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
5433 m_rcpcCodeRate
.SetConstraints(PASN_Object::FixedConstraint
, 8, 32);
5434 m_rsCodeCorrection
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
5438 #ifndef PASN_NOPRINTON
5439 void H245_H223AL3MParameters::PrintOn(ostream
& strm
) const
5441 int indent
= strm
.precision() + 2;
5443 strm
<< setw(indent
+15) << "headerFormat = " << setprecision(indent
) << m_headerFormat
<< '\n';
5444 strm
<< setw(indent
+12) << "crcLength = " << setprecision(indent
) << m_crcLength
<< '\n';
5445 strm
<< setw(indent
+15) << "rcpcCodeRate = " << setprecision(indent
) << m_rcpcCodeRate
<< '\n';
5446 strm
<< setw(indent
+10) << "arqType = " << setprecision(indent
) << m_arqType
<< '\n';
5447 strm
<< setw(indent
+20) << "alpduInterleaving = " << setprecision(indent
) << m_alpduInterleaving
<< '\n';
5448 if (HasOptionalField(e_rsCodeCorrection
))
5449 strm
<< setw(indent
+19) << "rsCodeCorrection = " << setprecision(indent
) << m_rsCodeCorrection
<< '\n';
5450 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5455 PObject::Comparison
H245_H223AL3MParameters::Compare(const PObject
& obj
) const
5457 #ifndef PASN_LEANANDMEAN
5458 PAssert(PIsDescendant(&obj
, H245_H223AL3MParameters
), PInvalidCast
);
5460 const H245_H223AL3MParameters
& other
= (const H245_H223AL3MParameters
&)obj
;
5464 if ((result
= m_headerFormat
.Compare(other
.m_headerFormat
)) != EqualTo
)
5466 if ((result
= m_crcLength
.Compare(other
.m_crcLength
)) != EqualTo
)
5468 if ((result
= m_rcpcCodeRate
.Compare(other
.m_rcpcCodeRate
)) != EqualTo
)
5470 if ((result
= m_arqType
.Compare(other
.m_arqType
)) != EqualTo
)
5472 if ((result
= m_alpduInterleaving
.Compare(other
.m_alpduInterleaving
)) != EqualTo
)
5475 return PASN_Sequence::Compare(other
);
5479 PINDEX
H245_H223AL3MParameters::GetDataLength() const
5482 length
+= m_headerFormat
.GetObjectLength();
5483 length
+= m_crcLength
.GetObjectLength();
5484 length
+= m_rcpcCodeRate
.GetObjectLength();
5485 length
+= m_arqType
.GetObjectLength();
5486 length
+= m_alpduInterleaving
.GetObjectLength();
5491 BOOL
H245_H223AL3MParameters::Decode(PASN_Stream
& strm
)
5493 if (!PreambleDecode(strm
))
5496 if (!m_headerFormat
.Decode(strm
))
5498 if (!m_crcLength
.Decode(strm
))
5500 if (!m_rcpcCodeRate
.Decode(strm
))
5502 if (!m_arqType
.Decode(strm
))
5504 if (!m_alpduInterleaving
.Decode(strm
))
5506 if (!KnownExtensionDecode(strm
, e_rsCodeCorrection
, m_rsCodeCorrection
))
5509 return UnknownExtensionsDecode(strm
);
5513 void H245_H223AL3MParameters::Encode(PASN_Stream
& strm
) const
5515 PreambleEncode(strm
);
5517 m_headerFormat
.Encode(strm
);
5518 m_crcLength
.Encode(strm
);
5519 m_rcpcCodeRate
.Encode(strm
);
5520 m_arqType
.Encode(strm
);
5521 m_alpduInterleaving
.Encode(strm
);
5522 KnownExtensionEncode(strm
, e_rsCodeCorrection
, m_rsCodeCorrection
);
5524 UnknownExtensionsEncode(strm
);
5528 PObject
* H245_H223AL3MParameters::Clone() const
5530 #ifndef PASN_LEANANDMEAN
5531 PAssert(IsClass(H245_H223AL3MParameters::Class()), PInvalidCast
);
5533 return new H245_H223AL3MParameters(*this);
5538 // H223AnnexCArqParameters
5541 H245_H223AnnexCArqParameters::H245_H223AnnexCArqParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
5542 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
5544 m_sendBufferSize
.SetConstraints(PASN_Object::FixedConstraint
, 0, 16777215);
5548 #ifndef PASN_NOPRINTON
5549 void H245_H223AnnexCArqParameters::PrintOn(ostream
& strm
) const
5551 int indent
= strm
.precision() + 2;
5553 strm
<< setw(indent
+26) << "numberOfRetransmissions = " << setprecision(indent
) << m_numberOfRetransmissions
<< '\n';
5554 strm
<< setw(indent
+17) << "sendBufferSize = " << setprecision(indent
) << m_sendBufferSize
<< '\n';
5555 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5560 PObject::Comparison
H245_H223AnnexCArqParameters::Compare(const PObject
& obj
) const
5562 #ifndef PASN_LEANANDMEAN
5563 PAssert(PIsDescendant(&obj
, H245_H223AnnexCArqParameters
), PInvalidCast
);
5565 const H245_H223AnnexCArqParameters
& other
= (const H245_H223AnnexCArqParameters
&)obj
;
5569 if ((result
= m_numberOfRetransmissions
.Compare(other
.m_numberOfRetransmissions
)) != EqualTo
)
5571 if ((result
= m_sendBufferSize
.Compare(other
.m_sendBufferSize
)) != EqualTo
)
5574 return PASN_Sequence::Compare(other
);
5578 PINDEX
H245_H223AnnexCArqParameters::GetDataLength() const
5581 length
+= m_numberOfRetransmissions
.GetObjectLength();
5582 length
+= m_sendBufferSize
.GetObjectLength();
5587 BOOL
H245_H223AnnexCArqParameters::Decode(PASN_Stream
& strm
)
5589 if (!PreambleDecode(strm
))
5592 if (!m_numberOfRetransmissions
.Decode(strm
))
5594 if (!m_sendBufferSize
.Decode(strm
))
5597 return UnknownExtensionsDecode(strm
);
5601 void H245_H223AnnexCArqParameters::Encode(PASN_Stream
& strm
) const
5603 PreambleEncode(strm
);
5605 m_numberOfRetransmissions
.Encode(strm
);
5606 m_sendBufferSize
.Encode(strm
);
5608 UnknownExtensionsEncode(strm
);
5612 PObject
* H245_H223AnnexCArqParameters::Clone() const
5614 #ifndef PASN_LEANANDMEAN
5615 PAssert(IsClass(H245_H223AnnexCArqParameters::Class()), PInvalidCast
);
5617 return new H245_H223AnnexCArqParameters(*this);
5622 // V76HDLCParameters
5625 H245_V76HDLCParameters::H245_V76HDLCParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
5626 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
5628 m_n401
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4095);
5632 #ifndef PASN_NOPRINTON
5633 void H245_V76HDLCParameters::PrintOn(ostream
& strm
) const
5635 int indent
= strm
.precision() + 2;
5637 strm
<< setw(indent
+12) << "crcLength = " << setprecision(indent
) << m_crcLength
<< '\n';
5638 strm
<< setw(indent
+7) << "n401 = " << setprecision(indent
) << m_n401
<< '\n';
5639 strm
<< setw(indent
+24) << "loopbackTestProcedure = " << setprecision(indent
) << m_loopbackTestProcedure
<< '\n';
5640 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5645 PObject::Comparison
H245_V76HDLCParameters::Compare(const PObject
& obj
) const
5647 #ifndef PASN_LEANANDMEAN
5648 PAssert(PIsDescendant(&obj
, H245_V76HDLCParameters
), PInvalidCast
);
5650 const H245_V76HDLCParameters
& other
= (const H245_V76HDLCParameters
&)obj
;
5654 if ((result
= m_crcLength
.Compare(other
.m_crcLength
)) != EqualTo
)
5656 if ((result
= m_n401
.Compare(other
.m_n401
)) != EqualTo
)
5658 if ((result
= m_loopbackTestProcedure
.Compare(other
.m_loopbackTestProcedure
)) != EqualTo
)
5661 return PASN_Sequence::Compare(other
);
5665 PINDEX
H245_V76HDLCParameters::GetDataLength() const
5668 length
+= m_crcLength
.GetObjectLength();
5669 length
+= m_n401
.GetObjectLength();
5670 length
+= m_loopbackTestProcedure
.GetObjectLength();
5675 BOOL
H245_V76HDLCParameters::Decode(PASN_Stream
& strm
)
5677 if (!PreambleDecode(strm
))
5680 if (!m_crcLength
.Decode(strm
))
5682 if (!m_n401
.Decode(strm
))
5684 if (!m_loopbackTestProcedure
.Decode(strm
))
5687 return UnknownExtensionsDecode(strm
);
5691 void H245_V76HDLCParameters::Encode(PASN_Stream
& strm
) const
5693 PreambleEncode(strm
);
5695 m_crcLength
.Encode(strm
);
5696 m_n401
.Encode(strm
);
5697 m_loopbackTestProcedure
.Encode(strm
);
5699 UnknownExtensionsEncode(strm
);
5703 PObject
* H245_V76HDLCParameters::Clone() const
5705 #ifndef PASN_LEANANDMEAN
5706 PAssert(IsClass(H245_V76HDLCParameters::Class()), PInvalidCast
);
5708 return new H245_V76HDLCParameters(*this);
5716 H245_RTPPayloadType::H245_RTPPayloadType(unsigned tag
, PASN_Object::TagClass tagClass
)
5717 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
5719 m_payloadType
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
5723 #ifndef PASN_NOPRINTON
5724 void H245_RTPPayloadType::PrintOn(ostream
& strm
) const
5726 int indent
= strm
.precision() + 2;
5728 strm
<< setw(indent
+20) << "payloadDescriptor = " << setprecision(indent
) << m_payloadDescriptor
<< '\n';
5729 if (HasOptionalField(e_payloadType
))
5730 strm
<< setw(indent
+14) << "payloadType = " << setprecision(indent
) << m_payloadType
<< '\n';
5731 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5736 PObject::Comparison
H245_RTPPayloadType::Compare(const PObject
& obj
) const
5738 #ifndef PASN_LEANANDMEAN
5739 PAssert(PIsDescendant(&obj
, H245_RTPPayloadType
), PInvalidCast
);
5741 const H245_RTPPayloadType
& other
= (const H245_RTPPayloadType
&)obj
;
5745 if ((result
= m_payloadDescriptor
.Compare(other
.m_payloadDescriptor
)) != EqualTo
)
5747 if ((result
= m_payloadType
.Compare(other
.m_payloadType
)) != EqualTo
)
5750 return PASN_Sequence::Compare(other
);
5754 PINDEX
H245_RTPPayloadType::GetDataLength() const
5757 length
+= m_payloadDescriptor
.GetObjectLength();
5758 if (HasOptionalField(e_payloadType
))
5759 length
+= m_payloadType
.GetObjectLength();
5764 BOOL
H245_RTPPayloadType::Decode(PASN_Stream
& strm
)
5766 if (!PreambleDecode(strm
))
5769 if (!m_payloadDescriptor
.Decode(strm
))
5771 if (HasOptionalField(e_payloadType
) && !m_payloadType
.Decode(strm
))
5774 return UnknownExtensionsDecode(strm
);
5778 void H245_RTPPayloadType::Encode(PASN_Stream
& strm
) const
5780 PreambleEncode(strm
);
5782 m_payloadDescriptor
.Encode(strm
);
5783 if (HasOptionalField(e_payloadType
))
5784 m_payloadType
.Encode(strm
);
5786 UnknownExtensionsEncode(strm
);
5790 PObject
* H245_RTPPayloadType::Clone() const
5792 #ifndef PASN_LEANANDMEAN
5793 PAssert(IsClass(H245_RTPPayloadType::Class()), PInvalidCast
);
5795 return new H245_RTPPayloadType(*this);
5800 // MultiplePayloadStream
5803 H245_MultiplePayloadStream::H245_MultiplePayloadStream(unsigned tag
, PASN_Object::TagClass tagClass
)
5804 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
5809 #ifndef PASN_NOPRINTON
5810 void H245_MultiplePayloadStream::PrintOn(ostream
& strm
) const
5812 int indent
= strm
.precision() + 2;
5814 strm
<< setw(indent
+11) << "elements = " << setprecision(indent
) << m_elements
<< '\n';
5815 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5820 PObject::Comparison
H245_MultiplePayloadStream::Compare(const PObject
& obj
) const
5822 #ifndef PASN_LEANANDMEAN
5823 PAssert(PIsDescendant(&obj
, H245_MultiplePayloadStream
), PInvalidCast
);
5825 const H245_MultiplePayloadStream
& other
= (const H245_MultiplePayloadStream
&)obj
;
5829 if ((result
= m_elements
.Compare(other
.m_elements
)) != EqualTo
)
5832 return PASN_Sequence::Compare(other
);
5836 PINDEX
H245_MultiplePayloadStream::GetDataLength() const
5839 length
+= m_elements
.GetObjectLength();
5844 BOOL
H245_MultiplePayloadStream::Decode(PASN_Stream
& strm
)
5846 if (!PreambleDecode(strm
))
5849 if (!m_elements
.Decode(strm
))
5852 return UnknownExtensionsDecode(strm
);
5856 void H245_MultiplePayloadStream::Encode(PASN_Stream
& strm
) const
5858 PreambleEncode(strm
);
5860 m_elements
.Encode(strm
);
5862 UnknownExtensionsEncode(strm
);
5866 PObject
* H245_MultiplePayloadStream::Clone() const
5868 #ifndef PASN_LEANANDMEAN
5869 PAssert(IsClass(H245_MultiplePayloadStream::Class()), PInvalidCast
);
5871 return new H245_MultiplePayloadStream(*this);
5879 H245_EncryptionSync::H245_EncryptionSync(unsigned tag
, PASN_Object::TagClass tagClass
)
5880 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 1)
5882 m_synchFlag
.SetConstraints(PASN_Object::FixedConstraint
, 0, 255);
5883 m_h235Key
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
5884 m_escrowentry
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
5888 #ifndef PASN_NOPRINTON
5889 void H245_EncryptionSync::PrintOn(ostream
& strm
) const
5891 int indent
= strm
.precision() + 2;
5893 if (HasOptionalField(e_nonStandard
))
5894 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
5895 strm
<< setw(indent
+12) << "synchFlag = " << setprecision(indent
) << m_synchFlag
<< '\n';
5896 strm
<< setw(indent
+10) << "h235Key = " << setprecision(indent
) << m_h235Key
<< '\n';
5897 if (HasOptionalField(e_escrowentry
))
5898 strm
<< setw(indent
+14) << "escrowentry = " << setprecision(indent
) << m_escrowentry
<< '\n';
5899 if (HasOptionalField(e_genericParameter
))
5900 strm
<< setw(indent
+19) << "genericParameter = " << setprecision(indent
) << m_genericParameter
<< '\n';
5901 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
5906 PObject::Comparison
H245_EncryptionSync::Compare(const PObject
& obj
) const
5908 #ifndef PASN_LEANANDMEAN
5909 PAssert(PIsDescendant(&obj
, H245_EncryptionSync
), PInvalidCast
);
5911 const H245_EncryptionSync
& other
= (const H245_EncryptionSync
&)obj
;
5915 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
5917 if ((result
= m_synchFlag
.Compare(other
.m_synchFlag
)) != EqualTo
)
5919 if ((result
= m_h235Key
.Compare(other
.m_h235Key
)) != EqualTo
)
5921 if ((result
= m_escrowentry
.Compare(other
.m_escrowentry
)) != EqualTo
)
5924 return PASN_Sequence::Compare(other
);
5928 PINDEX
H245_EncryptionSync::GetDataLength() const
5931 if (HasOptionalField(e_nonStandard
))
5932 length
+= m_nonStandard
.GetObjectLength();
5933 length
+= m_synchFlag
.GetObjectLength();
5934 length
+= m_h235Key
.GetObjectLength();
5935 if (HasOptionalField(e_escrowentry
))
5936 length
+= m_escrowentry
.GetObjectLength();
5941 BOOL
H245_EncryptionSync::Decode(PASN_Stream
& strm
)
5943 if (!PreambleDecode(strm
))
5946 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
5948 if (!m_synchFlag
.Decode(strm
))
5950 if (!m_h235Key
.Decode(strm
))
5952 if (HasOptionalField(e_escrowentry
) && !m_escrowentry
.Decode(strm
))
5954 if (!KnownExtensionDecode(strm
, e_genericParameter
, m_genericParameter
))
5957 return UnknownExtensionsDecode(strm
);
5961 void H245_EncryptionSync::Encode(PASN_Stream
& strm
) const
5963 PreambleEncode(strm
);
5965 if (HasOptionalField(e_nonStandard
))
5966 m_nonStandard
.Encode(strm
);
5967 m_synchFlag
.Encode(strm
);
5968 m_h235Key
.Encode(strm
);
5969 if (HasOptionalField(e_escrowentry
))
5970 m_escrowentry
.Encode(strm
);
5971 KnownExtensionEncode(strm
, e_genericParameter
, m_genericParameter
);
5973 UnknownExtensionsEncode(strm
);
5977 PObject
* H245_EncryptionSync::Clone() const
5979 #ifndef PASN_LEANANDMEAN
5980 PAssert(IsClass(H245_EncryptionSync::Class()), PInvalidCast
);
5982 return new H245_EncryptionSync(*this);
5987 // OpenLogicalChannelReject
5990 H245_OpenLogicalChannelReject::H245_OpenLogicalChannelReject(unsigned tag
, PASN_Object::TagClass tagClass
)
5991 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
5996 #ifndef PASN_NOPRINTON
5997 void H245_OpenLogicalChannelReject::PrintOn(ostream
& strm
) const
5999 int indent
= strm
.precision() + 2;
6001 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
6002 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
6003 if (HasOptionalField(e_genericInformation
))
6004 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
6005 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6010 PObject::Comparison
H245_OpenLogicalChannelReject::Compare(const PObject
& obj
) const
6012 #ifndef PASN_LEANANDMEAN
6013 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannelReject
), PInvalidCast
);
6015 const H245_OpenLogicalChannelReject
& other
= (const H245_OpenLogicalChannelReject
&)obj
;
6019 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
6021 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
6024 return PASN_Sequence::Compare(other
);
6028 PINDEX
H245_OpenLogicalChannelReject::GetDataLength() const
6031 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
6032 length
+= m_cause
.GetObjectLength();
6037 BOOL
H245_OpenLogicalChannelReject::Decode(PASN_Stream
& strm
)
6039 if (!PreambleDecode(strm
))
6042 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
6044 if (!m_cause
.Decode(strm
))
6046 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
6049 return UnknownExtensionsDecode(strm
);
6053 void H245_OpenLogicalChannelReject::Encode(PASN_Stream
& strm
) const
6055 PreambleEncode(strm
);
6057 m_forwardLogicalChannelNumber
.Encode(strm
);
6058 m_cause
.Encode(strm
);
6059 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
6061 UnknownExtensionsEncode(strm
);
6065 PObject
* H245_OpenLogicalChannelReject::Clone() const
6067 #ifndef PASN_LEANANDMEAN
6068 PAssert(IsClass(H245_OpenLogicalChannelReject::Class()), PInvalidCast
);
6070 return new H245_OpenLogicalChannelReject(*this);
6075 // OpenLogicalChannelConfirm
6078 H245_OpenLogicalChannelConfirm::H245_OpenLogicalChannelConfirm(unsigned tag
, PASN_Object::TagClass tagClass
)
6079 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
6084 #ifndef PASN_NOPRINTON
6085 void H245_OpenLogicalChannelConfirm::PrintOn(ostream
& strm
) const
6087 int indent
= strm
.precision() + 2;
6089 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
6090 if (HasOptionalField(e_genericInformation
))
6091 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
6092 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6097 PObject::Comparison
H245_OpenLogicalChannelConfirm::Compare(const PObject
& obj
) const
6099 #ifndef PASN_LEANANDMEAN
6100 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannelConfirm
), PInvalidCast
);
6102 const H245_OpenLogicalChannelConfirm
& other
= (const H245_OpenLogicalChannelConfirm
&)obj
;
6106 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
6109 return PASN_Sequence::Compare(other
);
6113 PINDEX
H245_OpenLogicalChannelConfirm::GetDataLength() const
6116 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
6121 BOOL
H245_OpenLogicalChannelConfirm::Decode(PASN_Stream
& strm
)
6123 if (!PreambleDecode(strm
))
6126 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
6128 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
6131 return UnknownExtensionsDecode(strm
);
6135 void H245_OpenLogicalChannelConfirm::Encode(PASN_Stream
& strm
) const
6137 PreambleEncode(strm
);
6139 m_forwardLogicalChannelNumber
.Encode(strm
);
6140 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
6142 UnknownExtensionsEncode(strm
);
6146 PObject
* H245_OpenLogicalChannelConfirm::Clone() const
6148 #ifndef PASN_LEANANDMEAN
6149 PAssert(IsClass(H245_OpenLogicalChannelConfirm::Class()), PInvalidCast
);
6151 return new H245_OpenLogicalChannelConfirm(*this);
6156 // H2250LogicalChannelAckParameters
6159 H245_H2250LogicalChannelAckParameters::H245_H2250LogicalChannelAckParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
6160 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 2)
6162 m_sessionID
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
6163 m_dynamicRTPPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 96, 127);
6164 IncludeOptionalField(e_flowControlToZero
);
6165 m_portNumber
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
6169 #ifndef PASN_NOPRINTON
6170 void H245_H2250LogicalChannelAckParameters::PrintOn(ostream
& strm
) const
6172 int indent
= strm
.precision() + 2;
6174 if (HasOptionalField(e_nonStandard
))
6175 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
6176 if (HasOptionalField(e_sessionID
))
6177 strm
<< setw(indent
+12) << "sessionID = " << setprecision(indent
) << m_sessionID
<< '\n';
6178 if (HasOptionalField(e_mediaChannel
))
6179 strm
<< setw(indent
+15) << "mediaChannel = " << setprecision(indent
) << m_mediaChannel
<< '\n';
6180 if (HasOptionalField(e_mediaControlChannel
))
6181 strm
<< setw(indent
+22) << "mediaControlChannel = " << setprecision(indent
) << m_mediaControlChannel
<< '\n';
6182 if (HasOptionalField(e_dynamicRTPPayloadType
))
6183 strm
<< setw(indent
+24) << "dynamicRTPPayloadType = " << setprecision(indent
) << m_dynamicRTPPayloadType
<< '\n';
6184 if (HasOptionalField(e_flowControlToZero
))
6185 strm
<< setw(indent
+20) << "flowControlToZero = " << setprecision(indent
) << m_flowControlToZero
<< '\n';
6186 if (HasOptionalField(e_portNumber
))
6187 strm
<< setw(indent
+13) << "portNumber = " << setprecision(indent
) << m_portNumber
<< '\n';
6188 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6193 PObject::Comparison
H245_H2250LogicalChannelAckParameters::Compare(const PObject
& obj
) const
6195 #ifndef PASN_LEANANDMEAN
6196 PAssert(PIsDescendant(&obj
, H245_H2250LogicalChannelAckParameters
), PInvalidCast
);
6198 const H245_H2250LogicalChannelAckParameters
& other
= (const H245_H2250LogicalChannelAckParameters
&)obj
;
6202 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
6204 if ((result
= m_sessionID
.Compare(other
.m_sessionID
)) != EqualTo
)
6206 if ((result
= m_mediaChannel
.Compare(other
.m_mediaChannel
)) != EqualTo
)
6208 if ((result
= m_mediaControlChannel
.Compare(other
.m_mediaControlChannel
)) != EqualTo
)
6210 if ((result
= m_dynamicRTPPayloadType
.Compare(other
.m_dynamicRTPPayloadType
)) != EqualTo
)
6213 return PASN_Sequence::Compare(other
);
6217 PINDEX
H245_H2250LogicalChannelAckParameters::GetDataLength() const
6220 if (HasOptionalField(e_nonStandard
))
6221 length
+= m_nonStandard
.GetObjectLength();
6222 if (HasOptionalField(e_sessionID
))
6223 length
+= m_sessionID
.GetObjectLength();
6224 if (HasOptionalField(e_mediaChannel
))
6225 length
+= m_mediaChannel
.GetObjectLength();
6226 if (HasOptionalField(e_mediaControlChannel
))
6227 length
+= m_mediaControlChannel
.GetObjectLength();
6228 if (HasOptionalField(e_dynamicRTPPayloadType
))
6229 length
+= m_dynamicRTPPayloadType
.GetObjectLength();
6234 BOOL
H245_H2250LogicalChannelAckParameters::Decode(PASN_Stream
& strm
)
6236 if (!PreambleDecode(strm
))
6239 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
6241 if (HasOptionalField(e_sessionID
) && !m_sessionID
.Decode(strm
))
6243 if (HasOptionalField(e_mediaChannel
) && !m_mediaChannel
.Decode(strm
))
6245 if (HasOptionalField(e_mediaControlChannel
) && !m_mediaControlChannel
.Decode(strm
))
6247 if (HasOptionalField(e_dynamicRTPPayloadType
) && !m_dynamicRTPPayloadType
.Decode(strm
))
6249 if (!KnownExtensionDecode(strm
, e_flowControlToZero
, m_flowControlToZero
))
6251 if (!KnownExtensionDecode(strm
, e_portNumber
, m_portNumber
))
6254 return UnknownExtensionsDecode(strm
);
6258 void H245_H2250LogicalChannelAckParameters::Encode(PASN_Stream
& strm
) const
6260 PreambleEncode(strm
);
6262 if (HasOptionalField(e_nonStandard
))
6263 m_nonStandard
.Encode(strm
);
6264 if (HasOptionalField(e_sessionID
))
6265 m_sessionID
.Encode(strm
);
6266 if (HasOptionalField(e_mediaChannel
))
6267 m_mediaChannel
.Encode(strm
);
6268 if (HasOptionalField(e_mediaControlChannel
))
6269 m_mediaControlChannel
.Encode(strm
);
6270 if (HasOptionalField(e_dynamicRTPPayloadType
))
6271 m_dynamicRTPPayloadType
.Encode(strm
);
6272 KnownExtensionEncode(strm
, e_flowControlToZero
, m_flowControlToZero
);
6273 KnownExtensionEncode(strm
, e_portNumber
, m_portNumber
);
6275 UnknownExtensionsEncode(strm
);
6279 PObject
* H245_H2250LogicalChannelAckParameters::Clone() const
6281 #ifndef PASN_LEANANDMEAN
6282 PAssert(IsClass(H245_H2250LogicalChannelAckParameters::Class()), PInvalidCast
);
6284 return new H245_H2250LogicalChannelAckParameters(*this);
6289 // CloseLogicalChannel
6292 H245_CloseLogicalChannel::H245_CloseLogicalChannel(unsigned tag
, PASN_Object::TagClass tagClass
)
6293 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
6295 IncludeOptionalField(e_reason
);
6299 #ifndef PASN_NOPRINTON
6300 void H245_CloseLogicalChannel::PrintOn(ostream
& strm
) const
6302 int indent
= strm
.precision() + 2;
6304 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
6305 strm
<< setw(indent
+9) << "source = " << setprecision(indent
) << m_source
<< '\n';
6306 if (HasOptionalField(e_reason
))
6307 strm
<< setw(indent
+9) << "reason = " << setprecision(indent
) << m_reason
<< '\n';
6308 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6313 PObject::Comparison
H245_CloseLogicalChannel::Compare(const PObject
& obj
) const
6315 #ifndef PASN_LEANANDMEAN
6316 PAssert(PIsDescendant(&obj
, H245_CloseLogicalChannel
), PInvalidCast
);
6318 const H245_CloseLogicalChannel
& other
= (const H245_CloseLogicalChannel
&)obj
;
6322 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
6324 if ((result
= m_source
.Compare(other
.m_source
)) != EqualTo
)
6327 return PASN_Sequence::Compare(other
);
6331 PINDEX
H245_CloseLogicalChannel::GetDataLength() const
6334 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
6335 length
+= m_source
.GetObjectLength();
6340 BOOL
H245_CloseLogicalChannel::Decode(PASN_Stream
& strm
)
6342 if (!PreambleDecode(strm
))
6345 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
6347 if (!m_source
.Decode(strm
))
6349 if (!KnownExtensionDecode(strm
, e_reason
, m_reason
))
6352 return UnknownExtensionsDecode(strm
);
6356 void H245_CloseLogicalChannel::Encode(PASN_Stream
& strm
) const
6358 PreambleEncode(strm
);
6360 m_forwardLogicalChannelNumber
.Encode(strm
);
6361 m_source
.Encode(strm
);
6362 KnownExtensionEncode(strm
, e_reason
, m_reason
);
6364 UnknownExtensionsEncode(strm
);
6368 PObject
* H245_CloseLogicalChannel::Clone() const
6370 #ifndef PASN_LEANANDMEAN
6371 PAssert(IsClass(H245_CloseLogicalChannel::Class()), PInvalidCast
);
6373 return new H245_CloseLogicalChannel(*this);
6378 // RequestChannelClose
6381 H245_RequestChannelClose::H245_RequestChannelClose(unsigned tag
, PASN_Object::TagClass tagClass
)
6382 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 2)
6384 IncludeOptionalField(e_reason
);
6388 #ifndef PASN_NOPRINTON
6389 void H245_RequestChannelClose::PrintOn(ostream
& strm
) const
6391 int indent
= strm
.precision() + 2;
6393 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
6394 if (HasOptionalField(e_qosCapability
))
6395 strm
<< setw(indent
+16) << "qosCapability = " << setprecision(indent
) << m_qosCapability
<< '\n';
6396 if (HasOptionalField(e_reason
))
6397 strm
<< setw(indent
+9) << "reason = " << setprecision(indent
) << m_reason
<< '\n';
6398 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6403 PObject::Comparison
H245_RequestChannelClose::Compare(const PObject
& obj
) const
6405 #ifndef PASN_LEANANDMEAN
6406 PAssert(PIsDescendant(&obj
, H245_RequestChannelClose
), PInvalidCast
);
6408 const H245_RequestChannelClose
& other
= (const H245_RequestChannelClose
&)obj
;
6412 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
6415 return PASN_Sequence::Compare(other
);
6419 PINDEX
H245_RequestChannelClose::GetDataLength() const
6422 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
6427 BOOL
H245_RequestChannelClose::Decode(PASN_Stream
& strm
)
6429 if (!PreambleDecode(strm
))
6432 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
6434 if (!KnownExtensionDecode(strm
, e_qosCapability
, m_qosCapability
))
6436 if (!KnownExtensionDecode(strm
, e_reason
, m_reason
))
6439 return UnknownExtensionsDecode(strm
);
6443 void H245_RequestChannelClose::Encode(PASN_Stream
& strm
) const
6445 PreambleEncode(strm
);
6447 m_forwardLogicalChannelNumber
.Encode(strm
);
6448 KnownExtensionEncode(strm
, e_qosCapability
, m_qosCapability
);
6449 KnownExtensionEncode(strm
, e_reason
, m_reason
);
6451 UnknownExtensionsEncode(strm
);
6455 PObject
* H245_RequestChannelClose::Clone() const
6457 #ifndef PASN_LEANANDMEAN
6458 PAssert(IsClass(H245_RequestChannelClose::Class()), PInvalidCast
);
6460 return new H245_RequestChannelClose(*this);
6465 // RequestChannelCloseReject
6468 H245_RequestChannelCloseReject::H245_RequestChannelCloseReject(unsigned tag
, PASN_Object::TagClass tagClass
)
6469 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
6474 #ifndef PASN_NOPRINTON
6475 void H245_RequestChannelCloseReject::PrintOn(ostream
& strm
) const
6477 int indent
= strm
.precision() + 2;
6479 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
6480 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
6481 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6486 PObject::Comparison
H245_RequestChannelCloseReject::Compare(const PObject
& obj
) const
6488 #ifndef PASN_LEANANDMEAN
6489 PAssert(PIsDescendant(&obj
, H245_RequestChannelCloseReject
), PInvalidCast
);
6491 const H245_RequestChannelCloseReject
& other
= (const H245_RequestChannelCloseReject
&)obj
;
6495 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
6497 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
6500 return PASN_Sequence::Compare(other
);
6504 PINDEX
H245_RequestChannelCloseReject::GetDataLength() const
6507 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
6508 length
+= m_cause
.GetObjectLength();
6513 BOOL
H245_RequestChannelCloseReject::Decode(PASN_Stream
& strm
)
6515 if (!PreambleDecode(strm
))
6518 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
6520 if (!m_cause
.Decode(strm
))
6523 return UnknownExtensionsDecode(strm
);
6527 void H245_RequestChannelCloseReject::Encode(PASN_Stream
& strm
) const
6529 PreambleEncode(strm
);
6531 m_forwardLogicalChannelNumber
.Encode(strm
);
6532 m_cause
.Encode(strm
);
6534 UnknownExtensionsEncode(strm
);
6538 PObject
* H245_RequestChannelCloseReject::Clone() const
6540 #ifndef PASN_LEANANDMEAN
6541 PAssert(IsClass(H245_RequestChannelCloseReject::Class()), PInvalidCast
);
6543 return new H245_RequestChannelCloseReject(*this);
6548 // MultiplexEntrySend
6551 H245_MultiplexEntrySend::H245_MultiplexEntrySend(unsigned tag
, PASN_Object::TagClass tagClass
)
6552 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
6554 m_multiplexEntryDescriptors
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
6558 #ifndef PASN_NOPRINTON
6559 void H245_MultiplexEntrySend::PrintOn(ostream
& strm
) const
6561 int indent
= strm
.precision() + 2;
6563 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
6564 strm
<< setw(indent
+28) << "multiplexEntryDescriptors = " << setprecision(indent
) << m_multiplexEntryDescriptors
<< '\n';
6565 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6570 PObject::Comparison
H245_MultiplexEntrySend::Compare(const PObject
& obj
) const
6572 #ifndef PASN_LEANANDMEAN
6573 PAssert(PIsDescendant(&obj
, H245_MultiplexEntrySend
), PInvalidCast
);
6575 const H245_MultiplexEntrySend
& other
= (const H245_MultiplexEntrySend
&)obj
;
6579 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
6581 if ((result
= m_multiplexEntryDescriptors
.Compare(other
.m_multiplexEntryDescriptors
)) != EqualTo
)
6584 return PASN_Sequence::Compare(other
);
6588 PINDEX
H245_MultiplexEntrySend::GetDataLength() const
6591 length
+= m_sequenceNumber
.GetObjectLength();
6592 length
+= m_multiplexEntryDescriptors
.GetObjectLength();
6597 BOOL
H245_MultiplexEntrySend::Decode(PASN_Stream
& strm
)
6599 if (!PreambleDecode(strm
))
6602 if (!m_sequenceNumber
.Decode(strm
))
6604 if (!m_multiplexEntryDescriptors
.Decode(strm
))
6607 return UnknownExtensionsDecode(strm
);
6611 void H245_MultiplexEntrySend::Encode(PASN_Stream
& strm
) const
6613 PreambleEncode(strm
);
6615 m_sequenceNumber
.Encode(strm
);
6616 m_multiplexEntryDescriptors
.Encode(strm
);
6618 UnknownExtensionsEncode(strm
);
6622 PObject
* H245_MultiplexEntrySend::Clone() const
6624 #ifndef PASN_LEANANDMEAN
6625 PAssert(IsClass(H245_MultiplexEntrySend::Class()), PInvalidCast
);
6627 return new H245_MultiplexEntrySend(*this);
6632 // MultiplexEntryDescriptor
6635 H245_MultiplexEntryDescriptor::H245_MultiplexEntryDescriptor(unsigned tag
, PASN_Object::TagClass tagClass
)
6636 : PASN_Sequence(tag
, tagClass
, 1, FALSE
, 0)
6638 m_elementList
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
6642 #ifndef PASN_NOPRINTON
6643 void H245_MultiplexEntryDescriptor::PrintOn(ostream
& strm
) const
6645 int indent
= strm
.precision() + 2;
6647 strm
<< setw(indent
+28) << "multiplexTableEntryNumber = " << setprecision(indent
) << m_multiplexTableEntryNumber
<< '\n';
6648 if (HasOptionalField(e_elementList
))
6649 strm
<< setw(indent
+14) << "elementList = " << setprecision(indent
) << m_elementList
<< '\n';
6650 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6655 PObject::Comparison
H245_MultiplexEntryDescriptor::Compare(const PObject
& obj
) const
6657 #ifndef PASN_LEANANDMEAN
6658 PAssert(PIsDescendant(&obj
, H245_MultiplexEntryDescriptor
), PInvalidCast
);
6660 const H245_MultiplexEntryDescriptor
& other
= (const H245_MultiplexEntryDescriptor
&)obj
;
6664 if ((result
= m_multiplexTableEntryNumber
.Compare(other
.m_multiplexTableEntryNumber
)) != EqualTo
)
6666 if ((result
= m_elementList
.Compare(other
.m_elementList
)) != EqualTo
)
6669 return PASN_Sequence::Compare(other
);
6673 PINDEX
H245_MultiplexEntryDescriptor::GetDataLength() const
6676 length
+= m_multiplexTableEntryNumber
.GetObjectLength();
6677 if (HasOptionalField(e_elementList
))
6678 length
+= m_elementList
.GetObjectLength();
6683 BOOL
H245_MultiplexEntryDescriptor::Decode(PASN_Stream
& strm
)
6685 if (!PreambleDecode(strm
))
6688 if (!m_multiplexTableEntryNumber
.Decode(strm
))
6690 if (HasOptionalField(e_elementList
) && !m_elementList
.Decode(strm
))
6693 return UnknownExtensionsDecode(strm
);
6697 void H245_MultiplexEntryDescriptor::Encode(PASN_Stream
& strm
) const
6699 PreambleEncode(strm
);
6701 m_multiplexTableEntryNumber
.Encode(strm
);
6702 if (HasOptionalField(e_elementList
))
6703 m_elementList
.Encode(strm
);
6705 UnknownExtensionsEncode(strm
);
6709 PObject
* H245_MultiplexEntryDescriptor::Clone() const
6711 #ifndef PASN_LEANANDMEAN
6712 PAssert(IsClass(H245_MultiplexEntryDescriptor::Class()), PInvalidCast
);
6714 return new H245_MultiplexEntryDescriptor(*this);
6722 H245_MultiplexElement::H245_MultiplexElement(unsigned tag
, PASN_Object::TagClass tagClass
)
6723 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
6728 #ifndef PASN_NOPRINTON
6729 void H245_MultiplexElement::PrintOn(ostream
& strm
) const
6731 int indent
= strm
.precision() + 2;
6733 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
6734 strm
<< setw(indent
+14) << "repeatCount = " << setprecision(indent
) << m_repeatCount
<< '\n';
6735 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6740 PObject::Comparison
H245_MultiplexElement::Compare(const PObject
& obj
) const
6742 #ifndef PASN_LEANANDMEAN
6743 PAssert(PIsDescendant(&obj
, H245_MultiplexElement
), PInvalidCast
);
6745 const H245_MultiplexElement
& other
= (const H245_MultiplexElement
&)obj
;
6749 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
6751 if ((result
= m_repeatCount
.Compare(other
.m_repeatCount
)) != EqualTo
)
6754 return PASN_Sequence::Compare(other
);
6758 PINDEX
H245_MultiplexElement::GetDataLength() const
6761 length
+= m_type
.GetObjectLength();
6762 length
+= m_repeatCount
.GetObjectLength();
6767 BOOL
H245_MultiplexElement::Decode(PASN_Stream
& strm
)
6769 if (!PreambleDecode(strm
))
6772 if (!m_type
.Decode(strm
))
6774 if (!m_repeatCount
.Decode(strm
))
6777 return UnknownExtensionsDecode(strm
);
6781 void H245_MultiplexElement::Encode(PASN_Stream
& strm
) const
6783 PreambleEncode(strm
);
6785 m_type
.Encode(strm
);
6786 m_repeatCount
.Encode(strm
);
6788 UnknownExtensionsEncode(strm
);
6792 PObject
* H245_MultiplexElement::Clone() const
6794 #ifndef PASN_LEANANDMEAN
6795 PAssert(IsClass(H245_MultiplexElement::Class()), PInvalidCast
);
6797 return new H245_MultiplexElement(*this);
6802 // MultiplexEntrySendAck
6805 H245_MultiplexEntrySendAck::H245_MultiplexEntrySendAck(unsigned tag
, PASN_Object::TagClass tagClass
)
6806 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
6808 m_multiplexTableEntryNumber
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
6812 #ifndef PASN_NOPRINTON
6813 void H245_MultiplexEntrySendAck::PrintOn(ostream
& strm
) const
6815 int indent
= strm
.precision() + 2;
6817 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
6818 strm
<< setw(indent
+28) << "multiplexTableEntryNumber = " << setprecision(indent
) << m_multiplexTableEntryNumber
<< '\n';
6819 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6824 PObject::Comparison
H245_MultiplexEntrySendAck::Compare(const PObject
& obj
) const
6826 #ifndef PASN_LEANANDMEAN
6827 PAssert(PIsDescendant(&obj
, H245_MultiplexEntrySendAck
), PInvalidCast
);
6829 const H245_MultiplexEntrySendAck
& other
= (const H245_MultiplexEntrySendAck
&)obj
;
6833 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
6835 if ((result
= m_multiplexTableEntryNumber
.Compare(other
.m_multiplexTableEntryNumber
)) != EqualTo
)
6838 return PASN_Sequence::Compare(other
);
6842 PINDEX
H245_MultiplexEntrySendAck::GetDataLength() const
6845 length
+= m_sequenceNumber
.GetObjectLength();
6846 length
+= m_multiplexTableEntryNumber
.GetObjectLength();
6851 BOOL
H245_MultiplexEntrySendAck::Decode(PASN_Stream
& strm
)
6853 if (!PreambleDecode(strm
))
6856 if (!m_sequenceNumber
.Decode(strm
))
6858 if (!m_multiplexTableEntryNumber
.Decode(strm
))
6861 return UnknownExtensionsDecode(strm
);
6865 void H245_MultiplexEntrySendAck::Encode(PASN_Stream
& strm
) const
6867 PreambleEncode(strm
);
6869 m_sequenceNumber
.Encode(strm
);
6870 m_multiplexTableEntryNumber
.Encode(strm
);
6872 UnknownExtensionsEncode(strm
);
6876 PObject
* H245_MultiplexEntrySendAck::Clone() const
6878 #ifndef PASN_LEANANDMEAN
6879 PAssert(IsClass(H245_MultiplexEntrySendAck::Class()), PInvalidCast
);
6881 return new H245_MultiplexEntrySendAck(*this);
6886 // MultiplexEntrySendReject
6889 H245_MultiplexEntrySendReject::H245_MultiplexEntrySendReject(unsigned tag
, PASN_Object::TagClass tagClass
)
6890 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
6892 m_rejectionDescriptions
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
6896 #ifndef PASN_NOPRINTON
6897 void H245_MultiplexEntrySendReject::PrintOn(ostream
& strm
) const
6899 int indent
= strm
.precision() + 2;
6901 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
6902 strm
<< setw(indent
+24) << "rejectionDescriptions = " << setprecision(indent
) << m_rejectionDescriptions
<< '\n';
6903 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6908 PObject::Comparison
H245_MultiplexEntrySendReject::Compare(const PObject
& obj
) const
6910 #ifndef PASN_LEANANDMEAN
6911 PAssert(PIsDescendant(&obj
, H245_MultiplexEntrySendReject
), PInvalidCast
);
6913 const H245_MultiplexEntrySendReject
& other
= (const H245_MultiplexEntrySendReject
&)obj
;
6917 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
6919 if ((result
= m_rejectionDescriptions
.Compare(other
.m_rejectionDescriptions
)) != EqualTo
)
6922 return PASN_Sequence::Compare(other
);
6926 PINDEX
H245_MultiplexEntrySendReject::GetDataLength() const
6929 length
+= m_sequenceNumber
.GetObjectLength();
6930 length
+= m_rejectionDescriptions
.GetObjectLength();
6935 BOOL
H245_MultiplexEntrySendReject::Decode(PASN_Stream
& strm
)
6937 if (!PreambleDecode(strm
))
6940 if (!m_sequenceNumber
.Decode(strm
))
6942 if (!m_rejectionDescriptions
.Decode(strm
))
6945 return UnknownExtensionsDecode(strm
);
6949 void H245_MultiplexEntrySendReject::Encode(PASN_Stream
& strm
) const
6951 PreambleEncode(strm
);
6953 m_sequenceNumber
.Encode(strm
);
6954 m_rejectionDescriptions
.Encode(strm
);
6956 UnknownExtensionsEncode(strm
);
6960 PObject
* H245_MultiplexEntrySendReject::Clone() const
6962 #ifndef PASN_LEANANDMEAN
6963 PAssert(IsClass(H245_MultiplexEntrySendReject::Class()), PInvalidCast
);
6965 return new H245_MultiplexEntrySendReject(*this);
6970 // MultiplexEntryRejectionDescriptions
6973 H245_MultiplexEntryRejectionDescriptions::H245_MultiplexEntryRejectionDescriptions(unsigned tag
, PASN_Object::TagClass tagClass
)
6974 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
6979 #ifndef PASN_NOPRINTON
6980 void H245_MultiplexEntryRejectionDescriptions::PrintOn(ostream
& strm
) const
6982 int indent
= strm
.precision() + 2;
6984 strm
<< setw(indent
+28) << "multiplexTableEntryNumber = " << setprecision(indent
) << m_multiplexTableEntryNumber
<< '\n';
6985 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
6986 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
6991 PObject::Comparison
H245_MultiplexEntryRejectionDescriptions::Compare(const PObject
& obj
) const
6993 #ifndef PASN_LEANANDMEAN
6994 PAssert(PIsDescendant(&obj
, H245_MultiplexEntryRejectionDescriptions
), PInvalidCast
);
6996 const H245_MultiplexEntryRejectionDescriptions
& other
= (const H245_MultiplexEntryRejectionDescriptions
&)obj
;
7000 if ((result
= m_multiplexTableEntryNumber
.Compare(other
.m_multiplexTableEntryNumber
)) != EqualTo
)
7002 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
7005 return PASN_Sequence::Compare(other
);
7009 PINDEX
H245_MultiplexEntryRejectionDescriptions::GetDataLength() const
7012 length
+= m_multiplexTableEntryNumber
.GetObjectLength();
7013 length
+= m_cause
.GetObjectLength();
7018 BOOL
H245_MultiplexEntryRejectionDescriptions::Decode(PASN_Stream
& strm
)
7020 if (!PreambleDecode(strm
))
7023 if (!m_multiplexTableEntryNumber
.Decode(strm
))
7025 if (!m_cause
.Decode(strm
))
7028 return UnknownExtensionsDecode(strm
);
7032 void H245_MultiplexEntryRejectionDescriptions::Encode(PASN_Stream
& strm
) const
7034 PreambleEncode(strm
);
7036 m_multiplexTableEntryNumber
.Encode(strm
);
7037 m_cause
.Encode(strm
);
7039 UnknownExtensionsEncode(strm
);
7043 PObject
* H245_MultiplexEntryRejectionDescriptions::Clone() const
7045 #ifndef PASN_LEANANDMEAN
7046 PAssert(IsClass(H245_MultiplexEntryRejectionDescriptions::Class()), PInvalidCast
);
7048 return new H245_MultiplexEntryRejectionDescriptions(*this);
7053 // MultiplexEntrySendRelease
7056 H245_MultiplexEntrySendRelease::H245_MultiplexEntrySendRelease(unsigned tag
, PASN_Object::TagClass tagClass
)
7057 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7059 m_multiplexTableEntryNumber
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
7063 #ifndef PASN_NOPRINTON
7064 void H245_MultiplexEntrySendRelease::PrintOn(ostream
& strm
) const
7066 int indent
= strm
.precision() + 2;
7068 strm
<< setw(indent
+28) << "multiplexTableEntryNumber = " << setprecision(indent
) << m_multiplexTableEntryNumber
<< '\n';
7069 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7074 PObject::Comparison
H245_MultiplexEntrySendRelease::Compare(const PObject
& obj
) const
7076 #ifndef PASN_LEANANDMEAN
7077 PAssert(PIsDescendant(&obj
, H245_MultiplexEntrySendRelease
), PInvalidCast
);
7079 const H245_MultiplexEntrySendRelease
& other
= (const H245_MultiplexEntrySendRelease
&)obj
;
7083 if ((result
= m_multiplexTableEntryNumber
.Compare(other
.m_multiplexTableEntryNumber
)) != EqualTo
)
7086 return PASN_Sequence::Compare(other
);
7090 PINDEX
H245_MultiplexEntrySendRelease::GetDataLength() const
7093 length
+= m_multiplexTableEntryNumber
.GetObjectLength();
7098 BOOL
H245_MultiplexEntrySendRelease::Decode(PASN_Stream
& strm
)
7100 if (!PreambleDecode(strm
))
7103 if (!m_multiplexTableEntryNumber
.Decode(strm
))
7106 return UnknownExtensionsDecode(strm
);
7110 void H245_MultiplexEntrySendRelease::Encode(PASN_Stream
& strm
) const
7112 PreambleEncode(strm
);
7114 m_multiplexTableEntryNumber
.Encode(strm
);
7116 UnknownExtensionsEncode(strm
);
7120 PObject
* H245_MultiplexEntrySendRelease::Clone() const
7122 #ifndef PASN_LEANANDMEAN
7123 PAssert(IsClass(H245_MultiplexEntrySendRelease::Class()), PInvalidCast
);
7125 return new H245_MultiplexEntrySendRelease(*this);
7130 // RequestMultiplexEntry
7133 H245_RequestMultiplexEntry::H245_RequestMultiplexEntry(unsigned tag
, PASN_Object::TagClass tagClass
)
7134 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7136 m_entryNumbers
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
7140 #ifndef PASN_NOPRINTON
7141 void H245_RequestMultiplexEntry::PrintOn(ostream
& strm
) const
7143 int indent
= strm
.precision() + 2;
7145 strm
<< setw(indent
+15) << "entryNumbers = " << setprecision(indent
) << m_entryNumbers
<< '\n';
7146 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7151 PObject::Comparison
H245_RequestMultiplexEntry::Compare(const PObject
& obj
) const
7153 #ifndef PASN_LEANANDMEAN
7154 PAssert(PIsDescendant(&obj
, H245_RequestMultiplexEntry
), PInvalidCast
);
7156 const H245_RequestMultiplexEntry
& other
= (const H245_RequestMultiplexEntry
&)obj
;
7160 if ((result
= m_entryNumbers
.Compare(other
.m_entryNumbers
)) != EqualTo
)
7163 return PASN_Sequence::Compare(other
);
7167 PINDEX
H245_RequestMultiplexEntry::GetDataLength() const
7170 length
+= m_entryNumbers
.GetObjectLength();
7175 BOOL
H245_RequestMultiplexEntry::Decode(PASN_Stream
& strm
)
7177 if (!PreambleDecode(strm
))
7180 if (!m_entryNumbers
.Decode(strm
))
7183 return UnknownExtensionsDecode(strm
);
7187 void H245_RequestMultiplexEntry::Encode(PASN_Stream
& strm
) const
7189 PreambleEncode(strm
);
7191 m_entryNumbers
.Encode(strm
);
7193 UnknownExtensionsEncode(strm
);
7197 PObject
* H245_RequestMultiplexEntry::Clone() const
7199 #ifndef PASN_LEANANDMEAN
7200 PAssert(IsClass(H245_RequestMultiplexEntry::Class()), PInvalidCast
);
7202 return new H245_RequestMultiplexEntry(*this);
7207 // RequestMultiplexEntryAck
7210 H245_RequestMultiplexEntryAck::H245_RequestMultiplexEntryAck(unsigned tag
, PASN_Object::TagClass tagClass
)
7211 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7213 m_entryNumbers
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
7217 #ifndef PASN_NOPRINTON
7218 void H245_RequestMultiplexEntryAck::PrintOn(ostream
& strm
) const
7220 int indent
= strm
.precision() + 2;
7222 strm
<< setw(indent
+15) << "entryNumbers = " << setprecision(indent
) << m_entryNumbers
<< '\n';
7223 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7228 PObject::Comparison
H245_RequestMultiplexEntryAck::Compare(const PObject
& obj
) const
7230 #ifndef PASN_LEANANDMEAN
7231 PAssert(PIsDescendant(&obj
, H245_RequestMultiplexEntryAck
), PInvalidCast
);
7233 const H245_RequestMultiplexEntryAck
& other
= (const H245_RequestMultiplexEntryAck
&)obj
;
7237 if ((result
= m_entryNumbers
.Compare(other
.m_entryNumbers
)) != EqualTo
)
7240 return PASN_Sequence::Compare(other
);
7244 PINDEX
H245_RequestMultiplexEntryAck::GetDataLength() const
7247 length
+= m_entryNumbers
.GetObjectLength();
7252 BOOL
H245_RequestMultiplexEntryAck::Decode(PASN_Stream
& strm
)
7254 if (!PreambleDecode(strm
))
7257 if (!m_entryNumbers
.Decode(strm
))
7260 return UnknownExtensionsDecode(strm
);
7264 void H245_RequestMultiplexEntryAck::Encode(PASN_Stream
& strm
) const
7266 PreambleEncode(strm
);
7268 m_entryNumbers
.Encode(strm
);
7270 UnknownExtensionsEncode(strm
);
7274 PObject
* H245_RequestMultiplexEntryAck::Clone() const
7276 #ifndef PASN_LEANANDMEAN
7277 PAssert(IsClass(H245_RequestMultiplexEntryAck::Class()), PInvalidCast
);
7279 return new H245_RequestMultiplexEntryAck(*this);
7284 // RequestMultiplexEntryReject
7287 H245_RequestMultiplexEntryReject::H245_RequestMultiplexEntryReject(unsigned tag
, PASN_Object::TagClass tagClass
)
7288 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7290 m_entryNumbers
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
7291 m_rejectionDescriptions
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
7295 #ifndef PASN_NOPRINTON
7296 void H245_RequestMultiplexEntryReject::PrintOn(ostream
& strm
) const
7298 int indent
= strm
.precision() + 2;
7300 strm
<< setw(indent
+15) << "entryNumbers = " << setprecision(indent
) << m_entryNumbers
<< '\n';
7301 strm
<< setw(indent
+24) << "rejectionDescriptions = " << setprecision(indent
) << m_rejectionDescriptions
<< '\n';
7302 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7307 PObject::Comparison
H245_RequestMultiplexEntryReject::Compare(const PObject
& obj
) const
7309 #ifndef PASN_LEANANDMEAN
7310 PAssert(PIsDescendant(&obj
, H245_RequestMultiplexEntryReject
), PInvalidCast
);
7312 const H245_RequestMultiplexEntryReject
& other
= (const H245_RequestMultiplexEntryReject
&)obj
;
7316 if ((result
= m_entryNumbers
.Compare(other
.m_entryNumbers
)) != EqualTo
)
7318 if ((result
= m_rejectionDescriptions
.Compare(other
.m_rejectionDescriptions
)) != EqualTo
)
7321 return PASN_Sequence::Compare(other
);
7325 PINDEX
H245_RequestMultiplexEntryReject::GetDataLength() const
7328 length
+= m_entryNumbers
.GetObjectLength();
7329 length
+= m_rejectionDescriptions
.GetObjectLength();
7334 BOOL
H245_RequestMultiplexEntryReject::Decode(PASN_Stream
& strm
)
7336 if (!PreambleDecode(strm
))
7339 if (!m_entryNumbers
.Decode(strm
))
7341 if (!m_rejectionDescriptions
.Decode(strm
))
7344 return UnknownExtensionsDecode(strm
);
7348 void H245_RequestMultiplexEntryReject::Encode(PASN_Stream
& strm
) const
7350 PreambleEncode(strm
);
7352 m_entryNumbers
.Encode(strm
);
7353 m_rejectionDescriptions
.Encode(strm
);
7355 UnknownExtensionsEncode(strm
);
7359 PObject
* H245_RequestMultiplexEntryReject::Clone() const
7361 #ifndef PASN_LEANANDMEAN
7362 PAssert(IsClass(H245_RequestMultiplexEntryReject::Class()), PInvalidCast
);
7364 return new H245_RequestMultiplexEntryReject(*this);
7369 // RequestMultiplexEntryRejectionDescriptions
7372 H245_RequestMultiplexEntryRejectionDescriptions::H245_RequestMultiplexEntryRejectionDescriptions(unsigned tag
, PASN_Object::TagClass tagClass
)
7373 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7378 #ifndef PASN_NOPRINTON
7379 void H245_RequestMultiplexEntryRejectionDescriptions::PrintOn(ostream
& strm
) const
7381 int indent
= strm
.precision() + 2;
7383 strm
<< setw(indent
+28) << "multiplexTableEntryNumber = " << setprecision(indent
) << m_multiplexTableEntryNumber
<< '\n';
7384 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
7385 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7390 PObject::Comparison
H245_RequestMultiplexEntryRejectionDescriptions::Compare(const PObject
& obj
) const
7392 #ifndef PASN_LEANANDMEAN
7393 PAssert(PIsDescendant(&obj
, H245_RequestMultiplexEntryRejectionDescriptions
), PInvalidCast
);
7395 const H245_RequestMultiplexEntryRejectionDescriptions
& other
= (const H245_RequestMultiplexEntryRejectionDescriptions
&)obj
;
7399 if ((result
= m_multiplexTableEntryNumber
.Compare(other
.m_multiplexTableEntryNumber
)) != EqualTo
)
7401 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
7404 return PASN_Sequence::Compare(other
);
7408 PINDEX
H245_RequestMultiplexEntryRejectionDescriptions::GetDataLength() const
7411 length
+= m_multiplexTableEntryNumber
.GetObjectLength();
7412 length
+= m_cause
.GetObjectLength();
7417 BOOL
H245_RequestMultiplexEntryRejectionDescriptions::Decode(PASN_Stream
& strm
)
7419 if (!PreambleDecode(strm
))
7422 if (!m_multiplexTableEntryNumber
.Decode(strm
))
7424 if (!m_cause
.Decode(strm
))
7427 return UnknownExtensionsDecode(strm
);
7431 void H245_RequestMultiplexEntryRejectionDescriptions::Encode(PASN_Stream
& strm
) const
7433 PreambleEncode(strm
);
7435 m_multiplexTableEntryNumber
.Encode(strm
);
7436 m_cause
.Encode(strm
);
7438 UnknownExtensionsEncode(strm
);
7442 PObject
* H245_RequestMultiplexEntryRejectionDescriptions::Clone() const
7444 #ifndef PASN_LEANANDMEAN
7445 PAssert(IsClass(H245_RequestMultiplexEntryRejectionDescriptions::Class()), PInvalidCast
);
7447 return new H245_RequestMultiplexEntryRejectionDescriptions(*this);
7452 // RequestMultiplexEntryRelease
7455 H245_RequestMultiplexEntryRelease::H245_RequestMultiplexEntryRelease(unsigned tag
, PASN_Object::TagClass tagClass
)
7456 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7458 m_entryNumbers
.SetConstraints(PASN_Object::FixedConstraint
, 1, 15);
7462 #ifndef PASN_NOPRINTON
7463 void H245_RequestMultiplexEntryRelease::PrintOn(ostream
& strm
) const
7465 int indent
= strm
.precision() + 2;
7467 strm
<< setw(indent
+15) << "entryNumbers = " << setprecision(indent
) << m_entryNumbers
<< '\n';
7468 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7473 PObject::Comparison
H245_RequestMultiplexEntryRelease::Compare(const PObject
& obj
) const
7475 #ifndef PASN_LEANANDMEAN
7476 PAssert(PIsDescendant(&obj
, H245_RequestMultiplexEntryRelease
), PInvalidCast
);
7478 const H245_RequestMultiplexEntryRelease
& other
= (const H245_RequestMultiplexEntryRelease
&)obj
;
7482 if ((result
= m_entryNumbers
.Compare(other
.m_entryNumbers
)) != EqualTo
)
7485 return PASN_Sequence::Compare(other
);
7489 PINDEX
H245_RequestMultiplexEntryRelease::GetDataLength() const
7492 length
+= m_entryNumbers
.GetObjectLength();
7497 BOOL
H245_RequestMultiplexEntryRelease::Decode(PASN_Stream
& strm
)
7499 if (!PreambleDecode(strm
))
7502 if (!m_entryNumbers
.Decode(strm
))
7505 return UnknownExtensionsDecode(strm
);
7509 void H245_RequestMultiplexEntryRelease::Encode(PASN_Stream
& strm
) const
7511 PreambleEncode(strm
);
7513 m_entryNumbers
.Encode(strm
);
7515 UnknownExtensionsEncode(strm
);
7519 PObject
* H245_RequestMultiplexEntryRelease::Clone() const
7521 #ifndef PASN_LEANANDMEAN
7522 PAssert(IsClass(H245_RequestMultiplexEntryRelease::Class()), PInvalidCast
);
7524 return new H245_RequestMultiplexEntryRelease(*this);
7532 H245_RequestMode::H245_RequestMode(unsigned tag
, PASN_Object::TagClass tagClass
)
7533 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7535 m_requestedModes
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
7539 #ifndef PASN_NOPRINTON
7540 void H245_RequestMode::PrintOn(ostream
& strm
) const
7542 int indent
= strm
.precision() + 2;
7544 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
7545 strm
<< setw(indent
+17) << "requestedModes = " << setprecision(indent
) << m_requestedModes
<< '\n';
7546 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7551 PObject::Comparison
H245_RequestMode::Compare(const PObject
& obj
) const
7553 #ifndef PASN_LEANANDMEAN
7554 PAssert(PIsDescendant(&obj
, H245_RequestMode
), PInvalidCast
);
7556 const H245_RequestMode
& other
= (const H245_RequestMode
&)obj
;
7560 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
7562 if ((result
= m_requestedModes
.Compare(other
.m_requestedModes
)) != EqualTo
)
7565 return PASN_Sequence::Compare(other
);
7569 PINDEX
H245_RequestMode::GetDataLength() const
7572 length
+= m_sequenceNumber
.GetObjectLength();
7573 length
+= m_requestedModes
.GetObjectLength();
7578 BOOL
H245_RequestMode::Decode(PASN_Stream
& strm
)
7580 if (!PreambleDecode(strm
))
7583 if (!m_sequenceNumber
.Decode(strm
))
7585 if (!m_requestedModes
.Decode(strm
))
7588 return UnknownExtensionsDecode(strm
);
7592 void H245_RequestMode::Encode(PASN_Stream
& strm
) const
7594 PreambleEncode(strm
);
7596 m_sequenceNumber
.Encode(strm
);
7597 m_requestedModes
.Encode(strm
);
7599 UnknownExtensionsEncode(strm
);
7603 PObject
* H245_RequestMode::Clone() const
7605 #ifndef PASN_LEANANDMEAN
7606 PAssert(IsClass(H245_RequestMode::Class()), PInvalidCast
);
7608 return new H245_RequestMode(*this);
7616 H245_RequestModeAck::H245_RequestModeAck(unsigned tag
, PASN_Object::TagClass tagClass
)
7617 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7622 #ifndef PASN_NOPRINTON
7623 void H245_RequestModeAck::PrintOn(ostream
& strm
) const
7625 int indent
= strm
.precision() + 2;
7627 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
7628 strm
<< setw(indent
+11) << "response = " << setprecision(indent
) << m_response
<< '\n';
7629 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7634 PObject::Comparison
H245_RequestModeAck::Compare(const PObject
& obj
) const
7636 #ifndef PASN_LEANANDMEAN
7637 PAssert(PIsDescendant(&obj
, H245_RequestModeAck
), PInvalidCast
);
7639 const H245_RequestModeAck
& other
= (const H245_RequestModeAck
&)obj
;
7643 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
7645 if ((result
= m_response
.Compare(other
.m_response
)) != EqualTo
)
7648 return PASN_Sequence::Compare(other
);
7652 PINDEX
H245_RequestModeAck::GetDataLength() const
7655 length
+= m_sequenceNumber
.GetObjectLength();
7656 length
+= m_response
.GetObjectLength();
7661 BOOL
H245_RequestModeAck::Decode(PASN_Stream
& strm
)
7663 if (!PreambleDecode(strm
))
7666 if (!m_sequenceNumber
.Decode(strm
))
7668 if (!m_response
.Decode(strm
))
7671 return UnknownExtensionsDecode(strm
);
7675 void H245_RequestModeAck::Encode(PASN_Stream
& strm
) const
7677 PreambleEncode(strm
);
7679 m_sequenceNumber
.Encode(strm
);
7680 m_response
.Encode(strm
);
7682 UnknownExtensionsEncode(strm
);
7686 PObject
* H245_RequestModeAck::Clone() const
7688 #ifndef PASN_LEANANDMEAN
7689 PAssert(IsClass(H245_RequestModeAck::Class()), PInvalidCast
);
7691 return new H245_RequestModeAck(*this);
7696 // RequestModeReject
7699 H245_RequestModeReject::H245_RequestModeReject(unsigned tag
, PASN_Object::TagClass tagClass
)
7700 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7705 #ifndef PASN_NOPRINTON
7706 void H245_RequestModeReject::PrintOn(ostream
& strm
) const
7708 int indent
= strm
.precision() + 2;
7710 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
7711 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
7712 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7717 PObject::Comparison
H245_RequestModeReject::Compare(const PObject
& obj
) const
7719 #ifndef PASN_LEANANDMEAN
7720 PAssert(PIsDescendant(&obj
, H245_RequestModeReject
), PInvalidCast
);
7722 const H245_RequestModeReject
& other
= (const H245_RequestModeReject
&)obj
;
7726 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
7728 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
7731 return PASN_Sequence::Compare(other
);
7735 PINDEX
H245_RequestModeReject::GetDataLength() const
7738 length
+= m_sequenceNumber
.GetObjectLength();
7739 length
+= m_cause
.GetObjectLength();
7744 BOOL
H245_RequestModeReject::Decode(PASN_Stream
& strm
)
7746 if (!PreambleDecode(strm
))
7749 if (!m_sequenceNumber
.Decode(strm
))
7751 if (!m_cause
.Decode(strm
))
7754 return UnknownExtensionsDecode(strm
);
7758 void H245_RequestModeReject::Encode(PASN_Stream
& strm
) const
7760 PreambleEncode(strm
);
7762 m_sequenceNumber
.Encode(strm
);
7763 m_cause
.Encode(strm
);
7765 UnknownExtensionsEncode(strm
);
7769 PObject
* H245_RequestModeReject::Clone() const
7771 #ifndef PASN_LEANANDMEAN
7772 PAssert(IsClass(H245_RequestModeReject::Class()), PInvalidCast
);
7774 return new H245_RequestModeReject(*this);
7779 // RedundancyEncodingDTModeElement
7782 H245_RedundancyEncodingDTModeElement::H245_RedundancyEncodingDTModeElement(unsigned tag
, PASN_Object::TagClass tagClass
)
7783 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7788 #ifndef PASN_NOPRINTON
7789 void H245_RedundancyEncodingDTModeElement::PrintOn(ostream
& strm
) const
7791 int indent
= strm
.precision() + 2;
7793 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
7794 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7799 PObject::Comparison
H245_RedundancyEncodingDTModeElement::Compare(const PObject
& obj
) const
7801 #ifndef PASN_LEANANDMEAN
7802 PAssert(PIsDescendant(&obj
, H245_RedundancyEncodingDTModeElement
), PInvalidCast
);
7804 const H245_RedundancyEncodingDTModeElement
& other
= (const H245_RedundancyEncodingDTModeElement
&)obj
;
7808 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
7811 return PASN_Sequence::Compare(other
);
7815 PINDEX
H245_RedundancyEncodingDTModeElement::GetDataLength() const
7818 length
+= m_type
.GetObjectLength();
7823 BOOL
H245_RedundancyEncodingDTModeElement::Decode(PASN_Stream
& strm
)
7825 if (!PreambleDecode(strm
))
7828 if (!m_type
.Decode(strm
))
7831 return UnknownExtensionsDecode(strm
);
7835 void H245_RedundancyEncodingDTModeElement::Encode(PASN_Stream
& strm
) const
7837 PreambleEncode(strm
);
7839 m_type
.Encode(strm
);
7841 UnknownExtensionsEncode(strm
);
7845 PObject
* H245_RedundancyEncodingDTModeElement::Clone() const
7847 #ifndef PASN_LEANANDMEAN
7848 PAssert(IsClass(H245_RedundancyEncodingDTModeElement::Class()), PInvalidCast
);
7850 return new H245_RedundancyEncodingDTModeElement(*this);
7855 // MultiplePayloadStreamMode
7858 H245_MultiplePayloadStreamMode::H245_MultiplePayloadStreamMode(unsigned tag
, PASN_Object::TagClass tagClass
)
7859 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
7864 #ifndef PASN_NOPRINTON
7865 void H245_MultiplePayloadStreamMode::PrintOn(ostream
& strm
) const
7867 int indent
= strm
.precision() + 2;
7869 strm
<< setw(indent
+11) << "elements = " << setprecision(indent
) << m_elements
<< '\n';
7870 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7875 PObject::Comparison
H245_MultiplePayloadStreamMode::Compare(const PObject
& obj
) const
7877 #ifndef PASN_LEANANDMEAN
7878 PAssert(PIsDescendant(&obj
, H245_MultiplePayloadStreamMode
), PInvalidCast
);
7880 const H245_MultiplePayloadStreamMode
& other
= (const H245_MultiplePayloadStreamMode
&)obj
;
7884 if ((result
= m_elements
.Compare(other
.m_elements
)) != EqualTo
)
7887 return PASN_Sequence::Compare(other
);
7891 PINDEX
H245_MultiplePayloadStreamMode::GetDataLength() const
7894 length
+= m_elements
.GetObjectLength();
7899 BOOL
H245_MultiplePayloadStreamMode::Decode(PASN_Stream
& strm
)
7901 if (!PreambleDecode(strm
))
7904 if (!m_elements
.Decode(strm
))
7907 return UnknownExtensionsDecode(strm
);
7911 void H245_MultiplePayloadStreamMode::Encode(PASN_Stream
& strm
) const
7913 PreambleEncode(strm
);
7915 m_elements
.Encode(strm
);
7917 UnknownExtensionsEncode(strm
);
7921 PObject
* H245_MultiplePayloadStreamMode::Clone() const
7923 #ifndef PASN_LEANANDMEAN
7924 PAssert(IsClass(H245_MultiplePayloadStreamMode::Class()), PInvalidCast
);
7926 return new H245_MultiplePayloadStreamMode(*this);
7934 H245_FECMode::H245_FECMode(unsigned tag
, PASN_Object::TagClass tagClass
)
7935 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
7940 #ifndef PASN_NOPRINTON
7941 void H245_FECMode::PrintOn(ostream
& strm
) const
7943 int indent
= strm
.precision() + 2;
7945 strm
<< setw(indent
+19) << "protectedElement = " << setprecision(indent
) << m_protectedElement
<< '\n';
7946 if (HasOptionalField(e_fecScheme
))
7947 strm
<< setw(indent
+12) << "fecScheme = " << setprecision(indent
) << m_fecScheme
<< '\n';
7948 if (HasOptionalField(e_rfc2733Format
))
7949 strm
<< setw(indent
+16) << "rfc2733Format = " << setprecision(indent
) << m_rfc2733Format
<< '\n';
7950 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
7955 PObject::Comparison
H245_FECMode::Compare(const PObject
& obj
) const
7957 #ifndef PASN_LEANANDMEAN
7958 PAssert(PIsDescendant(&obj
, H245_FECMode
), PInvalidCast
);
7960 const H245_FECMode
& other
= (const H245_FECMode
&)obj
;
7964 if ((result
= m_protectedElement
.Compare(other
.m_protectedElement
)) != EqualTo
)
7966 if ((result
= m_fecScheme
.Compare(other
.m_fecScheme
)) != EqualTo
)
7968 if ((result
= m_rfc2733Format
.Compare(other
.m_rfc2733Format
)) != EqualTo
)
7971 return PASN_Sequence::Compare(other
);
7975 PINDEX
H245_FECMode::GetDataLength() const
7978 length
+= m_protectedElement
.GetObjectLength();
7979 if (HasOptionalField(e_fecScheme
))
7980 length
+= m_fecScheme
.GetObjectLength();
7981 if (HasOptionalField(e_rfc2733Format
))
7982 length
+= m_rfc2733Format
.GetObjectLength();
7987 BOOL
H245_FECMode::Decode(PASN_Stream
& strm
)
7989 if (!PreambleDecode(strm
))
7992 if (!m_protectedElement
.Decode(strm
))
7994 if (HasOptionalField(e_fecScheme
) && !m_fecScheme
.Decode(strm
))
7996 if (HasOptionalField(e_rfc2733Format
) && !m_rfc2733Format
.Decode(strm
))
7999 return UnknownExtensionsDecode(strm
);
8003 void H245_FECMode::Encode(PASN_Stream
& strm
) const
8005 PreambleEncode(strm
);
8007 m_protectedElement
.Encode(strm
);
8008 if (HasOptionalField(e_fecScheme
))
8009 m_fecScheme
.Encode(strm
);
8010 if (HasOptionalField(e_rfc2733Format
))
8011 m_rfc2733Format
.Encode(strm
);
8013 UnknownExtensionsEncode(strm
);
8017 PObject
* H245_FECMode::Clone() const
8019 #ifndef PASN_LEANANDMEAN
8020 PAssert(IsClass(H245_FECMode::Class()), PInvalidCast
);
8022 return new H245_FECMode(*this);
8027 // H223ModeParameters
8030 H245_H223ModeParameters::H245_H223ModeParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
8031 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8036 #ifndef PASN_NOPRINTON
8037 void H245_H223ModeParameters::PrintOn(ostream
& strm
) const
8039 int indent
= strm
.precision() + 2;
8041 strm
<< setw(indent
+22) << "adaptationLayerType = " << setprecision(indent
) << m_adaptationLayerType
<< '\n';
8042 strm
<< setw(indent
+18) << "segmentableFlag = " << setprecision(indent
) << m_segmentableFlag
<< '\n';
8043 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8048 PObject::Comparison
H245_H223ModeParameters::Compare(const PObject
& obj
) const
8050 #ifndef PASN_LEANANDMEAN
8051 PAssert(PIsDescendant(&obj
, H245_H223ModeParameters
), PInvalidCast
);
8053 const H245_H223ModeParameters
& other
= (const H245_H223ModeParameters
&)obj
;
8057 if ((result
= m_adaptationLayerType
.Compare(other
.m_adaptationLayerType
)) != EqualTo
)
8059 if ((result
= m_segmentableFlag
.Compare(other
.m_segmentableFlag
)) != EqualTo
)
8062 return PASN_Sequence::Compare(other
);
8066 PINDEX
H245_H223ModeParameters::GetDataLength() const
8069 length
+= m_adaptationLayerType
.GetObjectLength();
8070 length
+= m_segmentableFlag
.GetObjectLength();
8075 BOOL
H245_H223ModeParameters::Decode(PASN_Stream
& strm
)
8077 if (!PreambleDecode(strm
))
8080 if (!m_adaptationLayerType
.Decode(strm
))
8082 if (!m_segmentableFlag
.Decode(strm
))
8085 return UnknownExtensionsDecode(strm
);
8089 void H245_H223ModeParameters::Encode(PASN_Stream
& strm
) const
8091 PreambleEncode(strm
);
8093 m_adaptationLayerType
.Encode(strm
);
8094 m_segmentableFlag
.Encode(strm
);
8096 UnknownExtensionsEncode(strm
);
8100 PObject
* H245_H223ModeParameters::Clone() const
8102 #ifndef PASN_LEANANDMEAN
8103 PAssert(IsClass(H245_H223ModeParameters::Class()), PInvalidCast
);
8105 return new H245_H223ModeParameters(*this);
8110 // RedundancyEncodingMode
8113 H245_RedundancyEncodingMode::H245_RedundancyEncodingMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8114 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
8119 #ifndef PASN_NOPRINTON
8120 void H245_RedundancyEncodingMode::PrintOn(ostream
& strm
) const
8122 int indent
= strm
.precision() + 2;
8124 strm
<< setw(indent
+27) << "redundancyEncodingMethod = " << setprecision(indent
) << m_redundancyEncodingMethod
<< '\n';
8125 if (HasOptionalField(e_secondaryEncoding
))
8126 strm
<< setw(indent
+20) << "secondaryEncoding = " << setprecision(indent
) << m_secondaryEncoding
<< '\n';
8127 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8132 PObject::Comparison
H245_RedundancyEncodingMode::Compare(const PObject
& obj
) const
8134 #ifndef PASN_LEANANDMEAN
8135 PAssert(PIsDescendant(&obj
, H245_RedundancyEncodingMode
), PInvalidCast
);
8137 const H245_RedundancyEncodingMode
& other
= (const H245_RedundancyEncodingMode
&)obj
;
8141 if ((result
= m_redundancyEncodingMethod
.Compare(other
.m_redundancyEncodingMethod
)) != EqualTo
)
8143 if ((result
= m_secondaryEncoding
.Compare(other
.m_secondaryEncoding
)) != EqualTo
)
8146 return PASN_Sequence::Compare(other
);
8150 PINDEX
H245_RedundancyEncodingMode::GetDataLength() const
8153 length
+= m_redundancyEncodingMethod
.GetObjectLength();
8154 if (HasOptionalField(e_secondaryEncoding
))
8155 length
+= m_secondaryEncoding
.GetObjectLength();
8160 BOOL
H245_RedundancyEncodingMode::Decode(PASN_Stream
& strm
)
8162 if (!PreambleDecode(strm
))
8165 if (!m_redundancyEncodingMethod
.Decode(strm
))
8167 if (HasOptionalField(e_secondaryEncoding
) && !m_secondaryEncoding
.Decode(strm
))
8170 return UnknownExtensionsDecode(strm
);
8174 void H245_RedundancyEncodingMode::Encode(PASN_Stream
& strm
) const
8176 PreambleEncode(strm
);
8178 m_redundancyEncodingMethod
.Encode(strm
);
8179 if (HasOptionalField(e_secondaryEncoding
))
8180 m_secondaryEncoding
.Encode(strm
);
8182 UnknownExtensionsEncode(strm
);
8186 PObject
* H245_RedundancyEncodingMode::Clone() const
8188 #ifndef PASN_LEANANDMEAN
8189 PAssert(IsClass(H245_RedundancyEncodingMode::Class()), PInvalidCast
);
8191 return new H245_RedundancyEncodingMode(*this);
8199 H245_H261VideoMode::H245_H261VideoMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8200 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8202 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 19200);
8206 #ifndef PASN_NOPRINTON
8207 void H245_H261VideoMode::PrintOn(ostream
& strm
) const
8209 int indent
= strm
.precision() + 2;
8211 strm
<< setw(indent
+13) << "resolution = " << setprecision(indent
) << m_resolution
<< '\n';
8212 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
8213 strm
<< setw(indent
+25) << "stillImageTransmission = " << setprecision(indent
) << m_stillImageTransmission
<< '\n';
8214 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8219 PObject::Comparison
H245_H261VideoMode::Compare(const PObject
& obj
) const
8221 #ifndef PASN_LEANANDMEAN
8222 PAssert(PIsDescendant(&obj
, H245_H261VideoMode
), PInvalidCast
);
8224 const H245_H261VideoMode
& other
= (const H245_H261VideoMode
&)obj
;
8228 if ((result
= m_resolution
.Compare(other
.m_resolution
)) != EqualTo
)
8230 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
8232 if ((result
= m_stillImageTransmission
.Compare(other
.m_stillImageTransmission
)) != EqualTo
)
8235 return PASN_Sequence::Compare(other
);
8239 PINDEX
H245_H261VideoMode::GetDataLength() const
8242 length
+= m_resolution
.GetObjectLength();
8243 length
+= m_bitRate
.GetObjectLength();
8244 length
+= m_stillImageTransmission
.GetObjectLength();
8249 BOOL
H245_H261VideoMode::Decode(PASN_Stream
& strm
)
8251 if (!PreambleDecode(strm
))
8254 if (!m_resolution
.Decode(strm
))
8256 if (!m_bitRate
.Decode(strm
))
8258 if (!m_stillImageTransmission
.Decode(strm
))
8261 return UnknownExtensionsDecode(strm
);
8265 void H245_H261VideoMode::Encode(PASN_Stream
& strm
) const
8267 PreambleEncode(strm
);
8269 m_resolution
.Encode(strm
);
8270 m_bitRate
.Encode(strm
);
8271 m_stillImageTransmission
.Encode(strm
);
8273 UnknownExtensionsEncode(strm
);
8277 PObject
* H245_H261VideoMode::Clone() const
8279 #ifndef PASN_LEANANDMEAN
8280 PAssert(IsClass(H245_H261VideoMode::Class()), PInvalidCast
);
8282 return new H245_H261VideoMode(*this);
8290 H245_H262VideoMode::H245_H262VideoMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8291 : PASN_Sequence(tag
, tagClass
, 6, TRUE
, 0)
8293 m_videoBitRate
.SetConstraints(PASN_Object::FixedConstraint
, 0, 1073741823);
8294 m_vbvBufferSize
.SetConstraints(PASN_Object::FixedConstraint
, 0, 262143);
8295 m_samplesPerLine
.SetConstraints(PASN_Object::FixedConstraint
, 0, 16383);
8296 m_linesPerFrame
.SetConstraints(PASN_Object::FixedConstraint
, 0, 16383);
8297 m_framesPerSecond
.SetConstraints(PASN_Object::FixedConstraint
, 0, 15);
8298 m_luminanceSampleRate
.SetConstraints(PASN_Object::FixedConstraint
, 0, 4294967295U);
8302 #ifndef PASN_NOPRINTON
8303 void H245_H262VideoMode::PrintOn(ostream
& strm
) const
8305 int indent
= strm
.precision() + 2;
8307 strm
<< setw(indent
+18) << "profileAndLevel = " << setprecision(indent
) << m_profileAndLevel
<< '\n';
8308 if (HasOptionalField(e_videoBitRate
))
8309 strm
<< setw(indent
+15) << "videoBitRate = " << setprecision(indent
) << m_videoBitRate
<< '\n';
8310 if (HasOptionalField(e_vbvBufferSize
))
8311 strm
<< setw(indent
+16) << "vbvBufferSize = " << setprecision(indent
) << m_vbvBufferSize
<< '\n';
8312 if (HasOptionalField(e_samplesPerLine
))
8313 strm
<< setw(indent
+17) << "samplesPerLine = " << setprecision(indent
) << m_samplesPerLine
<< '\n';
8314 if (HasOptionalField(e_linesPerFrame
))
8315 strm
<< setw(indent
+16) << "linesPerFrame = " << setprecision(indent
) << m_linesPerFrame
<< '\n';
8316 if (HasOptionalField(e_framesPerSecond
))
8317 strm
<< setw(indent
+18) << "framesPerSecond = " << setprecision(indent
) << m_framesPerSecond
<< '\n';
8318 if (HasOptionalField(e_luminanceSampleRate
))
8319 strm
<< setw(indent
+22) << "luminanceSampleRate = " << setprecision(indent
) << m_luminanceSampleRate
<< '\n';
8320 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8325 PObject::Comparison
H245_H262VideoMode::Compare(const PObject
& obj
) const
8327 #ifndef PASN_LEANANDMEAN
8328 PAssert(PIsDescendant(&obj
, H245_H262VideoMode
), PInvalidCast
);
8330 const H245_H262VideoMode
& other
= (const H245_H262VideoMode
&)obj
;
8334 if ((result
= m_profileAndLevel
.Compare(other
.m_profileAndLevel
)) != EqualTo
)
8336 if ((result
= m_videoBitRate
.Compare(other
.m_videoBitRate
)) != EqualTo
)
8338 if ((result
= m_vbvBufferSize
.Compare(other
.m_vbvBufferSize
)) != EqualTo
)
8340 if ((result
= m_samplesPerLine
.Compare(other
.m_samplesPerLine
)) != EqualTo
)
8342 if ((result
= m_linesPerFrame
.Compare(other
.m_linesPerFrame
)) != EqualTo
)
8344 if ((result
= m_framesPerSecond
.Compare(other
.m_framesPerSecond
)) != EqualTo
)
8346 if ((result
= m_luminanceSampleRate
.Compare(other
.m_luminanceSampleRate
)) != EqualTo
)
8349 return PASN_Sequence::Compare(other
);
8353 PINDEX
H245_H262VideoMode::GetDataLength() const
8356 length
+= m_profileAndLevel
.GetObjectLength();
8357 if (HasOptionalField(e_videoBitRate
))
8358 length
+= m_videoBitRate
.GetObjectLength();
8359 if (HasOptionalField(e_vbvBufferSize
))
8360 length
+= m_vbvBufferSize
.GetObjectLength();
8361 if (HasOptionalField(e_samplesPerLine
))
8362 length
+= m_samplesPerLine
.GetObjectLength();
8363 if (HasOptionalField(e_linesPerFrame
))
8364 length
+= m_linesPerFrame
.GetObjectLength();
8365 if (HasOptionalField(e_framesPerSecond
))
8366 length
+= m_framesPerSecond
.GetObjectLength();
8367 if (HasOptionalField(e_luminanceSampleRate
))
8368 length
+= m_luminanceSampleRate
.GetObjectLength();
8373 BOOL
H245_H262VideoMode::Decode(PASN_Stream
& strm
)
8375 if (!PreambleDecode(strm
))
8378 if (!m_profileAndLevel
.Decode(strm
))
8380 if (HasOptionalField(e_videoBitRate
) && !m_videoBitRate
.Decode(strm
))
8382 if (HasOptionalField(e_vbvBufferSize
) && !m_vbvBufferSize
.Decode(strm
))
8384 if (HasOptionalField(e_samplesPerLine
) && !m_samplesPerLine
.Decode(strm
))
8386 if (HasOptionalField(e_linesPerFrame
) && !m_linesPerFrame
.Decode(strm
))
8388 if (HasOptionalField(e_framesPerSecond
) && !m_framesPerSecond
.Decode(strm
))
8390 if (HasOptionalField(e_luminanceSampleRate
) && !m_luminanceSampleRate
.Decode(strm
))
8393 return UnknownExtensionsDecode(strm
);
8397 void H245_H262VideoMode::Encode(PASN_Stream
& strm
) const
8399 PreambleEncode(strm
);
8401 m_profileAndLevel
.Encode(strm
);
8402 if (HasOptionalField(e_videoBitRate
))
8403 m_videoBitRate
.Encode(strm
);
8404 if (HasOptionalField(e_vbvBufferSize
))
8405 m_vbvBufferSize
.Encode(strm
);
8406 if (HasOptionalField(e_samplesPerLine
))
8407 m_samplesPerLine
.Encode(strm
);
8408 if (HasOptionalField(e_linesPerFrame
))
8409 m_linesPerFrame
.Encode(strm
);
8410 if (HasOptionalField(e_framesPerSecond
))
8411 m_framesPerSecond
.Encode(strm
);
8412 if (HasOptionalField(e_luminanceSampleRate
))
8413 m_luminanceSampleRate
.Encode(strm
);
8415 UnknownExtensionsEncode(strm
);
8419 PObject
* H245_H262VideoMode::Clone() const
8421 #ifndef PASN_LEANANDMEAN
8422 PAssert(IsClass(H245_H262VideoMode::Class()), PInvalidCast
);
8424 return new H245_H262VideoMode(*this);
8432 H245_IS11172AudioMode::H245_IS11172AudioMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8433 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8435 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 448);
8439 #ifndef PASN_NOPRINTON
8440 void H245_IS11172AudioMode::PrintOn(ostream
& strm
) const
8442 int indent
= strm
.precision() + 2;
8444 strm
<< setw(indent
+13) << "audioLayer = " << setprecision(indent
) << m_audioLayer
<< '\n';
8445 strm
<< setw(indent
+16) << "audioSampling = " << setprecision(indent
) << m_audioSampling
<< '\n';
8446 strm
<< setw(indent
+19) << "multichannelType = " << setprecision(indent
) << m_multichannelType
<< '\n';
8447 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
8448 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8453 PObject::Comparison
H245_IS11172AudioMode::Compare(const PObject
& obj
) const
8455 #ifndef PASN_LEANANDMEAN
8456 PAssert(PIsDescendant(&obj
, H245_IS11172AudioMode
), PInvalidCast
);
8458 const H245_IS11172AudioMode
& other
= (const H245_IS11172AudioMode
&)obj
;
8462 if ((result
= m_audioLayer
.Compare(other
.m_audioLayer
)) != EqualTo
)
8464 if ((result
= m_audioSampling
.Compare(other
.m_audioSampling
)) != EqualTo
)
8466 if ((result
= m_multichannelType
.Compare(other
.m_multichannelType
)) != EqualTo
)
8468 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
8471 return PASN_Sequence::Compare(other
);
8475 PINDEX
H245_IS11172AudioMode::GetDataLength() const
8478 length
+= m_audioLayer
.GetObjectLength();
8479 length
+= m_audioSampling
.GetObjectLength();
8480 length
+= m_multichannelType
.GetObjectLength();
8481 length
+= m_bitRate
.GetObjectLength();
8486 BOOL
H245_IS11172AudioMode::Decode(PASN_Stream
& strm
)
8488 if (!PreambleDecode(strm
))
8491 if (!m_audioLayer
.Decode(strm
))
8493 if (!m_audioSampling
.Decode(strm
))
8495 if (!m_multichannelType
.Decode(strm
))
8497 if (!m_bitRate
.Decode(strm
))
8500 return UnknownExtensionsDecode(strm
);
8504 void H245_IS11172AudioMode::Encode(PASN_Stream
& strm
) const
8506 PreambleEncode(strm
);
8508 m_audioLayer
.Encode(strm
);
8509 m_audioSampling
.Encode(strm
);
8510 m_multichannelType
.Encode(strm
);
8511 m_bitRate
.Encode(strm
);
8513 UnknownExtensionsEncode(strm
);
8517 PObject
* H245_IS11172AudioMode::Clone() const
8519 #ifndef PASN_LEANANDMEAN
8520 PAssert(IsClass(H245_IS11172AudioMode::Class()), PInvalidCast
);
8522 return new H245_IS11172AudioMode(*this);
8530 H245_IS13818AudioMode::H245_IS13818AudioMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8531 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8533 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 1130);
8537 #ifndef PASN_NOPRINTON
8538 void H245_IS13818AudioMode::PrintOn(ostream
& strm
) const
8540 int indent
= strm
.precision() + 2;
8542 strm
<< setw(indent
+13) << "audioLayer = " << setprecision(indent
) << m_audioLayer
<< '\n';
8543 strm
<< setw(indent
+16) << "audioSampling = " << setprecision(indent
) << m_audioSampling
<< '\n';
8544 strm
<< setw(indent
+19) << "multichannelType = " << setprecision(indent
) << m_multichannelType
<< '\n';
8545 strm
<< setw(indent
+26) << "lowFrequencyEnhancement = " << setprecision(indent
) << m_lowFrequencyEnhancement
<< '\n';
8546 strm
<< setw(indent
+15) << "multilingual = " << setprecision(indent
) << m_multilingual
<< '\n';
8547 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
8548 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8553 PObject::Comparison
H245_IS13818AudioMode::Compare(const PObject
& obj
) const
8555 #ifndef PASN_LEANANDMEAN
8556 PAssert(PIsDescendant(&obj
, H245_IS13818AudioMode
), PInvalidCast
);
8558 const H245_IS13818AudioMode
& other
= (const H245_IS13818AudioMode
&)obj
;
8562 if ((result
= m_audioLayer
.Compare(other
.m_audioLayer
)) != EqualTo
)
8564 if ((result
= m_audioSampling
.Compare(other
.m_audioSampling
)) != EqualTo
)
8566 if ((result
= m_multichannelType
.Compare(other
.m_multichannelType
)) != EqualTo
)
8568 if ((result
= m_lowFrequencyEnhancement
.Compare(other
.m_lowFrequencyEnhancement
)) != EqualTo
)
8570 if ((result
= m_multilingual
.Compare(other
.m_multilingual
)) != EqualTo
)
8572 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
8575 return PASN_Sequence::Compare(other
);
8579 PINDEX
H245_IS13818AudioMode::GetDataLength() const
8582 length
+= m_audioLayer
.GetObjectLength();
8583 length
+= m_audioSampling
.GetObjectLength();
8584 length
+= m_multichannelType
.GetObjectLength();
8585 length
+= m_lowFrequencyEnhancement
.GetObjectLength();
8586 length
+= m_multilingual
.GetObjectLength();
8587 length
+= m_bitRate
.GetObjectLength();
8592 BOOL
H245_IS13818AudioMode::Decode(PASN_Stream
& strm
)
8594 if (!PreambleDecode(strm
))
8597 if (!m_audioLayer
.Decode(strm
))
8599 if (!m_audioSampling
.Decode(strm
))
8601 if (!m_multichannelType
.Decode(strm
))
8603 if (!m_lowFrequencyEnhancement
.Decode(strm
))
8605 if (!m_multilingual
.Decode(strm
))
8607 if (!m_bitRate
.Decode(strm
))
8610 return UnknownExtensionsDecode(strm
);
8614 void H245_IS13818AudioMode::Encode(PASN_Stream
& strm
) const
8616 PreambleEncode(strm
);
8618 m_audioLayer
.Encode(strm
);
8619 m_audioSampling
.Encode(strm
);
8620 m_multichannelType
.Encode(strm
);
8621 m_lowFrequencyEnhancement
.Encode(strm
);
8622 m_multilingual
.Encode(strm
);
8623 m_bitRate
.Encode(strm
);
8625 UnknownExtensionsEncode(strm
);
8629 PObject
* H245_IS13818AudioMode::Clone() const
8631 #ifndef PASN_LEANANDMEAN
8632 PAssert(IsClass(H245_IS13818AudioMode::Class()), PInvalidCast
);
8634 return new H245_IS13818AudioMode(*this);
8642 H245_G7231AnnexCMode::H245_G7231AnnexCMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8643 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8645 m_maxAl_sduAudioFrames
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
8649 #ifndef PASN_NOPRINTON
8650 void H245_G7231AnnexCMode::PrintOn(ostream
& strm
) const
8652 int indent
= strm
.precision() + 2;
8654 strm
<< setw(indent
+23) << "maxAl_sduAudioFrames = " << setprecision(indent
) << m_maxAl_sduAudioFrames
<< '\n';
8655 strm
<< setw(indent
+21) << "silenceSuppression = " << setprecision(indent
) << m_silenceSuppression
<< '\n';
8656 strm
<< setw(indent
+22) << "g723AnnexCAudioMode = " << setprecision(indent
) << m_g723AnnexCAudioMode
<< '\n';
8657 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8662 PObject::Comparison
H245_G7231AnnexCMode::Compare(const PObject
& obj
) const
8664 #ifndef PASN_LEANANDMEAN
8665 PAssert(PIsDescendant(&obj
, H245_G7231AnnexCMode
), PInvalidCast
);
8667 const H245_G7231AnnexCMode
& other
= (const H245_G7231AnnexCMode
&)obj
;
8671 if ((result
= m_maxAl_sduAudioFrames
.Compare(other
.m_maxAl_sduAudioFrames
)) != EqualTo
)
8673 if ((result
= m_silenceSuppression
.Compare(other
.m_silenceSuppression
)) != EqualTo
)
8675 if ((result
= m_g723AnnexCAudioMode
.Compare(other
.m_g723AnnexCAudioMode
)) != EqualTo
)
8678 return PASN_Sequence::Compare(other
);
8682 PINDEX
H245_G7231AnnexCMode::GetDataLength() const
8685 length
+= m_maxAl_sduAudioFrames
.GetObjectLength();
8686 length
+= m_silenceSuppression
.GetObjectLength();
8687 length
+= m_g723AnnexCAudioMode
.GetObjectLength();
8692 BOOL
H245_G7231AnnexCMode::Decode(PASN_Stream
& strm
)
8694 if (!PreambleDecode(strm
))
8697 if (!m_maxAl_sduAudioFrames
.Decode(strm
))
8699 if (!m_silenceSuppression
.Decode(strm
))
8701 if (!m_g723AnnexCAudioMode
.Decode(strm
))
8704 return UnknownExtensionsDecode(strm
);
8708 void H245_G7231AnnexCMode::Encode(PASN_Stream
& strm
) const
8710 PreambleEncode(strm
);
8712 m_maxAl_sduAudioFrames
.Encode(strm
);
8713 m_silenceSuppression
.Encode(strm
);
8714 m_g723AnnexCAudioMode
.Encode(strm
);
8716 UnknownExtensionsEncode(strm
);
8720 PObject
* H245_G7231AnnexCMode::Clone() const
8722 #ifndef PASN_LEANANDMEAN
8723 PAssert(IsClass(H245_G7231AnnexCMode::Class()), PInvalidCast
);
8725 return new H245_G7231AnnexCMode(*this);
8733 H245_DataMode::H245_DataMode(unsigned tag
, PASN_Object::TagClass tagClass
)
8734 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8736 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 0, 4294967295U);
8740 #ifndef PASN_NOPRINTON
8741 void H245_DataMode::PrintOn(ostream
& strm
) const
8743 int indent
= strm
.precision() + 2;
8745 strm
<< setw(indent
+14) << "application = " << setprecision(indent
) << m_application
<< '\n';
8746 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
8747 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8752 PObject::Comparison
H245_DataMode::Compare(const PObject
& obj
) const
8754 #ifndef PASN_LEANANDMEAN
8755 PAssert(PIsDescendant(&obj
, H245_DataMode
), PInvalidCast
);
8757 const H245_DataMode
& other
= (const H245_DataMode
&)obj
;
8761 if ((result
= m_application
.Compare(other
.m_application
)) != EqualTo
)
8763 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
8766 return PASN_Sequence::Compare(other
);
8770 PINDEX
H245_DataMode::GetDataLength() const
8773 length
+= m_application
.GetObjectLength();
8774 length
+= m_bitRate
.GetObjectLength();
8779 BOOL
H245_DataMode::Decode(PASN_Stream
& strm
)
8781 if (!PreambleDecode(strm
))
8784 if (!m_application
.Decode(strm
))
8786 if (!m_bitRate
.Decode(strm
))
8789 return UnknownExtensionsDecode(strm
);
8793 void H245_DataMode::Encode(PASN_Stream
& strm
) const
8795 PreambleEncode(strm
);
8797 m_application
.Encode(strm
);
8798 m_bitRate
.Encode(strm
);
8800 UnknownExtensionsEncode(strm
);
8804 PObject
* H245_DataMode::Clone() const
8806 #ifndef PASN_LEANANDMEAN
8807 PAssert(IsClass(H245_DataMode::Class()), PInvalidCast
);
8809 return new H245_DataMode(*this);
8814 // MaintenanceLoopRequest
8817 H245_MaintenanceLoopRequest::H245_MaintenanceLoopRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
8818 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8823 #ifndef PASN_NOPRINTON
8824 void H245_MaintenanceLoopRequest::PrintOn(ostream
& strm
) const
8826 int indent
= strm
.precision() + 2;
8828 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
8829 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8834 PObject::Comparison
H245_MaintenanceLoopRequest::Compare(const PObject
& obj
) const
8836 #ifndef PASN_LEANANDMEAN
8837 PAssert(PIsDescendant(&obj
, H245_MaintenanceLoopRequest
), PInvalidCast
);
8839 const H245_MaintenanceLoopRequest
& other
= (const H245_MaintenanceLoopRequest
&)obj
;
8843 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
8846 return PASN_Sequence::Compare(other
);
8850 PINDEX
H245_MaintenanceLoopRequest::GetDataLength() const
8853 length
+= m_type
.GetObjectLength();
8858 BOOL
H245_MaintenanceLoopRequest::Decode(PASN_Stream
& strm
)
8860 if (!PreambleDecode(strm
))
8863 if (!m_type
.Decode(strm
))
8866 return UnknownExtensionsDecode(strm
);
8870 void H245_MaintenanceLoopRequest::Encode(PASN_Stream
& strm
) const
8872 PreambleEncode(strm
);
8874 m_type
.Encode(strm
);
8876 UnknownExtensionsEncode(strm
);
8880 PObject
* H245_MaintenanceLoopRequest::Clone() const
8882 #ifndef PASN_LEANANDMEAN
8883 PAssert(IsClass(H245_MaintenanceLoopRequest::Class()), PInvalidCast
);
8885 return new H245_MaintenanceLoopRequest(*this);
8890 // MaintenanceLoopAck
8893 H245_MaintenanceLoopAck::H245_MaintenanceLoopAck(unsigned tag
, PASN_Object::TagClass tagClass
)
8894 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8899 #ifndef PASN_NOPRINTON
8900 void H245_MaintenanceLoopAck::PrintOn(ostream
& strm
) const
8902 int indent
= strm
.precision() + 2;
8904 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
8905 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8910 PObject::Comparison
H245_MaintenanceLoopAck::Compare(const PObject
& obj
) const
8912 #ifndef PASN_LEANANDMEAN
8913 PAssert(PIsDescendant(&obj
, H245_MaintenanceLoopAck
), PInvalidCast
);
8915 const H245_MaintenanceLoopAck
& other
= (const H245_MaintenanceLoopAck
&)obj
;
8919 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
8922 return PASN_Sequence::Compare(other
);
8926 PINDEX
H245_MaintenanceLoopAck::GetDataLength() const
8929 length
+= m_type
.GetObjectLength();
8934 BOOL
H245_MaintenanceLoopAck::Decode(PASN_Stream
& strm
)
8936 if (!PreambleDecode(strm
))
8939 if (!m_type
.Decode(strm
))
8942 return UnknownExtensionsDecode(strm
);
8946 void H245_MaintenanceLoopAck::Encode(PASN_Stream
& strm
) const
8948 PreambleEncode(strm
);
8950 m_type
.Encode(strm
);
8952 UnknownExtensionsEncode(strm
);
8956 PObject
* H245_MaintenanceLoopAck::Clone() const
8958 #ifndef PASN_LEANANDMEAN
8959 PAssert(IsClass(H245_MaintenanceLoopAck::Class()), PInvalidCast
);
8961 return new H245_MaintenanceLoopAck(*this);
8966 // MaintenanceLoopReject
8969 H245_MaintenanceLoopReject::H245_MaintenanceLoopReject(unsigned tag
, PASN_Object::TagClass tagClass
)
8970 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
8975 #ifndef PASN_NOPRINTON
8976 void H245_MaintenanceLoopReject::PrintOn(ostream
& strm
) const
8978 int indent
= strm
.precision() + 2;
8980 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
8981 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
8982 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
8987 PObject::Comparison
H245_MaintenanceLoopReject::Compare(const PObject
& obj
) const
8989 #ifndef PASN_LEANANDMEAN
8990 PAssert(PIsDescendant(&obj
, H245_MaintenanceLoopReject
), PInvalidCast
);
8992 const H245_MaintenanceLoopReject
& other
= (const H245_MaintenanceLoopReject
&)obj
;
8996 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
8998 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
9001 return PASN_Sequence::Compare(other
);
9005 PINDEX
H245_MaintenanceLoopReject::GetDataLength() const
9008 length
+= m_type
.GetObjectLength();
9009 length
+= m_cause
.GetObjectLength();
9014 BOOL
H245_MaintenanceLoopReject::Decode(PASN_Stream
& strm
)
9016 if (!PreambleDecode(strm
))
9019 if (!m_type
.Decode(strm
))
9021 if (!m_cause
.Decode(strm
))
9024 return UnknownExtensionsDecode(strm
);
9028 void H245_MaintenanceLoopReject::Encode(PASN_Stream
& strm
) const
9030 PreambleEncode(strm
);
9032 m_type
.Encode(strm
);
9033 m_cause
.Encode(strm
);
9035 UnknownExtensionsEncode(strm
);
9039 PObject
* H245_MaintenanceLoopReject::Clone() const
9041 #ifndef PASN_LEANANDMEAN
9042 PAssert(IsClass(H245_MaintenanceLoopReject::Class()), PInvalidCast
);
9044 return new H245_MaintenanceLoopReject(*this);
9049 // CommunicationModeCommand
9052 H245_CommunicationModeCommand::H245_CommunicationModeCommand(unsigned tag
, PASN_Object::TagClass tagClass
)
9053 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9055 m_communicationModeTable
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
9059 #ifndef PASN_NOPRINTON
9060 void H245_CommunicationModeCommand::PrintOn(ostream
& strm
) const
9062 int indent
= strm
.precision() + 2;
9064 strm
<< setw(indent
+25) << "communicationModeTable = " << setprecision(indent
) << m_communicationModeTable
<< '\n';
9065 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9070 PObject::Comparison
H245_CommunicationModeCommand::Compare(const PObject
& obj
) const
9072 #ifndef PASN_LEANANDMEAN
9073 PAssert(PIsDescendant(&obj
, H245_CommunicationModeCommand
), PInvalidCast
);
9075 const H245_CommunicationModeCommand
& other
= (const H245_CommunicationModeCommand
&)obj
;
9079 if ((result
= m_communicationModeTable
.Compare(other
.m_communicationModeTable
)) != EqualTo
)
9082 return PASN_Sequence::Compare(other
);
9086 PINDEX
H245_CommunicationModeCommand::GetDataLength() const
9089 length
+= m_communicationModeTable
.GetObjectLength();
9094 BOOL
H245_CommunicationModeCommand::Decode(PASN_Stream
& strm
)
9096 if (!PreambleDecode(strm
))
9099 if (!m_communicationModeTable
.Decode(strm
))
9102 return UnknownExtensionsDecode(strm
);
9106 void H245_CommunicationModeCommand::Encode(PASN_Stream
& strm
) const
9108 PreambleEncode(strm
);
9110 m_communicationModeTable
.Encode(strm
);
9112 UnknownExtensionsEncode(strm
);
9116 PObject
* H245_CommunicationModeCommand::Clone() const
9118 #ifndef PASN_LEANANDMEAN
9119 PAssert(IsClass(H245_CommunicationModeCommand::Class()), PInvalidCast
);
9121 return new H245_CommunicationModeCommand(*this);
9129 H245_TerminalLabel::H245_TerminalLabel(unsigned tag
, PASN_Object::TagClass tagClass
)
9130 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9135 #ifndef PASN_NOPRINTON
9136 void H245_TerminalLabel::PrintOn(ostream
& strm
) const
9138 int indent
= strm
.precision() + 2;
9140 strm
<< setw(indent
+12) << "mcuNumber = " << setprecision(indent
) << m_mcuNumber
<< '\n';
9141 strm
<< setw(indent
+17) << "terminalNumber = " << setprecision(indent
) << m_terminalNumber
<< '\n';
9142 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9147 PObject::Comparison
H245_TerminalLabel::Compare(const PObject
& obj
) const
9149 #ifndef PASN_LEANANDMEAN
9150 PAssert(PIsDescendant(&obj
, H245_TerminalLabel
), PInvalidCast
);
9152 const H245_TerminalLabel
& other
= (const H245_TerminalLabel
&)obj
;
9156 if ((result
= m_mcuNumber
.Compare(other
.m_mcuNumber
)) != EqualTo
)
9158 if ((result
= m_terminalNumber
.Compare(other
.m_terminalNumber
)) != EqualTo
)
9161 return PASN_Sequence::Compare(other
);
9165 PINDEX
H245_TerminalLabel::GetDataLength() const
9168 length
+= m_mcuNumber
.GetObjectLength();
9169 length
+= m_terminalNumber
.GetObjectLength();
9174 BOOL
H245_TerminalLabel::Decode(PASN_Stream
& strm
)
9176 if (!PreambleDecode(strm
))
9179 if (!m_mcuNumber
.Decode(strm
))
9181 if (!m_terminalNumber
.Decode(strm
))
9184 return UnknownExtensionsDecode(strm
);
9188 void H245_TerminalLabel::Encode(PASN_Stream
& strm
) const
9190 PreambleEncode(strm
);
9192 m_mcuNumber
.Encode(strm
);
9193 m_terminalNumber
.Encode(strm
);
9195 UnknownExtensionsEncode(strm
);
9199 PObject
* H245_TerminalLabel::Clone() const
9201 #ifndef PASN_LEANANDMEAN
9202 PAssert(IsClass(H245_TerminalLabel::Class()), PInvalidCast
);
9204 return new H245_TerminalLabel(*this);
9209 // RequestAllTerminalIDsResponse
9212 H245_RequestAllTerminalIDsResponse::H245_RequestAllTerminalIDsResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
9213 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9218 #ifndef PASN_NOPRINTON
9219 void H245_RequestAllTerminalIDsResponse::PrintOn(ostream
& strm
) const
9221 int indent
= strm
.precision() + 2;
9223 strm
<< setw(indent
+22) << "terminalInformation = " << setprecision(indent
) << m_terminalInformation
<< '\n';
9224 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9229 PObject::Comparison
H245_RequestAllTerminalIDsResponse::Compare(const PObject
& obj
) const
9231 #ifndef PASN_LEANANDMEAN
9232 PAssert(PIsDescendant(&obj
, H245_RequestAllTerminalIDsResponse
), PInvalidCast
);
9234 const H245_RequestAllTerminalIDsResponse
& other
= (const H245_RequestAllTerminalIDsResponse
&)obj
;
9238 if ((result
= m_terminalInformation
.Compare(other
.m_terminalInformation
)) != EqualTo
)
9241 return PASN_Sequence::Compare(other
);
9245 PINDEX
H245_RequestAllTerminalIDsResponse::GetDataLength() const
9248 length
+= m_terminalInformation
.GetObjectLength();
9253 BOOL
H245_RequestAllTerminalIDsResponse::Decode(PASN_Stream
& strm
)
9255 if (!PreambleDecode(strm
))
9258 if (!m_terminalInformation
.Decode(strm
))
9261 return UnknownExtensionsDecode(strm
);
9265 void H245_RequestAllTerminalIDsResponse::Encode(PASN_Stream
& strm
) const
9267 PreambleEncode(strm
);
9269 m_terminalInformation
.Encode(strm
);
9271 UnknownExtensionsEncode(strm
);
9275 PObject
* H245_RequestAllTerminalIDsResponse::Clone() const
9277 #ifndef PASN_LEANANDMEAN
9278 PAssert(IsClass(H245_RequestAllTerminalIDsResponse::Class()), PInvalidCast
);
9280 return new H245_RequestAllTerminalIDsResponse(*this);
9285 // TerminalInformation
9288 H245_TerminalInformation::H245_TerminalInformation(unsigned tag
, PASN_Object::TagClass tagClass
)
9289 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9294 #ifndef PASN_NOPRINTON
9295 void H245_TerminalInformation::PrintOn(ostream
& strm
) const
9297 int indent
= strm
.precision() + 2;
9299 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
9300 strm
<< setw(indent
+13) << "terminalID = " << setprecision(indent
) << m_terminalID
<< '\n';
9301 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9306 PObject::Comparison
H245_TerminalInformation::Compare(const PObject
& obj
) const
9308 #ifndef PASN_LEANANDMEAN
9309 PAssert(PIsDescendant(&obj
, H245_TerminalInformation
), PInvalidCast
);
9311 const H245_TerminalInformation
& other
= (const H245_TerminalInformation
&)obj
;
9315 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
9317 if ((result
= m_terminalID
.Compare(other
.m_terminalID
)) != EqualTo
)
9320 return PASN_Sequence::Compare(other
);
9324 PINDEX
H245_TerminalInformation::GetDataLength() const
9327 length
+= m_terminalLabel
.GetObjectLength();
9328 length
+= m_terminalID
.GetObjectLength();
9333 BOOL
H245_TerminalInformation::Decode(PASN_Stream
& strm
)
9335 if (!PreambleDecode(strm
))
9338 if (!m_terminalLabel
.Decode(strm
))
9340 if (!m_terminalID
.Decode(strm
))
9343 return UnknownExtensionsDecode(strm
);
9347 void H245_TerminalInformation::Encode(PASN_Stream
& strm
) const
9349 PreambleEncode(strm
);
9351 m_terminalLabel
.Encode(strm
);
9352 m_terminalID
.Encode(strm
);
9354 UnknownExtensionsEncode(strm
);
9358 PObject
* H245_TerminalInformation::Clone() const
9360 #ifndef PASN_LEANANDMEAN
9361 PAssert(IsClass(H245_TerminalInformation::Class()), PInvalidCast
);
9363 return new H245_TerminalInformation(*this);
9368 // DialingInformationNumber
9371 H245_DialingInformationNumber::H245_DialingInformationNumber(unsigned tag
, PASN_Object::TagClass tagClass
)
9372 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
9374 m_networkAddress
.SetConstraints(PASN_Object::FixedConstraint
, 0, 40);
9375 m_subAddress
.SetConstraints(PASN_Object::FixedConstraint
, 1, 40);
9376 m_networkType
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
9380 #ifndef PASN_NOPRINTON
9381 void H245_DialingInformationNumber::PrintOn(ostream
& strm
) const
9383 int indent
= strm
.precision() + 2;
9385 strm
<< setw(indent
+17) << "networkAddress = " << setprecision(indent
) << m_networkAddress
<< '\n';
9386 if (HasOptionalField(e_subAddress
))
9387 strm
<< setw(indent
+13) << "subAddress = " << setprecision(indent
) << m_subAddress
<< '\n';
9388 strm
<< setw(indent
+14) << "networkType = " << setprecision(indent
) << m_networkType
<< '\n';
9389 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9394 PObject::Comparison
H245_DialingInformationNumber::Compare(const PObject
& obj
) const
9396 #ifndef PASN_LEANANDMEAN
9397 PAssert(PIsDescendant(&obj
, H245_DialingInformationNumber
), PInvalidCast
);
9399 const H245_DialingInformationNumber
& other
= (const H245_DialingInformationNumber
&)obj
;
9403 if ((result
= m_networkAddress
.Compare(other
.m_networkAddress
)) != EqualTo
)
9405 if ((result
= m_subAddress
.Compare(other
.m_subAddress
)) != EqualTo
)
9407 if ((result
= m_networkType
.Compare(other
.m_networkType
)) != EqualTo
)
9410 return PASN_Sequence::Compare(other
);
9414 PINDEX
H245_DialingInformationNumber::GetDataLength() const
9417 length
+= m_networkAddress
.GetObjectLength();
9418 if (HasOptionalField(e_subAddress
))
9419 length
+= m_subAddress
.GetObjectLength();
9420 length
+= m_networkType
.GetObjectLength();
9425 BOOL
H245_DialingInformationNumber::Decode(PASN_Stream
& strm
)
9427 if (!PreambleDecode(strm
))
9430 if (!m_networkAddress
.Decode(strm
))
9432 if (HasOptionalField(e_subAddress
) && !m_subAddress
.Decode(strm
))
9434 if (!m_networkType
.Decode(strm
))
9437 return UnknownExtensionsDecode(strm
);
9441 void H245_DialingInformationNumber::Encode(PASN_Stream
& strm
) const
9443 PreambleEncode(strm
);
9445 m_networkAddress
.Encode(strm
);
9446 if (HasOptionalField(e_subAddress
))
9447 m_subAddress
.Encode(strm
);
9448 m_networkType
.Encode(strm
);
9450 UnknownExtensionsEncode(strm
);
9454 PObject
* H245_DialingInformationNumber::Clone() const
9456 #ifndef PASN_LEANANDMEAN
9457 PAssert(IsClass(H245_DialingInformationNumber::Class()), PInvalidCast
);
9459 return new H245_DialingInformationNumber(*this);
9464 // LogicalChannelRateReject
9467 H245_LogicalChannelRateReject::H245_LogicalChannelRateReject(unsigned tag
, PASN_Object::TagClass tagClass
)
9468 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
9473 #ifndef PASN_NOPRINTON
9474 void H245_LogicalChannelRateReject::PrintOn(ostream
& strm
) const
9476 int indent
= strm
.precision() + 2;
9478 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
9479 strm
<< setw(indent
+23) << "logicalChannelNumber = " << setprecision(indent
) << m_logicalChannelNumber
<< '\n';
9480 strm
<< setw(indent
+15) << "rejectReason = " << setprecision(indent
) << m_rejectReason
<< '\n';
9481 if (HasOptionalField(e_currentMaximumBitRate
))
9482 strm
<< setw(indent
+24) << "currentMaximumBitRate = " << setprecision(indent
) << m_currentMaximumBitRate
<< '\n';
9483 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9488 PObject::Comparison
H245_LogicalChannelRateReject::Compare(const PObject
& obj
) const
9490 #ifndef PASN_LEANANDMEAN
9491 PAssert(PIsDescendant(&obj
, H245_LogicalChannelRateReject
), PInvalidCast
);
9493 const H245_LogicalChannelRateReject
& other
= (const H245_LogicalChannelRateReject
&)obj
;
9497 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
9499 if ((result
= m_logicalChannelNumber
.Compare(other
.m_logicalChannelNumber
)) != EqualTo
)
9501 if ((result
= m_rejectReason
.Compare(other
.m_rejectReason
)) != EqualTo
)
9503 if ((result
= m_currentMaximumBitRate
.Compare(other
.m_currentMaximumBitRate
)) != EqualTo
)
9506 return PASN_Sequence::Compare(other
);
9510 PINDEX
H245_LogicalChannelRateReject::GetDataLength() const
9513 length
+= m_sequenceNumber
.GetObjectLength();
9514 length
+= m_logicalChannelNumber
.GetObjectLength();
9515 length
+= m_rejectReason
.GetObjectLength();
9516 if (HasOptionalField(e_currentMaximumBitRate
))
9517 length
+= m_currentMaximumBitRate
.GetObjectLength();
9522 BOOL
H245_LogicalChannelRateReject::Decode(PASN_Stream
& strm
)
9524 if (!PreambleDecode(strm
))
9527 if (!m_sequenceNumber
.Decode(strm
))
9529 if (!m_logicalChannelNumber
.Decode(strm
))
9531 if (!m_rejectReason
.Decode(strm
))
9533 if (HasOptionalField(e_currentMaximumBitRate
) && !m_currentMaximumBitRate
.Decode(strm
))
9536 return UnknownExtensionsDecode(strm
);
9540 void H245_LogicalChannelRateReject::Encode(PASN_Stream
& strm
) const
9542 PreambleEncode(strm
);
9544 m_sequenceNumber
.Encode(strm
);
9545 m_logicalChannelNumber
.Encode(strm
);
9546 m_rejectReason
.Encode(strm
);
9547 if (HasOptionalField(e_currentMaximumBitRate
))
9548 m_currentMaximumBitRate
.Encode(strm
);
9550 UnknownExtensionsEncode(strm
);
9554 PObject
* H245_LogicalChannelRateReject::Clone() const
9556 #ifndef PASN_LEANANDMEAN
9557 PAssert(IsClass(H245_LogicalChannelRateReject::Class()), PInvalidCast
);
9559 return new H245_LogicalChannelRateReject(*this);
9564 // FlowControlCommand
9567 H245_FlowControlCommand::H245_FlowControlCommand(unsigned tag
, PASN_Object::TagClass tagClass
)
9568 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9573 #ifndef PASN_NOPRINTON
9574 void H245_FlowControlCommand::PrintOn(ostream
& strm
) const
9576 int indent
= strm
.precision() + 2;
9578 strm
<< setw(indent
+8) << "scope = " << setprecision(indent
) << m_scope
<< '\n';
9579 strm
<< setw(indent
+14) << "restriction = " << setprecision(indent
) << m_restriction
<< '\n';
9580 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9585 PObject::Comparison
H245_FlowControlCommand::Compare(const PObject
& obj
) const
9587 #ifndef PASN_LEANANDMEAN
9588 PAssert(PIsDescendant(&obj
, H245_FlowControlCommand
), PInvalidCast
);
9590 const H245_FlowControlCommand
& other
= (const H245_FlowControlCommand
&)obj
;
9594 if ((result
= m_scope
.Compare(other
.m_scope
)) != EqualTo
)
9596 if ((result
= m_restriction
.Compare(other
.m_restriction
)) != EqualTo
)
9599 return PASN_Sequence::Compare(other
);
9603 PINDEX
H245_FlowControlCommand::GetDataLength() const
9606 length
+= m_scope
.GetObjectLength();
9607 length
+= m_restriction
.GetObjectLength();
9612 BOOL
H245_FlowControlCommand::Decode(PASN_Stream
& strm
)
9614 if (!PreambleDecode(strm
))
9617 if (!m_scope
.Decode(strm
))
9619 if (!m_restriction
.Decode(strm
))
9622 return UnknownExtensionsDecode(strm
);
9626 void H245_FlowControlCommand::Encode(PASN_Stream
& strm
) const
9628 PreambleEncode(strm
);
9630 m_scope
.Encode(strm
);
9631 m_restriction
.Encode(strm
);
9633 UnknownExtensionsEncode(strm
);
9637 PObject
* H245_FlowControlCommand::Clone() const
9639 #ifndef PASN_LEANANDMEAN
9640 PAssert(IsClass(H245_FlowControlCommand::Class()), PInvalidCast
);
9642 return new H245_FlowControlCommand(*this);
9647 // MiscellaneousCommand
9650 H245_MiscellaneousCommand::H245_MiscellaneousCommand(unsigned tag
, PASN_Object::TagClass tagClass
)
9651 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
9656 #ifndef PASN_NOPRINTON
9657 void H245_MiscellaneousCommand::PrintOn(ostream
& strm
) const
9659 int indent
= strm
.precision() + 2;
9661 strm
<< setw(indent
+23) << "logicalChannelNumber = " << setprecision(indent
) << m_logicalChannelNumber
<< '\n';
9662 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
9663 if (HasOptionalField(e_direction
))
9664 strm
<< setw(indent
+12) << "direction = " << setprecision(indent
) << m_direction
<< '\n';
9665 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9670 PObject::Comparison
H245_MiscellaneousCommand::Compare(const PObject
& obj
) const
9672 #ifndef PASN_LEANANDMEAN
9673 PAssert(PIsDescendant(&obj
, H245_MiscellaneousCommand
), PInvalidCast
);
9675 const H245_MiscellaneousCommand
& other
= (const H245_MiscellaneousCommand
&)obj
;
9679 if ((result
= m_logicalChannelNumber
.Compare(other
.m_logicalChannelNumber
)) != EqualTo
)
9681 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
9684 return PASN_Sequence::Compare(other
);
9688 PINDEX
H245_MiscellaneousCommand::GetDataLength() const
9691 length
+= m_logicalChannelNumber
.GetObjectLength();
9692 length
+= m_type
.GetObjectLength();
9697 BOOL
H245_MiscellaneousCommand::Decode(PASN_Stream
& strm
)
9699 if (!PreambleDecode(strm
))
9702 if (!m_logicalChannelNumber
.Decode(strm
))
9704 if (!m_type
.Decode(strm
))
9706 if (!KnownExtensionDecode(strm
, e_direction
, m_direction
))
9709 return UnknownExtensionsDecode(strm
);
9713 void H245_MiscellaneousCommand::Encode(PASN_Stream
& strm
) const
9715 PreambleEncode(strm
);
9717 m_logicalChannelNumber
.Encode(strm
);
9718 m_type
.Encode(strm
);
9719 KnownExtensionEncode(strm
, e_direction
, m_direction
);
9721 UnknownExtensionsEncode(strm
);
9725 PObject
* H245_MiscellaneousCommand::Clone() const
9727 #ifndef PASN_LEANANDMEAN
9728 PAssert(IsClass(H245_MiscellaneousCommand::Class()), PInvalidCast
);
9730 return new H245_MiscellaneousCommand(*this);
9735 // MobileMultilinkReconfigurationCommand
9738 H245_MobileMultilinkReconfigurationCommand::H245_MobileMultilinkReconfigurationCommand(unsigned tag
, PASN_Object::TagClass tagClass
)
9739 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9741 m_sampleSize
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
9742 m_samplesPerFrame
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
9746 #ifndef PASN_NOPRINTON
9747 void H245_MobileMultilinkReconfigurationCommand::PrintOn(ostream
& strm
) const
9749 int indent
= strm
.precision() + 2;
9751 strm
<< setw(indent
+13) << "sampleSize = " << setprecision(indent
) << m_sampleSize
<< '\n';
9752 strm
<< setw(indent
+18) << "samplesPerFrame = " << setprecision(indent
) << m_samplesPerFrame
<< '\n';
9753 strm
<< setw(indent
+9) << "status = " << setprecision(indent
) << m_status
<< '\n';
9754 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9759 PObject::Comparison
H245_MobileMultilinkReconfigurationCommand::Compare(const PObject
& obj
) const
9761 #ifndef PASN_LEANANDMEAN
9762 PAssert(PIsDescendant(&obj
, H245_MobileMultilinkReconfigurationCommand
), PInvalidCast
);
9764 const H245_MobileMultilinkReconfigurationCommand
& other
= (const H245_MobileMultilinkReconfigurationCommand
&)obj
;
9768 if ((result
= m_sampleSize
.Compare(other
.m_sampleSize
)) != EqualTo
)
9770 if ((result
= m_samplesPerFrame
.Compare(other
.m_samplesPerFrame
)) != EqualTo
)
9772 if ((result
= m_status
.Compare(other
.m_status
)) != EqualTo
)
9775 return PASN_Sequence::Compare(other
);
9779 PINDEX
H245_MobileMultilinkReconfigurationCommand::GetDataLength() const
9782 length
+= m_sampleSize
.GetObjectLength();
9783 length
+= m_samplesPerFrame
.GetObjectLength();
9784 length
+= m_status
.GetObjectLength();
9789 BOOL
H245_MobileMultilinkReconfigurationCommand::Decode(PASN_Stream
& strm
)
9791 if (!PreambleDecode(strm
))
9794 if (!m_sampleSize
.Decode(strm
))
9796 if (!m_samplesPerFrame
.Decode(strm
))
9798 if (!m_status
.Decode(strm
))
9801 return UnknownExtensionsDecode(strm
);
9805 void H245_MobileMultilinkReconfigurationCommand::Encode(PASN_Stream
& strm
) const
9807 PreambleEncode(strm
);
9809 m_sampleSize
.Encode(strm
);
9810 m_samplesPerFrame
.Encode(strm
);
9811 m_status
.Encode(strm
);
9813 UnknownExtensionsEncode(strm
);
9817 PObject
* H245_MobileMultilinkReconfigurationCommand::Clone() const
9819 #ifndef PASN_LEANANDMEAN
9820 PAssert(IsClass(H245_MobileMultilinkReconfigurationCommand::Class()), PInvalidCast
);
9822 return new H245_MobileMultilinkReconfigurationCommand(*this);
9827 // FunctionNotSupported
9830 H245_FunctionNotSupported::H245_FunctionNotSupported(unsigned tag
, PASN_Object::TagClass tagClass
)
9831 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
9836 #ifndef PASN_NOPRINTON
9837 void H245_FunctionNotSupported::PrintOn(ostream
& strm
) const
9839 int indent
= strm
.precision() + 2;
9841 strm
<< setw(indent
+8) << "cause = " << setprecision(indent
) << m_cause
<< '\n';
9842 if (HasOptionalField(e_returnedFunction
))
9843 strm
<< setw(indent
+19) << "returnedFunction = " << setprecision(indent
) << m_returnedFunction
<< '\n';
9844 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9849 PObject::Comparison
H245_FunctionNotSupported::Compare(const PObject
& obj
) const
9851 #ifndef PASN_LEANANDMEAN
9852 PAssert(PIsDescendant(&obj
, H245_FunctionNotSupported
), PInvalidCast
);
9854 const H245_FunctionNotSupported
& other
= (const H245_FunctionNotSupported
&)obj
;
9858 if ((result
= m_cause
.Compare(other
.m_cause
)) != EqualTo
)
9860 if ((result
= m_returnedFunction
.Compare(other
.m_returnedFunction
)) != EqualTo
)
9863 return PASN_Sequence::Compare(other
);
9867 PINDEX
H245_FunctionNotSupported::GetDataLength() const
9870 length
+= m_cause
.GetObjectLength();
9871 if (HasOptionalField(e_returnedFunction
))
9872 length
+= m_returnedFunction
.GetObjectLength();
9877 BOOL
H245_FunctionNotSupported::Decode(PASN_Stream
& strm
)
9879 if (!PreambleDecode(strm
))
9882 if (!m_cause
.Decode(strm
))
9884 if (HasOptionalField(e_returnedFunction
) && !m_returnedFunction
.Decode(strm
))
9887 return UnknownExtensionsDecode(strm
);
9891 void H245_FunctionNotSupported::Encode(PASN_Stream
& strm
) const
9893 PreambleEncode(strm
);
9895 m_cause
.Encode(strm
);
9896 if (HasOptionalField(e_returnedFunction
))
9897 m_returnedFunction
.Encode(strm
);
9899 UnknownExtensionsEncode(strm
);
9903 PObject
* H245_FunctionNotSupported::Clone() const
9905 #ifndef PASN_LEANANDMEAN
9906 PAssert(IsClass(H245_FunctionNotSupported::Class()), PInvalidCast
);
9908 return new H245_FunctionNotSupported(*this);
9913 // MiscellaneousIndication
9916 H245_MiscellaneousIndication::H245_MiscellaneousIndication(unsigned tag
, PASN_Object::TagClass tagClass
)
9917 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
9922 #ifndef PASN_NOPRINTON
9923 void H245_MiscellaneousIndication::PrintOn(ostream
& strm
) const
9925 int indent
= strm
.precision() + 2;
9927 strm
<< setw(indent
+23) << "logicalChannelNumber = " << setprecision(indent
) << m_logicalChannelNumber
<< '\n';
9928 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
9929 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
9934 PObject::Comparison
H245_MiscellaneousIndication::Compare(const PObject
& obj
) const
9936 #ifndef PASN_LEANANDMEAN
9937 PAssert(PIsDescendant(&obj
, H245_MiscellaneousIndication
), PInvalidCast
);
9939 const H245_MiscellaneousIndication
& other
= (const H245_MiscellaneousIndication
&)obj
;
9943 if ((result
= m_logicalChannelNumber
.Compare(other
.m_logicalChannelNumber
)) != EqualTo
)
9945 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
9948 return PASN_Sequence::Compare(other
);
9952 PINDEX
H245_MiscellaneousIndication::GetDataLength() const
9955 length
+= m_logicalChannelNumber
.GetObjectLength();
9956 length
+= m_type
.GetObjectLength();
9961 BOOL
H245_MiscellaneousIndication::Decode(PASN_Stream
& strm
)
9963 if (!PreambleDecode(strm
))
9966 if (!m_logicalChannelNumber
.Decode(strm
))
9968 if (!m_type
.Decode(strm
))
9971 return UnknownExtensionsDecode(strm
);
9975 void H245_MiscellaneousIndication::Encode(PASN_Stream
& strm
) const
9977 PreambleEncode(strm
);
9979 m_logicalChannelNumber
.Encode(strm
);
9980 m_type
.Encode(strm
);
9982 UnknownExtensionsEncode(strm
);
9986 PObject
* H245_MiscellaneousIndication::Clone() const
9988 #ifndef PASN_LEANANDMEAN
9989 PAssert(IsClass(H245_MiscellaneousIndication::Class()), PInvalidCast
);
9991 return new H245_MiscellaneousIndication(*this);
9999 H245_JitterIndication::H245_JitterIndication(unsigned tag
, PASN_Object::TagClass tagClass
)
10000 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
10002 m_estimatedReceivedJitterMantissa
.SetConstraints(PASN_Object::FixedConstraint
, 0, 3);
10003 m_estimatedReceivedJitterExponent
.SetConstraints(PASN_Object::FixedConstraint
, 0, 7);
10004 m_skippedFrameCount
.SetConstraints(PASN_Object::FixedConstraint
, 0, 15);
10005 m_additionalDecoderBuffer
.SetConstraints(PASN_Object::FixedConstraint
, 0, 262143);
10009 #ifndef PASN_NOPRINTON
10010 void H245_JitterIndication::PrintOn(ostream
& strm
) const
10012 int indent
= strm
.precision() + 2;
10014 strm
<< setw(indent
+8) << "scope = " << setprecision(indent
) << m_scope
<< '\n';
10015 strm
<< setw(indent
+34) << "estimatedReceivedJitterMantissa = " << setprecision(indent
) << m_estimatedReceivedJitterMantissa
<< '\n';
10016 strm
<< setw(indent
+34) << "estimatedReceivedJitterExponent = " << setprecision(indent
) << m_estimatedReceivedJitterExponent
<< '\n';
10017 if (HasOptionalField(e_skippedFrameCount
))
10018 strm
<< setw(indent
+20) << "skippedFrameCount = " << setprecision(indent
) << m_skippedFrameCount
<< '\n';
10019 if (HasOptionalField(e_additionalDecoderBuffer
))
10020 strm
<< setw(indent
+26) << "additionalDecoderBuffer = " << setprecision(indent
) << m_additionalDecoderBuffer
<< '\n';
10021 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10026 PObject::Comparison
H245_JitterIndication::Compare(const PObject
& obj
) const
10028 #ifndef PASN_LEANANDMEAN
10029 PAssert(PIsDescendant(&obj
, H245_JitterIndication
), PInvalidCast
);
10031 const H245_JitterIndication
& other
= (const H245_JitterIndication
&)obj
;
10035 if ((result
= m_scope
.Compare(other
.m_scope
)) != EqualTo
)
10037 if ((result
= m_estimatedReceivedJitterMantissa
.Compare(other
.m_estimatedReceivedJitterMantissa
)) != EqualTo
)
10039 if ((result
= m_estimatedReceivedJitterExponent
.Compare(other
.m_estimatedReceivedJitterExponent
)) != EqualTo
)
10041 if ((result
= m_skippedFrameCount
.Compare(other
.m_skippedFrameCount
)) != EqualTo
)
10043 if ((result
= m_additionalDecoderBuffer
.Compare(other
.m_additionalDecoderBuffer
)) != EqualTo
)
10046 return PASN_Sequence::Compare(other
);
10050 PINDEX
H245_JitterIndication::GetDataLength() const
10053 length
+= m_scope
.GetObjectLength();
10054 length
+= m_estimatedReceivedJitterMantissa
.GetObjectLength();
10055 length
+= m_estimatedReceivedJitterExponent
.GetObjectLength();
10056 if (HasOptionalField(e_skippedFrameCount
))
10057 length
+= m_skippedFrameCount
.GetObjectLength();
10058 if (HasOptionalField(e_additionalDecoderBuffer
))
10059 length
+= m_additionalDecoderBuffer
.GetObjectLength();
10064 BOOL
H245_JitterIndication::Decode(PASN_Stream
& strm
)
10066 if (!PreambleDecode(strm
))
10069 if (!m_scope
.Decode(strm
))
10071 if (!m_estimatedReceivedJitterMantissa
.Decode(strm
))
10073 if (!m_estimatedReceivedJitterExponent
.Decode(strm
))
10075 if (HasOptionalField(e_skippedFrameCount
) && !m_skippedFrameCount
.Decode(strm
))
10077 if (HasOptionalField(e_additionalDecoderBuffer
) && !m_additionalDecoderBuffer
.Decode(strm
))
10080 return UnknownExtensionsDecode(strm
);
10084 void H245_JitterIndication::Encode(PASN_Stream
& strm
) const
10086 PreambleEncode(strm
);
10088 m_scope
.Encode(strm
);
10089 m_estimatedReceivedJitterMantissa
.Encode(strm
);
10090 m_estimatedReceivedJitterExponent
.Encode(strm
);
10091 if (HasOptionalField(e_skippedFrameCount
))
10092 m_skippedFrameCount
.Encode(strm
);
10093 if (HasOptionalField(e_additionalDecoderBuffer
))
10094 m_additionalDecoderBuffer
.Encode(strm
);
10096 UnknownExtensionsEncode(strm
);
10100 PObject
* H245_JitterIndication::Clone() const
10102 #ifndef PASN_LEANANDMEAN
10103 PAssert(IsClass(H245_JitterIndication::Class()), PInvalidCast
);
10105 return new H245_JitterIndication(*this);
10110 // FlowControlIndication
10113 H245_FlowControlIndication::H245_FlowControlIndication(unsigned tag
, PASN_Object::TagClass tagClass
)
10114 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
10119 #ifndef PASN_NOPRINTON
10120 void H245_FlowControlIndication::PrintOn(ostream
& strm
) const
10122 int indent
= strm
.precision() + 2;
10124 strm
<< setw(indent
+8) << "scope = " << setprecision(indent
) << m_scope
<< '\n';
10125 strm
<< setw(indent
+14) << "restriction = " << setprecision(indent
) << m_restriction
<< '\n';
10126 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10131 PObject::Comparison
H245_FlowControlIndication::Compare(const PObject
& obj
) const
10133 #ifndef PASN_LEANANDMEAN
10134 PAssert(PIsDescendant(&obj
, H245_FlowControlIndication
), PInvalidCast
);
10136 const H245_FlowControlIndication
& other
= (const H245_FlowControlIndication
&)obj
;
10140 if ((result
= m_scope
.Compare(other
.m_scope
)) != EqualTo
)
10142 if ((result
= m_restriction
.Compare(other
.m_restriction
)) != EqualTo
)
10145 return PASN_Sequence::Compare(other
);
10149 PINDEX
H245_FlowControlIndication::GetDataLength() const
10152 length
+= m_scope
.GetObjectLength();
10153 length
+= m_restriction
.GetObjectLength();
10158 BOOL
H245_FlowControlIndication::Decode(PASN_Stream
& strm
)
10160 if (!PreambleDecode(strm
))
10163 if (!m_scope
.Decode(strm
))
10165 if (!m_restriction
.Decode(strm
))
10168 return UnknownExtensionsDecode(strm
);
10172 void H245_FlowControlIndication::Encode(PASN_Stream
& strm
) const
10174 PreambleEncode(strm
);
10176 m_scope
.Encode(strm
);
10177 m_restriction
.Encode(strm
);
10179 UnknownExtensionsEncode(strm
);
10183 PObject
* H245_FlowControlIndication::Clone() const
10185 #ifndef PASN_LEANANDMEAN
10186 PAssert(IsClass(H245_FlowControlIndication::Class()), PInvalidCast
);
10188 return new H245_FlowControlIndication(*this);
10193 // VCCapability_availableBitRates
10196 H245_VCCapability_availableBitRates::H245_VCCapability_availableBitRates(unsigned tag
, PASN_Object::TagClass tagClass
)
10197 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
10202 #ifndef PASN_NOPRINTON
10203 void H245_VCCapability_availableBitRates::PrintOn(ostream
& strm
) const
10205 int indent
= strm
.precision() + 2;
10207 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
10208 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10213 PObject::Comparison
H245_VCCapability_availableBitRates::Compare(const PObject
& obj
) const
10215 #ifndef PASN_LEANANDMEAN
10216 PAssert(PIsDescendant(&obj
, H245_VCCapability_availableBitRates
), PInvalidCast
);
10218 const H245_VCCapability_availableBitRates
& other
= (const H245_VCCapability_availableBitRates
&)obj
;
10222 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
10225 return PASN_Sequence::Compare(other
);
10229 PINDEX
H245_VCCapability_availableBitRates::GetDataLength() const
10232 length
+= m_type
.GetObjectLength();
10237 BOOL
H245_VCCapability_availableBitRates::Decode(PASN_Stream
& strm
)
10239 if (!PreambleDecode(strm
))
10242 if (!m_type
.Decode(strm
))
10245 return UnknownExtensionsDecode(strm
);
10249 void H245_VCCapability_availableBitRates::Encode(PASN_Stream
& strm
) const
10251 PreambleEncode(strm
);
10253 m_type
.Encode(strm
);
10255 UnknownExtensionsEncode(strm
);
10259 PObject
* H245_VCCapability_availableBitRates::Clone() const
10261 #ifndef PASN_LEANANDMEAN
10262 PAssert(IsClass(H245_VCCapability_availableBitRates::Class()), PInvalidCast
);
10264 return new H245_VCCapability_availableBitRates(*this);
10269 // VCCapability_aal1ViaGateway
10272 H245_VCCapability_aal1ViaGateway::H245_VCCapability_aal1ViaGateway(unsigned tag
, PASN_Object::TagClass tagClass
)
10273 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
10275 m_gatewayAddress
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
10279 #ifndef PASN_NOPRINTON
10280 void H245_VCCapability_aal1ViaGateway::PrintOn(ostream
& strm
) const
10282 int indent
= strm
.precision() + 2;
10284 strm
<< setw(indent
+17) << "gatewayAddress = " << setprecision(indent
) << m_gatewayAddress
<< '\n';
10285 strm
<< setw(indent
+20) << "nullClockRecovery = " << setprecision(indent
) << m_nullClockRecovery
<< '\n';
10286 strm
<< setw(indent
+20) << "srtsClockRecovery = " << setprecision(indent
) << m_srtsClockRecovery
<< '\n';
10287 strm
<< setw(indent
+24) << "adaptiveClockRecovery = " << setprecision(indent
) << m_adaptiveClockRecovery
<< '\n';
10288 strm
<< setw(indent
+22) << "nullErrorCorrection = " << setprecision(indent
) << m_nullErrorCorrection
<< '\n';
10289 strm
<< setw(indent
+18) << "longInterleaver = " << setprecision(indent
) << m_longInterleaver
<< '\n';
10290 strm
<< setw(indent
+19) << "shortInterleaver = " << setprecision(indent
) << m_shortInterleaver
<< '\n';
10291 strm
<< setw(indent
+22) << "errorCorrectionOnly = " << setprecision(indent
) << m_errorCorrectionOnly
<< '\n';
10292 strm
<< setw(indent
+25) << "structuredDataTransfer = " << setprecision(indent
) << m_structuredDataTransfer
<< '\n';
10293 strm
<< setw(indent
+23) << "partiallyFilledCells = " << setprecision(indent
) << m_partiallyFilledCells
<< '\n';
10294 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10299 PObject::Comparison
H245_VCCapability_aal1ViaGateway::Compare(const PObject
& obj
) const
10301 #ifndef PASN_LEANANDMEAN
10302 PAssert(PIsDescendant(&obj
, H245_VCCapability_aal1ViaGateway
), PInvalidCast
);
10304 const H245_VCCapability_aal1ViaGateway
& other
= (const H245_VCCapability_aal1ViaGateway
&)obj
;
10308 if ((result
= m_gatewayAddress
.Compare(other
.m_gatewayAddress
)) != EqualTo
)
10310 if ((result
= m_nullClockRecovery
.Compare(other
.m_nullClockRecovery
)) != EqualTo
)
10312 if ((result
= m_srtsClockRecovery
.Compare(other
.m_srtsClockRecovery
)) != EqualTo
)
10314 if ((result
= m_adaptiveClockRecovery
.Compare(other
.m_adaptiveClockRecovery
)) != EqualTo
)
10316 if ((result
= m_nullErrorCorrection
.Compare(other
.m_nullErrorCorrection
)) != EqualTo
)
10318 if ((result
= m_longInterleaver
.Compare(other
.m_longInterleaver
)) != EqualTo
)
10320 if ((result
= m_shortInterleaver
.Compare(other
.m_shortInterleaver
)) != EqualTo
)
10322 if ((result
= m_errorCorrectionOnly
.Compare(other
.m_errorCorrectionOnly
)) != EqualTo
)
10324 if ((result
= m_structuredDataTransfer
.Compare(other
.m_structuredDataTransfer
)) != EqualTo
)
10326 if ((result
= m_partiallyFilledCells
.Compare(other
.m_partiallyFilledCells
)) != EqualTo
)
10329 return PASN_Sequence::Compare(other
);
10333 PINDEX
H245_VCCapability_aal1ViaGateway::GetDataLength() const
10336 length
+= m_gatewayAddress
.GetObjectLength();
10337 length
+= m_nullClockRecovery
.GetObjectLength();
10338 length
+= m_srtsClockRecovery
.GetObjectLength();
10339 length
+= m_adaptiveClockRecovery
.GetObjectLength();
10340 length
+= m_nullErrorCorrection
.GetObjectLength();
10341 length
+= m_longInterleaver
.GetObjectLength();
10342 length
+= m_shortInterleaver
.GetObjectLength();
10343 length
+= m_errorCorrectionOnly
.GetObjectLength();
10344 length
+= m_structuredDataTransfer
.GetObjectLength();
10345 length
+= m_partiallyFilledCells
.GetObjectLength();
10350 BOOL
H245_VCCapability_aal1ViaGateway::Decode(PASN_Stream
& strm
)
10352 if (!PreambleDecode(strm
))
10355 if (!m_gatewayAddress
.Decode(strm
))
10357 if (!m_nullClockRecovery
.Decode(strm
))
10359 if (!m_srtsClockRecovery
.Decode(strm
))
10361 if (!m_adaptiveClockRecovery
.Decode(strm
))
10363 if (!m_nullErrorCorrection
.Decode(strm
))
10365 if (!m_longInterleaver
.Decode(strm
))
10367 if (!m_shortInterleaver
.Decode(strm
))
10369 if (!m_errorCorrectionOnly
.Decode(strm
))
10371 if (!m_structuredDataTransfer
.Decode(strm
))
10373 if (!m_partiallyFilledCells
.Decode(strm
))
10376 return UnknownExtensionsDecode(strm
);
10380 void H245_VCCapability_aal1ViaGateway::Encode(PASN_Stream
& strm
) const
10382 PreambleEncode(strm
);
10384 m_gatewayAddress
.Encode(strm
);
10385 m_nullClockRecovery
.Encode(strm
);
10386 m_srtsClockRecovery
.Encode(strm
);
10387 m_adaptiveClockRecovery
.Encode(strm
);
10388 m_nullErrorCorrection
.Encode(strm
);
10389 m_longInterleaver
.Encode(strm
);
10390 m_shortInterleaver
.Encode(strm
);
10391 m_errorCorrectionOnly
.Encode(strm
);
10392 m_structuredDataTransfer
.Encode(strm
);
10393 m_partiallyFilledCells
.Encode(strm
);
10395 UnknownExtensionsEncode(strm
);
10399 PObject
* H245_VCCapability_aal1ViaGateway::Clone() const
10401 #ifndef PASN_LEANANDMEAN
10402 PAssert(IsClass(H245_VCCapability_aal1ViaGateway::Class()), PInvalidCast
);
10404 return new H245_VCCapability_aal1ViaGateway(*this);
10409 // RefPictureSelection_enhancedReferencePicSelect
10412 H245_RefPictureSelection_enhancedReferencePicSelect::H245_RefPictureSelection_enhancedReferencePicSelect(unsigned tag
, PASN_Object::TagClass tagClass
)
10413 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
10418 #ifndef PASN_NOPRINTON
10419 void H245_RefPictureSelection_enhancedReferencePicSelect::PrintOn(ostream
& strm
) const
10421 int indent
= strm
.precision() + 2;
10423 if (HasOptionalField(e_subPictureRemovalParameters
))
10424 strm
<< setw(indent
+30) << "subPictureRemovalParameters = " << setprecision(indent
) << m_subPictureRemovalParameters
<< '\n';
10425 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10430 PObject::Comparison
H245_RefPictureSelection_enhancedReferencePicSelect::Compare(const PObject
& obj
) const
10432 #ifndef PASN_LEANANDMEAN
10433 PAssert(PIsDescendant(&obj
, H245_RefPictureSelection_enhancedReferencePicSelect
), PInvalidCast
);
10435 const H245_RefPictureSelection_enhancedReferencePicSelect
& other
= (const H245_RefPictureSelection_enhancedReferencePicSelect
&)obj
;
10439 if ((result
= m_subPictureRemovalParameters
.Compare(other
.m_subPictureRemovalParameters
)) != EqualTo
)
10442 return PASN_Sequence::Compare(other
);
10446 PINDEX
H245_RefPictureSelection_enhancedReferencePicSelect::GetDataLength() const
10449 if (HasOptionalField(e_subPictureRemovalParameters
))
10450 length
+= m_subPictureRemovalParameters
.GetObjectLength();
10455 BOOL
H245_RefPictureSelection_enhancedReferencePicSelect::Decode(PASN_Stream
& strm
)
10457 if (!PreambleDecode(strm
))
10460 if (HasOptionalField(e_subPictureRemovalParameters
) && !m_subPictureRemovalParameters
.Decode(strm
))
10463 return UnknownExtensionsDecode(strm
);
10467 void H245_RefPictureSelection_enhancedReferencePicSelect::Encode(PASN_Stream
& strm
) const
10469 PreambleEncode(strm
);
10471 if (HasOptionalField(e_subPictureRemovalParameters
))
10472 m_subPictureRemovalParameters
.Encode(strm
);
10474 UnknownExtensionsEncode(strm
);
10478 PObject
* H245_RefPictureSelection_enhancedReferencePicSelect::Clone() const
10480 #ifndef PASN_LEANANDMEAN
10481 PAssert(IsClass(H245_RefPictureSelection_enhancedReferencePicSelect::Class()), PInvalidCast
);
10483 return new H245_RefPictureSelection_enhancedReferencePicSelect(*this);
10488 // CustomPictureFormat_mPI
10491 H245_CustomPictureFormat_mPI::H245_CustomPictureFormat_mPI(unsigned tag
, PASN_Object::TagClass tagClass
)
10492 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
10494 m_standardMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 31);
10498 #ifndef PASN_NOPRINTON
10499 void H245_CustomPictureFormat_mPI::PrintOn(ostream
& strm
) const
10501 int indent
= strm
.precision() + 2;
10503 if (HasOptionalField(e_standardMPI
))
10504 strm
<< setw(indent
+14) << "standardMPI = " << setprecision(indent
) << m_standardMPI
<< '\n';
10505 if (HasOptionalField(e_customPCF
))
10506 strm
<< setw(indent
+12) << "customPCF = " << setprecision(indent
) << m_customPCF
<< '\n';
10507 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10512 PObject::Comparison
H245_CustomPictureFormat_mPI::Compare(const PObject
& obj
) const
10514 #ifndef PASN_LEANANDMEAN
10515 PAssert(PIsDescendant(&obj
, H245_CustomPictureFormat_mPI
), PInvalidCast
);
10517 const H245_CustomPictureFormat_mPI
& other
= (const H245_CustomPictureFormat_mPI
&)obj
;
10521 if ((result
= m_standardMPI
.Compare(other
.m_standardMPI
)) != EqualTo
)
10523 if ((result
= m_customPCF
.Compare(other
.m_customPCF
)) != EqualTo
)
10526 return PASN_Sequence::Compare(other
);
10530 PINDEX
H245_CustomPictureFormat_mPI::GetDataLength() const
10533 if (HasOptionalField(e_standardMPI
))
10534 length
+= m_standardMPI
.GetObjectLength();
10535 if (HasOptionalField(e_customPCF
))
10536 length
+= m_customPCF
.GetObjectLength();
10541 BOOL
H245_CustomPictureFormat_mPI::Decode(PASN_Stream
& strm
)
10543 if (!PreambleDecode(strm
))
10546 if (HasOptionalField(e_standardMPI
) && !m_standardMPI
.Decode(strm
))
10548 if (HasOptionalField(e_customPCF
) && !m_customPCF
.Decode(strm
))
10551 return UnknownExtensionsDecode(strm
);
10555 void H245_CustomPictureFormat_mPI::Encode(PASN_Stream
& strm
) const
10557 PreambleEncode(strm
);
10559 if (HasOptionalField(e_standardMPI
))
10560 m_standardMPI
.Encode(strm
);
10561 if (HasOptionalField(e_customPCF
))
10562 m_customPCF
.Encode(strm
);
10564 UnknownExtensionsEncode(strm
);
10568 PObject
* H245_CustomPictureFormat_mPI::Clone() const
10570 #ifndef PASN_LEANANDMEAN
10571 PAssert(IsClass(H245_CustomPictureFormat_mPI::Class()), PInvalidCast
);
10573 return new H245_CustomPictureFormat_mPI(*this);
10578 // DepFECCapability_rfc2733
10581 H245_DepFECCapability_rfc2733::H245_DepFECCapability_rfc2733(unsigned tag
, PASN_Object::TagClass tagClass
)
10582 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
10587 #ifndef PASN_NOPRINTON
10588 void H245_DepFECCapability_rfc2733::PrintOn(ostream
& strm
) const
10590 int indent
= strm
.precision() + 2;
10592 strm
<< setw(indent
+21) << "redundancyEncoding = " << setprecision(indent
) << m_redundancyEncoding
<< '\n';
10593 strm
<< setw(indent
+17) << "separateStream = " << setprecision(indent
) << m_separateStream
<< '\n';
10594 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10599 PObject::Comparison
H245_DepFECCapability_rfc2733::Compare(const PObject
& obj
) const
10601 #ifndef PASN_LEANANDMEAN
10602 PAssert(PIsDescendant(&obj
, H245_DepFECCapability_rfc2733
), PInvalidCast
);
10604 const H245_DepFECCapability_rfc2733
& other
= (const H245_DepFECCapability_rfc2733
&)obj
;
10608 if ((result
= m_redundancyEncoding
.Compare(other
.m_redundancyEncoding
)) != EqualTo
)
10610 if ((result
= m_separateStream
.Compare(other
.m_separateStream
)) != EqualTo
)
10613 return PASN_Sequence::Compare(other
);
10617 PINDEX
H245_DepFECCapability_rfc2733::GetDataLength() const
10620 length
+= m_redundancyEncoding
.GetObjectLength();
10621 length
+= m_separateStream
.GetObjectLength();
10626 BOOL
H245_DepFECCapability_rfc2733::Decode(PASN_Stream
& strm
)
10628 if (!PreambleDecode(strm
))
10631 if (!m_redundancyEncoding
.Decode(strm
))
10633 if (!m_separateStream
.Decode(strm
))
10636 return UnknownExtensionsDecode(strm
);
10640 void H245_DepFECCapability_rfc2733::Encode(PASN_Stream
& strm
) const
10642 PreambleEncode(strm
);
10644 m_redundancyEncoding
.Encode(strm
);
10645 m_separateStream
.Encode(strm
);
10647 UnknownExtensionsEncode(strm
);
10651 PObject
* H245_DepFECCapability_rfc2733::Clone() const
10653 #ifndef PASN_LEANANDMEAN
10654 PAssert(IsClass(H245_DepFECCapability_rfc2733::Class()), PInvalidCast
);
10656 return new H245_DepFECCapability_rfc2733(*this);
10661 // OpenLogicalChannel_forwardLogicalChannelParameters
10664 H245_OpenLogicalChannel_forwardLogicalChannelParameters::H245_OpenLogicalChannel_forwardLogicalChannelParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
10665 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
10667 m_portNumber
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
10671 #ifndef PASN_NOPRINTON
10672 void H245_OpenLogicalChannel_forwardLogicalChannelParameters::PrintOn(ostream
& strm
) const
10674 int indent
= strm
.precision() + 2;
10676 if (HasOptionalField(e_portNumber
))
10677 strm
<< setw(indent
+13) << "portNumber = " << setprecision(indent
) << m_portNumber
<< '\n';
10678 strm
<< setw(indent
+11) << "dataType = " << setprecision(indent
) << m_dataType
<< '\n';
10679 strm
<< setw(indent
+22) << "multiplexParameters = " << setprecision(indent
) << m_multiplexParameters
<< '\n';
10680 if (HasOptionalField(e_forwardLogicalChannelDependency
))
10681 strm
<< setw(indent
+34) << "forwardLogicalChannelDependency = " << setprecision(indent
) << m_forwardLogicalChannelDependency
<< '\n';
10682 if (HasOptionalField(e_replacementFor
))
10683 strm
<< setw(indent
+17) << "replacementFor = " << setprecision(indent
) << m_replacementFor
<< '\n';
10684 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10689 PObject::Comparison
H245_OpenLogicalChannel_forwardLogicalChannelParameters::Compare(const PObject
& obj
) const
10691 #ifndef PASN_LEANANDMEAN
10692 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannel_forwardLogicalChannelParameters
), PInvalidCast
);
10694 const H245_OpenLogicalChannel_forwardLogicalChannelParameters
& other
= (const H245_OpenLogicalChannel_forwardLogicalChannelParameters
&)obj
;
10698 if ((result
= m_portNumber
.Compare(other
.m_portNumber
)) != EqualTo
)
10700 if ((result
= m_dataType
.Compare(other
.m_dataType
)) != EqualTo
)
10702 if ((result
= m_multiplexParameters
.Compare(other
.m_multiplexParameters
)) != EqualTo
)
10705 return PASN_Sequence::Compare(other
);
10709 PINDEX
H245_OpenLogicalChannel_forwardLogicalChannelParameters::GetDataLength() const
10712 if (HasOptionalField(e_portNumber
))
10713 length
+= m_portNumber
.GetObjectLength();
10714 length
+= m_dataType
.GetObjectLength();
10715 length
+= m_multiplexParameters
.GetObjectLength();
10720 BOOL
H245_OpenLogicalChannel_forwardLogicalChannelParameters::Decode(PASN_Stream
& strm
)
10722 if (!PreambleDecode(strm
))
10725 if (HasOptionalField(e_portNumber
) && !m_portNumber
.Decode(strm
))
10727 if (!m_dataType
.Decode(strm
))
10729 if (!m_multiplexParameters
.Decode(strm
))
10731 if (!KnownExtensionDecode(strm
, e_forwardLogicalChannelDependency
, m_forwardLogicalChannelDependency
))
10733 if (!KnownExtensionDecode(strm
, e_replacementFor
, m_replacementFor
))
10736 return UnknownExtensionsDecode(strm
);
10740 void H245_OpenLogicalChannel_forwardLogicalChannelParameters::Encode(PASN_Stream
& strm
) const
10742 PreambleEncode(strm
);
10744 if (HasOptionalField(e_portNumber
))
10745 m_portNumber
.Encode(strm
);
10746 m_dataType
.Encode(strm
);
10747 m_multiplexParameters
.Encode(strm
);
10748 KnownExtensionEncode(strm
, e_forwardLogicalChannelDependency
, m_forwardLogicalChannelDependency
);
10749 KnownExtensionEncode(strm
, e_replacementFor
, m_replacementFor
);
10751 UnknownExtensionsEncode(strm
);
10755 PObject
* H245_OpenLogicalChannel_forwardLogicalChannelParameters::Clone() const
10757 #ifndef PASN_LEANANDMEAN
10758 PAssert(IsClass(H245_OpenLogicalChannel_forwardLogicalChannelParameters::Class()), PInvalidCast
);
10760 return new H245_OpenLogicalChannel_forwardLogicalChannelParameters(*this);
10765 // OpenLogicalChannel_reverseLogicalChannelParameters
10768 H245_OpenLogicalChannel_reverseLogicalChannelParameters::H245_OpenLogicalChannel_reverseLogicalChannelParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
10769 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 2)
10774 #ifndef PASN_NOPRINTON
10775 void H245_OpenLogicalChannel_reverseLogicalChannelParameters::PrintOn(ostream
& strm
) const
10777 int indent
= strm
.precision() + 2;
10779 strm
<< setw(indent
+11) << "dataType = " << setprecision(indent
) << m_dataType
<< '\n';
10780 if (HasOptionalField(e_multiplexParameters
))
10781 strm
<< setw(indent
+22) << "multiplexParameters = " << setprecision(indent
) << m_multiplexParameters
<< '\n';
10782 if (HasOptionalField(e_reverseLogicalChannelDependency
))
10783 strm
<< setw(indent
+34) << "reverseLogicalChannelDependency = " << setprecision(indent
) << m_reverseLogicalChannelDependency
<< '\n';
10784 if (HasOptionalField(e_replacementFor
))
10785 strm
<< setw(indent
+17) << "replacementFor = " << setprecision(indent
) << m_replacementFor
<< '\n';
10786 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10791 PObject::Comparison
H245_OpenLogicalChannel_reverseLogicalChannelParameters::Compare(const PObject
& obj
) const
10793 #ifndef PASN_LEANANDMEAN
10794 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannel_reverseLogicalChannelParameters
), PInvalidCast
);
10796 const H245_OpenLogicalChannel_reverseLogicalChannelParameters
& other
= (const H245_OpenLogicalChannel_reverseLogicalChannelParameters
&)obj
;
10800 if ((result
= m_dataType
.Compare(other
.m_dataType
)) != EqualTo
)
10802 if ((result
= m_multiplexParameters
.Compare(other
.m_multiplexParameters
)) != EqualTo
)
10805 return PASN_Sequence::Compare(other
);
10809 PINDEX
H245_OpenLogicalChannel_reverseLogicalChannelParameters::GetDataLength() const
10812 length
+= m_dataType
.GetObjectLength();
10813 if (HasOptionalField(e_multiplexParameters
))
10814 length
+= m_multiplexParameters
.GetObjectLength();
10819 BOOL
H245_OpenLogicalChannel_reverseLogicalChannelParameters::Decode(PASN_Stream
& strm
)
10821 if (!PreambleDecode(strm
))
10824 if (!m_dataType
.Decode(strm
))
10826 if (HasOptionalField(e_multiplexParameters
) && !m_multiplexParameters
.Decode(strm
))
10828 if (!KnownExtensionDecode(strm
, e_reverseLogicalChannelDependency
, m_reverseLogicalChannelDependency
))
10830 if (!KnownExtensionDecode(strm
, e_replacementFor
, m_replacementFor
))
10833 return UnknownExtensionsDecode(strm
);
10837 void H245_OpenLogicalChannel_reverseLogicalChannelParameters::Encode(PASN_Stream
& strm
) const
10839 PreambleEncode(strm
);
10841 m_dataType
.Encode(strm
);
10842 if (HasOptionalField(e_multiplexParameters
))
10843 m_multiplexParameters
.Encode(strm
);
10844 KnownExtensionEncode(strm
, e_reverseLogicalChannelDependency
, m_reverseLogicalChannelDependency
);
10845 KnownExtensionEncode(strm
, e_replacementFor
, m_replacementFor
);
10847 UnknownExtensionsEncode(strm
);
10851 PObject
* H245_OpenLogicalChannel_reverseLogicalChannelParameters::Clone() const
10853 #ifndef PASN_LEANANDMEAN
10854 PAssert(IsClass(H245_OpenLogicalChannel_reverseLogicalChannelParameters::Class()), PInvalidCast
);
10856 return new H245_OpenLogicalChannel_reverseLogicalChannelParameters(*this);
10861 // RedundancyEncoding_rtpRedundancyEncoding
10864 H245_RedundancyEncoding_rtpRedundancyEncoding::H245_RedundancyEncoding_rtpRedundancyEncoding(unsigned tag
, PASN_Object::TagClass tagClass
)
10865 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
10870 #ifndef PASN_NOPRINTON
10871 void H245_RedundancyEncoding_rtpRedundancyEncoding::PrintOn(ostream
& strm
) const
10873 int indent
= strm
.precision() + 2;
10875 if (HasOptionalField(e_primary
))
10876 strm
<< setw(indent
+10) << "primary = " << setprecision(indent
) << m_primary
<< '\n';
10877 if (HasOptionalField(e_secondary
))
10878 strm
<< setw(indent
+12) << "secondary = " << setprecision(indent
) << m_secondary
<< '\n';
10879 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10884 PObject::Comparison
H245_RedundancyEncoding_rtpRedundancyEncoding::Compare(const PObject
& obj
) const
10886 #ifndef PASN_LEANANDMEAN
10887 PAssert(PIsDescendant(&obj
, H245_RedundancyEncoding_rtpRedundancyEncoding
), PInvalidCast
);
10889 const H245_RedundancyEncoding_rtpRedundancyEncoding
& other
= (const H245_RedundancyEncoding_rtpRedundancyEncoding
&)obj
;
10893 if ((result
= m_primary
.Compare(other
.m_primary
)) != EqualTo
)
10895 if ((result
= m_secondary
.Compare(other
.m_secondary
)) != EqualTo
)
10898 return PASN_Sequence::Compare(other
);
10902 PINDEX
H245_RedundancyEncoding_rtpRedundancyEncoding::GetDataLength() const
10905 if (HasOptionalField(e_primary
))
10906 length
+= m_primary
.GetObjectLength();
10907 if (HasOptionalField(e_secondary
))
10908 length
+= m_secondary
.GetObjectLength();
10913 BOOL
H245_RedundancyEncoding_rtpRedundancyEncoding::Decode(PASN_Stream
& strm
)
10915 if (!PreambleDecode(strm
))
10918 if (HasOptionalField(e_primary
) && !m_primary
.Decode(strm
))
10920 if (HasOptionalField(e_secondary
) && !m_secondary
.Decode(strm
))
10923 return UnknownExtensionsDecode(strm
);
10927 void H245_RedundancyEncoding_rtpRedundancyEncoding::Encode(PASN_Stream
& strm
) const
10929 PreambleEncode(strm
);
10931 if (HasOptionalField(e_primary
))
10932 m_primary
.Encode(strm
);
10933 if (HasOptionalField(e_secondary
))
10934 m_secondary
.Encode(strm
);
10936 UnknownExtensionsEncode(strm
);
10940 PObject
* H245_RedundancyEncoding_rtpRedundancyEncoding::Clone() const
10942 #ifndef PASN_LEANANDMEAN
10943 PAssert(IsClass(H245_RedundancyEncoding_rtpRedundancyEncoding::Class()), PInvalidCast
);
10945 return new H245_RedundancyEncoding_rtpRedundancyEncoding(*this);
10950 // DepFECData_rfc2733
10953 H245_DepFECData_rfc2733::H245_DepFECData_rfc2733(unsigned tag
, PASN_Object::TagClass tagClass
)
10954 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
10959 #ifndef PASN_NOPRINTON
10960 void H245_DepFECData_rfc2733::PrintOn(ostream
& strm
) const
10962 int indent
= strm
.precision() + 2;
10964 strm
<< setw(indent
+7) << "mode = " << setprecision(indent
) << m_mode
<< '\n';
10965 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
10970 PObject::Comparison
H245_DepFECData_rfc2733::Compare(const PObject
& obj
) const
10972 #ifndef PASN_LEANANDMEAN
10973 PAssert(PIsDescendant(&obj
, H245_DepFECData_rfc2733
), PInvalidCast
);
10975 const H245_DepFECData_rfc2733
& other
= (const H245_DepFECData_rfc2733
&)obj
;
10979 if ((result
= m_mode
.Compare(other
.m_mode
)) != EqualTo
)
10982 return PASN_Sequence::Compare(other
);
10986 PINDEX
H245_DepFECData_rfc2733::GetDataLength() const
10989 length
+= m_mode
.GetObjectLength();
10994 BOOL
H245_DepFECData_rfc2733::Decode(PASN_Stream
& strm
)
10996 if (!PreambleDecode(strm
))
10999 if (!m_mode
.Decode(strm
))
11002 return UnknownExtensionsDecode(strm
);
11006 void H245_DepFECData_rfc2733::Encode(PASN_Stream
& strm
) const
11008 PreambleEncode(strm
);
11010 m_mode
.Encode(strm
);
11012 UnknownExtensionsEncode(strm
);
11016 PObject
* H245_DepFECData_rfc2733::Clone() const
11018 #ifndef PASN_LEANANDMEAN
11019 PAssert(IsClass(H245_DepFECData_rfc2733::Class()), PInvalidCast
);
11021 return new H245_DepFECData_rfc2733(*this);
11029 H245_FECData_rfc2733::H245_FECData_rfc2733(unsigned tag
, PASN_Object::TagClass tagClass
)
11030 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
11032 m_protectedPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 0, 127);
11036 #ifndef PASN_NOPRINTON
11037 void H245_FECData_rfc2733::PrintOn(ostream
& strm
) const
11039 int indent
= strm
.precision() + 2;
11041 strm
<< setw(indent
+23) << "protectedPayloadType = " << setprecision(indent
) << m_protectedPayloadType
<< '\n';
11042 if (HasOptionalField(e_fecScheme
))
11043 strm
<< setw(indent
+12) << "fecScheme = " << setprecision(indent
) << m_fecScheme
<< '\n';
11044 strm
<< setw(indent
+10) << "pktMode = " << setprecision(indent
) << m_pktMode
<< '\n';
11045 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11050 PObject::Comparison
H245_FECData_rfc2733::Compare(const PObject
& obj
) const
11052 #ifndef PASN_LEANANDMEAN
11053 PAssert(PIsDescendant(&obj
, H245_FECData_rfc2733
), PInvalidCast
);
11055 const H245_FECData_rfc2733
& other
= (const H245_FECData_rfc2733
&)obj
;
11059 if ((result
= m_protectedPayloadType
.Compare(other
.m_protectedPayloadType
)) != EqualTo
)
11061 if ((result
= m_fecScheme
.Compare(other
.m_fecScheme
)) != EqualTo
)
11063 if ((result
= m_pktMode
.Compare(other
.m_pktMode
)) != EqualTo
)
11066 return PASN_Sequence::Compare(other
);
11070 PINDEX
H245_FECData_rfc2733::GetDataLength() const
11073 length
+= m_protectedPayloadType
.GetObjectLength();
11074 if (HasOptionalField(e_fecScheme
))
11075 length
+= m_fecScheme
.GetObjectLength();
11076 length
+= m_pktMode
.GetObjectLength();
11081 BOOL
H245_FECData_rfc2733::Decode(PASN_Stream
& strm
)
11083 if (!PreambleDecode(strm
))
11086 if (!m_protectedPayloadType
.Decode(strm
))
11088 if (HasOptionalField(e_fecScheme
) && !m_fecScheme
.Decode(strm
))
11090 if (!m_pktMode
.Decode(strm
))
11093 return UnknownExtensionsDecode(strm
);
11097 void H245_FECData_rfc2733::Encode(PASN_Stream
& strm
) const
11099 PreambleEncode(strm
);
11101 m_protectedPayloadType
.Encode(strm
);
11102 if (HasOptionalField(e_fecScheme
))
11103 m_fecScheme
.Encode(strm
);
11104 m_pktMode
.Encode(strm
);
11106 UnknownExtensionsEncode(strm
);
11110 PObject
* H245_FECData_rfc2733::Clone() const
11112 #ifndef PASN_LEANANDMEAN
11113 PAssert(IsClass(H245_FECData_rfc2733::Class()), PInvalidCast
);
11115 return new H245_FECData_rfc2733(*this);
11120 // UnicastAddress_iPSourceRouteAddress
11123 H245_UnicastAddress_iPSourceRouteAddress::H245_UnicastAddress_iPSourceRouteAddress(unsigned tag
, PASN_Object::TagClass tagClass
)
11124 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11126 m_network
.SetConstraints(PASN_Object::FixedConstraint
, 4);
11127 m_tsapIdentifier
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
11131 #ifndef PASN_NOPRINTON
11132 void H245_UnicastAddress_iPSourceRouteAddress::PrintOn(ostream
& strm
) const
11134 int indent
= strm
.precision() + 2;
11136 strm
<< setw(indent
+10) << "routing = " << setprecision(indent
) << m_routing
<< '\n';
11137 strm
<< setw(indent
+10) << "network = " << setprecision(indent
) << m_network
<< '\n';
11138 strm
<< setw(indent
+17) << "tsapIdentifier = " << setprecision(indent
) << m_tsapIdentifier
<< '\n';
11139 strm
<< setw(indent
+8) << "route = " << setprecision(indent
) << m_route
<< '\n';
11140 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11145 PObject::Comparison
H245_UnicastAddress_iPSourceRouteAddress::Compare(const PObject
& obj
) const
11147 #ifndef PASN_LEANANDMEAN
11148 PAssert(PIsDescendant(&obj
, H245_UnicastAddress_iPSourceRouteAddress
), PInvalidCast
);
11150 const H245_UnicastAddress_iPSourceRouteAddress
& other
= (const H245_UnicastAddress_iPSourceRouteAddress
&)obj
;
11154 if ((result
= m_routing
.Compare(other
.m_routing
)) != EqualTo
)
11156 if ((result
= m_network
.Compare(other
.m_network
)) != EqualTo
)
11158 if ((result
= m_tsapIdentifier
.Compare(other
.m_tsapIdentifier
)) != EqualTo
)
11160 if ((result
= m_route
.Compare(other
.m_route
)) != EqualTo
)
11163 return PASN_Sequence::Compare(other
);
11167 PINDEX
H245_UnicastAddress_iPSourceRouteAddress::GetDataLength() const
11170 length
+= m_routing
.GetObjectLength();
11171 length
+= m_network
.GetObjectLength();
11172 length
+= m_tsapIdentifier
.GetObjectLength();
11173 length
+= m_route
.GetObjectLength();
11178 BOOL
H245_UnicastAddress_iPSourceRouteAddress::Decode(PASN_Stream
& strm
)
11180 if (!PreambleDecode(strm
))
11183 if (!m_routing
.Decode(strm
))
11185 if (!m_network
.Decode(strm
))
11187 if (!m_tsapIdentifier
.Decode(strm
))
11189 if (!m_route
.Decode(strm
))
11192 return UnknownExtensionsDecode(strm
);
11196 void H245_UnicastAddress_iPSourceRouteAddress::Encode(PASN_Stream
& strm
) const
11198 PreambleEncode(strm
);
11200 m_routing
.Encode(strm
);
11201 m_network
.Encode(strm
);
11202 m_tsapIdentifier
.Encode(strm
);
11203 m_route
.Encode(strm
);
11205 UnknownExtensionsEncode(strm
);
11209 PObject
* H245_UnicastAddress_iPSourceRouteAddress::Clone() const
11211 #ifndef PASN_LEANANDMEAN
11212 PAssert(IsClass(H245_UnicastAddress_iPSourceRouteAddress::Class()), PInvalidCast
);
11214 return new H245_UnicastAddress_iPSourceRouteAddress(*this);
11219 // OpenLogicalChannelAck_reverseLogicalChannelParameters
11222 H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::H245_OpenLogicalChannelAck_reverseLogicalChannelParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
11223 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 1)
11225 m_portNumber
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
11229 #ifndef PASN_NOPRINTON
11230 void H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::PrintOn(ostream
& strm
) const
11232 int indent
= strm
.precision() + 2;
11234 strm
<< setw(indent
+30) << "reverseLogicalChannelNumber = " << setprecision(indent
) << m_reverseLogicalChannelNumber
<< '\n';
11235 if (HasOptionalField(e_portNumber
))
11236 strm
<< setw(indent
+13) << "portNumber = " << setprecision(indent
) << m_portNumber
<< '\n';
11237 if (HasOptionalField(e_multiplexParameters
))
11238 strm
<< setw(indent
+22) << "multiplexParameters = " << setprecision(indent
) << m_multiplexParameters
<< '\n';
11239 if (HasOptionalField(e_replacementFor
))
11240 strm
<< setw(indent
+17) << "replacementFor = " << setprecision(indent
) << m_replacementFor
<< '\n';
11241 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11246 PObject::Comparison
H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::Compare(const PObject
& obj
) const
11248 #ifndef PASN_LEANANDMEAN
11249 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannelAck_reverseLogicalChannelParameters
), PInvalidCast
);
11251 const H245_OpenLogicalChannelAck_reverseLogicalChannelParameters
& other
= (const H245_OpenLogicalChannelAck_reverseLogicalChannelParameters
&)obj
;
11255 if ((result
= m_reverseLogicalChannelNumber
.Compare(other
.m_reverseLogicalChannelNumber
)) != EqualTo
)
11257 if ((result
= m_portNumber
.Compare(other
.m_portNumber
)) != EqualTo
)
11259 if ((result
= m_multiplexParameters
.Compare(other
.m_multiplexParameters
)) != EqualTo
)
11262 return PASN_Sequence::Compare(other
);
11266 PINDEX
H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::GetDataLength() const
11269 length
+= m_reverseLogicalChannelNumber
.GetObjectLength();
11270 if (HasOptionalField(e_portNumber
))
11271 length
+= m_portNumber
.GetObjectLength();
11272 if (HasOptionalField(e_multiplexParameters
))
11273 length
+= m_multiplexParameters
.GetObjectLength();
11278 BOOL
H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::Decode(PASN_Stream
& strm
)
11280 if (!PreambleDecode(strm
))
11283 if (!m_reverseLogicalChannelNumber
.Decode(strm
))
11285 if (HasOptionalField(e_portNumber
) && !m_portNumber
.Decode(strm
))
11287 if (HasOptionalField(e_multiplexParameters
) && !m_multiplexParameters
.Decode(strm
))
11289 if (!KnownExtensionDecode(strm
, e_replacementFor
, m_replacementFor
))
11292 return UnknownExtensionsDecode(strm
);
11296 void H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::Encode(PASN_Stream
& strm
) const
11298 PreambleEncode(strm
);
11300 m_reverseLogicalChannelNumber
.Encode(strm
);
11301 if (HasOptionalField(e_portNumber
))
11302 m_portNumber
.Encode(strm
);
11303 if (HasOptionalField(e_multiplexParameters
))
11304 m_multiplexParameters
.Encode(strm
);
11305 KnownExtensionEncode(strm
, e_replacementFor
, m_replacementFor
);
11307 UnknownExtensionsEncode(strm
);
11311 PObject
* H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::Clone() const
11313 #ifndef PASN_LEANANDMEAN
11314 PAssert(IsClass(H245_OpenLogicalChannelAck_reverseLogicalChannelParameters::Class()), PInvalidCast
);
11316 return new H245_OpenLogicalChannelAck_reverseLogicalChannelParameters(*this);
11321 // DepFECMode_rfc2733Mode
11324 H245_DepFECMode_rfc2733Mode::H245_DepFECMode_rfc2733Mode(unsigned tag
, PASN_Object::TagClass tagClass
)
11325 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11330 #ifndef PASN_NOPRINTON
11331 void H245_DepFECMode_rfc2733Mode::PrintOn(ostream
& strm
) const
11333 int indent
= strm
.precision() + 2;
11335 strm
<< setw(indent
+7) << "mode = " << setprecision(indent
) << m_mode
<< '\n';
11336 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11341 PObject::Comparison
H245_DepFECMode_rfc2733Mode::Compare(const PObject
& obj
) const
11343 #ifndef PASN_LEANANDMEAN
11344 PAssert(PIsDescendant(&obj
, H245_DepFECMode_rfc2733Mode
), PInvalidCast
);
11346 const H245_DepFECMode_rfc2733Mode
& other
= (const H245_DepFECMode_rfc2733Mode
&)obj
;
11350 if ((result
= m_mode
.Compare(other
.m_mode
)) != EqualTo
)
11353 return PASN_Sequence::Compare(other
);
11357 PINDEX
H245_DepFECMode_rfc2733Mode::GetDataLength() const
11360 length
+= m_mode
.GetObjectLength();
11365 BOOL
H245_DepFECMode_rfc2733Mode::Decode(PASN_Stream
& strm
)
11367 if (!PreambleDecode(strm
))
11370 if (!m_mode
.Decode(strm
))
11373 return UnknownExtensionsDecode(strm
);
11377 void H245_DepFECMode_rfc2733Mode::Encode(PASN_Stream
& strm
) const
11379 PreambleEncode(strm
);
11381 m_mode
.Encode(strm
);
11383 UnknownExtensionsEncode(strm
);
11387 PObject
* H245_DepFECMode_rfc2733Mode::Clone() const
11389 #ifndef PASN_LEANANDMEAN
11390 PAssert(IsClass(H245_DepFECMode_rfc2733Mode::Class()), PInvalidCast
);
11392 return new H245_DepFECMode_rfc2733Mode(*this);
11397 // ConferenceRequest_requestTerminalCertificate
11400 H245_ConferenceRequest_requestTerminalCertificate::H245_ConferenceRequest_requestTerminalCertificate(unsigned tag
, PASN_Object::TagClass tagClass
)
11401 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 0)
11403 m_sRandom
.SetConstraints(PASN_Object::FixedConstraint
, 1, 4294967295U);
11407 #ifndef PASN_NOPRINTON
11408 void H245_ConferenceRequest_requestTerminalCertificate::PrintOn(ostream
& strm
) const
11410 int indent
= strm
.precision() + 2;
11412 if (HasOptionalField(e_terminalLabel
))
11413 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11414 if (HasOptionalField(e_certSelectionCriteria
))
11415 strm
<< setw(indent
+24) << "certSelectionCriteria = " << setprecision(indent
) << m_certSelectionCriteria
<< '\n';
11416 if (HasOptionalField(e_sRandom
))
11417 strm
<< setw(indent
+10) << "sRandom = " << setprecision(indent
) << m_sRandom
<< '\n';
11418 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11423 PObject::Comparison
H245_ConferenceRequest_requestTerminalCertificate::Compare(const PObject
& obj
) const
11425 #ifndef PASN_LEANANDMEAN
11426 PAssert(PIsDescendant(&obj
, H245_ConferenceRequest_requestTerminalCertificate
), PInvalidCast
);
11428 const H245_ConferenceRequest_requestTerminalCertificate
& other
= (const H245_ConferenceRequest_requestTerminalCertificate
&)obj
;
11432 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11434 if ((result
= m_certSelectionCriteria
.Compare(other
.m_certSelectionCriteria
)) != EqualTo
)
11436 if ((result
= m_sRandom
.Compare(other
.m_sRandom
)) != EqualTo
)
11439 return PASN_Sequence::Compare(other
);
11443 PINDEX
H245_ConferenceRequest_requestTerminalCertificate::GetDataLength() const
11446 if (HasOptionalField(e_terminalLabel
))
11447 length
+= m_terminalLabel
.GetObjectLength();
11448 if (HasOptionalField(e_certSelectionCriteria
))
11449 length
+= m_certSelectionCriteria
.GetObjectLength();
11450 if (HasOptionalField(e_sRandom
))
11451 length
+= m_sRandom
.GetObjectLength();
11456 BOOL
H245_ConferenceRequest_requestTerminalCertificate::Decode(PASN_Stream
& strm
)
11458 if (!PreambleDecode(strm
))
11461 if (HasOptionalField(e_terminalLabel
) && !m_terminalLabel
.Decode(strm
))
11463 if (HasOptionalField(e_certSelectionCriteria
) && !m_certSelectionCriteria
.Decode(strm
))
11465 if (HasOptionalField(e_sRandom
) && !m_sRandom
.Decode(strm
))
11468 return UnknownExtensionsDecode(strm
);
11472 void H245_ConferenceRequest_requestTerminalCertificate::Encode(PASN_Stream
& strm
) const
11474 PreambleEncode(strm
);
11476 if (HasOptionalField(e_terminalLabel
))
11477 m_terminalLabel
.Encode(strm
);
11478 if (HasOptionalField(e_certSelectionCriteria
))
11479 m_certSelectionCriteria
.Encode(strm
);
11480 if (HasOptionalField(e_sRandom
))
11481 m_sRandom
.Encode(strm
);
11483 UnknownExtensionsEncode(strm
);
11487 PObject
* H245_ConferenceRequest_requestTerminalCertificate::Clone() const
11489 #ifndef PASN_LEANANDMEAN
11490 PAssert(IsClass(H245_ConferenceRequest_requestTerminalCertificate::Class()), PInvalidCast
);
11492 return new H245_ConferenceRequest_requestTerminalCertificate(*this);
11497 // ConferenceResponse_mCTerminalIDResponse
11500 H245_ConferenceResponse_mCTerminalIDResponse::H245_ConferenceResponse_mCTerminalIDResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11501 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11506 #ifndef PASN_NOPRINTON
11507 void H245_ConferenceResponse_mCTerminalIDResponse::PrintOn(ostream
& strm
) const
11509 int indent
= strm
.precision() + 2;
11511 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11512 strm
<< setw(indent
+13) << "terminalID = " << setprecision(indent
) << m_terminalID
<< '\n';
11513 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11518 PObject::Comparison
H245_ConferenceResponse_mCTerminalIDResponse::Compare(const PObject
& obj
) const
11520 #ifndef PASN_LEANANDMEAN
11521 PAssert(PIsDescendant(&obj
, H245_ConferenceResponse_mCTerminalIDResponse
), PInvalidCast
);
11523 const H245_ConferenceResponse_mCTerminalIDResponse
& other
= (const H245_ConferenceResponse_mCTerminalIDResponse
&)obj
;
11527 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11529 if ((result
= m_terminalID
.Compare(other
.m_terminalID
)) != EqualTo
)
11532 return PASN_Sequence::Compare(other
);
11536 PINDEX
H245_ConferenceResponse_mCTerminalIDResponse::GetDataLength() const
11539 length
+= m_terminalLabel
.GetObjectLength();
11540 length
+= m_terminalID
.GetObjectLength();
11545 BOOL
H245_ConferenceResponse_mCTerminalIDResponse::Decode(PASN_Stream
& strm
)
11547 if (!PreambleDecode(strm
))
11550 if (!m_terminalLabel
.Decode(strm
))
11552 if (!m_terminalID
.Decode(strm
))
11555 return UnknownExtensionsDecode(strm
);
11559 void H245_ConferenceResponse_mCTerminalIDResponse::Encode(PASN_Stream
& strm
) const
11561 PreambleEncode(strm
);
11563 m_terminalLabel
.Encode(strm
);
11564 m_terminalID
.Encode(strm
);
11566 UnknownExtensionsEncode(strm
);
11570 PObject
* H245_ConferenceResponse_mCTerminalIDResponse::Clone() const
11572 #ifndef PASN_LEANANDMEAN
11573 PAssert(IsClass(H245_ConferenceResponse_mCTerminalIDResponse::Class()), PInvalidCast
);
11575 return new H245_ConferenceResponse_mCTerminalIDResponse(*this);
11580 // ConferenceResponse_terminalIDResponse
11583 H245_ConferenceResponse_terminalIDResponse::H245_ConferenceResponse_terminalIDResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11584 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11589 #ifndef PASN_NOPRINTON
11590 void H245_ConferenceResponse_terminalIDResponse::PrintOn(ostream
& strm
) const
11592 int indent
= strm
.precision() + 2;
11594 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11595 strm
<< setw(indent
+13) << "terminalID = " << setprecision(indent
) << m_terminalID
<< '\n';
11596 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11601 PObject::Comparison
H245_ConferenceResponse_terminalIDResponse::Compare(const PObject
& obj
) const
11603 #ifndef PASN_LEANANDMEAN
11604 PAssert(PIsDescendant(&obj
, H245_ConferenceResponse_terminalIDResponse
), PInvalidCast
);
11606 const H245_ConferenceResponse_terminalIDResponse
& other
= (const H245_ConferenceResponse_terminalIDResponse
&)obj
;
11610 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11612 if ((result
= m_terminalID
.Compare(other
.m_terminalID
)) != EqualTo
)
11615 return PASN_Sequence::Compare(other
);
11619 PINDEX
H245_ConferenceResponse_terminalIDResponse::GetDataLength() const
11622 length
+= m_terminalLabel
.GetObjectLength();
11623 length
+= m_terminalID
.GetObjectLength();
11628 BOOL
H245_ConferenceResponse_terminalIDResponse::Decode(PASN_Stream
& strm
)
11630 if (!PreambleDecode(strm
))
11633 if (!m_terminalLabel
.Decode(strm
))
11635 if (!m_terminalID
.Decode(strm
))
11638 return UnknownExtensionsDecode(strm
);
11642 void H245_ConferenceResponse_terminalIDResponse::Encode(PASN_Stream
& strm
) const
11644 PreambleEncode(strm
);
11646 m_terminalLabel
.Encode(strm
);
11647 m_terminalID
.Encode(strm
);
11649 UnknownExtensionsEncode(strm
);
11653 PObject
* H245_ConferenceResponse_terminalIDResponse::Clone() const
11655 #ifndef PASN_LEANANDMEAN
11656 PAssert(IsClass(H245_ConferenceResponse_terminalIDResponse::Class()), PInvalidCast
);
11658 return new H245_ConferenceResponse_terminalIDResponse(*this);
11663 // ConferenceResponse_conferenceIDResponse
11666 H245_ConferenceResponse_conferenceIDResponse::H245_ConferenceResponse_conferenceIDResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11667 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11672 #ifndef PASN_NOPRINTON
11673 void H245_ConferenceResponse_conferenceIDResponse::PrintOn(ostream
& strm
) const
11675 int indent
= strm
.precision() + 2;
11677 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11678 strm
<< setw(indent
+15) << "conferenceID = " << setprecision(indent
) << m_conferenceID
<< '\n';
11679 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11684 PObject::Comparison
H245_ConferenceResponse_conferenceIDResponse::Compare(const PObject
& obj
) const
11686 #ifndef PASN_LEANANDMEAN
11687 PAssert(PIsDescendant(&obj
, H245_ConferenceResponse_conferenceIDResponse
), PInvalidCast
);
11689 const H245_ConferenceResponse_conferenceIDResponse
& other
= (const H245_ConferenceResponse_conferenceIDResponse
&)obj
;
11693 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11695 if ((result
= m_conferenceID
.Compare(other
.m_conferenceID
)) != EqualTo
)
11698 return PASN_Sequence::Compare(other
);
11702 PINDEX
H245_ConferenceResponse_conferenceIDResponse::GetDataLength() const
11705 length
+= m_terminalLabel
.GetObjectLength();
11706 length
+= m_conferenceID
.GetObjectLength();
11711 BOOL
H245_ConferenceResponse_conferenceIDResponse::Decode(PASN_Stream
& strm
)
11713 if (!PreambleDecode(strm
))
11716 if (!m_terminalLabel
.Decode(strm
))
11718 if (!m_conferenceID
.Decode(strm
))
11721 return UnknownExtensionsDecode(strm
);
11725 void H245_ConferenceResponse_conferenceIDResponse::Encode(PASN_Stream
& strm
) const
11727 PreambleEncode(strm
);
11729 m_terminalLabel
.Encode(strm
);
11730 m_conferenceID
.Encode(strm
);
11732 UnknownExtensionsEncode(strm
);
11736 PObject
* H245_ConferenceResponse_conferenceIDResponse::Clone() const
11738 #ifndef PASN_LEANANDMEAN
11739 PAssert(IsClass(H245_ConferenceResponse_conferenceIDResponse::Class()), PInvalidCast
);
11741 return new H245_ConferenceResponse_conferenceIDResponse(*this);
11746 // ConferenceResponse_passwordResponse
11749 H245_ConferenceResponse_passwordResponse::H245_ConferenceResponse_passwordResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11750 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11755 #ifndef PASN_NOPRINTON
11756 void H245_ConferenceResponse_passwordResponse::PrintOn(ostream
& strm
) const
11758 int indent
= strm
.precision() + 2;
11760 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11761 strm
<< setw(indent
+11) << "password = " << setprecision(indent
) << m_password
<< '\n';
11762 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11767 PObject::Comparison
H245_ConferenceResponse_passwordResponse::Compare(const PObject
& obj
) const
11769 #ifndef PASN_LEANANDMEAN
11770 PAssert(PIsDescendant(&obj
, H245_ConferenceResponse_passwordResponse
), PInvalidCast
);
11772 const H245_ConferenceResponse_passwordResponse
& other
= (const H245_ConferenceResponse_passwordResponse
&)obj
;
11776 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11778 if ((result
= m_password
.Compare(other
.m_password
)) != EqualTo
)
11781 return PASN_Sequence::Compare(other
);
11785 PINDEX
H245_ConferenceResponse_passwordResponse::GetDataLength() const
11788 length
+= m_terminalLabel
.GetObjectLength();
11789 length
+= m_password
.GetObjectLength();
11794 BOOL
H245_ConferenceResponse_passwordResponse::Decode(PASN_Stream
& strm
)
11796 if (!PreambleDecode(strm
))
11799 if (!m_terminalLabel
.Decode(strm
))
11801 if (!m_password
.Decode(strm
))
11804 return UnknownExtensionsDecode(strm
);
11808 void H245_ConferenceResponse_passwordResponse::Encode(PASN_Stream
& strm
) const
11810 PreambleEncode(strm
);
11812 m_terminalLabel
.Encode(strm
);
11813 m_password
.Encode(strm
);
11815 UnknownExtensionsEncode(strm
);
11819 PObject
* H245_ConferenceResponse_passwordResponse::Clone() const
11821 #ifndef PASN_LEANANDMEAN
11822 PAssert(IsClass(H245_ConferenceResponse_passwordResponse::Class()), PInvalidCast
);
11824 return new H245_ConferenceResponse_passwordResponse(*this);
11829 // ConferenceResponse_chairTokenOwnerResponse
11832 H245_ConferenceResponse_chairTokenOwnerResponse::H245_ConferenceResponse_chairTokenOwnerResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11833 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
11838 #ifndef PASN_NOPRINTON
11839 void H245_ConferenceResponse_chairTokenOwnerResponse::PrintOn(ostream
& strm
) const
11841 int indent
= strm
.precision() + 2;
11843 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11844 strm
<< setw(indent
+13) << "terminalID = " << setprecision(indent
) << m_terminalID
<< '\n';
11845 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11850 PObject::Comparison
H245_ConferenceResponse_chairTokenOwnerResponse::Compare(const PObject
& obj
) const
11852 #ifndef PASN_LEANANDMEAN
11853 PAssert(PIsDescendant(&obj
, H245_ConferenceResponse_chairTokenOwnerResponse
), PInvalidCast
);
11855 const H245_ConferenceResponse_chairTokenOwnerResponse
& other
= (const H245_ConferenceResponse_chairTokenOwnerResponse
&)obj
;
11859 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11861 if ((result
= m_terminalID
.Compare(other
.m_terminalID
)) != EqualTo
)
11864 return PASN_Sequence::Compare(other
);
11868 PINDEX
H245_ConferenceResponse_chairTokenOwnerResponse::GetDataLength() const
11871 length
+= m_terminalLabel
.GetObjectLength();
11872 length
+= m_terminalID
.GetObjectLength();
11877 BOOL
H245_ConferenceResponse_chairTokenOwnerResponse::Decode(PASN_Stream
& strm
)
11879 if (!PreambleDecode(strm
))
11882 if (!m_terminalLabel
.Decode(strm
))
11884 if (!m_terminalID
.Decode(strm
))
11887 return UnknownExtensionsDecode(strm
);
11891 void H245_ConferenceResponse_chairTokenOwnerResponse::Encode(PASN_Stream
& strm
) const
11893 PreambleEncode(strm
);
11895 m_terminalLabel
.Encode(strm
);
11896 m_terminalID
.Encode(strm
);
11898 UnknownExtensionsEncode(strm
);
11902 PObject
* H245_ConferenceResponse_chairTokenOwnerResponse::Clone() const
11904 #ifndef PASN_LEANANDMEAN
11905 PAssert(IsClass(H245_ConferenceResponse_chairTokenOwnerResponse::Class()), PInvalidCast
);
11907 return new H245_ConferenceResponse_chairTokenOwnerResponse(*this);
11912 // ConferenceResponse_terminalCertificateResponse
11915 H245_ConferenceResponse_terminalCertificateResponse::H245_ConferenceResponse_terminalCertificateResponse(unsigned tag
, PASN_Object::TagClass tagClass
)
11916 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
11918 m_certificateResponse
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
11922 #ifndef PASN_NOPRINTON
11923 void H245_ConferenceResponse_terminalCertificateResponse::PrintOn(ostream
& strm
) const
11925 int indent
= strm
.precision() + 2;
11927 if (HasOptionalField(e_terminalLabel
))
11928 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
11929 if (HasOptionalField(e_certificateResponse
))
11930 strm
<< setw(indent
+22) << "certificateResponse = " << setprecision(indent
) << m_certificateResponse
<< '\n';
11931 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
11936 PObject::Comparison
H245_ConferenceResponse_terminalCertificateResponse::Compare(const PObject
& obj
) const
11938 #ifndef PASN_LEANANDMEAN
11939 PAssert(PIsDescendant(&obj
, H245_ConferenceResponse_terminalCertificateResponse
), PInvalidCast
);
11941 const H245_ConferenceResponse_terminalCertificateResponse
& other
= (const H245_ConferenceResponse_terminalCertificateResponse
&)obj
;
11945 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
11947 if ((result
= m_certificateResponse
.Compare(other
.m_certificateResponse
)) != EqualTo
)
11950 return PASN_Sequence::Compare(other
);
11954 PINDEX
H245_ConferenceResponse_terminalCertificateResponse::GetDataLength() const
11957 if (HasOptionalField(e_terminalLabel
))
11958 length
+= m_terminalLabel
.GetObjectLength();
11959 if (HasOptionalField(e_certificateResponse
))
11960 length
+= m_certificateResponse
.GetObjectLength();
11965 BOOL
H245_ConferenceResponse_terminalCertificateResponse::Decode(PASN_Stream
& strm
)
11967 if (!PreambleDecode(strm
))
11970 if (HasOptionalField(e_terminalLabel
) && !m_terminalLabel
.Decode(strm
))
11972 if (HasOptionalField(e_certificateResponse
) && !m_certificateResponse
.Decode(strm
))
11975 return UnknownExtensionsDecode(strm
);
11979 void H245_ConferenceResponse_terminalCertificateResponse::Encode(PASN_Stream
& strm
) const
11981 PreambleEncode(strm
);
11983 if (HasOptionalField(e_terminalLabel
))
11984 m_terminalLabel
.Encode(strm
);
11985 if (HasOptionalField(e_certificateResponse
))
11986 m_certificateResponse
.Encode(strm
);
11988 UnknownExtensionsEncode(strm
);
11992 PObject
* H245_ConferenceResponse_terminalCertificateResponse::Clone() const
11994 #ifndef PASN_LEANANDMEAN
11995 PAssert(IsClass(H245_ConferenceResponse_terminalCertificateResponse::Class()), PInvalidCast
);
11997 return new H245_ConferenceResponse_terminalCertificateResponse(*this);
12002 // MultilinkRequest_maximumHeaderInterval
12005 H245_MultilinkRequest_maximumHeaderInterval::H245_MultilinkRequest_maximumHeaderInterval(unsigned tag
, PASN_Object::TagClass tagClass
)
12006 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
12011 #ifndef PASN_NOPRINTON
12012 void H245_MultilinkRequest_maximumHeaderInterval::PrintOn(ostream
& strm
) const
12014 int indent
= strm
.precision() + 2;
12016 strm
<< setw(indent
+14) << "requestType = " << setprecision(indent
) << m_requestType
<< '\n';
12017 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12022 PObject::Comparison
H245_MultilinkRequest_maximumHeaderInterval::Compare(const PObject
& obj
) const
12024 #ifndef PASN_LEANANDMEAN
12025 PAssert(PIsDescendant(&obj
, H245_MultilinkRequest_maximumHeaderInterval
), PInvalidCast
);
12027 const H245_MultilinkRequest_maximumHeaderInterval
& other
= (const H245_MultilinkRequest_maximumHeaderInterval
&)obj
;
12031 if ((result
= m_requestType
.Compare(other
.m_requestType
)) != EqualTo
)
12034 return PASN_Sequence::Compare(other
);
12038 PINDEX
H245_MultilinkRequest_maximumHeaderInterval::GetDataLength() const
12041 length
+= m_requestType
.GetObjectLength();
12046 BOOL
H245_MultilinkRequest_maximumHeaderInterval::Decode(PASN_Stream
& strm
)
12048 if (!PreambleDecode(strm
))
12051 if (!m_requestType
.Decode(strm
))
12054 return UnknownExtensionsDecode(strm
);
12058 void H245_MultilinkRequest_maximumHeaderInterval::Encode(PASN_Stream
& strm
) const
12060 PreambleEncode(strm
);
12062 m_requestType
.Encode(strm
);
12064 UnknownExtensionsEncode(strm
);
12068 PObject
* H245_MultilinkRequest_maximumHeaderInterval::Clone() const
12070 #ifndef PASN_LEANANDMEAN
12071 PAssert(IsClass(H245_MultilinkRequest_maximumHeaderInterval::Class()), PInvalidCast
);
12073 return new H245_MultilinkRequest_maximumHeaderInterval(*this);
12078 // MultilinkResponse_addConnection
12081 H245_MultilinkResponse_addConnection::H245_MultilinkResponse_addConnection(unsigned tag
, PASN_Object::TagClass tagClass
)
12082 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
12087 #ifndef PASN_NOPRINTON
12088 void H245_MultilinkResponse_addConnection::PrintOn(ostream
& strm
) const
12090 int indent
= strm
.precision() + 2;
12092 strm
<< setw(indent
+17) << "sequenceNumber = " << setprecision(indent
) << m_sequenceNumber
<< '\n';
12093 strm
<< setw(indent
+15) << "responseCode = " << setprecision(indent
) << m_responseCode
<< '\n';
12094 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12099 PObject::Comparison
H245_MultilinkResponse_addConnection::Compare(const PObject
& obj
) const
12101 #ifndef PASN_LEANANDMEAN
12102 PAssert(PIsDescendant(&obj
, H245_MultilinkResponse_addConnection
), PInvalidCast
);
12104 const H245_MultilinkResponse_addConnection
& other
= (const H245_MultilinkResponse_addConnection
&)obj
;
12108 if ((result
= m_sequenceNumber
.Compare(other
.m_sequenceNumber
)) != EqualTo
)
12110 if ((result
= m_responseCode
.Compare(other
.m_responseCode
)) != EqualTo
)
12113 return PASN_Sequence::Compare(other
);
12117 PINDEX
H245_MultilinkResponse_addConnection::GetDataLength() const
12120 length
+= m_sequenceNumber
.GetObjectLength();
12121 length
+= m_responseCode
.GetObjectLength();
12126 BOOL
H245_MultilinkResponse_addConnection::Decode(PASN_Stream
& strm
)
12128 if (!PreambleDecode(strm
))
12131 if (!m_sequenceNumber
.Decode(strm
))
12133 if (!m_responseCode
.Decode(strm
))
12136 return UnknownExtensionsDecode(strm
);
12140 void H245_MultilinkResponse_addConnection::Encode(PASN_Stream
& strm
) const
12142 PreambleEncode(strm
);
12144 m_sequenceNumber
.Encode(strm
);
12145 m_responseCode
.Encode(strm
);
12147 UnknownExtensionsEncode(strm
);
12151 PObject
* H245_MultilinkResponse_addConnection::Clone() const
12153 #ifndef PASN_LEANANDMEAN
12154 PAssert(IsClass(H245_MultilinkResponse_addConnection::Class()), PInvalidCast
);
12156 return new H245_MultilinkResponse_addConnection(*this);
12161 // SendTerminalCapabilitySet_specificRequest
12164 H245_SendTerminalCapabilitySet_specificRequest::H245_SendTerminalCapabilitySet_specificRequest(unsigned tag
, PASN_Object::TagClass tagClass
)
12165 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 0)
12167 m_capabilityTableEntryNumbers
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
12168 m_capabilityDescriptorNumbers
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
12172 #ifndef PASN_NOPRINTON
12173 void H245_SendTerminalCapabilitySet_specificRequest::PrintOn(ostream
& strm
) const
12175 int indent
= strm
.precision() + 2;
12177 strm
<< setw(indent
+22) << "multiplexCapability = " << setprecision(indent
) << m_multiplexCapability
<< '\n';
12178 if (HasOptionalField(e_capabilityTableEntryNumbers
))
12179 strm
<< setw(indent
+30) << "capabilityTableEntryNumbers = " << setprecision(indent
) << m_capabilityTableEntryNumbers
<< '\n';
12180 if (HasOptionalField(e_capabilityDescriptorNumbers
))
12181 strm
<< setw(indent
+30) << "capabilityDescriptorNumbers = " << setprecision(indent
) << m_capabilityDescriptorNumbers
<< '\n';
12182 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12187 PObject::Comparison
H245_SendTerminalCapabilitySet_specificRequest::Compare(const PObject
& obj
) const
12189 #ifndef PASN_LEANANDMEAN
12190 PAssert(PIsDescendant(&obj
, H245_SendTerminalCapabilitySet_specificRequest
), PInvalidCast
);
12192 const H245_SendTerminalCapabilitySet_specificRequest
& other
= (const H245_SendTerminalCapabilitySet_specificRequest
&)obj
;
12196 if ((result
= m_multiplexCapability
.Compare(other
.m_multiplexCapability
)) != EqualTo
)
12198 if ((result
= m_capabilityTableEntryNumbers
.Compare(other
.m_capabilityTableEntryNumbers
)) != EqualTo
)
12200 if ((result
= m_capabilityDescriptorNumbers
.Compare(other
.m_capabilityDescriptorNumbers
)) != EqualTo
)
12203 return PASN_Sequence::Compare(other
);
12207 PINDEX
H245_SendTerminalCapabilitySet_specificRequest::GetDataLength() const
12210 length
+= m_multiplexCapability
.GetObjectLength();
12211 if (HasOptionalField(e_capabilityTableEntryNumbers
))
12212 length
+= m_capabilityTableEntryNumbers
.GetObjectLength();
12213 if (HasOptionalField(e_capabilityDescriptorNumbers
))
12214 length
+= m_capabilityDescriptorNumbers
.GetObjectLength();
12219 BOOL
H245_SendTerminalCapabilitySet_specificRequest::Decode(PASN_Stream
& strm
)
12221 if (!PreambleDecode(strm
))
12224 if (!m_multiplexCapability
.Decode(strm
))
12226 if (HasOptionalField(e_capabilityTableEntryNumbers
) && !m_capabilityTableEntryNumbers
.Decode(strm
))
12228 if (HasOptionalField(e_capabilityDescriptorNumbers
) && !m_capabilityDescriptorNumbers
.Decode(strm
))
12231 return UnknownExtensionsDecode(strm
);
12235 void H245_SendTerminalCapabilitySet_specificRequest::Encode(PASN_Stream
& strm
) const
12237 PreambleEncode(strm
);
12239 m_multiplexCapability
.Encode(strm
);
12240 if (HasOptionalField(e_capabilityTableEntryNumbers
))
12241 m_capabilityTableEntryNumbers
.Encode(strm
);
12242 if (HasOptionalField(e_capabilityDescriptorNumbers
))
12243 m_capabilityDescriptorNumbers
.Encode(strm
);
12245 UnknownExtensionsEncode(strm
);
12249 PObject
* H245_SendTerminalCapabilitySet_specificRequest::Clone() const
12251 #ifndef PASN_LEANANDMEAN
12252 PAssert(IsClass(H245_SendTerminalCapabilitySet_specificRequest::Class()), PInvalidCast
);
12254 return new H245_SendTerminalCapabilitySet_specificRequest(*this);
12259 // EncryptionCommand_encryptionAlgorithmID
12262 H245_EncryptionCommand_encryptionAlgorithmID::H245_EncryptionCommand_encryptionAlgorithmID(unsigned tag
, PASN_Object::TagClass tagClass
)
12263 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
12268 #ifndef PASN_NOPRINTON
12269 void H245_EncryptionCommand_encryptionAlgorithmID::PrintOn(ostream
& strm
) const
12271 int indent
= strm
.precision() + 2;
12273 strm
<< setw(indent
+26) << "h233AlgorithmIdentifier = " << setprecision(indent
) << m_h233AlgorithmIdentifier
<< '\n';
12274 strm
<< setw(indent
+22) << "associatedAlgorithm = " << setprecision(indent
) << m_associatedAlgorithm
<< '\n';
12275 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12280 PObject::Comparison
H245_EncryptionCommand_encryptionAlgorithmID::Compare(const PObject
& obj
) const
12282 #ifndef PASN_LEANANDMEAN
12283 PAssert(PIsDescendant(&obj
, H245_EncryptionCommand_encryptionAlgorithmID
), PInvalidCast
);
12285 const H245_EncryptionCommand_encryptionAlgorithmID
& other
= (const H245_EncryptionCommand_encryptionAlgorithmID
&)obj
;
12289 if ((result
= m_h233AlgorithmIdentifier
.Compare(other
.m_h233AlgorithmIdentifier
)) != EqualTo
)
12291 if ((result
= m_associatedAlgorithm
.Compare(other
.m_associatedAlgorithm
)) != EqualTo
)
12294 return PASN_Sequence::Compare(other
);
12298 PINDEX
H245_EncryptionCommand_encryptionAlgorithmID::GetDataLength() const
12301 length
+= m_h233AlgorithmIdentifier
.GetObjectLength();
12302 length
+= m_associatedAlgorithm
.GetObjectLength();
12307 BOOL
H245_EncryptionCommand_encryptionAlgorithmID::Decode(PASN_Stream
& strm
)
12309 if (!PreambleDecode(strm
))
12312 if (!m_h233AlgorithmIdentifier
.Decode(strm
))
12314 if (!m_associatedAlgorithm
.Decode(strm
))
12317 return UnknownExtensionsDecode(strm
);
12321 void H245_EncryptionCommand_encryptionAlgorithmID::Encode(PASN_Stream
& strm
) const
12323 PreambleEncode(strm
);
12325 m_h233AlgorithmIdentifier
.Encode(strm
);
12326 m_associatedAlgorithm
.Encode(strm
);
12328 UnknownExtensionsEncode(strm
);
12332 PObject
* H245_EncryptionCommand_encryptionAlgorithmID::Clone() const
12334 #ifndef PASN_LEANANDMEAN
12335 PAssert(IsClass(H245_EncryptionCommand_encryptionAlgorithmID::Class()), PInvalidCast
);
12337 return new H245_EncryptionCommand_encryptionAlgorithmID(*this);
12342 // NewATMVCCommand_reverseParameters
12345 H245_NewATMVCCommand_reverseParameters::H245_NewATMVCCommand_reverseParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
12346 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
12348 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
12352 #ifndef PASN_NOPRINTON
12353 void H245_NewATMVCCommand_reverseParameters::PrintOn(ostream
& strm
) const
12355 int indent
= strm
.precision() + 2;
12357 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
12358 strm
<< setw(indent
+26) << "bitRateLockedToPCRClock = " << setprecision(indent
) << m_bitRateLockedToPCRClock
<< '\n';
12359 strm
<< setw(indent
+30) << "bitRateLockedToNetworkClock = " << setprecision(indent
) << m_bitRateLockedToNetworkClock
<< '\n';
12360 strm
<< setw(indent
+12) << "multiplex = " << setprecision(indent
) << m_multiplex
<< '\n';
12361 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12366 PObject::Comparison
H245_NewATMVCCommand_reverseParameters::Compare(const PObject
& obj
) const
12368 #ifndef PASN_LEANANDMEAN
12369 PAssert(PIsDescendant(&obj
, H245_NewATMVCCommand_reverseParameters
), PInvalidCast
);
12371 const H245_NewATMVCCommand_reverseParameters
& other
= (const H245_NewATMVCCommand_reverseParameters
&)obj
;
12375 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
12377 if ((result
= m_bitRateLockedToPCRClock
.Compare(other
.m_bitRateLockedToPCRClock
)) != EqualTo
)
12379 if ((result
= m_bitRateLockedToNetworkClock
.Compare(other
.m_bitRateLockedToNetworkClock
)) != EqualTo
)
12381 if ((result
= m_multiplex
.Compare(other
.m_multiplex
)) != EqualTo
)
12384 return PASN_Sequence::Compare(other
);
12388 PINDEX
H245_NewATMVCCommand_reverseParameters::GetDataLength() const
12391 length
+= m_bitRate
.GetObjectLength();
12392 length
+= m_bitRateLockedToPCRClock
.GetObjectLength();
12393 length
+= m_bitRateLockedToNetworkClock
.GetObjectLength();
12394 length
+= m_multiplex
.GetObjectLength();
12399 BOOL
H245_NewATMVCCommand_reverseParameters::Decode(PASN_Stream
& strm
)
12401 if (!PreambleDecode(strm
))
12404 if (!m_bitRate
.Decode(strm
))
12406 if (!m_bitRateLockedToPCRClock
.Decode(strm
))
12408 if (!m_bitRateLockedToNetworkClock
.Decode(strm
))
12410 if (!m_multiplex
.Decode(strm
))
12413 return UnknownExtensionsDecode(strm
);
12417 void H245_NewATMVCCommand_reverseParameters::Encode(PASN_Stream
& strm
) const
12419 PreambleEncode(strm
);
12421 m_bitRate
.Encode(strm
);
12422 m_bitRateLockedToPCRClock
.Encode(strm
);
12423 m_bitRateLockedToNetworkClock
.Encode(strm
);
12424 m_multiplex
.Encode(strm
);
12426 UnknownExtensionsEncode(strm
);
12430 PObject
* H245_NewATMVCCommand_reverseParameters::Clone() const
12432 #ifndef PASN_LEANANDMEAN
12433 PAssert(IsClass(H245_NewATMVCCommand_reverseParameters::Class()), PInvalidCast
);
12435 return new H245_NewATMVCCommand_reverseParameters(*this);
12440 // NewATMVCIndication_reverseParameters
12443 H245_NewATMVCIndication_reverseParameters::H245_NewATMVCIndication_reverseParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
12444 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
12446 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
12450 #ifndef PASN_NOPRINTON
12451 void H245_NewATMVCIndication_reverseParameters::PrintOn(ostream
& strm
) const
12453 int indent
= strm
.precision() + 2;
12455 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
12456 strm
<< setw(indent
+26) << "bitRateLockedToPCRClock = " << setprecision(indent
) << m_bitRateLockedToPCRClock
<< '\n';
12457 strm
<< setw(indent
+30) << "bitRateLockedToNetworkClock = " << setprecision(indent
) << m_bitRateLockedToNetworkClock
<< '\n';
12458 strm
<< setw(indent
+12) << "multiplex = " << setprecision(indent
) << m_multiplex
<< '\n';
12459 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12464 PObject::Comparison
H245_NewATMVCIndication_reverseParameters::Compare(const PObject
& obj
) const
12466 #ifndef PASN_LEANANDMEAN
12467 PAssert(PIsDescendant(&obj
, H245_NewATMVCIndication_reverseParameters
), PInvalidCast
);
12469 const H245_NewATMVCIndication_reverseParameters
& other
= (const H245_NewATMVCIndication_reverseParameters
&)obj
;
12473 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
12475 if ((result
= m_bitRateLockedToPCRClock
.Compare(other
.m_bitRateLockedToPCRClock
)) != EqualTo
)
12477 if ((result
= m_bitRateLockedToNetworkClock
.Compare(other
.m_bitRateLockedToNetworkClock
)) != EqualTo
)
12479 if ((result
= m_multiplex
.Compare(other
.m_multiplex
)) != EqualTo
)
12482 return PASN_Sequence::Compare(other
);
12486 PINDEX
H245_NewATMVCIndication_reverseParameters::GetDataLength() const
12489 length
+= m_bitRate
.GetObjectLength();
12490 length
+= m_bitRateLockedToPCRClock
.GetObjectLength();
12491 length
+= m_bitRateLockedToNetworkClock
.GetObjectLength();
12492 length
+= m_multiplex
.GetObjectLength();
12497 BOOL
H245_NewATMVCIndication_reverseParameters::Decode(PASN_Stream
& strm
)
12499 if (!PreambleDecode(strm
))
12502 if (!m_bitRate
.Decode(strm
))
12504 if (!m_bitRateLockedToPCRClock
.Decode(strm
))
12506 if (!m_bitRateLockedToNetworkClock
.Decode(strm
))
12508 if (!m_multiplex
.Decode(strm
))
12511 return UnknownExtensionsDecode(strm
);
12515 void H245_NewATMVCIndication_reverseParameters::Encode(PASN_Stream
& strm
) const
12517 PreambleEncode(strm
);
12519 m_bitRate
.Encode(strm
);
12520 m_bitRateLockedToPCRClock
.Encode(strm
);
12521 m_bitRateLockedToNetworkClock
.Encode(strm
);
12522 m_multiplex
.Encode(strm
);
12524 UnknownExtensionsEncode(strm
);
12528 PObject
* H245_NewATMVCIndication_reverseParameters::Clone() const
12530 #ifndef PASN_LEANANDMEAN
12531 PAssert(IsClass(H245_NewATMVCIndication_reverseParameters::Class()), PInvalidCast
);
12533 return new H245_NewATMVCIndication_reverseParameters(*this);
12538 // UserInputIndication_signal
12541 H245_UserInputIndication_signal::H245_UserInputIndication_signal(unsigned tag
, PASN_Object::TagClass tagClass
)
12542 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 4)
12544 m_signalType
.SetConstraints(PASN_Object::FixedConstraint
, 1);
12545 m_signalType
.SetCharacterSet(PASN_Object::FixedConstraint
, "0123456789#*ABCD!");
12546 m_duration
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
12547 m_encryptedSignalType
.SetConstraints(PASN_Object::FixedConstraint
, 1);
12551 #ifndef PASN_NOPRINTON
12552 void H245_UserInputIndication_signal::PrintOn(ostream
& strm
) const
12554 int indent
= strm
.precision() + 2;
12556 strm
<< setw(indent
+13) << "signalType = " << setprecision(indent
) << m_signalType
<< '\n';
12557 if (HasOptionalField(e_duration
))
12558 strm
<< setw(indent
+11) << "duration = " << setprecision(indent
) << m_duration
<< '\n';
12559 if (HasOptionalField(e_rtp
))
12560 strm
<< setw(indent
+6) << "rtp = " << setprecision(indent
) << m_rtp
<< '\n';
12561 if (HasOptionalField(e_rtpPayloadIndication
))
12562 strm
<< setw(indent
+23) << "rtpPayloadIndication = " << setprecision(indent
) << m_rtpPayloadIndication
<< '\n';
12563 if (HasOptionalField(e_paramS
))
12564 strm
<< setw(indent
+9) << "paramS = " << setprecision(indent
) << m_paramS
<< '\n';
12565 if (HasOptionalField(e_encryptedSignalType
))
12566 strm
<< setw(indent
+22) << "encryptedSignalType = " << setprecision(indent
) << m_encryptedSignalType
<< '\n';
12567 if (HasOptionalField(e_algorithmOID
))
12568 strm
<< setw(indent
+15) << "algorithmOID = " << setprecision(indent
) << m_algorithmOID
<< '\n';
12569 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12574 PObject::Comparison
H245_UserInputIndication_signal::Compare(const PObject
& obj
) const
12576 #ifndef PASN_LEANANDMEAN
12577 PAssert(PIsDescendant(&obj
, H245_UserInputIndication_signal
), PInvalidCast
);
12579 const H245_UserInputIndication_signal
& other
= (const H245_UserInputIndication_signal
&)obj
;
12583 if ((result
= m_signalType
.Compare(other
.m_signalType
)) != EqualTo
)
12585 if ((result
= m_duration
.Compare(other
.m_duration
)) != EqualTo
)
12587 if ((result
= m_rtp
.Compare(other
.m_rtp
)) != EqualTo
)
12590 return PASN_Sequence::Compare(other
);
12594 PINDEX
H245_UserInputIndication_signal::GetDataLength() const
12597 length
+= m_signalType
.GetObjectLength();
12598 if (HasOptionalField(e_duration
))
12599 length
+= m_duration
.GetObjectLength();
12600 if (HasOptionalField(e_rtp
))
12601 length
+= m_rtp
.GetObjectLength();
12606 BOOL
H245_UserInputIndication_signal::Decode(PASN_Stream
& strm
)
12608 if (!PreambleDecode(strm
))
12611 if (!m_signalType
.Decode(strm
))
12613 if (HasOptionalField(e_duration
) && !m_duration
.Decode(strm
))
12615 if (HasOptionalField(e_rtp
) && !m_rtp
.Decode(strm
))
12617 if (!KnownExtensionDecode(strm
, e_rtpPayloadIndication
, m_rtpPayloadIndication
))
12619 if (!KnownExtensionDecode(strm
, e_paramS
, m_paramS
))
12621 if (!KnownExtensionDecode(strm
, e_encryptedSignalType
, m_encryptedSignalType
))
12623 if (!KnownExtensionDecode(strm
, e_algorithmOID
, m_algorithmOID
))
12626 return UnknownExtensionsDecode(strm
);
12630 void H245_UserInputIndication_signal::Encode(PASN_Stream
& strm
) const
12632 PreambleEncode(strm
);
12634 m_signalType
.Encode(strm
);
12635 if (HasOptionalField(e_duration
))
12636 m_duration
.Encode(strm
);
12637 if (HasOptionalField(e_rtp
))
12638 m_rtp
.Encode(strm
);
12639 KnownExtensionEncode(strm
, e_rtpPayloadIndication
, m_rtpPayloadIndication
);
12640 KnownExtensionEncode(strm
, e_paramS
, m_paramS
);
12641 KnownExtensionEncode(strm
, e_encryptedSignalType
, m_encryptedSignalType
);
12642 KnownExtensionEncode(strm
, e_algorithmOID
, m_algorithmOID
);
12644 UnknownExtensionsEncode(strm
);
12648 PObject
* H245_UserInputIndication_signal::Clone() const
12650 #ifndef PASN_LEANANDMEAN
12651 PAssert(IsClass(H245_UserInputIndication_signal::Class()), PInvalidCast
);
12653 return new H245_UserInputIndication_signal(*this);
12658 // UserInputIndication_signalUpdate
12661 H245_UserInputIndication_signalUpdate::H245_UserInputIndication_signalUpdate(unsigned tag
, PASN_Object::TagClass tagClass
)
12662 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
12664 m_duration
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
12668 #ifndef PASN_NOPRINTON
12669 void H245_UserInputIndication_signalUpdate::PrintOn(ostream
& strm
) const
12671 int indent
= strm
.precision() + 2;
12673 strm
<< setw(indent
+11) << "duration = " << setprecision(indent
) << m_duration
<< '\n';
12674 if (HasOptionalField(e_rtp
))
12675 strm
<< setw(indent
+6) << "rtp = " << setprecision(indent
) << m_rtp
<< '\n';
12676 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12681 PObject::Comparison
H245_UserInputIndication_signalUpdate::Compare(const PObject
& obj
) const
12683 #ifndef PASN_LEANANDMEAN
12684 PAssert(PIsDescendant(&obj
, H245_UserInputIndication_signalUpdate
), PInvalidCast
);
12686 const H245_UserInputIndication_signalUpdate
& other
= (const H245_UserInputIndication_signalUpdate
&)obj
;
12690 if ((result
= m_duration
.Compare(other
.m_duration
)) != EqualTo
)
12692 if ((result
= m_rtp
.Compare(other
.m_rtp
)) != EqualTo
)
12695 return PASN_Sequence::Compare(other
);
12699 PINDEX
H245_UserInputIndication_signalUpdate::GetDataLength() const
12702 length
+= m_duration
.GetObjectLength();
12703 if (HasOptionalField(e_rtp
))
12704 length
+= m_rtp
.GetObjectLength();
12709 BOOL
H245_UserInputIndication_signalUpdate::Decode(PASN_Stream
& strm
)
12711 if (!PreambleDecode(strm
))
12714 if (!m_duration
.Decode(strm
))
12716 if (HasOptionalField(e_rtp
) && !m_rtp
.Decode(strm
))
12719 return UnknownExtensionsDecode(strm
);
12723 void H245_UserInputIndication_signalUpdate::Encode(PASN_Stream
& strm
) const
12725 PreambleEncode(strm
);
12727 m_duration
.Encode(strm
);
12728 if (HasOptionalField(e_rtp
))
12729 m_rtp
.Encode(strm
);
12731 UnknownExtensionsEncode(strm
);
12735 PObject
* H245_UserInputIndication_signalUpdate::Clone() const
12737 #ifndef PASN_LEANANDMEAN
12738 PAssert(IsClass(H245_UserInputIndication_signalUpdate::Class()), PInvalidCast
);
12740 return new H245_UserInputIndication_signalUpdate(*this);
12745 // UserInputIndication_extendedAlphanumeric
12748 H245_UserInputIndication_extendedAlphanumeric::H245_UserInputIndication_extendedAlphanumeric(unsigned tag
, PASN_Object::TagClass tagClass
)
12749 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
12754 #ifndef PASN_NOPRINTON
12755 void H245_UserInputIndication_extendedAlphanumeric::PrintOn(ostream
& strm
) const
12757 int indent
= strm
.precision() + 2;
12759 strm
<< setw(indent
+15) << "alphanumeric = " << setprecision(indent
) << m_alphanumeric
<< '\n';
12760 if (HasOptionalField(e_rtpPayloadIndication
))
12761 strm
<< setw(indent
+23) << "rtpPayloadIndication = " << setprecision(indent
) << m_rtpPayloadIndication
<< '\n';
12762 if (HasOptionalField(e_encryptedAlphanumeric
))
12763 strm
<< setw(indent
+24) << "encryptedAlphanumeric = " << setprecision(indent
) << m_encryptedAlphanumeric
<< '\n';
12764 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12769 PObject::Comparison
H245_UserInputIndication_extendedAlphanumeric::Compare(const PObject
& obj
) const
12771 #ifndef PASN_LEANANDMEAN
12772 PAssert(PIsDescendant(&obj
, H245_UserInputIndication_extendedAlphanumeric
), PInvalidCast
);
12774 const H245_UserInputIndication_extendedAlphanumeric
& other
= (const H245_UserInputIndication_extendedAlphanumeric
&)obj
;
12778 if ((result
= m_alphanumeric
.Compare(other
.m_alphanumeric
)) != EqualTo
)
12780 if ((result
= m_rtpPayloadIndication
.Compare(other
.m_rtpPayloadIndication
)) != EqualTo
)
12783 return PASN_Sequence::Compare(other
);
12787 PINDEX
H245_UserInputIndication_extendedAlphanumeric::GetDataLength() const
12790 length
+= m_alphanumeric
.GetObjectLength();
12791 if (HasOptionalField(e_rtpPayloadIndication
))
12792 length
+= m_rtpPayloadIndication
.GetObjectLength();
12797 BOOL
H245_UserInputIndication_extendedAlphanumeric::Decode(PASN_Stream
& strm
)
12799 if (!PreambleDecode(strm
))
12802 if (!m_alphanumeric
.Decode(strm
))
12804 if (HasOptionalField(e_rtpPayloadIndication
) && !m_rtpPayloadIndication
.Decode(strm
))
12806 if (!KnownExtensionDecode(strm
, e_encryptedAlphanumeric
, m_encryptedAlphanumeric
))
12809 return UnknownExtensionsDecode(strm
);
12813 void H245_UserInputIndication_extendedAlphanumeric::Encode(PASN_Stream
& strm
) const
12815 PreambleEncode(strm
);
12817 m_alphanumeric
.Encode(strm
);
12818 if (HasOptionalField(e_rtpPayloadIndication
))
12819 m_rtpPayloadIndication
.Encode(strm
);
12820 KnownExtensionEncode(strm
, e_encryptedAlphanumeric
, m_encryptedAlphanumeric
);
12822 UnknownExtensionsEncode(strm
);
12826 PObject
* H245_UserInputIndication_extendedAlphanumeric::Clone() const
12828 #ifndef PASN_LEANANDMEAN
12829 PAssert(IsClass(H245_UserInputIndication_extendedAlphanumeric::Class()), PInvalidCast
);
12831 return new H245_UserInputIndication_extendedAlphanumeric(*this);
12836 // V76LogicalChannelParameters_mode_eRM
12839 H245_V76LogicalChannelParameters_mode_eRM::H245_V76LogicalChannelParameters_mode_eRM(unsigned tag
, PASN_Object::TagClass tagClass
)
12840 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
12842 m_windowSize
.SetConstraints(PASN_Object::FixedConstraint
, 1, 127);
12846 #ifndef PASN_NOPRINTON
12847 void H245_V76LogicalChannelParameters_mode_eRM::PrintOn(ostream
& strm
) const
12849 int indent
= strm
.precision() + 2;
12851 strm
<< setw(indent
+13) << "windowSize = " << setprecision(indent
) << m_windowSize
<< '\n';
12852 strm
<< setw(indent
+11) << "recovery = " << setprecision(indent
) << m_recovery
<< '\n';
12853 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12858 PObject::Comparison
H245_V76LogicalChannelParameters_mode_eRM::Compare(const PObject
& obj
) const
12860 #ifndef PASN_LEANANDMEAN
12861 PAssert(PIsDescendant(&obj
, H245_V76LogicalChannelParameters_mode_eRM
), PInvalidCast
);
12863 const H245_V76LogicalChannelParameters_mode_eRM
& other
= (const H245_V76LogicalChannelParameters_mode_eRM
&)obj
;
12867 if ((result
= m_windowSize
.Compare(other
.m_windowSize
)) != EqualTo
)
12869 if ((result
= m_recovery
.Compare(other
.m_recovery
)) != EqualTo
)
12872 return PASN_Sequence::Compare(other
);
12876 PINDEX
H245_V76LogicalChannelParameters_mode_eRM::GetDataLength() const
12879 length
+= m_windowSize
.GetObjectLength();
12880 length
+= m_recovery
.GetObjectLength();
12885 BOOL
H245_V76LogicalChannelParameters_mode_eRM::Decode(PASN_Stream
& strm
)
12887 if (!PreambleDecode(strm
))
12890 if (!m_windowSize
.Decode(strm
))
12892 if (!m_recovery
.Decode(strm
))
12895 return UnknownExtensionsDecode(strm
);
12899 void H245_V76LogicalChannelParameters_mode_eRM::Encode(PASN_Stream
& strm
) const
12901 PreambleEncode(strm
);
12903 m_windowSize
.Encode(strm
);
12904 m_recovery
.Encode(strm
);
12906 UnknownExtensionsEncode(strm
);
12910 PObject
* H245_V76LogicalChannelParameters_mode_eRM::Clone() const
12912 #ifndef PASN_LEANANDMEAN
12913 PAssert(IsClass(H245_V76LogicalChannelParameters_mode_eRM::Class()), PInvalidCast
);
12915 return new H245_V76LogicalChannelParameters_mode_eRM(*this);
12920 // MiscellaneousCommand_type_progressiveRefinementStart
12923 H245_MiscellaneousCommand_type_progressiveRefinementStart::H245_MiscellaneousCommand_type_progressiveRefinementStart(unsigned tag
, PASN_Object::TagClass tagClass
)
12924 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
12929 #ifndef PASN_NOPRINTON
12930 void H245_MiscellaneousCommand_type_progressiveRefinementStart::PrintOn(ostream
& strm
) const
12932 int indent
= strm
.precision() + 2;
12934 strm
<< setw(indent
+14) << "repeatCount = " << setprecision(indent
) << m_repeatCount
<< '\n';
12935 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
12940 PObject::Comparison
H245_MiscellaneousCommand_type_progressiveRefinementStart::Compare(const PObject
& obj
) const
12942 #ifndef PASN_LEANANDMEAN
12943 PAssert(PIsDescendant(&obj
, H245_MiscellaneousCommand_type_progressiveRefinementStart
), PInvalidCast
);
12945 const H245_MiscellaneousCommand_type_progressiveRefinementStart
& other
= (const H245_MiscellaneousCommand_type_progressiveRefinementStart
&)obj
;
12949 if ((result
= m_repeatCount
.Compare(other
.m_repeatCount
)) != EqualTo
)
12952 return PASN_Sequence::Compare(other
);
12956 PINDEX
H245_MiscellaneousCommand_type_progressiveRefinementStart::GetDataLength() const
12959 length
+= m_repeatCount
.GetObjectLength();
12964 BOOL
H245_MiscellaneousCommand_type_progressiveRefinementStart::Decode(PASN_Stream
& strm
)
12966 if (!PreambleDecode(strm
))
12969 if (!m_repeatCount
.Decode(strm
))
12972 return UnknownExtensionsDecode(strm
);
12976 void H245_MiscellaneousCommand_type_progressiveRefinementStart::Encode(PASN_Stream
& strm
) const
12978 PreambleEncode(strm
);
12980 m_repeatCount
.Encode(strm
);
12982 UnknownExtensionsEncode(strm
);
12986 PObject
* H245_MiscellaneousCommand_type_progressiveRefinementStart::Clone() const
12988 #ifndef PASN_LEANANDMEAN
12989 PAssert(IsClass(H245_MiscellaneousCommand_type_progressiveRefinementStart::Class()), PInvalidCast
);
12991 return new H245_MiscellaneousCommand_type_progressiveRefinementStart(*this);
12996 // MiscellaneousCommand_type_encryptionUpdateCommand
12999 H245_MiscellaneousCommand_type_encryptionUpdateCommand::H245_MiscellaneousCommand_type_encryptionUpdateCommand(unsigned tag
, PASN_Object::TagClass tagClass
)
13000 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
13005 #ifndef PASN_NOPRINTON
13006 void H245_MiscellaneousCommand_type_encryptionUpdateCommand::PrintOn(ostream
& strm
) const
13008 int indent
= strm
.precision() + 2;
13010 strm
<< setw(indent
+17) << "encryptionSync = " << setprecision(indent
) << m_encryptionSync
<< '\n';
13011 if (HasOptionalField(e_multiplePayloadStream
))
13012 strm
<< setw(indent
+24) << "multiplePayloadStream = " << setprecision(indent
) << m_multiplePayloadStream
<< '\n';
13013 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13018 PObject::Comparison
H245_MiscellaneousCommand_type_encryptionUpdateCommand::Compare(const PObject
& obj
) const
13020 #ifndef PASN_LEANANDMEAN
13021 PAssert(PIsDescendant(&obj
, H245_MiscellaneousCommand_type_encryptionUpdateCommand
), PInvalidCast
);
13023 const H245_MiscellaneousCommand_type_encryptionUpdateCommand
& other
= (const H245_MiscellaneousCommand_type_encryptionUpdateCommand
&)obj
;
13027 if ((result
= m_encryptionSync
.Compare(other
.m_encryptionSync
)) != EqualTo
)
13029 if ((result
= m_multiplePayloadStream
.Compare(other
.m_multiplePayloadStream
)) != EqualTo
)
13032 return PASN_Sequence::Compare(other
);
13036 PINDEX
H245_MiscellaneousCommand_type_encryptionUpdateCommand::GetDataLength() const
13039 length
+= m_encryptionSync
.GetObjectLength();
13040 if (HasOptionalField(e_multiplePayloadStream
))
13041 length
+= m_multiplePayloadStream
.GetObjectLength();
13046 BOOL
H245_MiscellaneousCommand_type_encryptionUpdateCommand::Decode(PASN_Stream
& strm
)
13048 if (!PreambleDecode(strm
))
13051 if (!m_encryptionSync
.Decode(strm
))
13053 if (HasOptionalField(e_multiplePayloadStream
) && !m_multiplePayloadStream
.Decode(strm
))
13056 return UnknownExtensionsDecode(strm
);
13060 void H245_MiscellaneousCommand_type_encryptionUpdateCommand::Encode(PASN_Stream
& strm
) const
13062 PreambleEncode(strm
);
13064 m_encryptionSync
.Encode(strm
);
13065 if (HasOptionalField(e_multiplePayloadStream
))
13066 m_multiplePayloadStream
.Encode(strm
);
13068 UnknownExtensionsEncode(strm
);
13072 PObject
* H245_MiscellaneousCommand_type_encryptionUpdateCommand::Clone() const
13074 #ifndef PASN_LEANANDMEAN
13075 PAssert(IsClass(H245_MiscellaneousCommand_type_encryptionUpdateCommand::Class()), PInvalidCast
);
13077 return new H245_MiscellaneousCommand_type_encryptionUpdateCommand(*this);
13082 // NewATMVCCommand_aal_aal1
13085 H245_NewATMVCCommand_aal_aal1::H245_NewATMVCCommand_aal_aal1(unsigned tag
, PASN_Object::TagClass tagClass
)
13086 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
13091 #ifndef PASN_NOPRINTON
13092 void H245_NewATMVCCommand_aal_aal1::PrintOn(ostream
& strm
) const
13094 int indent
= strm
.precision() + 2;
13096 strm
<< setw(indent
+16) << "clockRecovery = " << setprecision(indent
) << m_clockRecovery
<< '\n';
13097 strm
<< setw(indent
+18) << "errorCorrection = " << setprecision(indent
) << m_errorCorrection
<< '\n';
13098 strm
<< setw(indent
+25) << "structuredDataTransfer = " << setprecision(indent
) << m_structuredDataTransfer
<< '\n';
13099 strm
<< setw(indent
+23) << "partiallyFilledCells = " << setprecision(indent
) << m_partiallyFilledCells
<< '\n';
13100 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13105 PObject::Comparison
H245_NewATMVCCommand_aal_aal1::Compare(const PObject
& obj
) const
13107 #ifndef PASN_LEANANDMEAN
13108 PAssert(PIsDescendant(&obj
, H245_NewATMVCCommand_aal_aal1
), PInvalidCast
);
13110 const H245_NewATMVCCommand_aal_aal1
& other
= (const H245_NewATMVCCommand_aal_aal1
&)obj
;
13114 if ((result
= m_clockRecovery
.Compare(other
.m_clockRecovery
)) != EqualTo
)
13116 if ((result
= m_errorCorrection
.Compare(other
.m_errorCorrection
)) != EqualTo
)
13118 if ((result
= m_structuredDataTransfer
.Compare(other
.m_structuredDataTransfer
)) != EqualTo
)
13120 if ((result
= m_partiallyFilledCells
.Compare(other
.m_partiallyFilledCells
)) != EqualTo
)
13123 return PASN_Sequence::Compare(other
);
13127 PINDEX
H245_NewATMVCCommand_aal_aal1::GetDataLength() const
13130 length
+= m_clockRecovery
.GetObjectLength();
13131 length
+= m_errorCorrection
.GetObjectLength();
13132 length
+= m_structuredDataTransfer
.GetObjectLength();
13133 length
+= m_partiallyFilledCells
.GetObjectLength();
13138 BOOL
H245_NewATMVCCommand_aal_aal1::Decode(PASN_Stream
& strm
)
13140 if (!PreambleDecode(strm
))
13143 if (!m_clockRecovery
.Decode(strm
))
13145 if (!m_errorCorrection
.Decode(strm
))
13147 if (!m_structuredDataTransfer
.Decode(strm
))
13149 if (!m_partiallyFilledCells
.Decode(strm
))
13152 return UnknownExtensionsDecode(strm
);
13156 void H245_NewATMVCCommand_aal_aal1::Encode(PASN_Stream
& strm
) const
13158 PreambleEncode(strm
);
13160 m_clockRecovery
.Encode(strm
);
13161 m_errorCorrection
.Encode(strm
);
13162 m_structuredDataTransfer
.Encode(strm
);
13163 m_partiallyFilledCells
.Encode(strm
);
13165 UnknownExtensionsEncode(strm
);
13169 PObject
* H245_NewATMVCCommand_aal_aal1::Clone() const
13171 #ifndef PASN_LEANANDMEAN
13172 PAssert(IsClass(H245_NewATMVCCommand_aal_aal1::Class()), PInvalidCast
);
13174 return new H245_NewATMVCCommand_aal_aal1(*this);
13179 // NewATMVCIndication_aal_aal1
13182 H245_NewATMVCIndication_aal_aal1::H245_NewATMVCIndication_aal_aal1(unsigned tag
, PASN_Object::TagClass tagClass
)
13183 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
13188 #ifndef PASN_NOPRINTON
13189 void H245_NewATMVCIndication_aal_aal1::PrintOn(ostream
& strm
) const
13191 int indent
= strm
.precision() + 2;
13193 strm
<< setw(indent
+16) << "clockRecovery = " << setprecision(indent
) << m_clockRecovery
<< '\n';
13194 strm
<< setw(indent
+18) << "errorCorrection = " << setprecision(indent
) << m_errorCorrection
<< '\n';
13195 strm
<< setw(indent
+25) << "structuredDataTransfer = " << setprecision(indent
) << m_structuredDataTransfer
<< '\n';
13196 strm
<< setw(indent
+23) << "partiallyFilledCells = " << setprecision(indent
) << m_partiallyFilledCells
<< '\n';
13197 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13202 PObject::Comparison
H245_NewATMVCIndication_aal_aal1::Compare(const PObject
& obj
) const
13204 #ifndef PASN_LEANANDMEAN
13205 PAssert(PIsDescendant(&obj
, H245_NewATMVCIndication_aal_aal1
), PInvalidCast
);
13207 const H245_NewATMVCIndication_aal_aal1
& other
= (const H245_NewATMVCIndication_aal_aal1
&)obj
;
13211 if ((result
= m_clockRecovery
.Compare(other
.m_clockRecovery
)) != EqualTo
)
13213 if ((result
= m_errorCorrection
.Compare(other
.m_errorCorrection
)) != EqualTo
)
13215 if ((result
= m_structuredDataTransfer
.Compare(other
.m_structuredDataTransfer
)) != EqualTo
)
13217 if ((result
= m_partiallyFilledCells
.Compare(other
.m_partiallyFilledCells
)) != EqualTo
)
13220 return PASN_Sequence::Compare(other
);
13224 PINDEX
H245_NewATMVCIndication_aal_aal1::GetDataLength() const
13227 length
+= m_clockRecovery
.GetObjectLength();
13228 length
+= m_errorCorrection
.GetObjectLength();
13229 length
+= m_structuredDataTransfer
.GetObjectLength();
13230 length
+= m_partiallyFilledCells
.GetObjectLength();
13235 BOOL
H245_NewATMVCIndication_aal_aal1::Decode(PASN_Stream
& strm
)
13237 if (!PreambleDecode(strm
))
13240 if (!m_clockRecovery
.Decode(strm
))
13242 if (!m_errorCorrection
.Decode(strm
))
13244 if (!m_structuredDataTransfer
.Decode(strm
))
13246 if (!m_partiallyFilledCells
.Decode(strm
))
13249 return UnknownExtensionsDecode(strm
);
13253 void H245_NewATMVCIndication_aal_aal1::Encode(PASN_Stream
& strm
) const
13255 PreambleEncode(strm
);
13257 m_clockRecovery
.Encode(strm
);
13258 m_errorCorrection
.Encode(strm
);
13259 m_structuredDataTransfer
.Encode(strm
);
13260 m_partiallyFilledCells
.Encode(strm
);
13262 UnknownExtensionsEncode(strm
);
13266 PObject
* H245_NewATMVCIndication_aal_aal1::Clone() const
13268 #ifndef PASN_LEANANDMEAN
13269 PAssert(IsClass(H245_NewATMVCIndication_aal_aal1::Class()), PInvalidCast
);
13271 return new H245_NewATMVCIndication_aal_aal1(*this);
13276 // NonStandardMessage
13279 H245_NonStandardMessage::H245_NonStandardMessage(unsigned tag
, PASN_Object::TagClass tagClass
)
13280 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
13285 #ifndef PASN_NOPRINTON
13286 void H245_NonStandardMessage::PrintOn(ostream
& strm
) const
13288 int indent
= strm
.precision() + 2;
13290 strm
<< setw(indent
+18) << "nonStandardData = " << setprecision(indent
) << m_nonStandardData
<< '\n';
13291 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13296 PObject::Comparison
H245_NonStandardMessage::Compare(const PObject
& obj
) const
13298 #ifndef PASN_LEANANDMEAN
13299 PAssert(PIsDescendant(&obj
, H245_NonStandardMessage
), PInvalidCast
);
13301 const H245_NonStandardMessage
& other
= (const H245_NonStandardMessage
&)obj
;
13305 if ((result
= m_nonStandardData
.Compare(other
.m_nonStandardData
)) != EqualTo
)
13308 return PASN_Sequence::Compare(other
);
13312 PINDEX
H245_NonStandardMessage::GetDataLength() const
13315 length
+= m_nonStandardData
.GetObjectLength();
13320 BOOL
H245_NonStandardMessage::Decode(PASN_Stream
& strm
)
13322 if (!PreambleDecode(strm
))
13325 if (!m_nonStandardData
.Decode(strm
))
13328 return UnknownExtensionsDecode(strm
);
13332 void H245_NonStandardMessage::Encode(PASN_Stream
& strm
) const
13334 PreambleEncode(strm
);
13336 m_nonStandardData
.Encode(strm
);
13338 UnknownExtensionsEncode(strm
);
13342 PObject
* H245_NonStandardMessage::Clone() const
13344 #ifndef PASN_LEANANDMEAN
13345 PAssert(IsClass(H245_NonStandardMessage::Class()), PInvalidCast
);
13347 return new H245_NonStandardMessage(*this);
13355 H245_VCCapability::H245_VCCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
13356 : PASN_Sequence(tag
, tagClass
, 2, TRUE
, 1)
13361 #ifndef PASN_NOPRINTON
13362 void H245_VCCapability::PrintOn(ostream
& strm
) const
13364 int indent
= strm
.precision() + 2;
13366 if (HasOptionalField(e_aal1
))
13367 strm
<< setw(indent
+7) << "aal1 = " << setprecision(indent
) << m_aal1
<< '\n';
13368 if (HasOptionalField(e_aal5
))
13369 strm
<< setw(indent
+7) << "aal5 = " << setprecision(indent
) << m_aal5
<< '\n';
13370 strm
<< setw(indent
+18) << "transportStream = " << setprecision(indent
) << m_transportStream
<< '\n';
13371 strm
<< setw(indent
+16) << "programStream = " << setprecision(indent
) << m_programStream
<< '\n';
13372 strm
<< setw(indent
+20) << "availableBitRates = " << setprecision(indent
) << m_availableBitRates
<< '\n';
13373 if (HasOptionalField(e_aal1ViaGateway
))
13374 strm
<< setw(indent
+17) << "aal1ViaGateway = " << setprecision(indent
) << m_aal1ViaGateway
<< '\n';
13375 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13380 PObject::Comparison
H245_VCCapability::Compare(const PObject
& obj
) const
13382 #ifndef PASN_LEANANDMEAN
13383 PAssert(PIsDescendant(&obj
, H245_VCCapability
), PInvalidCast
);
13385 const H245_VCCapability
& other
= (const H245_VCCapability
&)obj
;
13389 if ((result
= m_aal1
.Compare(other
.m_aal1
)) != EqualTo
)
13391 if ((result
= m_aal5
.Compare(other
.m_aal5
)) != EqualTo
)
13393 if ((result
= m_transportStream
.Compare(other
.m_transportStream
)) != EqualTo
)
13395 if ((result
= m_programStream
.Compare(other
.m_programStream
)) != EqualTo
)
13397 if ((result
= m_availableBitRates
.Compare(other
.m_availableBitRates
)) != EqualTo
)
13400 return PASN_Sequence::Compare(other
);
13404 PINDEX
H245_VCCapability::GetDataLength() const
13407 if (HasOptionalField(e_aal1
))
13408 length
+= m_aal1
.GetObjectLength();
13409 if (HasOptionalField(e_aal5
))
13410 length
+= m_aal5
.GetObjectLength();
13411 length
+= m_transportStream
.GetObjectLength();
13412 length
+= m_programStream
.GetObjectLength();
13413 length
+= m_availableBitRates
.GetObjectLength();
13418 BOOL
H245_VCCapability::Decode(PASN_Stream
& strm
)
13420 if (!PreambleDecode(strm
))
13423 if (HasOptionalField(e_aal1
) && !m_aal1
.Decode(strm
))
13425 if (HasOptionalField(e_aal5
) && !m_aal5
.Decode(strm
))
13427 if (!m_transportStream
.Decode(strm
))
13429 if (!m_programStream
.Decode(strm
))
13431 if (!m_availableBitRates
.Decode(strm
))
13433 if (!KnownExtensionDecode(strm
, e_aal1ViaGateway
, m_aal1ViaGateway
))
13436 return UnknownExtensionsDecode(strm
);
13440 void H245_VCCapability::Encode(PASN_Stream
& strm
) const
13442 PreambleEncode(strm
);
13444 if (HasOptionalField(e_aal1
))
13445 m_aal1
.Encode(strm
);
13446 if (HasOptionalField(e_aal5
))
13447 m_aal5
.Encode(strm
);
13448 m_transportStream
.Encode(strm
);
13449 m_programStream
.Encode(strm
);
13450 m_availableBitRates
.Encode(strm
);
13451 KnownExtensionEncode(strm
, e_aal1ViaGateway
, m_aal1ViaGateway
);
13453 UnknownExtensionsEncode(strm
);
13457 PObject
* H245_VCCapability::Clone() const
13459 #ifndef PASN_LEANANDMEAN
13460 PAssert(IsClass(H245_VCCapability::Class()), PInvalidCast
);
13462 return new H245_VCCapability(*this);
13470 H245_H2250Capability::H245_H2250Capability(unsigned tag
, PASN_Object::TagClass tagClass
)
13471 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 4)
13473 m_maximumAudioDelayJitter
.SetConstraints(PASN_Object::FixedConstraint
, 0, 1023);
13474 m_redundancyEncodingCapability
.SetConstraints(PASN_Object::FixedConstraint
, 1, 256);
13475 IncludeOptionalField(e_logicalChannelSwitchingCapability
);
13476 IncludeOptionalField(e_t120DynamicPortCapability
);
13480 #ifndef PASN_NOPRINTON
13481 void H245_H2250Capability::PrintOn(ostream
& strm
) const
13483 int indent
= strm
.precision() + 2;
13485 strm
<< setw(indent
+26) << "maximumAudioDelayJitter = " << setprecision(indent
) << m_maximumAudioDelayJitter
<< '\n';
13486 strm
<< setw(indent
+30) << "receiveMultipointCapability = " << setprecision(indent
) << m_receiveMultipointCapability
<< '\n';
13487 strm
<< setw(indent
+31) << "transmitMultipointCapability = " << setprecision(indent
) << m_transmitMultipointCapability
<< '\n';
13488 strm
<< setw(indent
+41) << "receiveAndTransmitMultipointCapability = " << setprecision(indent
) << m_receiveAndTransmitMultipointCapability
<< '\n';
13489 strm
<< setw(indent
+15) << "mcCapability = " << setprecision(indent
) << m_mcCapability
<< '\n';
13490 strm
<< setw(indent
+29) << "rtcpVideoControlCapability = " << setprecision(indent
) << m_rtcpVideoControlCapability
<< '\n';
13491 strm
<< setw(indent
+31) << "mediaPacketizationCapability = " << setprecision(indent
) << m_mediaPacketizationCapability
<< '\n';
13492 if (HasOptionalField(e_transportCapability
))
13493 strm
<< setw(indent
+22) << "transportCapability = " << setprecision(indent
) << m_transportCapability
<< '\n';
13494 if (HasOptionalField(e_redundancyEncodingCapability
))
13495 strm
<< setw(indent
+31) << "redundancyEncodingCapability = " << setprecision(indent
) << m_redundancyEncodingCapability
<< '\n';
13496 if (HasOptionalField(e_logicalChannelSwitchingCapability
))
13497 strm
<< setw(indent
+36) << "logicalChannelSwitchingCapability = " << setprecision(indent
) << m_logicalChannelSwitchingCapability
<< '\n';
13498 if (HasOptionalField(e_t120DynamicPortCapability
))
13499 strm
<< setw(indent
+28) << "t120DynamicPortCapability = " << setprecision(indent
) << m_t120DynamicPortCapability
<< '\n';
13500 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13505 PObject::Comparison
H245_H2250Capability::Compare(const PObject
& obj
) const
13507 #ifndef PASN_LEANANDMEAN
13508 PAssert(PIsDescendant(&obj
, H245_H2250Capability
), PInvalidCast
);
13510 const H245_H2250Capability
& other
= (const H245_H2250Capability
&)obj
;
13514 if ((result
= m_maximumAudioDelayJitter
.Compare(other
.m_maximumAudioDelayJitter
)) != EqualTo
)
13516 if ((result
= m_receiveMultipointCapability
.Compare(other
.m_receiveMultipointCapability
)) != EqualTo
)
13518 if ((result
= m_transmitMultipointCapability
.Compare(other
.m_transmitMultipointCapability
)) != EqualTo
)
13520 if ((result
= m_receiveAndTransmitMultipointCapability
.Compare(other
.m_receiveAndTransmitMultipointCapability
)) != EqualTo
)
13522 if ((result
= m_mcCapability
.Compare(other
.m_mcCapability
)) != EqualTo
)
13524 if ((result
= m_rtcpVideoControlCapability
.Compare(other
.m_rtcpVideoControlCapability
)) != EqualTo
)
13526 if ((result
= m_mediaPacketizationCapability
.Compare(other
.m_mediaPacketizationCapability
)) != EqualTo
)
13529 return PASN_Sequence::Compare(other
);
13533 PINDEX
H245_H2250Capability::GetDataLength() const
13536 length
+= m_maximumAudioDelayJitter
.GetObjectLength();
13537 length
+= m_receiveMultipointCapability
.GetObjectLength();
13538 length
+= m_transmitMultipointCapability
.GetObjectLength();
13539 length
+= m_receiveAndTransmitMultipointCapability
.GetObjectLength();
13540 length
+= m_mcCapability
.GetObjectLength();
13541 length
+= m_rtcpVideoControlCapability
.GetObjectLength();
13542 length
+= m_mediaPacketizationCapability
.GetObjectLength();
13547 BOOL
H245_H2250Capability::Decode(PASN_Stream
& strm
)
13549 if (!PreambleDecode(strm
))
13552 if (!m_maximumAudioDelayJitter
.Decode(strm
))
13554 if (!m_receiveMultipointCapability
.Decode(strm
))
13556 if (!m_transmitMultipointCapability
.Decode(strm
))
13558 if (!m_receiveAndTransmitMultipointCapability
.Decode(strm
))
13560 if (!m_mcCapability
.Decode(strm
))
13562 if (!m_rtcpVideoControlCapability
.Decode(strm
))
13564 if (!m_mediaPacketizationCapability
.Decode(strm
))
13566 if (!KnownExtensionDecode(strm
, e_transportCapability
, m_transportCapability
))
13568 if (!KnownExtensionDecode(strm
, e_redundancyEncodingCapability
, m_redundancyEncodingCapability
))
13570 if (!KnownExtensionDecode(strm
, e_logicalChannelSwitchingCapability
, m_logicalChannelSwitchingCapability
))
13572 if (!KnownExtensionDecode(strm
, e_t120DynamicPortCapability
, m_t120DynamicPortCapability
))
13575 return UnknownExtensionsDecode(strm
);
13579 void H245_H2250Capability::Encode(PASN_Stream
& strm
) const
13581 PreambleEncode(strm
);
13583 m_maximumAudioDelayJitter
.Encode(strm
);
13584 m_receiveMultipointCapability
.Encode(strm
);
13585 m_transmitMultipointCapability
.Encode(strm
);
13586 m_receiveAndTransmitMultipointCapability
.Encode(strm
);
13587 m_mcCapability
.Encode(strm
);
13588 m_rtcpVideoControlCapability
.Encode(strm
);
13589 m_mediaPacketizationCapability
.Encode(strm
);
13590 KnownExtensionEncode(strm
, e_transportCapability
, m_transportCapability
);
13591 KnownExtensionEncode(strm
, e_redundancyEncodingCapability
, m_redundancyEncodingCapability
);
13592 KnownExtensionEncode(strm
, e_logicalChannelSwitchingCapability
, m_logicalChannelSwitchingCapability
);
13593 KnownExtensionEncode(strm
, e_t120DynamicPortCapability
, m_t120DynamicPortCapability
);
13595 UnknownExtensionsEncode(strm
);
13599 PObject
* H245_H2250Capability::Clone() const
13601 #ifndef PASN_LEANANDMEAN
13602 PAssert(IsClass(H245_H2250Capability::Class()), PInvalidCast
);
13604 return new H245_H2250Capability(*this);
13609 // RefPictureSelection
13612 H245_RefPictureSelection::H245_RefPictureSelection(unsigned tag
, PASN_Object::TagClass tagClass
)
13613 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
13615 IncludeOptionalField(e_enhancedReferencePicSelect
);
13619 #ifndef PASN_NOPRINTON
13620 void H245_RefPictureSelection::PrintOn(ostream
& strm
) const
13622 int indent
= strm
.precision() + 2;
13624 if (HasOptionalField(e_additionalPictureMemory
))
13625 strm
<< setw(indent
+26) << "additionalPictureMemory = " << setprecision(indent
) << m_additionalPictureMemory
<< '\n';
13626 strm
<< setw(indent
+11) << "videoMux = " << setprecision(indent
) << m_videoMux
<< '\n';
13627 strm
<< setw(indent
+23) << "videoBackChannelSend = " << setprecision(indent
) << m_videoBackChannelSend
<< '\n';
13628 if (HasOptionalField(e_enhancedReferencePicSelect
))
13629 strm
<< setw(indent
+29) << "enhancedReferencePicSelect = " << setprecision(indent
) << m_enhancedReferencePicSelect
<< '\n';
13630 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13635 PObject::Comparison
H245_RefPictureSelection::Compare(const PObject
& obj
) const
13637 #ifndef PASN_LEANANDMEAN
13638 PAssert(PIsDescendant(&obj
, H245_RefPictureSelection
), PInvalidCast
);
13640 const H245_RefPictureSelection
& other
= (const H245_RefPictureSelection
&)obj
;
13644 if ((result
= m_additionalPictureMemory
.Compare(other
.m_additionalPictureMemory
)) != EqualTo
)
13646 if ((result
= m_videoMux
.Compare(other
.m_videoMux
)) != EqualTo
)
13648 if ((result
= m_videoBackChannelSend
.Compare(other
.m_videoBackChannelSend
)) != EqualTo
)
13651 return PASN_Sequence::Compare(other
);
13655 PINDEX
H245_RefPictureSelection::GetDataLength() const
13658 if (HasOptionalField(e_additionalPictureMemory
))
13659 length
+= m_additionalPictureMemory
.GetObjectLength();
13660 length
+= m_videoMux
.GetObjectLength();
13661 length
+= m_videoBackChannelSend
.GetObjectLength();
13666 BOOL
H245_RefPictureSelection::Decode(PASN_Stream
& strm
)
13668 if (!PreambleDecode(strm
))
13671 if (HasOptionalField(e_additionalPictureMemory
) && !m_additionalPictureMemory
.Decode(strm
))
13673 if (!m_videoMux
.Decode(strm
))
13675 if (!m_videoBackChannelSend
.Decode(strm
))
13677 if (!KnownExtensionDecode(strm
, e_enhancedReferencePicSelect
, m_enhancedReferencePicSelect
))
13680 return UnknownExtensionsDecode(strm
);
13684 void H245_RefPictureSelection::Encode(PASN_Stream
& strm
) const
13686 PreambleEncode(strm
);
13688 if (HasOptionalField(e_additionalPictureMemory
))
13689 m_additionalPictureMemory
.Encode(strm
);
13690 m_videoMux
.Encode(strm
);
13691 m_videoBackChannelSend
.Encode(strm
);
13692 KnownExtensionEncode(strm
, e_enhancedReferencePicSelect
, m_enhancedReferencePicSelect
);
13694 UnknownExtensionsEncode(strm
);
13698 PObject
* H245_RefPictureSelection::Clone() const
13700 #ifndef PASN_LEANANDMEAN
13701 PAssert(IsClass(H245_RefPictureSelection::Class()), PInvalidCast
);
13703 return new H245_RefPictureSelection(*this);
13708 // CustomPictureFormat
13711 H245_CustomPictureFormat::H245_CustomPictureFormat(unsigned tag
, PASN_Object::TagClass tagClass
)
13712 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
13714 m_maxCustomPictureWidth
.SetConstraints(PASN_Object::FixedConstraint
, 1, 2048);
13715 m_maxCustomPictureHeight
.SetConstraints(PASN_Object::FixedConstraint
, 1, 2048);
13716 m_minCustomPictureWidth
.SetConstraints(PASN_Object::FixedConstraint
, 1, 2048);
13717 m_minCustomPictureHeight
.SetConstraints(PASN_Object::FixedConstraint
, 1, 2048);
13721 #ifndef PASN_NOPRINTON
13722 void H245_CustomPictureFormat::PrintOn(ostream
& strm
) const
13724 int indent
= strm
.precision() + 2;
13726 strm
<< setw(indent
+24) << "maxCustomPictureWidth = " << setprecision(indent
) << m_maxCustomPictureWidth
<< '\n';
13727 strm
<< setw(indent
+25) << "maxCustomPictureHeight = " << setprecision(indent
) << m_maxCustomPictureHeight
<< '\n';
13728 strm
<< setw(indent
+24) << "minCustomPictureWidth = " << setprecision(indent
) << m_minCustomPictureWidth
<< '\n';
13729 strm
<< setw(indent
+25) << "minCustomPictureHeight = " << setprecision(indent
) << m_minCustomPictureHeight
<< '\n';
13730 strm
<< setw(indent
+6) << "mPI = " << setprecision(indent
) << m_mPI
<< '\n';
13731 strm
<< setw(indent
+25) << "pixelAspectInformation = " << setprecision(indent
) << m_pixelAspectInformation
<< '\n';
13732 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13737 PObject::Comparison
H245_CustomPictureFormat::Compare(const PObject
& obj
) const
13739 #ifndef PASN_LEANANDMEAN
13740 PAssert(PIsDescendant(&obj
, H245_CustomPictureFormat
), PInvalidCast
);
13742 const H245_CustomPictureFormat
& other
= (const H245_CustomPictureFormat
&)obj
;
13746 if ((result
= m_maxCustomPictureWidth
.Compare(other
.m_maxCustomPictureWidth
)) != EqualTo
)
13748 if ((result
= m_maxCustomPictureHeight
.Compare(other
.m_maxCustomPictureHeight
)) != EqualTo
)
13750 if ((result
= m_minCustomPictureWidth
.Compare(other
.m_minCustomPictureWidth
)) != EqualTo
)
13752 if ((result
= m_minCustomPictureHeight
.Compare(other
.m_minCustomPictureHeight
)) != EqualTo
)
13754 if ((result
= m_mPI
.Compare(other
.m_mPI
)) != EqualTo
)
13756 if ((result
= m_pixelAspectInformation
.Compare(other
.m_pixelAspectInformation
)) != EqualTo
)
13759 return PASN_Sequence::Compare(other
);
13763 PINDEX
H245_CustomPictureFormat::GetDataLength() const
13766 length
+= m_maxCustomPictureWidth
.GetObjectLength();
13767 length
+= m_maxCustomPictureHeight
.GetObjectLength();
13768 length
+= m_minCustomPictureWidth
.GetObjectLength();
13769 length
+= m_minCustomPictureHeight
.GetObjectLength();
13770 length
+= m_mPI
.GetObjectLength();
13771 length
+= m_pixelAspectInformation
.GetObjectLength();
13776 BOOL
H245_CustomPictureFormat::Decode(PASN_Stream
& strm
)
13778 if (!PreambleDecode(strm
))
13781 if (!m_maxCustomPictureWidth
.Decode(strm
))
13783 if (!m_maxCustomPictureHeight
.Decode(strm
))
13785 if (!m_minCustomPictureWidth
.Decode(strm
))
13787 if (!m_minCustomPictureHeight
.Decode(strm
))
13789 if (!m_mPI
.Decode(strm
))
13791 if (!m_pixelAspectInformation
.Decode(strm
))
13794 return UnknownExtensionsDecode(strm
);
13798 void H245_CustomPictureFormat::Encode(PASN_Stream
& strm
) const
13800 PreambleEncode(strm
);
13802 m_maxCustomPictureWidth
.Encode(strm
);
13803 m_maxCustomPictureHeight
.Encode(strm
);
13804 m_minCustomPictureWidth
.Encode(strm
);
13805 m_minCustomPictureHeight
.Encode(strm
);
13806 m_mPI
.Encode(strm
);
13807 m_pixelAspectInformation
.Encode(strm
);
13809 UnknownExtensionsEncode(strm
);
13813 PObject
* H245_CustomPictureFormat::Clone() const
13815 #ifndef PASN_LEANANDMEAN
13816 PAssert(IsClass(H245_CustomPictureFormat::Class()), PInvalidCast
);
13818 return new H245_CustomPictureFormat(*this);
13823 // H263VideoModeCombos
13826 H245_H263VideoModeCombos::H245_H263VideoModeCombos(unsigned tag
, PASN_Object::TagClass tagClass
)
13827 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
13829 m_h263VideoCoupledModes
.SetConstraints(PASN_Object::FixedConstraint
, 1, 16);
13833 #ifndef PASN_NOPRINTON
13834 void H245_H263VideoModeCombos::PrintOn(ostream
& strm
) const
13836 int indent
= strm
.precision() + 2;
13838 strm
<< setw(indent
+26) << "h263VideoUncoupledModes = " << setprecision(indent
) << m_h263VideoUncoupledModes
<< '\n';
13839 strm
<< setw(indent
+24) << "h263VideoCoupledModes = " << setprecision(indent
) << m_h263VideoCoupledModes
<< '\n';
13840 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13845 PObject::Comparison
H245_H263VideoModeCombos::Compare(const PObject
& obj
) const
13847 #ifndef PASN_LEANANDMEAN
13848 PAssert(PIsDescendant(&obj
, H245_H263VideoModeCombos
), PInvalidCast
);
13850 const H245_H263VideoModeCombos
& other
= (const H245_H263VideoModeCombos
&)obj
;
13854 if ((result
= m_h263VideoUncoupledModes
.Compare(other
.m_h263VideoUncoupledModes
)) != EqualTo
)
13856 if ((result
= m_h263VideoCoupledModes
.Compare(other
.m_h263VideoCoupledModes
)) != EqualTo
)
13859 return PASN_Sequence::Compare(other
);
13863 PINDEX
H245_H263VideoModeCombos::GetDataLength() const
13866 length
+= m_h263VideoUncoupledModes
.GetObjectLength();
13867 length
+= m_h263VideoCoupledModes
.GetObjectLength();
13872 BOOL
H245_H263VideoModeCombos::Decode(PASN_Stream
& strm
)
13874 if (!PreambleDecode(strm
))
13877 if (!m_h263VideoUncoupledModes
.Decode(strm
))
13879 if (!m_h263VideoCoupledModes
.Decode(strm
))
13882 return UnknownExtensionsDecode(strm
);
13886 void H245_H263VideoModeCombos::Encode(PASN_Stream
& strm
) const
13888 PreambleEncode(strm
);
13890 m_h263VideoUncoupledModes
.Encode(strm
);
13891 m_h263VideoCoupledModes
.Encode(strm
);
13893 UnknownExtensionsEncode(strm
);
13897 PObject
* H245_H263VideoModeCombos::Clone() const
13899 #ifndef PASN_LEANANDMEAN
13900 PAssert(IsClass(H245_H263VideoModeCombos::Class()), PInvalidCast
);
13902 return new H245_H263VideoModeCombos(*this);
13910 H245_T38FaxProfile::H245_T38FaxProfile(unsigned tag
, PASN_Object::TagClass tagClass
)
13911 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 4)
13913 m_version
.SetConstraints(PASN_Object::FixedConstraint
, 0, 255);
13914 IncludeOptionalField(e_version
);
13915 IncludeOptionalField(e_t38FaxRateManagement
);
13919 #ifndef PASN_NOPRINTON
13920 void H245_T38FaxProfile::PrintOn(ostream
& strm
) const
13922 int indent
= strm
.precision() + 2;
13924 strm
<< setw(indent
+17) << "fillBitRemoval = " << setprecision(indent
) << m_fillBitRemoval
<< '\n';
13925 strm
<< setw(indent
+18) << "transcodingJBIG = " << setprecision(indent
) << m_transcodingJBIG
<< '\n';
13926 strm
<< setw(indent
+17) << "transcodingMMR = " << setprecision(indent
) << m_transcodingMMR
<< '\n';
13927 if (HasOptionalField(e_version
))
13928 strm
<< setw(indent
+10) << "version = " << setprecision(indent
) << m_version
<< '\n';
13929 if (HasOptionalField(e_t38FaxRateManagement
))
13930 strm
<< setw(indent
+23) << "t38FaxRateManagement = " << setprecision(indent
) << m_t38FaxRateManagement
<< '\n';
13931 if (HasOptionalField(e_t38FaxUdpOptions
))
13932 strm
<< setw(indent
+19) << "t38FaxUdpOptions = " << setprecision(indent
) << m_t38FaxUdpOptions
<< '\n';
13933 if (HasOptionalField(e_t38FaxTcpOptions
))
13934 strm
<< setw(indent
+19) << "t38FaxTcpOptions = " << setprecision(indent
) << m_t38FaxTcpOptions
<< '\n';
13935 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
13940 PObject::Comparison
H245_T38FaxProfile::Compare(const PObject
& obj
) const
13942 #ifndef PASN_LEANANDMEAN
13943 PAssert(PIsDescendant(&obj
, H245_T38FaxProfile
), PInvalidCast
);
13945 const H245_T38FaxProfile
& other
= (const H245_T38FaxProfile
&)obj
;
13949 if ((result
= m_fillBitRemoval
.Compare(other
.m_fillBitRemoval
)) != EqualTo
)
13951 if ((result
= m_transcodingJBIG
.Compare(other
.m_transcodingJBIG
)) != EqualTo
)
13953 if ((result
= m_transcodingMMR
.Compare(other
.m_transcodingMMR
)) != EqualTo
)
13956 return PASN_Sequence::Compare(other
);
13960 PINDEX
H245_T38FaxProfile::GetDataLength() const
13963 length
+= m_fillBitRemoval
.GetObjectLength();
13964 length
+= m_transcodingJBIG
.GetObjectLength();
13965 length
+= m_transcodingMMR
.GetObjectLength();
13970 BOOL
H245_T38FaxProfile::Decode(PASN_Stream
& strm
)
13972 if (!PreambleDecode(strm
))
13975 if (!m_fillBitRemoval
.Decode(strm
))
13977 if (!m_transcodingJBIG
.Decode(strm
))
13979 if (!m_transcodingMMR
.Decode(strm
))
13981 if (!KnownExtensionDecode(strm
, e_version
, m_version
))
13983 if (!KnownExtensionDecode(strm
, e_t38FaxRateManagement
, m_t38FaxRateManagement
))
13985 if (!KnownExtensionDecode(strm
, e_t38FaxUdpOptions
, m_t38FaxUdpOptions
))
13987 if (!KnownExtensionDecode(strm
, e_t38FaxTcpOptions
, m_t38FaxTcpOptions
))
13990 return UnknownExtensionsDecode(strm
);
13994 void H245_T38FaxProfile::Encode(PASN_Stream
& strm
) const
13996 PreambleEncode(strm
);
13998 m_fillBitRemoval
.Encode(strm
);
13999 m_transcodingJBIG
.Encode(strm
);
14000 m_transcodingMMR
.Encode(strm
);
14001 KnownExtensionEncode(strm
, e_version
, m_version
);
14002 KnownExtensionEncode(strm
, e_t38FaxRateManagement
, m_t38FaxRateManagement
);
14003 KnownExtensionEncode(strm
, e_t38FaxUdpOptions
, m_t38FaxUdpOptions
);
14004 KnownExtensionEncode(strm
, e_t38FaxTcpOptions
, m_t38FaxTcpOptions
);
14006 UnknownExtensionsEncode(strm
);
14010 PObject
* H245_T38FaxProfile::Clone() const
14012 #ifndef PASN_LEANANDMEAN
14013 PAssert(IsClass(H245_T38FaxProfile::Class()), PInvalidCast
);
14015 return new H245_T38FaxProfile(*this);
14020 // EncryptionAuthenticationAndIntegrity
14023 H245_EncryptionAuthenticationAndIntegrity::H245_EncryptionAuthenticationAndIntegrity(unsigned tag
, PASN_Object::TagClass tagClass
)
14024 : PASN_Sequence(tag
, tagClass
, 3, TRUE
, 1)
14029 #ifndef PASN_NOPRINTON
14030 void H245_EncryptionAuthenticationAndIntegrity::PrintOn(ostream
& strm
) const
14032 int indent
= strm
.precision() + 2;
14034 if (HasOptionalField(e_encryptionCapability
))
14035 strm
<< setw(indent
+23) << "encryptionCapability = " << setprecision(indent
) << m_encryptionCapability
<< '\n';
14036 if (HasOptionalField(e_authenticationCapability
))
14037 strm
<< setw(indent
+27) << "authenticationCapability = " << setprecision(indent
) << m_authenticationCapability
<< '\n';
14038 if (HasOptionalField(e_integrityCapability
))
14039 strm
<< setw(indent
+22) << "integrityCapability = " << setprecision(indent
) << m_integrityCapability
<< '\n';
14040 if (HasOptionalField(e_genericH235SecurityCapability
))
14041 strm
<< setw(indent
+32) << "genericH235SecurityCapability = " << setprecision(indent
) << m_genericH235SecurityCapability
<< '\n';
14042 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14047 PObject::Comparison
H245_EncryptionAuthenticationAndIntegrity::Compare(const PObject
& obj
) const
14049 #ifndef PASN_LEANANDMEAN
14050 PAssert(PIsDescendant(&obj
, H245_EncryptionAuthenticationAndIntegrity
), PInvalidCast
);
14052 const H245_EncryptionAuthenticationAndIntegrity
& other
= (const H245_EncryptionAuthenticationAndIntegrity
&)obj
;
14056 if ((result
= m_encryptionCapability
.Compare(other
.m_encryptionCapability
)) != EqualTo
)
14058 if ((result
= m_authenticationCapability
.Compare(other
.m_authenticationCapability
)) != EqualTo
)
14060 if ((result
= m_integrityCapability
.Compare(other
.m_integrityCapability
)) != EqualTo
)
14063 return PASN_Sequence::Compare(other
);
14067 PINDEX
H245_EncryptionAuthenticationAndIntegrity::GetDataLength() const
14070 if (HasOptionalField(e_encryptionCapability
))
14071 length
+= m_encryptionCapability
.GetObjectLength();
14072 if (HasOptionalField(e_authenticationCapability
))
14073 length
+= m_authenticationCapability
.GetObjectLength();
14074 if (HasOptionalField(e_integrityCapability
))
14075 length
+= m_integrityCapability
.GetObjectLength();
14080 BOOL
H245_EncryptionAuthenticationAndIntegrity::Decode(PASN_Stream
& strm
)
14082 if (!PreambleDecode(strm
))
14085 if (HasOptionalField(e_encryptionCapability
) && !m_encryptionCapability
.Decode(strm
))
14087 if (HasOptionalField(e_authenticationCapability
) && !m_authenticationCapability
.Decode(strm
))
14089 if (HasOptionalField(e_integrityCapability
) && !m_integrityCapability
.Decode(strm
))
14091 if (!KnownExtensionDecode(strm
, e_genericH235SecurityCapability
, m_genericH235SecurityCapability
))
14094 return UnknownExtensionsDecode(strm
);
14098 void H245_EncryptionAuthenticationAndIntegrity::Encode(PASN_Stream
& strm
) const
14100 PreambleEncode(strm
);
14102 if (HasOptionalField(e_encryptionCapability
))
14103 m_encryptionCapability
.Encode(strm
);
14104 if (HasOptionalField(e_authenticationCapability
))
14105 m_authenticationCapability
.Encode(strm
);
14106 if (HasOptionalField(e_integrityCapability
))
14107 m_integrityCapability
.Encode(strm
);
14108 KnownExtensionEncode(strm
, e_genericH235SecurityCapability
, m_genericH235SecurityCapability
);
14110 UnknownExtensionsEncode(strm
);
14114 PObject
* H245_EncryptionAuthenticationAndIntegrity::Clone() const
14116 #ifndef PASN_LEANANDMEAN
14117 PAssert(IsClass(H245_EncryptionAuthenticationAndIntegrity::Class()), PInvalidCast
);
14119 return new H245_EncryptionAuthenticationAndIntegrity(*this);
14124 // OpenLogicalChannel
14127 H245_OpenLogicalChannel::H245_OpenLogicalChannel(unsigned tag
, PASN_Object::TagClass tagClass
)
14128 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 3)
14133 #ifndef PASN_NOPRINTON
14134 void H245_OpenLogicalChannel::PrintOn(ostream
& strm
) const
14136 int indent
= strm
.precision() + 2;
14138 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
14139 strm
<< setw(indent
+34) << "forwardLogicalChannelParameters = " << setprecision(indent
) << m_forwardLogicalChannelParameters
<< '\n';
14140 if (HasOptionalField(e_reverseLogicalChannelParameters
))
14141 strm
<< setw(indent
+34) << "reverseLogicalChannelParameters = " << setprecision(indent
) << m_reverseLogicalChannelParameters
<< '\n';
14142 if (HasOptionalField(e_separateStack
))
14143 strm
<< setw(indent
+16) << "separateStack = " << setprecision(indent
) << m_separateStack
<< '\n';
14144 if (HasOptionalField(e_encryptionSync
))
14145 strm
<< setw(indent
+17) << "encryptionSync = " << setprecision(indent
) << m_encryptionSync
<< '\n';
14146 if (HasOptionalField(e_genericInformation
))
14147 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
14148 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14153 PObject::Comparison
H245_OpenLogicalChannel::Compare(const PObject
& obj
) const
14155 #ifndef PASN_LEANANDMEAN
14156 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannel
), PInvalidCast
);
14158 const H245_OpenLogicalChannel
& other
= (const H245_OpenLogicalChannel
&)obj
;
14162 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
14164 if ((result
= m_forwardLogicalChannelParameters
.Compare(other
.m_forwardLogicalChannelParameters
)) != EqualTo
)
14166 if ((result
= m_reverseLogicalChannelParameters
.Compare(other
.m_reverseLogicalChannelParameters
)) != EqualTo
)
14169 return PASN_Sequence::Compare(other
);
14173 PINDEX
H245_OpenLogicalChannel::GetDataLength() const
14176 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
14177 length
+= m_forwardLogicalChannelParameters
.GetObjectLength();
14178 if (HasOptionalField(e_reverseLogicalChannelParameters
))
14179 length
+= m_reverseLogicalChannelParameters
.GetObjectLength();
14184 BOOL
H245_OpenLogicalChannel::Decode(PASN_Stream
& strm
)
14186 if (!PreambleDecode(strm
))
14189 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
14191 if (!m_forwardLogicalChannelParameters
.Decode(strm
))
14193 if (HasOptionalField(e_reverseLogicalChannelParameters
) && !m_reverseLogicalChannelParameters
.Decode(strm
))
14195 if (!KnownExtensionDecode(strm
, e_separateStack
, m_separateStack
))
14197 if (!KnownExtensionDecode(strm
, e_encryptionSync
, m_encryptionSync
))
14199 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
14202 return UnknownExtensionsDecode(strm
);
14206 void H245_OpenLogicalChannel::Encode(PASN_Stream
& strm
) const
14208 PreambleEncode(strm
);
14210 m_forwardLogicalChannelNumber
.Encode(strm
);
14211 m_forwardLogicalChannelParameters
.Encode(strm
);
14212 if (HasOptionalField(e_reverseLogicalChannelParameters
))
14213 m_reverseLogicalChannelParameters
.Encode(strm
);
14214 KnownExtensionEncode(strm
, e_separateStack
, m_separateStack
);
14215 KnownExtensionEncode(strm
, e_encryptionSync
, m_encryptionSync
);
14216 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
14218 UnknownExtensionsEncode(strm
);
14222 PObject
* H245_OpenLogicalChannel::Clone() const
14224 #ifndef PASN_LEANANDMEAN
14225 PAssert(IsClass(H245_OpenLogicalChannel::Class()), PInvalidCast
);
14227 return new H245_OpenLogicalChannel(*this);
14235 H245_H235Media::H245_H235Media(unsigned tag
, PASN_Object::TagClass tagClass
)
14236 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
14241 #ifndef PASN_NOPRINTON
14242 void H245_H235Media::PrintOn(ostream
& strm
) const
14244 int indent
= strm
.precision() + 2;
14246 strm
<< setw(indent
+39) << "encryptionAuthenticationAndIntegrity = " << setprecision(indent
) << m_encryptionAuthenticationAndIntegrity
<< '\n';
14247 strm
<< setw(indent
+12) << "mediaType = " << setprecision(indent
) << m_mediaType
<< '\n';
14248 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14253 PObject::Comparison
H245_H235Media::Compare(const PObject
& obj
) const
14255 #ifndef PASN_LEANANDMEAN
14256 PAssert(PIsDescendant(&obj
, H245_H235Media
), PInvalidCast
);
14258 const H245_H235Media
& other
= (const H245_H235Media
&)obj
;
14262 if ((result
= m_encryptionAuthenticationAndIntegrity
.Compare(other
.m_encryptionAuthenticationAndIntegrity
)) != EqualTo
)
14264 if ((result
= m_mediaType
.Compare(other
.m_mediaType
)) != EqualTo
)
14267 return PASN_Sequence::Compare(other
);
14271 PINDEX
H245_H235Media::GetDataLength() const
14274 length
+= m_encryptionAuthenticationAndIntegrity
.GetObjectLength();
14275 length
+= m_mediaType
.GetObjectLength();
14280 BOOL
H245_H235Media::Decode(PASN_Stream
& strm
)
14282 if (!PreambleDecode(strm
))
14285 if (!m_encryptionAuthenticationAndIntegrity
.Decode(strm
))
14287 if (!m_mediaType
.Decode(strm
))
14290 return UnknownExtensionsDecode(strm
);
14294 void H245_H235Media::Encode(PASN_Stream
& strm
) const
14296 PreambleEncode(strm
);
14298 m_encryptionAuthenticationAndIntegrity
.Encode(strm
);
14299 m_mediaType
.Encode(strm
);
14301 UnknownExtensionsEncode(strm
);
14305 PObject
* H245_H235Media::Clone() const
14307 #ifndef PASN_LEANANDMEAN
14308 PAssert(IsClass(H245_H235Media::Class()), PInvalidCast
);
14310 return new H245_H235Media(*this);
14315 // V76LogicalChannelParameters
14318 H245_V76LogicalChannelParameters::H245_V76LogicalChannelParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
14319 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
14324 #ifndef PASN_NOPRINTON
14325 void H245_V76LogicalChannelParameters::PrintOn(ostream
& strm
) const
14327 int indent
= strm
.precision() + 2;
14329 strm
<< setw(indent
+17) << "hdlcParameters = " << setprecision(indent
) << m_hdlcParameters
<< '\n';
14330 strm
<< setw(indent
+16) << "suspendResume = " << setprecision(indent
) << m_suspendResume
<< '\n';
14331 strm
<< setw(indent
+6) << "uIH = " << setprecision(indent
) << m_uIH
<< '\n';
14332 strm
<< setw(indent
+7) << "mode = " << setprecision(indent
) << m_mode
<< '\n';
14333 strm
<< setw(indent
+16) << "v75Parameters = " << setprecision(indent
) << m_v75Parameters
<< '\n';
14334 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14339 PObject::Comparison
H245_V76LogicalChannelParameters::Compare(const PObject
& obj
) const
14341 #ifndef PASN_LEANANDMEAN
14342 PAssert(PIsDescendant(&obj
, H245_V76LogicalChannelParameters
), PInvalidCast
);
14344 const H245_V76LogicalChannelParameters
& other
= (const H245_V76LogicalChannelParameters
&)obj
;
14348 if ((result
= m_hdlcParameters
.Compare(other
.m_hdlcParameters
)) != EqualTo
)
14350 if ((result
= m_suspendResume
.Compare(other
.m_suspendResume
)) != EqualTo
)
14352 if ((result
= m_uIH
.Compare(other
.m_uIH
)) != EqualTo
)
14354 if ((result
= m_mode
.Compare(other
.m_mode
)) != EqualTo
)
14356 if ((result
= m_v75Parameters
.Compare(other
.m_v75Parameters
)) != EqualTo
)
14359 return PASN_Sequence::Compare(other
);
14363 PINDEX
H245_V76LogicalChannelParameters::GetDataLength() const
14366 length
+= m_hdlcParameters
.GetObjectLength();
14367 length
+= m_suspendResume
.GetObjectLength();
14368 length
+= m_uIH
.GetObjectLength();
14369 length
+= m_mode
.GetObjectLength();
14370 length
+= m_v75Parameters
.GetObjectLength();
14375 BOOL
H245_V76LogicalChannelParameters::Decode(PASN_Stream
& strm
)
14377 if (!PreambleDecode(strm
))
14380 if (!m_hdlcParameters
.Decode(strm
))
14382 if (!m_suspendResume
.Decode(strm
))
14384 if (!m_uIH
.Decode(strm
))
14386 if (!m_mode
.Decode(strm
))
14388 if (!m_v75Parameters
.Decode(strm
))
14391 return UnknownExtensionsDecode(strm
);
14395 void H245_V76LogicalChannelParameters::Encode(PASN_Stream
& strm
) const
14397 PreambleEncode(strm
);
14399 m_hdlcParameters
.Encode(strm
);
14400 m_suspendResume
.Encode(strm
);
14401 m_uIH
.Encode(strm
);
14402 m_mode
.Encode(strm
);
14403 m_v75Parameters
.Encode(strm
);
14405 UnknownExtensionsEncode(strm
);
14409 PObject
* H245_V76LogicalChannelParameters::Clone() const
14411 #ifndef PASN_LEANANDMEAN
14412 PAssert(IsClass(H245_V76LogicalChannelParameters::Class()), PInvalidCast
);
14414 return new H245_V76LogicalChannelParameters(*this);
14419 // RedundancyEncoding
14422 H245_RedundancyEncoding::H245_RedundancyEncoding(unsigned tag
, PASN_Object::TagClass tagClass
)
14423 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 1)
14428 #ifndef PASN_NOPRINTON
14429 void H245_RedundancyEncoding::PrintOn(ostream
& strm
) const
14431 int indent
= strm
.precision() + 2;
14433 strm
<< setw(indent
+27) << "redundancyEncodingMethod = " << setprecision(indent
) << m_redundancyEncodingMethod
<< '\n';
14434 if (HasOptionalField(e_secondaryEncoding
))
14435 strm
<< setw(indent
+20) << "secondaryEncoding = " << setprecision(indent
) << m_secondaryEncoding
<< '\n';
14436 if (HasOptionalField(e_rtpRedundancyEncoding
))
14437 strm
<< setw(indent
+24) << "rtpRedundancyEncoding = " << setprecision(indent
) << m_rtpRedundancyEncoding
<< '\n';
14438 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14443 PObject::Comparison
H245_RedundancyEncoding::Compare(const PObject
& obj
) const
14445 #ifndef PASN_LEANANDMEAN
14446 PAssert(PIsDescendant(&obj
, H245_RedundancyEncoding
), PInvalidCast
);
14448 const H245_RedundancyEncoding
& other
= (const H245_RedundancyEncoding
&)obj
;
14452 if ((result
= m_redundancyEncodingMethod
.Compare(other
.m_redundancyEncodingMethod
)) != EqualTo
)
14454 if ((result
= m_secondaryEncoding
.Compare(other
.m_secondaryEncoding
)) != EqualTo
)
14457 return PASN_Sequence::Compare(other
);
14461 PINDEX
H245_RedundancyEncoding::GetDataLength() const
14464 length
+= m_redundancyEncodingMethod
.GetObjectLength();
14465 if (HasOptionalField(e_secondaryEncoding
))
14466 length
+= m_secondaryEncoding
.GetObjectLength();
14471 BOOL
H245_RedundancyEncoding::Decode(PASN_Stream
& strm
)
14473 if (!PreambleDecode(strm
))
14476 if (!m_redundancyEncodingMethod
.Decode(strm
))
14478 if (HasOptionalField(e_secondaryEncoding
) && !m_secondaryEncoding
.Decode(strm
))
14480 if (!KnownExtensionDecode(strm
, e_rtpRedundancyEncoding
, m_rtpRedundancyEncoding
))
14483 return UnknownExtensionsDecode(strm
);
14487 void H245_RedundancyEncoding::Encode(PASN_Stream
& strm
) const
14489 PreambleEncode(strm
);
14491 m_redundancyEncodingMethod
.Encode(strm
);
14492 if (HasOptionalField(e_secondaryEncoding
))
14493 m_secondaryEncoding
.Encode(strm
);
14494 KnownExtensionEncode(strm
, e_rtpRedundancyEncoding
, m_rtpRedundancyEncoding
);
14496 UnknownExtensionsEncode(strm
);
14500 PObject
* H245_RedundancyEncoding::Clone() const
14502 #ifndef PASN_LEANANDMEAN
14503 PAssert(IsClass(H245_RedundancyEncoding::Class()), PInvalidCast
);
14505 return new H245_RedundancyEncoding(*this);
14510 // OpenLogicalChannelAck
14513 H245_OpenLogicalChannelAck::H245_OpenLogicalChannelAck(unsigned tag
, PASN_Object::TagClass tagClass
)
14514 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 4)
14519 #ifndef PASN_NOPRINTON
14520 void H245_OpenLogicalChannelAck::PrintOn(ostream
& strm
) const
14522 int indent
= strm
.precision() + 2;
14524 strm
<< setw(indent
+30) << "forwardLogicalChannelNumber = " << setprecision(indent
) << m_forwardLogicalChannelNumber
<< '\n';
14525 if (HasOptionalField(e_reverseLogicalChannelParameters
))
14526 strm
<< setw(indent
+34) << "reverseLogicalChannelParameters = " << setprecision(indent
) << m_reverseLogicalChannelParameters
<< '\n';
14527 if (HasOptionalField(e_separateStack
))
14528 strm
<< setw(indent
+16) << "separateStack = " << setprecision(indent
) << m_separateStack
<< '\n';
14529 if (HasOptionalField(e_forwardMultiplexAckParameters
))
14530 strm
<< setw(indent
+32) << "forwardMultiplexAckParameters = " << setprecision(indent
) << m_forwardMultiplexAckParameters
<< '\n';
14531 if (HasOptionalField(e_encryptionSync
))
14532 strm
<< setw(indent
+17) << "encryptionSync = " << setprecision(indent
) << m_encryptionSync
<< '\n';
14533 if (HasOptionalField(e_genericInformation
))
14534 strm
<< setw(indent
+21) << "genericInformation = " << setprecision(indent
) << m_genericInformation
<< '\n';
14535 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14540 PObject::Comparison
H245_OpenLogicalChannelAck::Compare(const PObject
& obj
) const
14542 #ifndef PASN_LEANANDMEAN
14543 PAssert(PIsDescendant(&obj
, H245_OpenLogicalChannelAck
), PInvalidCast
);
14545 const H245_OpenLogicalChannelAck
& other
= (const H245_OpenLogicalChannelAck
&)obj
;
14549 if ((result
= m_forwardLogicalChannelNumber
.Compare(other
.m_forwardLogicalChannelNumber
)) != EqualTo
)
14551 if ((result
= m_reverseLogicalChannelParameters
.Compare(other
.m_reverseLogicalChannelParameters
)) != EqualTo
)
14554 return PASN_Sequence::Compare(other
);
14558 PINDEX
H245_OpenLogicalChannelAck::GetDataLength() const
14561 length
+= m_forwardLogicalChannelNumber
.GetObjectLength();
14562 if (HasOptionalField(e_reverseLogicalChannelParameters
))
14563 length
+= m_reverseLogicalChannelParameters
.GetObjectLength();
14568 BOOL
H245_OpenLogicalChannelAck::Decode(PASN_Stream
& strm
)
14570 if (!PreambleDecode(strm
))
14573 if (!m_forwardLogicalChannelNumber
.Decode(strm
))
14575 if (HasOptionalField(e_reverseLogicalChannelParameters
) && !m_reverseLogicalChannelParameters
.Decode(strm
))
14577 if (!KnownExtensionDecode(strm
, e_separateStack
, m_separateStack
))
14579 if (!KnownExtensionDecode(strm
, e_forwardMultiplexAckParameters
, m_forwardMultiplexAckParameters
))
14581 if (!KnownExtensionDecode(strm
, e_encryptionSync
, m_encryptionSync
))
14583 if (!KnownExtensionDecode(strm
, e_genericInformation
, m_genericInformation
))
14586 return UnknownExtensionsDecode(strm
);
14590 void H245_OpenLogicalChannelAck::Encode(PASN_Stream
& strm
) const
14592 PreambleEncode(strm
);
14594 m_forwardLogicalChannelNumber
.Encode(strm
);
14595 if (HasOptionalField(e_reverseLogicalChannelParameters
))
14596 m_reverseLogicalChannelParameters
.Encode(strm
);
14597 KnownExtensionEncode(strm
, e_separateStack
, m_separateStack
);
14598 KnownExtensionEncode(strm
, e_forwardMultiplexAckParameters
, m_forwardMultiplexAckParameters
);
14599 KnownExtensionEncode(strm
, e_encryptionSync
, m_encryptionSync
);
14600 KnownExtensionEncode(strm
, e_genericInformation
, m_genericInformation
);
14602 UnknownExtensionsEncode(strm
);
14606 PObject
* H245_OpenLogicalChannelAck::Clone() const
14608 #ifndef PASN_LEANANDMEAN
14609 PAssert(IsClass(H245_OpenLogicalChannelAck::Class()), PInvalidCast
);
14611 return new H245_OpenLogicalChannelAck(*this);
14619 H245_H235Mode::H245_H235Mode(unsigned tag
, PASN_Object::TagClass tagClass
)
14620 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
14625 #ifndef PASN_NOPRINTON
14626 void H245_H235Mode::PrintOn(ostream
& strm
) const
14628 int indent
= strm
.precision() + 2;
14630 strm
<< setw(indent
+39) << "encryptionAuthenticationAndIntegrity = " << setprecision(indent
) << m_encryptionAuthenticationAndIntegrity
<< '\n';
14631 strm
<< setw(indent
+12) << "mediaMode = " << setprecision(indent
) << m_mediaMode
<< '\n';
14632 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14637 PObject::Comparison
H245_H235Mode::Compare(const PObject
& obj
) const
14639 #ifndef PASN_LEANANDMEAN
14640 PAssert(PIsDescendant(&obj
, H245_H235Mode
), PInvalidCast
);
14642 const H245_H235Mode
& other
= (const H245_H235Mode
&)obj
;
14646 if ((result
= m_encryptionAuthenticationAndIntegrity
.Compare(other
.m_encryptionAuthenticationAndIntegrity
)) != EqualTo
)
14648 if ((result
= m_mediaMode
.Compare(other
.m_mediaMode
)) != EqualTo
)
14651 return PASN_Sequence::Compare(other
);
14655 PINDEX
H245_H235Mode::GetDataLength() const
14658 length
+= m_encryptionAuthenticationAndIntegrity
.GetObjectLength();
14659 length
+= m_mediaMode
.GetObjectLength();
14664 BOOL
H245_H235Mode::Decode(PASN_Stream
& strm
)
14666 if (!PreambleDecode(strm
))
14669 if (!m_encryptionAuthenticationAndIntegrity
.Decode(strm
))
14671 if (!m_mediaMode
.Decode(strm
))
14674 return UnknownExtensionsDecode(strm
);
14678 void H245_H235Mode::Encode(PASN_Stream
& strm
) const
14680 PreambleEncode(strm
);
14682 m_encryptionAuthenticationAndIntegrity
.Encode(strm
);
14683 m_mediaMode
.Encode(strm
);
14685 UnknownExtensionsEncode(strm
);
14689 PObject
* H245_H235Mode::Clone() const
14691 #ifndef PASN_LEANANDMEAN
14692 PAssert(IsClass(H245_H235Mode::Class()), PInvalidCast
);
14694 return new H245_H235Mode(*this);
14699 // RedundancyEncodingDTMode
14702 H245_RedundancyEncodingDTMode::H245_RedundancyEncodingDTMode(unsigned tag
, PASN_Object::TagClass tagClass
)
14703 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
14708 #ifndef PASN_NOPRINTON
14709 void H245_RedundancyEncodingDTMode::PrintOn(ostream
& strm
) const
14711 int indent
= strm
.precision() + 2;
14713 strm
<< setw(indent
+27) << "redundancyEncodingMethod = " << setprecision(indent
) << m_redundancyEncodingMethod
<< '\n';
14714 strm
<< setw(indent
+10) << "primary = " << setprecision(indent
) << m_primary
<< '\n';
14715 strm
<< setw(indent
+12) << "secondary = " << setprecision(indent
) << m_secondary
<< '\n';
14716 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14721 PObject::Comparison
H245_RedundancyEncodingDTMode::Compare(const PObject
& obj
) const
14723 #ifndef PASN_LEANANDMEAN
14724 PAssert(PIsDescendant(&obj
, H245_RedundancyEncodingDTMode
), PInvalidCast
);
14726 const H245_RedundancyEncodingDTMode
& other
= (const H245_RedundancyEncodingDTMode
&)obj
;
14730 if ((result
= m_redundancyEncodingMethod
.Compare(other
.m_redundancyEncodingMethod
)) != EqualTo
)
14732 if ((result
= m_primary
.Compare(other
.m_primary
)) != EqualTo
)
14734 if ((result
= m_secondary
.Compare(other
.m_secondary
)) != EqualTo
)
14737 return PASN_Sequence::Compare(other
);
14741 PINDEX
H245_RedundancyEncodingDTMode::GetDataLength() const
14744 length
+= m_redundancyEncodingMethod
.GetObjectLength();
14745 length
+= m_primary
.GetObjectLength();
14746 length
+= m_secondary
.GetObjectLength();
14751 BOOL
H245_RedundancyEncodingDTMode::Decode(PASN_Stream
& strm
)
14753 if (!PreambleDecode(strm
))
14756 if (!m_redundancyEncodingMethod
.Decode(strm
))
14758 if (!m_primary
.Decode(strm
))
14760 if (!m_secondary
.Decode(strm
))
14763 return UnknownExtensionsDecode(strm
);
14767 void H245_RedundancyEncodingDTMode::Encode(PASN_Stream
& strm
) const
14769 PreambleEncode(strm
);
14771 m_redundancyEncodingMethod
.Encode(strm
);
14772 m_primary
.Encode(strm
);
14773 m_secondary
.Encode(strm
);
14775 UnknownExtensionsEncode(strm
);
14779 PObject
* H245_RedundancyEncodingDTMode::Clone() const
14781 #ifndef PASN_LEANANDMEAN
14782 PAssert(IsClass(H245_RedundancyEncodingDTMode::Class()), PInvalidCast
);
14784 return new H245_RedundancyEncodingDTMode(*this);
14789 // H2250ModeParameters
14792 H245_H2250ModeParameters::H245_H2250ModeParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
14793 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 0)
14798 #ifndef PASN_NOPRINTON
14799 void H245_H2250ModeParameters::PrintOn(ostream
& strm
) const
14801 int indent
= strm
.precision() + 2;
14803 if (HasOptionalField(e_redundancyEncodingMode
))
14804 strm
<< setw(indent
+25) << "redundancyEncodingMode = " << setprecision(indent
) << m_redundancyEncodingMode
<< '\n';
14805 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14810 PObject::Comparison
H245_H2250ModeParameters::Compare(const PObject
& obj
) const
14812 #ifndef PASN_LEANANDMEAN
14813 PAssert(PIsDescendant(&obj
, H245_H2250ModeParameters
), PInvalidCast
);
14815 const H245_H2250ModeParameters
& other
= (const H245_H2250ModeParameters
&)obj
;
14819 if ((result
= m_redundancyEncodingMode
.Compare(other
.m_redundancyEncodingMode
)) != EqualTo
)
14822 return PASN_Sequence::Compare(other
);
14826 PINDEX
H245_H2250ModeParameters::GetDataLength() const
14829 if (HasOptionalField(e_redundancyEncodingMode
))
14830 length
+= m_redundancyEncodingMode
.GetObjectLength();
14835 BOOL
H245_H2250ModeParameters::Decode(PASN_Stream
& strm
)
14837 if (!PreambleDecode(strm
))
14840 if (HasOptionalField(e_redundancyEncodingMode
) && !m_redundancyEncodingMode
.Decode(strm
))
14843 return UnknownExtensionsDecode(strm
);
14847 void H245_H2250ModeParameters::Encode(PASN_Stream
& strm
) const
14849 PreambleEncode(strm
);
14851 if (HasOptionalField(e_redundancyEncodingMode
))
14852 m_redundancyEncodingMode
.Encode(strm
);
14854 UnknownExtensionsEncode(strm
);
14858 PObject
* H245_H2250ModeParameters::Clone() const
14860 #ifndef PASN_LEANANDMEAN
14861 PAssert(IsClass(H245_H2250ModeParameters::Class()), PInvalidCast
);
14863 return new H245_H2250ModeParameters(*this);
14868 // CommunicationModeTableEntry
14871 H245_CommunicationModeTableEntry::H245_CommunicationModeTableEntry(unsigned tag
, PASN_Object::TagClass tagClass
)
14872 : PASN_Sequence(tag
, tagClass
, 7, TRUE
, 3)
14874 m_sessionID
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
14875 m_associatedSessionID
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
14876 m_sessionDescription
.SetConstraints(PASN_Object::FixedConstraint
, 1, 128);
14877 m_sessionDependency
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
14881 #ifndef PASN_NOPRINTON
14882 void H245_CommunicationModeTableEntry::PrintOn(ostream
& strm
) const
14884 int indent
= strm
.precision() + 2;
14886 if (HasOptionalField(e_nonStandard
))
14887 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
14888 strm
<< setw(indent
+12) << "sessionID = " << setprecision(indent
) << m_sessionID
<< '\n';
14889 if (HasOptionalField(e_associatedSessionID
))
14890 strm
<< setw(indent
+22) << "associatedSessionID = " << setprecision(indent
) << m_associatedSessionID
<< '\n';
14891 if (HasOptionalField(e_terminalLabel
))
14892 strm
<< setw(indent
+16) << "terminalLabel = " << setprecision(indent
) << m_terminalLabel
<< '\n';
14893 strm
<< setw(indent
+21) << "sessionDescription = " << setprecision(indent
) << m_sessionDescription
<< '\n';
14894 strm
<< setw(indent
+11) << "dataType = " << setprecision(indent
) << m_dataType
<< '\n';
14895 if (HasOptionalField(e_mediaChannel
))
14896 strm
<< setw(indent
+15) << "mediaChannel = " << setprecision(indent
) << m_mediaChannel
<< '\n';
14897 if (HasOptionalField(e_mediaGuaranteedDelivery
))
14898 strm
<< setw(indent
+26) << "mediaGuaranteedDelivery = " << setprecision(indent
) << m_mediaGuaranteedDelivery
<< '\n';
14899 if (HasOptionalField(e_mediaControlChannel
))
14900 strm
<< setw(indent
+22) << "mediaControlChannel = " << setprecision(indent
) << m_mediaControlChannel
<< '\n';
14901 if (HasOptionalField(e_mediaControlGuaranteedDelivery
))
14902 strm
<< setw(indent
+33) << "mediaControlGuaranteedDelivery = " << setprecision(indent
) << m_mediaControlGuaranteedDelivery
<< '\n';
14903 if (HasOptionalField(e_redundancyEncoding
))
14904 strm
<< setw(indent
+21) << "redundancyEncoding = " << setprecision(indent
) << m_redundancyEncoding
<< '\n';
14905 if (HasOptionalField(e_sessionDependency
))
14906 strm
<< setw(indent
+20) << "sessionDependency = " << setprecision(indent
) << m_sessionDependency
<< '\n';
14907 if (HasOptionalField(e_destination
))
14908 strm
<< setw(indent
+14) << "destination = " << setprecision(indent
) << m_destination
<< '\n';
14909 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
14914 PObject::Comparison
H245_CommunicationModeTableEntry::Compare(const PObject
& obj
) const
14916 #ifndef PASN_LEANANDMEAN
14917 PAssert(PIsDescendant(&obj
, H245_CommunicationModeTableEntry
), PInvalidCast
);
14919 const H245_CommunicationModeTableEntry
& other
= (const H245_CommunicationModeTableEntry
&)obj
;
14923 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
14925 if ((result
= m_sessionID
.Compare(other
.m_sessionID
)) != EqualTo
)
14927 if ((result
= m_associatedSessionID
.Compare(other
.m_associatedSessionID
)) != EqualTo
)
14929 if ((result
= m_terminalLabel
.Compare(other
.m_terminalLabel
)) != EqualTo
)
14931 if ((result
= m_sessionDescription
.Compare(other
.m_sessionDescription
)) != EqualTo
)
14933 if ((result
= m_dataType
.Compare(other
.m_dataType
)) != EqualTo
)
14935 if ((result
= m_mediaChannel
.Compare(other
.m_mediaChannel
)) != EqualTo
)
14937 if ((result
= m_mediaGuaranteedDelivery
.Compare(other
.m_mediaGuaranteedDelivery
)) != EqualTo
)
14939 if ((result
= m_mediaControlChannel
.Compare(other
.m_mediaControlChannel
)) != EqualTo
)
14941 if ((result
= m_mediaControlGuaranteedDelivery
.Compare(other
.m_mediaControlGuaranteedDelivery
)) != EqualTo
)
14944 return PASN_Sequence::Compare(other
);
14948 PINDEX
H245_CommunicationModeTableEntry::GetDataLength() const
14951 if (HasOptionalField(e_nonStandard
))
14952 length
+= m_nonStandard
.GetObjectLength();
14953 length
+= m_sessionID
.GetObjectLength();
14954 if (HasOptionalField(e_associatedSessionID
))
14955 length
+= m_associatedSessionID
.GetObjectLength();
14956 if (HasOptionalField(e_terminalLabel
))
14957 length
+= m_terminalLabel
.GetObjectLength();
14958 length
+= m_sessionDescription
.GetObjectLength();
14959 length
+= m_dataType
.GetObjectLength();
14960 if (HasOptionalField(e_mediaChannel
))
14961 length
+= m_mediaChannel
.GetObjectLength();
14962 if (HasOptionalField(e_mediaGuaranteedDelivery
))
14963 length
+= m_mediaGuaranteedDelivery
.GetObjectLength();
14964 if (HasOptionalField(e_mediaControlChannel
))
14965 length
+= m_mediaControlChannel
.GetObjectLength();
14966 if (HasOptionalField(e_mediaControlGuaranteedDelivery
))
14967 length
+= m_mediaControlGuaranteedDelivery
.GetObjectLength();
14972 BOOL
H245_CommunicationModeTableEntry::Decode(PASN_Stream
& strm
)
14974 if (!PreambleDecode(strm
))
14977 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
14979 if (!m_sessionID
.Decode(strm
))
14981 if (HasOptionalField(e_associatedSessionID
) && !m_associatedSessionID
.Decode(strm
))
14983 if (HasOptionalField(e_terminalLabel
) && !m_terminalLabel
.Decode(strm
))
14985 if (!m_sessionDescription
.Decode(strm
))
14987 if (!m_dataType
.Decode(strm
))
14989 if (HasOptionalField(e_mediaChannel
) && !m_mediaChannel
.Decode(strm
))
14991 if (HasOptionalField(e_mediaGuaranteedDelivery
) && !m_mediaGuaranteedDelivery
.Decode(strm
))
14993 if (HasOptionalField(e_mediaControlChannel
) && !m_mediaControlChannel
.Decode(strm
))
14995 if (HasOptionalField(e_mediaControlGuaranteedDelivery
) && !m_mediaControlGuaranteedDelivery
.Decode(strm
))
14997 if (!KnownExtensionDecode(strm
, e_redundancyEncoding
, m_redundancyEncoding
))
14999 if (!KnownExtensionDecode(strm
, e_sessionDependency
, m_sessionDependency
))
15001 if (!KnownExtensionDecode(strm
, e_destination
, m_destination
))
15004 return UnknownExtensionsDecode(strm
);
15008 void H245_CommunicationModeTableEntry::Encode(PASN_Stream
& strm
) const
15010 PreambleEncode(strm
);
15012 if (HasOptionalField(e_nonStandard
))
15013 m_nonStandard
.Encode(strm
);
15014 m_sessionID
.Encode(strm
);
15015 if (HasOptionalField(e_associatedSessionID
))
15016 m_associatedSessionID
.Encode(strm
);
15017 if (HasOptionalField(e_terminalLabel
))
15018 m_terminalLabel
.Encode(strm
);
15019 m_sessionDescription
.Encode(strm
);
15020 m_dataType
.Encode(strm
);
15021 if (HasOptionalField(e_mediaChannel
))
15022 m_mediaChannel
.Encode(strm
);
15023 if (HasOptionalField(e_mediaGuaranteedDelivery
))
15024 m_mediaGuaranteedDelivery
.Encode(strm
);
15025 if (HasOptionalField(e_mediaControlChannel
))
15026 m_mediaControlChannel
.Encode(strm
);
15027 if (HasOptionalField(e_mediaControlGuaranteedDelivery
))
15028 m_mediaControlGuaranteedDelivery
.Encode(strm
);
15029 KnownExtensionEncode(strm
, e_redundancyEncoding
, m_redundancyEncoding
);
15030 KnownExtensionEncode(strm
, e_sessionDependency
, m_sessionDependency
);
15031 KnownExtensionEncode(strm
, e_destination
, m_destination
);
15033 UnknownExtensionsEncode(strm
);
15037 PObject
* H245_CommunicationModeTableEntry::Clone() const
15039 #ifndef PASN_LEANANDMEAN
15040 PAssert(IsClass(H245_CommunicationModeTableEntry::Class()), PInvalidCast
);
15042 return new H245_CommunicationModeTableEntry(*this);
15050 H245_NewATMVCCommand::H245_NewATMVCCommand(unsigned tag
, PASN_Object::TagClass tagClass
)
15051 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
15053 m_resourceID
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
15054 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
15058 #ifndef PASN_NOPRINTON
15059 void H245_NewATMVCCommand::PrintOn(ostream
& strm
) const
15061 int indent
= strm
.precision() + 2;
15063 strm
<< setw(indent
+13) << "resourceID = " << setprecision(indent
) << m_resourceID
<< '\n';
15064 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
15065 strm
<< setw(indent
+26) << "bitRateLockedToPCRClock = " << setprecision(indent
) << m_bitRateLockedToPCRClock
<< '\n';
15066 strm
<< setw(indent
+30) << "bitRateLockedToNetworkClock = " << setprecision(indent
) << m_bitRateLockedToNetworkClock
<< '\n';
15067 strm
<< setw(indent
+6) << "aal = " << setprecision(indent
) << m_aal
<< '\n';
15068 strm
<< setw(indent
+12) << "multiplex = " << setprecision(indent
) << m_multiplex
<< '\n';
15069 strm
<< setw(indent
+20) << "reverseParameters = " << setprecision(indent
) << m_reverseParameters
<< '\n';
15070 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15075 PObject::Comparison
H245_NewATMVCCommand::Compare(const PObject
& obj
) const
15077 #ifndef PASN_LEANANDMEAN
15078 PAssert(PIsDescendant(&obj
, H245_NewATMVCCommand
), PInvalidCast
);
15080 const H245_NewATMVCCommand
& other
= (const H245_NewATMVCCommand
&)obj
;
15084 if ((result
= m_resourceID
.Compare(other
.m_resourceID
)) != EqualTo
)
15086 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
15088 if ((result
= m_bitRateLockedToPCRClock
.Compare(other
.m_bitRateLockedToPCRClock
)) != EqualTo
)
15090 if ((result
= m_bitRateLockedToNetworkClock
.Compare(other
.m_bitRateLockedToNetworkClock
)) != EqualTo
)
15092 if ((result
= m_aal
.Compare(other
.m_aal
)) != EqualTo
)
15094 if ((result
= m_multiplex
.Compare(other
.m_multiplex
)) != EqualTo
)
15096 if ((result
= m_reverseParameters
.Compare(other
.m_reverseParameters
)) != EqualTo
)
15099 return PASN_Sequence::Compare(other
);
15103 PINDEX
H245_NewATMVCCommand::GetDataLength() const
15106 length
+= m_resourceID
.GetObjectLength();
15107 length
+= m_bitRate
.GetObjectLength();
15108 length
+= m_bitRateLockedToPCRClock
.GetObjectLength();
15109 length
+= m_bitRateLockedToNetworkClock
.GetObjectLength();
15110 length
+= m_aal
.GetObjectLength();
15111 length
+= m_multiplex
.GetObjectLength();
15112 length
+= m_reverseParameters
.GetObjectLength();
15117 BOOL
H245_NewATMVCCommand::Decode(PASN_Stream
& strm
)
15119 if (!PreambleDecode(strm
))
15122 if (!m_resourceID
.Decode(strm
))
15124 if (!m_bitRate
.Decode(strm
))
15126 if (!m_bitRateLockedToPCRClock
.Decode(strm
))
15128 if (!m_bitRateLockedToNetworkClock
.Decode(strm
))
15130 if (!m_aal
.Decode(strm
))
15132 if (!m_multiplex
.Decode(strm
))
15134 if (!m_reverseParameters
.Decode(strm
))
15137 return UnknownExtensionsDecode(strm
);
15141 void H245_NewATMVCCommand::Encode(PASN_Stream
& strm
) const
15143 PreambleEncode(strm
);
15145 m_resourceID
.Encode(strm
);
15146 m_bitRate
.Encode(strm
);
15147 m_bitRateLockedToPCRClock
.Encode(strm
);
15148 m_bitRateLockedToNetworkClock
.Encode(strm
);
15149 m_aal
.Encode(strm
);
15150 m_multiplex
.Encode(strm
);
15151 m_reverseParameters
.Encode(strm
);
15153 UnknownExtensionsEncode(strm
);
15157 PObject
* H245_NewATMVCCommand::Clone() const
15159 #ifndef PASN_LEANANDMEAN
15160 PAssert(IsClass(H245_NewATMVCCommand::Class()), PInvalidCast
);
15162 return new H245_NewATMVCCommand(*this);
15167 // NewATMVCIndication
15170 H245_NewATMVCIndication::H245_NewATMVCIndication(unsigned tag
, PASN_Object::TagClass tagClass
)
15171 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 1)
15173 m_resourceID
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
15174 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 65535);
15175 IncludeOptionalField(e_reverseParameters
);
15179 #ifndef PASN_NOPRINTON
15180 void H245_NewATMVCIndication::PrintOn(ostream
& strm
) const
15182 int indent
= strm
.precision() + 2;
15184 strm
<< setw(indent
+13) << "resourceID = " << setprecision(indent
) << m_resourceID
<< '\n';
15185 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
15186 strm
<< setw(indent
+26) << "bitRateLockedToPCRClock = " << setprecision(indent
) << m_bitRateLockedToPCRClock
<< '\n';
15187 strm
<< setw(indent
+30) << "bitRateLockedToNetworkClock = " << setprecision(indent
) << m_bitRateLockedToNetworkClock
<< '\n';
15188 strm
<< setw(indent
+6) << "aal = " << setprecision(indent
) << m_aal
<< '\n';
15189 strm
<< setw(indent
+12) << "multiplex = " << setprecision(indent
) << m_multiplex
<< '\n';
15190 if (HasOptionalField(e_reverseParameters
))
15191 strm
<< setw(indent
+20) << "reverseParameters = " << setprecision(indent
) << m_reverseParameters
<< '\n';
15192 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15197 PObject::Comparison
H245_NewATMVCIndication::Compare(const PObject
& obj
) const
15199 #ifndef PASN_LEANANDMEAN
15200 PAssert(PIsDescendant(&obj
, H245_NewATMVCIndication
), PInvalidCast
);
15202 const H245_NewATMVCIndication
& other
= (const H245_NewATMVCIndication
&)obj
;
15206 if ((result
= m_resourceID
.Compare(other
.m_resourceID
)) != EqualTo
)
15208 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
15210 if ((result
= m_bitRateLockedToPCRClock
.Compare(other
.m_bitRateLockedToPCRClock
)) != EqualTo
)
15212 if ((result
= m_bitRateLockedToNetworkClock
.Compare(other
.m_bitRateLockedToNetworkClock
)) != EqualTo
)
15214 if ((result
= m_aal
.Compare(other
.m_aal
)) != EqualTo
)
15216 if ((result
= m_multiplex
.Compare(other
.m_multiplex
)) != EqualTo
)
15219 return PASN_Sequence::Compare(other
);
15223 PINDEX
H245_NewATMVCIndication::GetDataLength() const
15226 length
+= m_resourceID
.GetObjectLength();
15227 length
+= m_bitRate
.GetObjectLength();
15228 length
+= m_bitRateLockedToPCRClock
.GetObjectLength();
15229 length
+= m_bitRateLockedToNetworkClock
.GetObjectLength();
15230 length
+= m_aal
.GetObjectLength();
15231 length
+= m_multiplex
.GetObjectLength();
15236 BOOL
H245_NewATMVCIndication::Decode(PASN_Stream
& strm
)
15238 if (!PreambleDecode(strm
))
15241 if (!m_resourceID
.Decode(strm
))
15243 if (!m_bitRate
.Decode(strm
))
15245 if (!m_bitRateLockedToPCRClock
.Decode(strm
))
15247 if (!m_bitRateLockedToNetworkClock
.Decode(strm
))
15249 if (!m_aal
.Decode(strm
))
15251 if (!m_multiplex
.Decode(strm
))
15253 if (!KnownExtensionDecode(strm
, e_reverseParameters
, m_reverseParameters
))
15256 return UnknownExtensionsDecode(strm
);
15260 void H245_NewATMVCIndication::Encode(PASN_Stream
& strm
) const
15262 PreambleEncode(strm
);
15264 m_resourceID
.Encode(strm
);
15265 m_bitRate
.Encode(strm
);
15266 m_bitRateLockedToPCRClock
.Encode(strm
);
15267 m_bitRateLockedToNetworkClock
.Encode(strm
);
15268 m_aal
.Encode(strm
);
15269 m_multiplex
.Encode(strm
);
15270 KnownExtensionEncode(strm
, e_reverseParameters
, m_reverseParameters
);
15272 UnknownExtensionsEncode(strm
);
15276 PObject
* H245_NewATMVCIndication::Clone() const
15278 #ifndef PASN_LEANANDMEAN
15279 PAssert(IsClass(H245_NewATMVCIndication::Class()), PInvalidCast
);
15281 return new H245_NewATMVCIndication(*this);
15286 // DataApplicationCapability_application_t38fax
15289 H245_DataApplicationCapability_application_t38fax::H245_DataApplicationCapability_application_t38fax(unsigned tag
, PASN_Object::TagClass tagClass
)
15290 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
15295 #ifndef PASN_NOPRINTON
15296 void H245_DataApplicationCapability_application_t38fax::PrintOn(ostream
& strm
) const
15298 int indent
= strm
.precision() + 2;
15300 strm
<< setw(indent
+17) << "t38FaxProtocol = " << setprecision(indent
) << m_t38FaxProtocol
<< '\n';
15301 strm
<< setw(indent
+16) << "t38FaxProfile = " << setprecision(indent
) << m_t38FaxProfile
<< '\n';
15302 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15307 PObject::Comparison
H245_DataApplicationCapability_application_t38fax::Compare(const PObject
& obj
) const
15309 #ifndef PASN_LEANANDMEAN
15310 PAssert(PIsDescendant(&obj
, H245_DataApplicationCapability_application_t38fax
), PInvalidCast
);
15312 const H245_DataApplicationCapability_application_t38fax
& other
= (const H245_DataApplicationCapability_application_t38fax
&)obj
;
15316 if ((result
= m_t38FaxProtocol
.Compare(other
.m_t38FaxProtocol
)) != EqualTo
)
15318 if ((result
= m_t38FaxProfile
.Compare(other
.m_t38FaxProfile
)) != EqualTo
)
15321 return PASN_Sequence::Compare(other
);
15325 PINDEX
H245_DataApplicationCapability_application_t38fax::GetDataLength() const
15328 length
+= m_t38FaxProtocol
.GetObjectLength();
15329 length
+= m_t38FaxProfile
.GetObjectLength();
15334 BOOL
H245_DataApplicationCapability_application_t38fax::Decode(PASN_Stream
& strm
)
15336 if (!PreambleDecode(strm
))
15339 if (!m_t38FaxProtocol
.Decode(strm
))
15341 if (!m_t38FaxProfile
.Decode(strm
))
15344 return UnknownExtensionsDecode(strm
);
15348 void H245_DataApplicationCapability_application_t38fax::Encode(PASN_Stream
& strm
) const
15350 PreambleEncode(strm
);
15352 m_t38FaxProtocol
.Encode(strm
);
15353 m_t38FaxProfile
.Encode(strm
);
15355 UnknownExtensionsEncode(strm
);
15359 PObject
* H245_DataApplicationCapability_application_t38fax::Clone() const
15361 #ifndef PASN_LEANANDMEAN
15362 PAssert(IsClass(H245_DataApplicationCapability_application_t38fax::Class()), PInvalidCast
);
15364 return new H245_DataApplicationCapability_application_t38fax(*this);
15369 // DataMode_application_t38fax
15372 H245_DataMode_application_t38fax::H245_DataMode_application_t38fax(unsigned tag
, PASN_Object::TagClass tagClass
)
15373 : PASN_Sequence(tag
, tagClass
, 0, FALSE
, 0)
15378 #ifndef PASN_NOPRINTON
15379 void H245_DataMode_application_t38fax::PrintOn(ostream
& strm
) const
15381 int indent
= strm
.precision() + 2;
15383 strm
<< setw(indent
+17) << "t38FaxProtocol = " << setprecision(indent
) << m_t38FaxProtocol
<< '\n';
15384 strm
<< setw(indent
+16) << "t38FaxProfile = " << setprecision(indent
) << m_t38FaxProfile
<< '\n';
15385 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15390 PObject::Comparison
H245_DataMode_application_t38fax::Compare(const PObject
& obj
) const
15392 #ifndef PASN_LEANANDMEAN
15393 PAssert(PIsDescendant(&obj
, H245_DataMode_application_t38fax
), PInvalidCast
);
15395 const H245_DataMode_application_t38fax
& other
= (const H245_DataMode_application_t38fax
&)obj
;
15399 if ((result
= m_t38FaxProtocol
.Compare(other
.m_t38FaxProtocol
)) != EqualTo
)
15401 if ((result
= m_t38FaxProfile
.Compare(other
.m_t38FaxProfile
)) != EqualTo
)
15404 return PASN_Sequence::Compare(other
);
15408 PINDEX
H245_DataMode_application_t38fax::GetDataLength() const
15411 length
+= m_t38FaxProtocol
.GetObjectLength();
15412 length
+= m_t38FaxProfile
.GetObjectLength();
15417 BOOL
H245_DataMode_application_t38fax::Decode(PASN_Stream
& strm
)
15419 if (!PreambleDecode(strm
))
15422 if (!m_t38FaxProtocol
.Decode(strm
))
15424 if (!m_t38FaxProfile
.Decode(strm
))
15427 return UnknownExtensionsDecode(strm
);
15431 void H245_DataMode_application_t38fax::Encode(PASN_Stream
& strm
) const
15433 PreambleEncode(strm
);
15435 m_t38FaxProtocol
.Encode(strm
);
15436 m_t38FaxProfile
.Encode(strm
);
15438 UnknownExtensionsEncode(strm
);
15442 PObject
* H245_DataMode_application_t38fax::Clone() const
15444 #ifndef PASN_LEANANDMEAN
15445 PAssert(IsClass(H245_DataMode_application_t38fax::Class()), PInvalidCast
);
15447 return new H245_DataMode_application_t38fax(*this);
15452 // H235SecurityCapability
15455 H245_H235SecurityCapability::H245_H235SecurityCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
15456 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
15461 #ifndef PASN_NOPRINTON
15462 void H245_H235SecurityCapability::PrintOn(ostream
& strm
) const
15464 int indent
= strm
.precision() + 2;
15466 strm
<< setw(indent
+39) << "encryptionAuthenticationAndIntegrity = " << setprecision(indent
) << m_encryptionAuthenticationAndIntegrity
<< '\n';
15467 strm
<< setw(indent
+18) << "mediaCapability = " << setprecision(indent
) << m_mediaCapability
<< '\n';
15468 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15473 PObject::Comparison
H245_H235SecurityCapability::Compare(const PObject
& obj
) const
15475 #ifndef PASN_LEANANDMEAN
15476 PAssert(PIsDescendant(&obj
, H245_H235SecurityCapability
), PInvalidCast
);
15478 const H245_H235SecurityCapability
& other
= (const H245_H235SecurityCapability
&)obj
;
15482 if ((result
= m_encryptionAuthenticationAndIntegrity
.Compare(other
.m_encryptionAuthenticationAndIntegrity
)) != EqualTo
)
15484 if ((result
= m_mediaCapability
.Compare(other
.m_mediaCapability
)) != EqualTo
)
15487 return PASN_Sequence::Compare(other
);
15491 PINDEX
H245_H235SecurityCapability::GetDataLength() const
15494 length
+= m_encryptionAuthenticationAndIntegrity
.GetObjectLength();
15495 length
+= m_mediaCapability
.GetObjectLength();
15500 BOOL
H245_H235SecurityCapability::Decode(PASN_Stream
& strm
)
15502 if (!PreambleDecode(strm
))
15505 if (!m_encryptionAuthenticationAndIntegrity
.Decode(strm
))
15507 if (!m_mediaCapability
.Decode(strm
))
15510 return UnknownExtensionsDecode(strm
);
15514 void H245_H235SecurityCapability::Encode(PASN_Stream
& strm
) const
15516 PreambleEncode(strm
);
15518 m_encryptionAuthenticationAndIntegrity
.Encode(strm
);
15519 m_mediaCapability
.Encode(strm
);
15521 UnknownExtensionsEncode(strm
);
15525 PObject
* H245_H235SecurityCapability::Clone() const
15527 #ifndef PASN_LEANANDMEAN
15528 PAssert(IsClass(H245_H235SecurityCapability::Class()), PInvalidCast
);
15530 return new H245_H235SecurityCapability(*this);
15538 H245_H263Options::H245_H263Options(unsigned tag
, PASN_Object::TagClass tagClass
)
15539 : PASN_Sequence(tag
, tagClass
, 5, TRUE
, 2)
15541 m_customPictureClockFrequency
.SetConstraints(PASN_Object::FixedConstraint
, 1, 16);
15542 m_customPictureFormat
.SetConstraints(PASN_Object::FixedConstraint
, 1, 16);
15543 m_modeCombos
.SetConstraints(PASN_Object::FixedConstraint
, 1, 16);
15544 IncludeOptionalField(e_videoBadMBsCap
);
15545 IncludeOptionalField(e_h263Version3Options
);
15549 #ifndef PASN_NOPRINTON
15550 void H245_H263Options::PrintOn(ostream
& strm
) const
15552 int indent
= strm
.precision() + 2;
15554 strm
<< setw(indent
+26) << "advancedIntraCodingMode = " << setprecision(indent
) << m_advancedIntraCodingMode
<< '\n';
15555 strm
<< setw(indent
+23) << "deblockingFilterMode = " << setprecision(indent
) << m_deblockingFilterMode
<< '\n';
15556 strm
<< setw(indent
+23) << "improvedPBFramesMode = " << setprecision(indent
) << m_improvedPBFramesMode
<< '\n';
15557 strm
<< setw(indent
+25) << "unlimitedMotionVectors = " << setprecision(indent
) << m_unlimitedMotionVectors
<< '\n';
15558 strm
<< setw(indent
+20) << "fullPictureFreeze = " << setprecision(indent
) << m_fullPictureFreeze
<< '\n';
15559 strm
<< setw(indent
+33) << "partialPictureFreezeAndRelease = " << setprecision(indent
) << m_partialPictureFreezeAndRelease
<< '\n';
15560 strm
<< setw(indent
+34) << "resizingPartPicFreezeAndRelease = " << setprecision(indent
) << m_resizingPartPicFreezeAndRelease
<< '\n';
15561 strm
<< setw(indent
+22) << "fullPictureSnapshot = " << setprecision(indent
) << m_fullPictureSnapshot
<< '\n';
15562 strm
<< setw(indent
+25) << "partialPictureSnapshot = " << setprecision(indent
) << m_partialPictureSnapshot
<< '\n';
15563 strm
<< setw(indent
+22) << "videoSegmentTagging = " << setprecision(indent
) << m_videoSegmentTagging
<< '\n';
15564 strm
<< setw(indent
+24) << "progressiveRefinement = " << setprecision(indent
) << m_progressiveRefinement
<< '\n';
15565 strm
<< setw(indent
+31) << "dynamicPictureResizingByFour = " << setprecision(indent
) << m_dynamicPictureResizingByFour
<< '\n';
15566 strm
<< setw(indent
+37) << "dynamicPictureResizingSixteenthPel = " << setprecision(indent
) << m_dynamicPictureResizingSixteenthPel
<< '\n';
15567 strm
<< setw(indent
+24) << "dynamicWarpingHalfPel = " << setprecision(indent
) << m_dynamicWarpingHalfPel
<< '\n';
15568 strm
<< setw(indent
+29) << "dynamicWarpingSixteenthPel = " << setprecision(indent
) << m_dynamicWarpingSixteenthPel
<< '\n';
15569 strm
<< setw(indent
+29) << "independentSegmentDecoding = " << setprecision(indent
) << m_independentSegmentDecoding
<< '\n';
15570 strm
<< setw(indent
+24) << "slicesInOrder_NonRect = " << setprecision(indent
) << m_slicesInOrder_NonRect
<< '\n';
15571 strm
<< setw(indent
+21) << "slicesInOrder_Rect = " << setprecision(indent
) << m_slicesInOrder_Rect
<< '\n';
15572 strm
<< setw(indent
+24) << "slicesNoOrder_NonRect = " << setprecision(indent
) << m_slicesNoOrder_NonRect
<< '\n';
15573 strm
<< setw(indent
+21) << "slicesNoOrder_Rect = " << setprecision(indent
) << m_slicesNoOrder_Rect
<< '\n';
15574 strm
<< setw(indent
+24) << "alternateInterVLCMode = " << setprecision(indent
) << m_alternateInterVLCMode
<< '\n';
15575 strm
<< setw(indent
+27) << "modifiedQuantizationMode = " << setprecision(indent
) << m_modifiedQuantizationMode
<< '\n';
15576 strm
<< setw(indent
+26) << "reducedResolutionUpdate = " << setprecision(indent
) << m_reducedResolutionUpdate
<< '\n';
15577 if (HasOptionalField(e_transparencyParameters
))
15578 strm
<< setw(indent
+25) << "transparencyParameters = " << setprecision(indent
) << m_transparencyParameters
<< '\n';
15579 strm
<< setw(indent
+27) << "separateVideoBackChannel = " << setprecision(indent
) << m_separateVideoBackChannel
<< '\n';
15580 if (HasOptionalField(e_refPictureSelection
))
15581 strm
<< setw(indent
+22) << "refPictureSelection = " << setprecision(indent
) << m_refPictureSelection
<< '\n';
15582 if (HasOptionalField(e_customPictureClockFrequency
))
15583 strm
<< setw(indent
+30) << "customPictureClockFrequency = " << setprecision(indent
) << m_customPictureClockFrequency
<< '\n';
15584 if (HasOptionalField(e_customPictureFormat
))
15585 strm
<< setw(indent
+22) << "customPictureFormat = " << setprecision(indent
) << m_customPictureFormat
<< '\n';
15586 if (HasOptionalField(e_modeCombos
))
15587 strm
<< setw(indent
+13) << "modeCombos = " << setprecision(indent
) << m_modeCombos
<< '\n';
15588 if (HasOptionalField(e_videoBadMBsCap
))
15589 strm
<< setw(indent
+17) << "videoBadMBsCap = " << setprecision(indent
) << m_videoBadMBsCap
<< '\n';
15590 if (HasOptionalField(e_h263Version3Options
))
15591 strm
<< setw(indent
+22) << "h263Version3Options = " << setprecision(indent
) << m_h263Version3Options
<< '\n';
15592 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15597 PObject::Comparison
H245_H263Options::Compare(const PObject
& obj
) const
15599 #ifndef PASN_LEANANDMEAN
15600 PAssert(PIsDescendant(&obj
, H245_H263Options
), PInvalidCast
);
15602 const H245_H263Options
& other
= (const H245_H263Options
&)obj
;
15606 if ((result
= m_advancedIntraCodingMode
.Compare(other
.m_advancedIntraCodingMode
)) != EqualTo
)
15608 if ((result
= m_deblockingFilterMode
.Compare(other
.m_deblockingFilterMode
)) != EqualTo
)
15610 if ((result
= m_improvedPBFramesMode
.Compare(other
.m_improvedPBFramesMode
)) != EqualTo
)
15612 if ((result
= m_unlimitedMotionVectors
.Compare(other
.m_unlimitedMotionVectors
)) != EqualTo
)
15614 if ((result
= m_fullPictureFreeze
.Compare(other
.m_fullPictureFreeze
)) != EqualTo
)
15616 if ((result
= m_partialPictureFreezeAndRelease
.Compare(other
.m_partialPictureFreezeAndRelease
)) != EqualTo
)
15618 if ((result
= m_resizingPartPicFreezeAndRelease
.Compare(other
.m_resizingPartPicFreezeAndRelease
)) != EqualTo
)
15620 if ((result
= m_fullPictureSnapshot
.Compare(other
.m_fullPictureSnapshot
)) != EqualTo
)
15622 if ((result
= m_partialPictureSnapshot
.Compare(other
.m_partialPictureSnapshot
)) != EqualTo
)
15624 if ((result
= m_videoSegmentTagging
.Compare(other
.m_videoSegmentTagging
)) != EqualTo
)
15626 if ((result
= m_progressiveRefinement
.Compare(other
.m_progressiveRefinement
)) != EqualTo
)
15628 if ((result
= m_dynamicPictureResizingByFour
.Compare(other
.m_dynamicPictureResizingByFour
)) != EqualTo
)
15630 if ((result
= m_dynamicPictureResizingSixteenthPel
.Compare(other
.m_dynamicPictureResizingSixteenthPel
)) != EqualTo
)
15632 if ((result
= m_dynamicWarpingHalfPel
.Compare(other
.m_dynamicWarpingHalfPel
)) != EqualTo
)
15634 if ((result
= m_dynamicWarpingSixteenthPel
.Compare(other
.m_dynamicWarpingSixteenthPel
)) != EqualTo
)
15636 if ((result
= m_independentSegmentDecoding
.Compare(other
.m_independentSegmentDecoding
)) != EqualTo
)
15638 if ((result
= m_slicesInOrder_NonRect
.Compare(other
.m_slicesInOrder_NonRect
)) != EqualTo
)
15640 if ((result
= m_slicesInOrder_Rect
.Compare(other
.m_slicesInOrder_Rect
)) != EqualTo
)
15642 if ((result
= m_slicesNoOrder_NonRect
.Compare(other
.m_slicesNoOrder_NonRect
)) != EqualTo
)
15644 if ((result
= m_slicesNoOrder_Rect
.Compare(other
.m_slicesNoOrder_Rect
)) != EqualTo
)
15646 if ((result
= m_alternateInterVLCMode
.Compare(other
.m_alternateInterVLCMode
)) != EqualTo
)
15648 if ((result
= m_modifiedQuantizationMode
.Compare(other
.m_modifiedQuantizationMode
)) != EqualTo
)
15650 if ((result
= m_reducedResolutionUpdate
.Compare(other
.m_reducedResolutionUpdate
)) != EqualTo
)
15652 if ((result
= m_transparencyParameters
.Compare(other
.m_transparencyParameters
)) != EqualTo
)
15654 if ((result
= m_separateVideoBackChannel
.Compare(other
.m_separateVideoBackChannel
)) != EqualTo
)
15656 if ((result
= m_refPictureSelection
.Compare(other
.m_refPictureSelection
)) != EqualTo
)
15658 if ((result
= m_customPictureClockFrequency
.Compare(other
.m_customPictureClockFrequency
)) != EqualTo
)
15660 if ((result
= m_customPictureFormat
.Compare(other
.m_customPictureFormat
)) != EqualTo
)
15662 if ((result
= m_modeCombos
.Compare(other
.m_modeCombos
)) != EqualTo
)
15665 return PASN_Sequence::Compare(other
);
15669 PINDEX
H245_H263Options::GetDataLength() const
15672 length
+= m_advancedIntraCodingMode
.GetObjectLength();
15673 length
+= m_deblockingFilterMode
.GetObjectLength();
15674 length
+= m_improvedPBFramesMode
.GetObjectLength();
15675 length
+= m_unlimitedMotionVectors
.GetObjectLength();
15676 length
+= m_fullPictureFreeze
.GetObjectLength();
15677 length
+= m_partialPictureFreezeAndRelease
.GetObjectLength();
15678 length
+= m_resizingPartPicFreezeAndRelease
.GetObjectLength();
15679 length
+= m_fullPictureSnapshot
.GetObjectLength();
15680 length
+= m_partialPictureSnapshot
.GetObjectLength();
15681 length
+= m_videoSegmentTagging
.GetObjectLength();
15682 length
+= m_progressiveRefinement
.GetObjectLength();
15683 length
+= m_dynamicPictureResizingByFour
.GetObjectLength();
15684 length
+= m_dynamicPictureResizingSixteenthPel
.GetObjectLength();
15685 length
+= m_dynamicWarpingHalfPel
.GetObjectLength();
15686 length
+= m_dynamicWarpingSixteenthPel
.GetObjectLength();
15687 length
+= m_independentSegmentDecoding
.GetObjectLength();
15688 length
+= m_slicesInOrder_NonRect
.GetObjectLength();
15689 length
+= m_slicesInOrder_Rect
.GetObjectLength();
15690 length
+= m_slicesNoOrder_NonRect
.GetObjectLength();
15691 length
+= m_slicesNoOrder_Rect
.GetObjectLength();
15692 length
+= m_alternateInterVLCMode
.GetObjectLength();
15693 length
+= m_modifiedQuantizationMode
.GetObjectLength();
15694 length
+= m_reducedResolutionUpdate
.GetObjectLength();
15695 if (HasOptionalField(e_transparencyParameters
))
15696 length
+= m_transparencyParameters
.GetObjectLength();
15697 length
+= m_separateVideoBackChannel
.GetObjectLength();
15698 if (HasOptionalField(e_refPictureSelection
))
15699 length
+= m_refPictureSelection
.GetObjectLength();
15700 if (HasOptionalField(e_customPictureClockFrequency
))
15701 length
+= m_customPictureClockFrequency
.GetObjectLength();
15702 if (HasOptionalField(e_customPictureFormat
))
15703 length
+= m_customPictureFormat
.GetObjectLength();
15704 if (HasOptionalField(e_modeCombos
))
15705 length
+= m_modeCombos
.GetObjectLength();
15710 BOOL
H245_H263Options::Decode(PASN_Stream
& strm
)
15712 if (!PreambleDecode(strm
))
15715 if (!m_advancedIntraCodingMode
.Decode(strm
))
15717 if (!m_deblockingFilterMode
.Decode(strm
))
15719 if (!m_improvedPBFramesMode
.Decode(strm
))
15721 if (!m_unlimitedMotionVectors
.Decode(strm
))
15723 if (!m_fullPictureFreeze
.Decode(strm
))
15725 if (!m_partialPictureFreezeAndRelease
.Decode(strm
))
15727 if (!m_resizingPartPicFreezeAndRelease
.Decode(strm
))
15729 if (!m_fullPictureSnapshot
.Decode(strm
))
15731 if (!m_partialPictureSnapshot
.Decode(strm
))
15733 if (!m_videoSegmentTagging
.Decode(strm
))
15735 if (!m_progressiveRefinement
.Decode(strm
))
15737 if (!m_dynamicPictureResizingByFour
.Decode(strm
))
15739 if (!m_dynamicPictureResizingSixteenthPel
.Decode(strm
))
15741 if (!m_dynamicWarpingHalfPel
.Decode(strm
))
15743 if (!m_dynamicWarpingSixteenthPel
.Decode(strm
))
15745 if (!m_independentSegmentDecoding
.Decode(strm
))
15747 if (!m_slicesInOrder_NonRect
.Decode(strm
))
15749 if (!m_slicesInOrder_Rect
.Decode(strm
))
15751 if (!m_slicesNoOrder_NonRect
.Decode(strm
))
15753 if (!m_slicesNoOrder_Rect
.Decode(strm
))
15755 if (!m_alternateInterVLCMode
.Decode(strm
))
15757 if (!m_modifiedQuantizationMode
.Decode(strm
))
15759 if (!m_reducedResolutionUpdate
.Decode(strm
))
15761 if (HasOptionalField(e_transparencyParameters
) && !m_transparencyParameters
.Decode(strm
))
15763 if (!m_separateVideoBackChannel
.Decode(strm
))
15765 if (HasOptionalField(e_refPictureSelection
) && !m_refPictureSelection
.Decode(strm
))
15767 if (HasOptionalField(e_customPictureClockFrequency
) && !m_customPictureClockFrequency
.Decode(strm
))
15769 if (HasOptionalField(e_customPictureFormat
) && !m_customPictureFormat
.Decode(strm
))
15771 if (HasOptionalField(e_modeCombos
) && !m_modeCombos
.Decode(strm
))
15773 if (!KnownExtensionDecode(strm
, e_videoBadMBsCap
, m_videoBadMBsCap
))
15775 if (!KnownExtensionDecode(strm
, e_h263Version3Options
, m_h263Version3Options
))
15778 return UnknownExtensionsDecode(strm
);
15782 void H245_H263Options::Encode(PASN_Stream
& strm
) const
15784 PreambleEncode(strm
);
15786 m_advancedIntraCodingMode
.Encode(strm
);
15787 m_deblockingFilterMode
.Encode(strm
);
15788 m_improvedPBFramesMode
.Encode(strm
);
15789 m_unlimitedMotionVectors
.Encode(strm
);
15790 m_fullPictureFreeze
.Encode(strm
);
15791 m_partialPictureFreezeAndRelease
.Encode(strm
);
15792 m_resizingPartPicFreezeAndRelease
.Encode(strm
);
15793 m_fullPictureSnapshot
.Encode(strm
);
15794 m_partialPictureSnapshot
.Encode(strm
);
15795 m_videoSegmentTagging
.Encode(strm
);
15796 m_progressiveRefinement
.Encode(strm
);
15797 m_dynamicPictureResizingByFour
.Encode(strm
);
15798 m_dynamicPictureResizingSixteenthPel
.Encode(strm
);
15799 m_dynamicWarpingHalfPel
.Encode(strm
);
15800 m_dynamicWarpingSixteenthPel
.Encode(strm
);
15801 m_independentSegmentDecoding
.Encode(strm
);
15802 m_slicesInOrder_NonRect
.Encode(strm
);
15803 m_slicesInOrder_Rect
.Encode(strm
);
15804 m_slicesNoOrder_NonRect
.Encode(strm
);
15805 m_slicesNoOrder_Rect
.Encode(strm
);
15806 m_alternateInterVLCMode
.Encode(strm
);
15807 m_modifiedQuantizationMode
.Encode(strm
);
15808 m_reducedResolutionUpdate
.Encode(strm
);
15809 if (HasOptionalField(e_transparencyParameters
))
15810 m_transparencyParameters
.Encode(strm
);
15811 m_separateVideoBackChannel
.Encode(strm
);
15812 if (HasOptionalField(e_refPictureSelection
))
15813 m_refPictureSelection
.Encode(strm
);
15814 if (HasOptionalField(e_customPictureClockFrequency
))
15815 m_customPictureClockFrequency
.Encode(strm
);
15816 if (HasOptionalField(e_customPictureFormat
))
15817 m_customPictureFormat
.Encode(strm
);
15818 if (HasOptionalField(e_modeCombos
))
15819 m_modeCombos
.Encode(strm
);
15820 KnownExtensionEncode(strm
, e_videoBadMBsCap
, m_videoBadMBsCap
);
15821 KnownExtensionEncode(strm
, e_h263Version3Options
, m_h263Version3Options
);
15823 UnknownExtensionsEncode(strm
);
15827 PObject
* H245_H263Options::Clone() const
15829 #ifndef PASN_LEANANDMEAN
15830 PAssert(IsClass(H245_H263Options::Class()), PInvalidCast
);
15832 return new H245_H263Options(*this);
15837 // H2250LogicalChannelParameters
15840 H245_H2250LogicalChannelParameters::H245_H2250LogicalChannelParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
15841 : PASN_Sequence(tag
, tagClass
, 10, TRUE
, 3)
15843 m_sessionID
.SetConstraints(PASN_Object::FixedConstraint
, 0, 255);
15844 m_associatedSessionID
.SetConstraints(PASN_Object::FixedConstraint
, 1, 255);
15845 m_dynamicRTPPayloadType
.SetConstraints(PASN_Object::FixedConstraint
, 96, 127);
15849 #ifndef PASN_NOPRINTON
15850 void H245_H2250LogicalChannelParameters::PrintOn(ostream
& strm
) const
15852 int indent
= strm
.precision() + 2;
15854 if (HasOptionalField(e_nonStandard
))
15855 strm
<< setw(indent
+14) << "nonStandard = " << setprecision(indent
) << m_nonStandard
<< '\n';
15856 strm
<< setw(indent
+12) << "sessionID = " << setprecision(indent
) << m_sessionID
<< '\n';
15857 if (HasOptionalField(e_associatedSessionID
))
15858 strm
<< setw(indent
+22) << "associatedSessionID = " << setprecision(indent
) << m_associatedSessionID
<< '\n';
15859 if (HasOptionalField(e_mediaChannel
))
15860 strm
<< setw(indent
+15) << "mediaChannel = " << setprecision(indent
) << m_mediaChannel
<< '\n';
15861 if (HasOptionalField(e_mediaGuaranteedDelivery
))
15862 strm
<< setw(indent
+26) << "mediaGuaranteedDelivery = " << setprecision(indent
) << m_mediaGuaranteedDelivery
<< '\n';
15863 if (HasOptionalField(e_mediaControlChannel
))
15864 strm
<< setw(indent
+22) << "mediaControlChannel = " << setprecision(indent
) << m_mediaControlChannel
<< '\n';
15865 if (HasOptionalField(e_mediaControlGuaranteedDelivery
))
15866 strm
<< setw(indent
+33) << "mediaControlGuaranteedDelivery = " << setprecision(indent
) << m_mediaControlGuaranteedDelivery
<< '\n';
15867 if (HasOptionalField(e_silenceSuppression
))
15868 strm
<< setw(indent
+21) << "silenceSuppression = " << setprecision(indent
) << m_silenceSuppression
<< '\n';
15869 if (HasOptionalField(e_destination
))
15870 strm
<< setw(indent
+14) << "destination = " << setprecision(indent
) << m_destination
<< '\n';
15871 if (HasOptionalField(e_dynamicRTPPayloadType
))
15872 strm
<< setw(indent
+24) << "dynamicRTPPayloadType = " << setprecision(indent
) << m_dynamicRTPPayloadType
<< '\n';
15873 if (HasOptionalField(e_mediaPacketization
))
15874 strm
<< setw(indent
+21) << "mediaPacketization = " << setprecision(indent
) << m_mediaPacketization
<< '\n';
15875 if (HasOptionalField(e_transportCapability
))
15876 strm
<< setw(indent
+22) << "transportCapability = " << setprecision(indent
) << m_transportCapability
<< '\n';
15877 if (HasOptionalField(e_redundancyEncoding
))
15878 strm
<< setw(indent
+21) << "redundancyEncoding = " << setprecision(indent
) << m_redundancyEncoding
<< '\n';
15879 if (HasOptionalField(e_source
))
15880 strm
<< setw(indent
+9) << "source = " << setprecision(indent
) << m_source
<< '\n';
15881 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
15886 PObject::Comparison
H245_H2250LogicalChannelParameters::Compare(const PObject
& obj
) const
15888 #ifndef PASN_LEANANDMEAN
15889 PAssert(PIsDescendant(&obj
, H245_H2250LogicalChannelParameters
), PInvalidCast
);
15891 const H245_H2250LogicalChannelParameters
& other
= (const H245_H2250LogicalChannelParameters
&)obj
;
15895 if ((result
= m_nonStandard
.Compare(other
.m_nonStandard
)) != EqualTo
)
15897 if ((result
= m_sessionID
.Compare(other
.m_sessionID
)) != EqualTo
)
15899 if ((result
= m_associatedSessionID
.Compare(other
.m_associatedSessionID
)) != EqualTo
)
15901 if ((result
= m_mediaChannel
.Compare(other
.m_mediaChannel
)) != EqualTo
)
15903 if ((result
= m_mediaGuaranteedDelivery
.Compare(other
.m_mediaGuaranteedDelivery
)) != EqualTo
)
15905 if ((result
= m_mediaControlChannel
.Compare(other
.m_mediaControlChannel
)) != EqualTo
)
15907 if ((result
= m_mediaControlGuaranteedDelivery
.Compare(other
.m_mediaControlGuaranteedDelivery
)) != EqualTo
)
15909 if ((result
= m_silenceSuppression
.Compare(other
.m_silenceSuppression
)) != EqualTo
)
15911 if ((result
= m_destination
.Compare(other
.m_destination
)) != EqualTo
)
15913 if ((result
= m_dynamicRTPPayloadType
.Compare(other
.m_dynamicRTPPayloadType
)) != EqualTo
)
15915 if ((result
= m_mediaPacketization
.Compare(other
.m_mediaPacketization
)) != EqualTo
)
15918 return PASN_Sequence::Compare(other
);
15922 PINDEX
H245_H2250LogicalChannelParameters::GetDataLength() const
15925 if (HasOptionalField(e_nonStandard
))
15926 length
+= m_nonStandard
.GetObjectLength();
15927 length
+= m_sessionID
.GetObjectLength();
15928 if (HasOptionalField(e_associatedSessionID
))
15929 length
+= m_associatedSessionID
.GetObjectLength();
15930 if (HasOptionalField(e_mediaChannel
))
15931 length
+= m_mediaChannel
.GetObjectLength();
15932 if (HasOptionalField(e_mediaGuaranteedDelivery
))
15933 length
+= m_mediaGuaranteedDelivery
.GetObjectLength();
15934 if (HasOptionalField(e_mediaControlChannel
))
15935 length
+= m_mediaControlChannel
.GetObjectLength();
15936 if (HasOptionalField(e_mediaControlGuaranteedDelivery
))
15937 length
+= m_mediaControlGuaranteedDelivery
.GetObjectLength();
15938 if (HasOptionalField(e_silenceSuppression
))
15939 length
+= m_silenceSuppression
.GetObjectLength();
15940 if (HasOptionalField(e_destination
))
15941 length
+= m_destination
.GetObjectLength();
15942 if (HasOptionalField(e_dynamicRTPPayloadType
))
15943 length
+= m_dynamicRTPPayloadType
.GetObjectLength();
15944 if (HasOptionalField(e_mediaPacketization
))
15945 length
+= m_mediaPacketization
.GetObjectLength();
15950 BOOL
H245_H2250LogicalChannelParameters::Decode(PASN_Stream
& strm
)
15952 if (!PreambleDecode(strm
))
15955 if (HasOptionalField(e_nonStandard
) && !m_nonStandard
.Decode(strm
))
15957 if (!m_sessionID
.Decode(strm
))
15959 if (HasOptionalField(e_associatedSessionID
) && !m_associatedSessionID
.Decode(strm
))
15961 if (HasOptionalField(e_mediaChannel
) && !m_mediaChannel
.Decode(strm
))
15963 if (HasOptionalField(e_mediaGuaranteedDelivery
) && !m_mediaGuaranteedDelivery
.Decode(strm
))
15965 if (HasOptionalField(e_mediaControlChannel
) && !m_mediaControlChannel
.Decode(strm
))
15967 if (HasOptionalField(e_mediaControlGuaranteedDelivery
) && !m_mediaControlGuaranteedDelivery
.Decode(strm
))
15969 if (HasOptionalField(e_silenceSuppression
) && !m_silenceSuppression
.Decode(strm
))
15971 if (HasOptionalField(e_destination
) && !m_destination
.Decode(strm
))
15973 if (HasOptionalField(e_dynamicRTPPayloadType
) && !m_dynamicRTPPayloadType
.Decode(strm
))
15975 if (HasOptionalField(e_mediaPacketization
) && !m_mediaPacketization
.Decode(strm
))
15977 if (!KnownExtensionDecode(strm
, e_transportCapability
, m_transportCapability
))
15979 if (!KnownExtensionDecode(strm
, e_redundancyEncoding
, m_redundancyEncoding
))
15981 if (!KnownExtensionDecode(strm
, e_source
, m_source
))
15984 return UnknownExtensionsDecode(strm
);
15988 void H245_H2250LogicalChannelParameters::Encode(PASN_Stream
& strm
) const
15990 PreambleEncode(strm
);
15992 if (HasOptionalField(e_nonStandard
))
15993 m_nonStandard
.Encode(strm
);
15994 m_sessionID
.Encode(strm
);
15995 if (HasOptionalField(e_associatedSessionID
))
15996 m_associatedSessionID
.Encode(strm
);
15997 if (HasOptionalField(e_mediaChannel
))
15998 m_mediaChannel
.Encode(strm
);
15999 if (HasOptionalField(e_mediaGuaranteedDelivery
))
16000 m_mediaGuaranteedDelivery
.Encode(strm
);
16001 if (HasOptionalField(e_mediaControlChannel
))
16002 m_mediaControlChannel
.Encode(strm
);
16003 if (HasOptionalField(e_mediaControlGuaranteedDelivery
))
16004 m_mediaControlGuaranteedDelivery
.Encode(strm
);
16005 if (HasOptionalField(e_silenceSuppression
))
16006 m_silenceSuppression
.Encode(strm
);
16007 if (HasOptionalField(e_destination
))
16008 m_destination
.Encode(strm
);
16009 if (HasOptionalField(e_dynamicRTPPayloadType
))
16010 m_dynamicRTPPayloadType
.Encode(strm
);
16011 if (HasOptionalField(e_mediaPacketization
))
16012 m_mediaPacketization
.Encode(strm
);
16013 KnownExtensionEncode(strm
, e_transportCapability
, m_transportCapability
);
16014 KnownExtensionEncode(strm
, e_redundancyEncoding
, m_redundancyEncoding
);
16015 KnownExtensionEncode(strm
, e_source
, m_source
);
16017 UnknownExtensionsEncode(strm
);
16021 PObject
* H245_H2250LogicalChannelParameters::Clone() const
16023 #ifndef PASN_LEANANDMEAN
16024 PAssert(IsClass(H245_H2250LogicalChannelParameters::Class()), PInvalidCast
);
16026 return new H245_H2250LogicalChannelParameters(*this);
16034 H245_ModeElement::H245_ModeElement(unsigned tag
, PASN_Object::TagClass tagClass
)
16035 : PASN_Sequence(tag
, tagClass
, 1, TRUE
, 5)
16040 #ifndef PASN_NOPRINTON
16041 void H245_ModeElement::PrintOn(ostream
& strm
) const
16043 int indent
= strm
.precision() + 2;
16045 strm
<< setw(indent
+7) << "type = " << setprecision(indent
) << m_type
<< '\n';
16046 if (HasOptionalField(e_h223ModeParameters
))
16047 strm
<< setw(indent
+21) << "h223ModeParameters = " << setprecision(indent
) << m_h223ModeParameters
<< '\n';
16048 if (HasOptionalField(e_v76ModeParameters
))
16049 strm
<< setw(indent
+20) << "v76ModeParameters = " << setprecision(indent
) << m_v76ModeParameters
<< '\n';
16050 if (HasOptionalField(e_h2250ModeParameters
))
16051 strm
<< setw(indent
+22) << "h2250ModeParameters = " << setprecision(indent
) << m_h2250ModeParameters
<< '\n';
16052 if (HasOptionalField(e_genericModeParameters
))
16053 strm
<< setw(indent
+24) << "genericModeParameters = " << setprecision(indent
) << m_genericModeParameters
<< '\n';
16054 if (HasOptionalField(e_multiplexedStreamModeParameters
))
16055 strm
<< setw(indent
+34) << "multiplexedStreamModeParameters = " << setprecision(indent
) << m_multiplexedStreamModeParameters
<< '\n';
16056 if (HasOptionalField(e_logicalChannelNumber
))
16057 strm
<< setw(indent
+23) << "logicalChannelNumber = " << setprecision(indent
) << m_logicalChannelNumber
<< '\n';
16058 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
16063 PObject::Comparison
H245_ModeElement::Compare(const PObject
& obj
) const
16065 #ifndef PASN_LEANANDMEAN
16066 PAssert(PIsDescendant(&obj
, H245_ModeElement
), PInvalidCast
);
16068 const H245_ModeElement
& other
= (const H245_ModeElement
&)obj
;
16072 if ((result
= m_type
.Compare(other
.m_type
)) != EqualTo
)
16074 if ((result
= m_h223ModeParameters
.Compare(other
.m_h223ModeParameters
)) != EqualTo
)
16077 return PASN_Sequence::Compare(other
);
16081 PINDEX
H245_ModeElement::GetDataLength() const
16084 length
+= m_type
.GetObjectLength();
16085 if (HasOptionalField(e_h223ModeParameters
))
16086 length
+= m_h223ModeParameters
.GetObjectLength();
16091 BOOL
H245_ModeElement::Decode(PASN_Stream
& strm
)
16093 if (!PreambleDecode(strm
))
16096 if (!m_type
.Decode(strm
))
16098 if (HasOptionalField(e_h223ModeParameters
) && !m_h223ModeParameters
.Decode(strm
))
16100 if (!KnownExtensionDecode(strm
, e_v76ModeParameters
, m_v76ModeParameters
))
16102 if (!KnownExtensionDecode(strm
, e_h2250ModeParameters
, m_h2250ModeParameters
))
16104 if (!KnownExtensionDecode(strm
, e_genericModeParameters
, m_genericModeParameters
))
16106 if (!KnownExtensionDecode(strm
, e_multiplexedStreamModeParameters
, m_multiplexedStreamModeParameters
))
16108 if (!KnownExtensionDecode(strm
, e_logicalChannelNumber
, m_logicalChannelNumber
))
16111 return UnknownExtensionsDecode(strm
);
16115 void H245_ModeElement::Encode(PASN_Stream
& strm
) const
16117 PreambleEncode(strm
);
16119 m_type
.Encode(strm
);
16120 if (HasOptionalField(e_h223ModeParameters
))
16121 m_h223ModeParameters
.Encode(strm
);
16122 KnownExtensionEncode(strm
, e_v76ModeParameters
, m_v76ModeParameters
);
16123 KnownExtensionEncode(strm
, e_h2250ModeParameters
, m_h2250ModeParameters
);
16124 KnownExtensionEncode(strm
, e_genericModeParameters
, m_genericModeParameters
);
16125 KnownExtensionEncode(strm
, e_multiplexedStreamModeParameters
, m_multiplexedStreamModeParameters
);
16126 KnownExtensionEncode(strm
, e_logicalChannelNumber
, m_logicalChannelNumber
);
16128 UnknownExtensionsEncode(strm
);
16132 PObject
* H245_ModeElement::Clone() const
16134 #ifndef PASN_LEANANDMEAN
16135 PAssert(IsClass(H245_ModeElement::Class()), PInvalidCast
);
16137 return new H245_ModeElement(*this);
16145 H245_H263VideoMode::H245_H263VideoMode(unsigned tag
, PASN_Object::TagClass tagClass
)
16146 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 3)
16148 m_bitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 19200);
16149 IncludeOptionalField(e_errorCompensation
);
16153 #ifndef PASN_NOPRINTON
16154 void H245_H263VideoMode::PrintOn(ostream
& strm
) const
16156 int indent
= strm
.precision() + 2;
16158 strm
<< setw(indent
+13) << "resolution = " << setprecision(indent
) << m_resolution
<< '\n';
16159 strm
<< setw(indent
+10) << "bitRate = " << setprecision(indent
) << m_bitRate
<< '\n';
16160 strm
<< setw(indent
+21) << "unrestrictedVector = " << setprecision(indent
) << m_unrestrictedVector
<< '\n';
16161 strm
<< setw(indent
+19) << "arithmeticCoding = " << setprecision(indent
) << m_arithmeticCoding
<< '\n';
16162 strm
<< setw(indent
+21) << "advancedPrediction = " << setprecision(indent
) << m_advancedPrediction
<< '\n';
16163 strm
<< setw(indent
+11) << "pbFrames = " << setprecision(indent
) << m_pbFrames
<< '\n';
16164 if (HasOptionalField(e_errorCompensation
))
16165 strm
<< setw(indent
+20) << "errorCompensation = " << setprecision(indent
) << m_errorCompensation
<< '\n';
16166 if (HasOptionalField(e_enhancementLayerInfo
))
16167 strm
<< setw(indent
+23) << "enhancementLayerInfo = " << setprecision(indent
) << m_enhancementLayerInfo
<< '\n';
16168 if (HasOptionalField(e_h263Options
))
16169 strm
<< setw(indent
+14) << "h263Options = " << setprecision(indent
) << m_h263Options
<< '\n';
16170 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
16175 PObject::Comparison
H245_H263VideoMode::Compare(const PObject
& obj
) const
16177 #ifndef PASN_LEANANDMEAN
16178 PAssert(PIsDescendant(&obj
, H245_H263VideoMode
), PInvalidCast
);
16180 const H245_H263VideoMode
& other
= (const H245_H263VideoMode
&)obj
;
16184 if ((result
= m_resolution
.Compare(other
.m_resolution
)) != EqualTo
)
16186 if ((result
= m_bitRate
.Compare(other
.m_bitRate
)) != EqualTo
)
16188 if ((result
= m_unrestrictedVector
.Compare(other
.m_unrestrictedVector
)) != EqualTo
)
16190 if ((result
= m_arithmeticCoding
.Compare(other
.m_arithmeticCoding
)) != EqualTo
)
16192 if ((result
= m_advancedPrediction
.Compare(other
.m_advancedPrediction
)) != EqualTo
)
16194 if ((result
= m_pbFrames
.Compare(other
.m_pbFrames
)) != EqualTo
)
16197 return PASN_Sequence::Compare(other
);
16201 PINDEX
H245_H263VideoMode::GetDataLength() const
16204 length
+= m_resolution
.GetObjectLength();
16205 length
+= m_bitRate
.GetObjectLength();
16206 length
+= m_unrestrictedVector
.GetObjectLength();
16207 length
+= m_arithmeticCoding
.GetObjectLength();
16208 length
+= m_advancedPrediction
.GetObjectLength();
16209 length
+= m_pbFrames
.GetObjectLength();
16214 BOOL
H245_H263VideoMode::Decode(PASN_Stream
& strm
)
16216 if (!PreambleDecode(strm
))
16219 if (!m_resolution
.Decode(strm
))
16221 if (!m_bitRate
.Decode(strm
))
16223 if (!m_unrestrictedVector
.Decode(strm
))
16225 if (!m_arithmeticCoding
.Decode(strm
))
16227 if (!m_advancedPrediction
.Decode(strm
))
16229 if (!m_pbFrames
.Decode(strm
))
16231 if (!KnownExtensionDecode(strm
, e_errorCompensation
, m_errorCompensation
))
16233 if (!KnownExtensionDecode(strm
, e_enhancementLayerInfo
, m_enhancementLayerInfo
))
16235 if (!KnownExtensionDecode(strm
, e_h263Options
, m_h263Options
))
16238 return UnknownExtensionsDecode(strm
);
16242 void H245_H263VideoMode::Encode(PASN_Stream
& strm
) const
16244 PreambleEncode(strm
);
16246 m_resolution
.Encode(strm
);
16247 m_bitRate
.Encode(strm
);
16248 m_unrestrictedVector
.Encode(strm
);
16249 m_arithmeticCoding
.Encode(strm
);
16250 m_advancedPrediction
.Encode(strm
);
16251 m_pbFrames
.Encode(strm
);
16252 KnownExtensionEncode(strm
, e_errorCompensation
, m_errorCompensation
);
16253 KnownExtensionEncode(strm
, e_enhancementLayerInfo
, m_enhancementLayerInfo
);
16254 KnownExtensionEncode(strm
, e_h263Options
, m_h263Options
);
16256 UnknownExtensionsEncode(strm
);
16260 PObject
* H245_H263VideoMode::Clone() const
16262 #ifndef PASN_LEANANDMEAN
16263 PAssert(IsClass(H245_H263VideoMode::Class()), PInvalidCast
);
16265 return new H245_H263VideoMode(*this);
16270 // H263VideoCapability
16273 H245_H263VideoCapability::H245_H263VideoCapability(unsigned tag
, PASN_Object::TagClass tagClass
)
16274 : PASN_Sequence(tag
, tagClass
, 7, TRUE
, 8)
16276 m_sqcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16277 m_qcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16278 m_cifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16279 m_cif4MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16280 m_cif16MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16281 m_maxBitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 192400);
16282 m_hrd_B
.SetConstraints(PASN_Object::FixedConstraint
, 0, 524287);
16283 m_bppMaxKb
.SetConstraints(PASN_Object::FixedConstraint
, 0, 65535);
16284 m_slowSqcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16285 m_slowQcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16286 m_slowCifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16287 m_slowCif4MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16288 m_slowCif16MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16289 IncludeOptionalField(e_errorCompensation
);
16293 #ifndef PASN_NOPRINTON
16294 void H245_H263VideoCapability::PrintOn(ostream
& strm
) const
16296 int indent
= strm
.precision() + 2;
16298 if (HasOptionalField(e_sqcifMPI
))
16299 strm
<< setw(indent
+11) << "sqcifMPI = " << setprecision(indent
) << m_sqcifMPI
<< '\n';
16300 if (HasOptionalField(e_qcifMPI
))
16301 strm
<< setw(indent
+10) << "qcifMPI = " << setprecision(indent
) << m_qcifMPI
<< '\n';
16302 if (HasOptionalField(e_cifMPI
))
16303 strm
<< setw(indent
+9) << "cifMPI = " << setprecision(indent
) << m_cifMPI
<< '\n';
16304 if (HasOptionalField(e_cif4MPI
))
16305 strm
<< setw(indent
+10) << "cif4MPI = " << setprecision(indent
) << m_cif4MPI
<< '\n';
16306 if (HasOptionalField(e_cif16MPI
))
16307 strm
<< setw(indent
+11) << "cif16MPI = " << setprecision(indent
) << m_cif16MPI
<< '\n';
16308 strm
<< setw(indent
+13) << "maxBitRate = " << setprecision(indent
) << m_maxBitRate
<< '\n';
16309 strm
<< setw(indent
+21) << "unrestrictedVector = " << setprecision(indent
) << m_unrestrictedVector
<< '\n';
16310 strm
<< setw(indent
+19) << "arithmeticCoding = " << setprecision(indent
) << m_arithmeticCoding
<< '\n';
16311 strm
<< setw(indent
+21) << "advancedPrediction = " << setprecision(indent
) << m_advancedPrediction
<< '\n';
16312 strm
<< setw(indent
+11) << "pbFrames = " << setprecision(indent
) << m_pbFrames
<< '\n';
16313 strm
<< setw(indent
+36) << "temporalSpatialTradeOffCapability = " << setprecision(indent
) << m_temporalSpatialTradeOffCapability
<< '\n';
16314 if (HasOptionalField(e_hrd_B
))
16315 strm
<< setw(indent
+8) << "hrd_B = " << setprecision(indent
) << m_hrd_B
<< '\n';
16316 if (HasOptionalField(e_bppMaxKb
))
16317 strm
<< setw(indent
+11) << "bppMaxKb = " << setprecision(indent
) << m_bppMaxKb
<< '\n';
16318 if (HasOptionalField(e_slowSqcifMPI
))
16319 strm
<< setw(indent
+15) << "slowSqcifMPI = " << setprecision(indent
) << m_slowSqcifMPI
<< '\n';
16320 if (HasOptionalField(e_slowQcifMPI
))
16321 strm
<< setw(indent
+14) << "slowQcifMPI = " << setprecision(indent
) << m_slowQcifMPI
<< '\n';
16322 if (HasOptionalField(e_slowCifMPI
))
16323 strm
<< setw(indent
+13) << "slowCifMPI = " << setprecision(indent
) << m_slowCifMPI
<< '\n';
16324 if (HasOptionalField(e_slowCif4MPI
))
16325 strm
<< setw(indent
+14) << "slowCif4MPI = " << setprecision(indent
) << m_slowCif4MPI
<< '\n';
16326 if (HasOptionalField(e_slowCif16MPI
))
16327 strm
<< setw(indent
+15) << "slowCif16MPI = " << setprecision(indent
) << m_slowCif16MPI
<< '\n';
16328 if (HasOptionalField(e_errorCompensation
))
16329 strm
<< setw(indent
+20) << "errorCompensation = " << setprecision(indent
) << m_errorCompensation
<< '\n';
16330 if (HasOptionalField(e_enhancementLayerInfo
))
16331 strm
<< setw(indent
+23) << "enhancementLayerInfo = " << setprecision(indent
) << m_enhancementLayerInfo
<< '\n';
16332 if (HasOptionalField(e_h263Options
))
16333 strm
<< setw(indent
+14) << "h263Options = " << setprecision(indent
) << m_h263Options
<< '\n';
16334 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
16339 PObject::Comparison
H245_H263VideoCapability::Compare(const PObject
& obj
) const
16341 #ifndef PASN_LEANANDMEAN
16342 PAssert(PIsDescendant(&obj
, H245_H263VideoCapability
), PInvalidCast
);
16344 const H245_H263VideoCapability
& other
= (const H245_H263VideoCapability
&)obj
;
16348 if ((result
= m_sqcifMPI
.Compare(other
.m_sqcifMPI
)) != EqualTo
)
16350 if ((result
= m_qcifMPI
.Compare(other
.m_qcifMPI
)) != EqualTo
)
16352 if ((result
= m_cifMPI
.Compare(other
.m_cifMPI
)) != EqualTo
)
16354 if ((result
= m_cif4MPI
.Compare(other
.m_cif4MPI
)) != EqualTo
)
16356 if ((result
= m_cif16MPI
.Compare(other
.m_cif16MPI
)) != EqualTo
)
16358 if ((result
= m_maxBitRate
.Compare(other
.m_maxBitRate
)) != EqualTo
)
16360 if ((result
= m_unrestrictedVector
.Compare(other
.m_unrestrictedVector
)) != EqualTo
)
16362 if ((result
= m_arithmeticCoding
.Compare(other
.m_arithmeticCoding
)) != EqualTo
)
16364 if ((result
= m_advancedPrediction
.Compare(other
.m_advancedPrediction
)) != EqualTo
)
16366 if ((result
= m_pbFrames
.Compare(other
.m_pbFrames
)) != EqualTo
)
16368 if ((result
= m_temporalSpatialTradeOffCapability
.Compare(other
.m_temporalSpatialTradeOffCapability
)) != EqualTo
)
16370 if ((result
= m_hrd_B
.Compare(other
.m_hrd_B
)) != EqualTo
)
16372 if ((result
= m_bppMaxKb
.Compare(other
.m_bppMaxKb
)) != EqualTo
)
16375 return PASN_Sequence::Compare(other
);
16379 PINDEX
H245_H263VideoCapability::GetDataLength() const
16382 if (HasOptionalField(e_sqcifMPI
))
16383 length
+= m_sqcifMPI
.GetObjectLength();
16384 if (HasOptionalField(e_qcifMPI
))
16385 length
+= m_qcifMPI
.GetObjectLength();
16386 if (HasOptionalField(e_cifMPI
))
16387 length
+= m_cifMPI
.GetObjectLength();
16388 if (HasOptionalField(e_cif4MPI
))
16389 length
+= m_cif4MPI
.GetObjectLength();
16390 if (HasOptionalField(e_cif16MPI
))
16391 length
+= m_cif16MPI
.GetObjectLength();
16392 length
+= m_maxBitRate
.GetObjectLength();
16393 length
+= m_unrestrictedVector
.GetObjectLength();
16394 length
+= m_arithmeticCoding
.GetObjectLength();
16395 length
+= m_advancedPrediction
.GetObjectLength();
16396 length
+= m_pbFrames
.GetObjectLength();
16397 length
+= m_temporalSpatialTradeOffCapability
.GetObjectLength();
16398 if (HasOptionalField(e_hrd_B
))
16399 length
+= m_hrd_B
.GetObjectLength();
16400 if (HasOptionalField(e_bppMaxKb
))
16401 length
+= m_bppMaxKb
.GetObjectLength();
16406 BOOL
H245_H263VideoCapability::Decode(PASN_Stream
& strm
)
16408 if (!PreambleDecode(strm
))
16411 if (HasOptionalField(e_sqcifMPI
) && !m_sqcifMPI
.Decode(strm
))
16413 if (HasOptionalField(e_qcifMPI
) && !m_qcifMPI
.Decode(strm
))
16415 if (HasOptionalField(e_cifMPI
) && !m_cifMPI
.Decode(strm
))
16417 if (HasOptionalField(e_cif4MPI
) && !m_cif4MPI
.Decode(strm
))
16419 if (HasOptionalField(e_cif16MPI
) && !m_cif16MPI
.Decode(strm
))
16421 if (!m_maxBitRate
.Decode(strm
))
16423 if (!m_unrestrictedVector
.Decode(strm
))
16425 if (!m_arithmeticCoding
.Decode(strm
))
16427 if (!m_advancedPrediction
.Decode(strm
))
16429 if (!m_pbFrames
.Decode(strm
))
16431 if (!m_temporalSpatialTradeOffCapability
.Decode(strm
))
16433 if (HasOptionalField(e_hrd_B
) && !m_hrd_B
.Decode(strm
))
16435 if (HasOptionalField(e_bppMaxKb
) && !m_bppMaxKb
.Decode(strm
))
16437 if (!KnownExtensionDecode(strm
, e_slowSqcifMPI
, m_slowSqcifMPI
))
16439 if (!KnownExtensionDecode(strm
, e_slowQcifMPI
, m_slowQcifMPI
))
16441 if (!KnownExtensionDecode(strm
, e_slowCifMPI
, m_slowCifMPI
))
16443 if (!KnownExtensionDecode(strm
, e_slowCif4MPI
, m_slowCif4MPI
))
16445 if (!KnownExtensionDecode(strm
, e_slowCif16MPI
, m_slowCif16MPI
))
16447 if (!KnownExtensionDecode(strm
, e_errorCompensation
, m_errorCompensation
))
16449 if (!KnownExtensionDecode(strm
, e_enhancementLayerInfo
, m_enhancementLayerInfo
))
16451 if (!KnownExtensionDecode(strm
, e_h263Options
, m_h263Options
))
16454 return UnknownExtensionsDecode(strm
);
16458 void H245_H263VideoCapability::Encode(PASN_Stream
& strm
) const
16460 PreambleEncode(strm
);
16462 if (HasOptionalField(e_sqcifMPI
))
16463 m_sqcifMPI
.Encode(strm
);
16464 if (HasOptionalField(e_qcifMPI
))
16465 m_qcifMPI
.Encode(strm
);
16466 if (HasOptionalField(e_cifMPI
))
16467 m_cifMPI
.Encode(strm
);
16468 if (HasOptionalField(e_cif4MPI
))
16469 m_cif4MPI
.Encode(strm
);
16470 if (HasOptionalField(e_cif16MPI
))
16471 m_cif16MPI
.Encode(strm
);
16472 m_maxBitRate
.Encode(strm
);
16473 m_unrestrictedVector
.Encode(strm
);
16474 m_arithmeticCoding
.Encode(strm
);
16475 m_advancedPrediction
.Encode(strm
);
16476 m_pbFrames
.Encode(strm
);
16477 m_temporalSpatialTradeOffCapability
.Encode(strm
);
16478 if (HasOptionalField(e_hrd_B
))
16479 m_hrd_B
.Encode(strm
);
16480 if (HasOptionalField(e_bppMaxKb
))
16481 m_bppMaxKb
.Encode(strm
);
16482 KnownExtensionEncode(strm
, e_slowSqcifMPI
, m_slowSqcifMPI
);
16483 KnownExtensionEncode(strm
, e_slowQcifMPI
, m_slowQcifMPI
);
16484 KnownExtensionEncode(strm
, e_slowCifMPI
, m_slowCifMPI
);
16485 KnownExtensionEncode(strm
, e_slowCif4MPI
, m_slowCif4MPI
);
16486 KnownExtensionEncode(strm
, e_slowCif16MPI
, m_slowCif16MPI
);
16487 KnownExtensionEncode(strm
, e_errorCompensation
, m_errorCompensation
);
16488 KnownExtensionEncode(strm
, e_enhancementLayerInfo
, m_enhancementLayerInfo
);
16489 KnownExtensionEncode(strm
, e_h263Options
, m_h263Options
);
16491 UnknownExtensionsEncode(strm
);
16495 PObject
* H245_H263VideoCapability::Clone() const
16497 #ifndef PASN_LEANANDMEAN
16498 PAssert(IsClass(H245_H263VideoCapability::Class()), PInvalidCast
);
16500 return new H245_H263VideoCapability(*this);
16505 // EnhancementOptions
16508 H245_EnhancementOptions::H245_EnhancementOptions(unsigned tag
, PASN_Object::TagClass tagClass
)
16509 : PASN_Sequence(tag
, tagClass
, 11, TRUE
, 0)
16511 m_sqcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16512 m_qcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16513 m_cifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16514 m_cif4MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16515 m_cif16MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 32);
16516 m_maxBitRate
.SetConstraints(PASN_Object::FixedConstraint
, 1, 192400);
16517 m_slowSqcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16518 m_slowQcifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16519 m_slowCifMPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16520 m_slowCif4MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16521 m_slowCif16MPI
.SetConstraints(PASN_Object::FixedConstraint
, 1, 3600);
16525 #ifndef PASN_NOPRINTON
16526 void H245_EnhancementOptions::PrintOn(ostream
& strm
) const
16528 int indent
= strm
.precision() + 2;
16530 if (HasOptionalField(e_sqcifMPI
))
16531 strm
<< setw(indent
+11) << "sqcifMPI = " << setprecision(indent
) << m_sqcifMPI
<< '\n';
16532 if (HasOptionalField(e_qcifMPI
))
16533 strm
<< setw(indent
+10) << "qcifMPI = " << setprecision(indent
) << m_qcifMPI
<< '\n';
16534 if (HasOptionalField(e_cifMPI
))
16535 strm
<< setw(indent
+9) << "cifMPI = " << setprecision(indent
) << m_cifMPI
<< '\n';
16536 if (HasOptionalField(e_cif4MPI
))
16537 strm
<< setw(indent
+10) << "cif4MPI = " << setprecision(indent
) << m_cif4MPI
<< '\n';
16538 if (HasOptionalField(e_cif16MPI
))
16539 strm
<< setw(indent
+11) << "cif16MPI = " << setprecision(indent
) << m_cif16MPI
<< '\n';
16540 strm
<< setw(indent
+13) << "maxBitRate = " << setprecision(indent
) << m_maxBitRate
<< '\n';
16541 strm
<< setw(indent
+21) << "unrestrictedVector = " << setprecision(indent
) << m_unrestrictedVector
<< '\n';
16542 strm
<< setw(indent
+19) << "arithmeticCoding = " << setprecision(indent
) << m_arithmeticCoding
<< '\n';
16543 strm
<< setw(indent
+36) << "temporalSpatialTradeOffCapability = " << setprecision(indent
) << m_temporalSpatialTradeOffCapability
<< '\n';
16544 if (HasOptionalField(e_slowSqcifMPI
))
16545 strm
<< setw(indent
+15) << "slowSqcifMPI = " << setprecision(indent
) << m_slowSqcifMPI
<< '\n';
16546 if (HasOptionalField(e_slowQcifMPI
))
16547 strm
<< setw(indent
+14) << "slowQcifMPI = " << setprecision(indent
) << m_slowQcifMPI
<< '\n';
16548 if (HasOptionalField(e_slowCifMPI
))
16549 strm
<< setw(indent
+13) << "slowCifMPI = " << setprecision(indent
) << m_slowCifMPI
<< '\n';
16550 if (HasOptionalField(e_slowCif4MPI
))
16551 strm
<< setw(indent
+14) << "slowCif4MPI = " << setprecision(indent
) << m_slowCif4MPI
<< '\n';
16552 if (HasOptionalField(e_slowCif16MPI
))
16553 strm
<< setw(indent
+15) << "slowCif16MPI = " << setprecision(indent
) << m_slowCif16MPI
<< '\n';
16554 strm
<< setw(indent
+20) << "errorCompensation = " << setprecision(indent
) << m_errorCompensation
<< '\n';
16555 if (HasOptionalField(e_h263Options
))
16556 strm
<< setw(indent
+14) << "h263Options = " << setprecision(indent
) << m_h263Options
<< '\n';
16557 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
16562 PObject::Comparison
H245_EnhancementOptions::Compare(const PObject
& obj
) const
16564 #ifndef PASN_LEANANDMEAN
16565 PAssert(PIsDescendant(&obj
, H245_EnhancementOptions
), PInvalidCast
);
16567 const H245_EnhancementOptions
& other
= (const H245_EnhancementOptions
&)obj
;
16571 if ((result
= m_sqcifMPI
.Compare(other
.m_sqcifMPI
)) != EqualTo
)
16573 if ((result
= m_qcifMPI
.Compare(other
.m_qcifMPI
)) != EqualTo
)
16575 if ((result
= m_cifMPI
.Compare(other
.m_cifMPI
)) != EqualTo
)
16577 if ((result
= m_cif4MPI
.Compare(other
.m_cif4MPI
)) != EqualTo
)
16579 if ((result
= m_cif16MPI
.Compare(other
.m_cif16MPI
)) != EqualTo
)
16581 if ((result
= m_maxBitRate
.Compare(other
.m_maxBitRate
)) != EqualTo
)
16583 if ((result
= m_unrestrictedVector
.Compare(other
.m_unrestrictedVector
)) != EqualTo
)
16585 if ((result
= m_arithmeticCoding
.Compare(other
.m_arithmeticCoding
)) != EqualTo
)
16587 if ((result
= m_temporalSpatialTradeOffCapability
.Compare(other
.m_temporalSpatialTradeOffCapability
)) != EqualTo
)
16589 if ((result
= m_slowSqcifMPI
.Compare(other
.m_slowSqcifMPI
)) != EqualTo
)
16591 if ((result
= m_slowQcifMPI
.Compare(other
.m_slowQcifMPI
)) != EqualTo
)
16593 if ((result
= m_slowCifMPI
.Compare(other
.m_slowCifMPI
)) != EqualTo
)
16595 if ((result
= m_slowCif4MPI
.Compare(other
.m_slowCif4MPI
)) != EqualTo
)
16597 if ((result
= m_slowCif16MPI
.Compare(other
.m_slowCif16MPI
)) != EqualTo
)
16599 if ((result
= m_errorCompensation
.Compare(other
.m_errorCompensation
)) != EqualTo
)
16601 if ((result
= m_h263Options
.Compare(other
.m_h263Options
)) != EqualTo
)
16604 return PASN_Sequence::Compare(other
);
16608 PINDEX
H245_EnhancementOptions::GetDataLength() const
16611 if (HasOptionalField(e_sqcifMPI
))
16612 length
+= m_sqcifMPI
.GetObjectLength();
16613 if (HasOptionalField(e_qcifMPI
))
16614 length
+= m_qcifMPI
.GetObjectLength();
16615 if (HasOptionalField(e_cifMPI
))
16616 length
+= m_cifMPI
.GetObjectLength();
16617 if (HasOptionalField(e_cif4MPI
))
16618 length
+= m_cif4MPI
.GetObjectLength();
16619 if (HasOptionalField(e_cif16MPI
))
16620 length
+= m_cif16MPI
.GetObjectLength();
16621 length
+= m_maxBitRate
.GetObjectLength();
16622 length
+= m_unrestrictedVector
.GetObjectLength();
16623 length
+= m_arithmeticCoding
.GetObjectLength();
16624 length
+= m_temporalSpatialTradeOffCapability
.GetObjectLength();
16625 if (HasOptionalField(e_slowSqcifMPI
))
16626 length
+= m_slowSqcifMPI
.GetObjectLength();
16627 if (HasOptionalField(e_slowQcifMPI
))
16628 length
+= m_slowQcifMPI
.GetObjectLength();
16629 if (HasOptionalField(e_slowCifMPI
))
16630 length
+= m_slowCifMPI
.GetObjectLength();
16631 if (HasOptionalField(e_slowCif4MPI
))
16632 length
+= m_slowCif4MPI
.GetObjectLength();
16633 if (HasOptionalField(e_slowCif16MPI
))
16634 length
+= m_slowCif16MPI
.GetObjectLength();
16635 length
+= m_errorCompensation
.GetObjectLength();
16636 if (HasOptionalField(e_h263Options
))
16637 length
+= m_h263Options
.GetObjectLength();
16642 BOOL
H245_EnhancementOptions::Decode(PASN_Stream
& strm
)
16644 if (!PreambleDecode(strm
))
16647 if (HasOptionalField(e_sqcifMPI
) && !m_sqcifMPI
.Decode(strm
))
16649 if (HasOptionalField(e_qcifMPI
) && !m_qcifMPI
.Decode(strm
))
16651 if (HasOptionalField(e_cifMPI
) && !m_cifMPI
.Decode(strm
))
16653 if (HasOptionalField(e_cif4MPI
) && !m_cif4MPI
.Decode(strm
))
16655 if (HasOptionalField(e_cif16MPI
) && !m_cif16MPI
.Decode(strm
))
16657 if (!m_maxBitRate
.Decode(strm
))
16659 if (!m_unrestrictedVector
.Decode(strm
))
16661 if (!m_arithmeticCoding
.Decode(strm
))
16663 if (!m_temporalSpatialTradeOffCapability
.Decode(strm
))
16665 if (HasOptionalField(e_slowSqcifMPI
) && !m_slowSqcifMPI
.Decode(strm
))
16667 if (HasOptionalField(e_slowQcifMPI
) && !m_slowQcifMPI
.Decode(strm
))
16669 if (HasOptionalField(e_slowCifMPI
) && !m_slowCifMPI
.Decode(strm
))
16671 if (HasOptionalField(e_slowCif4MPI
) && !m_slowCif4MPI
.Decode(strm
))
16673 if (HasOptionalField(e_slowCif16MPI
) && !m_slowCif16MPI
.Decode(strm
))
16675 if (!m_errorCompensation
.Decode(strm
))
16677 if (HasOptionalField(e_h263Options
) && !m_h263Options
.Decode(strm
))
16680 return UnknownExtensionsDecode(strm
);
16684 void H245_EnhancementOptions::Encode(PASN_Stream
& strm
) const
16686 PreambleEncode(strm
);
16688 if (HasOptionalField(e_sqcifMPI
))
16689 m_sqcifMPI
.Encode(strm
);
16690 if (HasOptionalField(e_qcifMPI
))
16691 m_qcifMPI
.Encode(strm
);
16692 if (HasOptionalField(e_cifMPI
))
16693 m_cifMPI
.Encode(strm
);
16694 if (HasOptionalField(e_cif4MPI
))
16695 m_cif4MPI
.Encode(strm
);
16696 if (HasOptionalField(e_cif16MPI
))
16697 m_cif16MPI
.Encode(strm
);
16698 m_maxBitRate
.Encode(strm
);
16699 m_unrestrictedVector
.Encode(strm
);
16700 m_arithmeticCoding
.Encode(strm
);
16701 m_temporalSpatialTradeOffCapability
.Encode(strm
);
16702 if (HasOptionalField(e_slowSqcifMPI
))
16703 m_slowSqcifMPI
.Encode(strm
);
16704 if (HasOptionalField(e_slowQcifMPI
))
16705 m_slowQcifMPI
.Encode(strm
);
16706 if (HasOptionalField(e_slowCifMPI
))
16707 m_slowCifMPI
.Encode(strm
);
16708 if (HasOptionalField(e_slowCif4MPI
))
16709 m_slowCif4MPI
.Encode(strm
);
16710 if (HasOptionalField(e_slowCif16MPI
))
16711 m_slowCif16MPI
.Encode(strm
);
16712 m_errorCompensation
.Encode(strm
);
16713 if (HasOptionalField(e_h263Options
))
16714 m_h263Options
.Encode(strm
);
16716 UnknownExtensionsEncode(strm
);
16720 PObject
* H245_EnhancementOptions::Clone() const
16722 #ifndef PASN_LEANANDMEAN
16723 PAssert(IsClass(H245_EnhancementOptions::Class()), PInvalidCast
);
16725 return new H245_EnhancementOptions(*this);
16730 // BEnhancementParameters
16733 H245_BEnhancementParameters::H245_BEnhancementParameters(unsigned tag
, PASN_Object::TagClass tagClass
)
16734 : PASN_Sequence(tag
, tagClass
, 0, TRUE
, 0)
16736 m_numberOfBPictures
.SetConstraints(PASN_Object::FixedConstraint
, 1, 64);
16740 #ifndef PASN_NOPRINTON
16741 void H245_BEnhancementParameters::PrintOn(ostream
& strm
) const
16743 int indent
= strm
.precision() + 2;
16745 strm
<< setw(indent
+21) << "enhancementOptions = " << setprecision(indent
) << m_enhancementOptions
<< '\n';
16746 strm
<< setw(indent
+20) << "numberOfBPictures = " << setprecision(indent
) << m_numberOfBPictures
<< '\n';
16747 strm
<< setw(indent
-1) << setprecision(indent
-2) << "}";
16752 PObject::Comparison
H245_BEnhancementParameters::Compare(const PObject
& obj
) const
16754 #ifndef PASN_LEANANDMEAN
16755 PAssert(PIsDescendant(&obj
, H245_BEnhancementParameters
), PInvalidCast
);
16757 const H245_BEnhancementParameters
& other
= (const H245_BEnhancementParameters
&)obj
;
16761 if ((result
= m_enhancementOptions
.Compare(other
.m_enhancementOptions
)) != EqualTo
)
16763 if ((result
= m_numberOfBPictures
.Compare(other
.m_numberOfBPictures
)) != EqualTo
)
16766 return PASN_Sequence::Compare(other
);
16770 PINDEX
H245_BEnhancementParameters::GetDataLength() const
16773 length
+= m_enhancementOptions
.GetObjectLength();
16774 length
+= m_numberOfBPictures
.GetObjectLength();
16779 BOOL
H245_BEnhancementParameters::Decode(PASN_Stream
& strm
)
16781 if (!PreambleDecode(strm
))
16784 if (!m_enhancementOptions
.Decode(strm
))
16786 if (!m_numberOfBPictures
.Decode(strm
))
16789 return UnknownExtensionsDecode(strm
);
16793 void H245_BEnhancementParameters::Encode(PASN_Stream
& strm
) const
16795 PreambleEncode(strm
);
16797 m_enhancementOptions
.Encode(strm
);
16798 m_numberOfBPictures
.Encode(strm
);
16800 UnknownExtensionsEncode(strm
);
16804 PObject
* H245_BEnhancementParameters::Clone() const
16806 #ifndef PASN_LEANANDMEAN
16807 PAssert(IsClass(H245_BEnhancementParameters::Class()), PInvalidCast
);
16809 return new H245_BEnhancementParameters(*this);
16813 #endif // if ! H323_DISABLE_H245
16816 // End of h245_3.cxx