diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-19 00:19:29 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-19 00:19:29 +0000 |
commit | f8247040e6231c4b3b5099ea3a526348b7941566 (patch) | |
tree | 0cc92ad6ebf6ae49a62f6e7ef8ec819121d63630 /trunk/channels/h323/cisco-h225.cxx | |
parent | d88e56c61ce2042544c1a8a71c93b69ab2e6ffba (diff) |
Creating tag for the release of asterisk-1.6.0-beta1v1.6.0-beta1
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.6.0-beta1@99163 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'trunk/channels/h323/cisco-h225.cxx')
-rw-r--r-- | trunk/channels/h323/cisco-h225.cxx | 853 |
1 files changed, 853 insertions, 0 deletions
diff --git a/trunk/channels/h323/cisco-h225.cxx b/trunk/channels/h323/cisco-h225.cxx new file mode 100644 index 000000000..37adc4e87 --- /dev/null +++ b/trunk/channels/h323/cisco-h225.cxx @@ -0,0 +1,853 @@ +// +// cisco-h225.cxx +// +// Code automatically generated by asnparse. +// + +#ifdef P_USE_PRAGMA +#pragma implementation "cisco-h225.h" +#endif + +#include <ptlib.h> +#include "cisco-h225.h" + +#define new PNEW + + +#if ! H323_DISABLE_CISCO_H225 + +// +// RedirectIEinfo +// + +CISCO_H225_RedirectIEinfo::CISCO_H225_RedirectIEinfo(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_RedirectIEinfo::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+13) << "redirectIE = " << setprecision(indent) << m_redirectIE << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_RedirectIEinfo::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_RedirectIEinfo), PInvalidCast); +#endif + const CISCO_H225_RedirectIEinfo & other = (const CISCO_H225_RedirectIEinfo &)obj; + + Comparison result; + + if ((result = m_redirectIE.Compare(other.m_redirectIE)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_RedirectIEinfo::GetDataLength() const +{ + PINDEX length = 0; + length += m_redirectIE.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_RedirectIEinfo::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_redirectIE.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_RedirectIEinfo::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_redirectIE.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_RedirectIEinfo::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_RedirectIEinfo::Class()), PInvalidCast); +#endif + return new CISCO_H225_RedirectIEinfo(*this); +} + + +// +// ProgIndIEinfo +// + +CISCO_H225_ProgIndIEinfo::CISCO_H225_ProgIndIEinfo(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_ProgIndIEinfo::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+12) << "progIndIE = " << setprecision(indent) << m_progIndIE << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_ProgIndIEinfo::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_ProgIndIEinfo), PInvalidCast); +#endif + const CISCO_H225_ProgIndIEinfo & other = (const CISCO_H225_ProgIndIEinfo &)obj; + + Comparison result; + + if ((result = m_progIndIE.Compare(other.m_progIndIE)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_ProgIndIEinfo::GetDataLength() const +{ + PINDEX length = 0; + length += m_progIndIE.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_ProgIndIEinfo::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_progIndIE.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_ProgIndIEinfo::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_progIndIE.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_ProgIndIEinfo::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_ProgIndIEinfo::Class()), PInvalidCast); +#endif + return new CISCO_H225_ProgIndIEinfo(*this); +} + + +// +// QsigNonStdInfo +// + +CISCO_H225_QsigNonStdInfo::CISCO_H225_QsigNonStdInfo(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_QsigNonStdInfo::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+6) << "iei = " << setprecision(indent) << m_iei << '\n'; + strm << setw(indent+10) << "rawMesg = " << setprecision(indent) << m_rawMesg << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_QsigNonStdInfo::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_QsigNonStdInfo), PInvalidCast); +#endif + const CISCO_H225_QsigNonStdInfo & other = (const CISCO_H225_QsigNonStdInfo &)obj; + + Comparison result; + + if ((result = m_iei.Compare(other.m_iei)) != EqualTo) + return result; + if ((result = m_rawMesg.Compare(other.m_rawMesg)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_QsigNonStdInfo::GetDataLength() const +{ + PINDEX length = 0; + length += m_iei.GetObjectLength(); + length += m_rawMesg.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_QsigNonStdInfo::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_iei.Decode(strm)) + return FALSE; + if (!m_rawMesg.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_QsigNonStdInfo::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_iei.Encode(strm); + m_rawMesg.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_QsigNonStdInfo::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_QsigNonStdInfo::Class()), PInvalidCast); +#endif + return new CISCO_H225_QsigNonStdInfo(*this); +} + + +// +// CallMgrParam +// + +CISCO_H225_CallMgrParam::CISCO_H225_CallMgrParam(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_CallMgrParam::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+22) << "interclusterVersion = " << setprecision(indent) << m_interclusterVersion << '\n'; + strm << setw(indent+15) << "enterpriseID = " << setprecision(indent) << m_enterpriseID << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_CallMgrParam::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_CallMgrParam), PInvalidCast); +#endif + const CISCO_H225_CallMgrParam & other = (const CISCO_H225_CallMgrParam &)obj; + + Comparison result; + + if ((result = m_interclusterVersion.Compare(other.m_interclusterVersion)) != EqualTo) + return result; + if ((result = m_enterpriseID.Compare(other.m_enterpriseID)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_CallMgrParam::GetDataLength() const +{ + PINDEX length = 0; + length += m_interclusterVersion.GetObjectLength(); + length += m_enterpriseID.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_CallMgrParam::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_interclusterVersion.Decode(strm)) + return FALSE; + if (!m_enterpriseID.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_CallMgrParam::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_interclusterVersion.Encode(strm); + m_enterpriseID.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_CallMgrParam::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_CallMgrParam::Class()), PInvalidCast); +#endif + return new CISCO_H225_CallMgrParam(*this); +} + + +// +// CallPreserveParam +// + +CISCO_H225_CallPreserveParam::CISCO_H225_CallPreserveParam(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_CallPreserveParam::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+17) << "callPreserveIE = " << setprecision(indent) << m_callPreserveIE << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_CallPreserveParam::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_CallPreserveParam), PInvalidCast); +#endif + const CISCO_H225_CallPreserveParam & other = (const CISCO_H225_CallPreserveParam &)obj; + + Comparison result; + + if ((result = m_callPreserveIE.Compare(other.m_callPreserveIE)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_CallPreserveParam::GetDataLength() const +{ + PINDEX length = 0; + length += m_callPreserveIE.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_CallPreserveParam::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_callPreserveIE.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_CallPreserveParam::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_callPreserveIE.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_CallPreserveParam::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_CallPreserveParam::Class()), PInvalidCast); +#endif + return new CISCO_H225_CallPreserveParam(*this); +} + + +// +// CallSignallingParam +// + +CISCO_H225_CallSignallingParam::CISCO_H225_CallSignallingParam(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 1, TRUE, 0) +{ + m_connectedNumber.SetConstraints(PASN_Object::FixedConstraint, 1, 127); +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_CallSignallingParam::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + if (HasOptionalField(e_connectedNumber)) + strm << setw(indent+18) << "connectedNumber = " << setprecision(indent) << m_connectedNumber << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_CallSignallingParam::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_CallSignallingParam), PInvalidCast); +#endif + const CISCO_H225_CallSignallingParam & other = (const CISCO_H225_CallSignallingParam &)obj; + + Comparison result; + + if ((result = m_connectedNumber.Compare(other.m_connectedNumber)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_CallSignallingParam::GetDataLength() const +{ + PINDEX length = 0; + if (HasOptionalField(e_connectedNumber)) + length += m_connectedNumber.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_CallSignallingParam::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (HasOptionalField(e_connectedNumber) && !m_connectedNumber.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_CallSignallingParam::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + if (HasOptionalField(e_connectedNumber)) + m_connectedNumber.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_CallSignallingParam::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_CallSignallingParam::Class()), PInvalidCast); +#endif + return new CISCO_H225_CallSignallingParam(*this); +} + + +// +// CommonParam +// + +CISCO_H225_CommonParam::CISCO_H225_CommonParam(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_CommonParam::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+17) << "redirectIEinfo = " << setprecision(indent) << m_redirectIEinfo << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_CommonParam::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_CommonParam), PInvalidCast); +#endif + const CISCO_H225_CommonParam & other = (const CISCO_H225_CommonParam &)obj; + + Comparison result; + + if ((result = m_redirectIEinfo.Compare(other.m_redirectIEinfo)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_CommonParam::GetDataLength() const +{ + PINDEX length = 0; + length += m_redirectIEinfo.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_CommonParam::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_redirectIEinfo.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_CommonParam::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_redirectIEinfo.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_CommonParam::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_CommonParam::Class()), PInvalidCast); +#endif + return new CISCO_H225_CommonParam(*this); +} + + +// +// ProgIndParam +// + +CISCO_H225_ProgIndParam::CISCO_H225_ProgIndParam(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_ProgIndParam::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+16) << "progIndIEinfo = " << setprecision(indent) << m_progIndIEinfo << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_ProgIndParam::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_ProgIndParam), PInvalidCast); +#endif + const CISCO_H225_ProgIndParam & other = (const CISCO_H225_ProgIndParam &)obj; + + Comparison result; + + if ((result = m_progIndIEinfo.Compare(other.m_progIndIEinfo)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_ProgIndParam::GetDataLength() const +{ + PINDEX length = 0; + length += m_progIndIEinfo.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_ProgIndParam::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_progIndIEinfo.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_ProgIndParam::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_progIndIEinfo.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_ProgIndParam::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_ProgIndParam::Class()), PInvalidCast); +#endif + return new CISCO_H225_ProgIndParam(*this); +} + + +// +// ProtoParam +// + +CISCO_H225_ProtoParam::CISCO_H225_ProtoParam(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 0, TRUE, 0) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_ProtoParam::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + strm << setw(indent+17) << "qsigNonStdInfo = " << setprecision(indent) << m_qsigNonStdInfo << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_ProtoParam::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_ProtoParam), PInvalidCast); +#endif + const CISCO_H225_ProtoParam & other = (const CISCO_H225_ProtoParam &)obj; + + Comparison result; + + if ((result = m_qsigNonStdInfo.Compare(other.m_qsigNonStdInfo)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_ProtoParam::GetDataLength() const +{ + PINDEX length = 0; + length += m_qsigNonStdInfo.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_ProtoParam::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (!m_qsigNonStdInfo.Decode(strm)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_ProtoParam::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + m_qsigNonStdInfo.Encode(strm); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_ProtoParam::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_ProtoParam::Class()), PInvalidCast); +#endif + return new CISCO_H225_ProtoParam(*this); +} + + +// +// H323_UU_NonStdInfo +// + +CISCO_H225_H323_UU_NonStdInfo::CISCO_H225_H323_UU_NonStdInfo(unsigned tag, PASN_Object::TagClass tagClass) + : PASN_Sequence(tag, tagClass, 3, TRUE, 6) +{ +} + + +#ifndef PASN_NOPRINTON +void CISCO_H225_H323_UU_NonStdInfo::PrintOn(ostream & strm) const +{ + int indent = strm.precision() + 2; + strm << "{\n"; + if (HasOptionalField(e_version)) + strm << setw(indent+10) << "version = " << setprecision(indent) << m_version << '\n'; + if (HasOptionalField(e_protoParam)) + strm << setw(indent+13) << "protoParam = " << setprecision(indent) << m_protoParam << '\n'; + if (HasOptionalField(e_commonParam)) + strm << setw(indent+14) << "commonParam = " << setprecision(indent) << m_commonParam << '\n'; + if (HasOptionalField(e_dummy1)) + strm << setw(indent+9) << "dummy1 = " << setprecision(indent) << m_dummy1 << '\n'; + if (HasOptionalField(e_progIndParam)) + strm << setw(indent+15) << "progIndParam = " << setprecision(indent) << m_progIndParam << '\n'; + if (HasOptionalField(e_callMgrParam)) + strm << setw(indent+15) << "callMgrParam = " << setprecision(indent) << m_callMgrParam << '\n'; + if (HasOptionalField(e_callSignallingParam)) + strm << setw(indent+22) << "callSignallingParam = " << setprecision(indent) << m_callSignallingParam << '\n'; + if (HasOptionalField(e_dummy2)) + strm << setw(indent+9) << "dummy2 = " << setprecision(indent) << m_dummy2 << '\n'; + if (HasOptionalField(e_callPreserveParam)) + strm << setw(indent+20) << "callPreserveParam = " << setprecision(indent) << m_callPreserveParam << '\n'; + strm << setw(indent-1) << setprecision(indent-2) << "}"; +} +#endif + + +PObject::Comparison CISCO_H225_H323_UU_NonStdInfo::Compare(const PObject & obj) const +{ +#ifndef PASN_LEANANDMEAN + PAssert(PIsDescendant(&obj, CISCO_H225_H323_UU_NonStdInfo), PInvalidCast); +#endif + const CISCO_H225_H323_UU_NonStdInfo & other = (const CISCO_H225_H323_UU_NonStdInfo &)obj; + + Comparison result; + + if ((result = m_version.Compare(other.m_version)) != EqualTo) + return result; + if ((result = m_protoParam.Compare(other.m_protoParam)) != EqualTo) + return result; + if ((result = m_commonParam.Compare(other.m_commonParam)) != EqualTo) + return result; + + return PASN_Sequence::Compare(other); +} + + +PINDEX CISCO_H225_H323_UU_NonStdInfo::GetDataLength() const +{ + PINDEX length = 0; + if (HasOptionalField(e_version)) + length += m_version.GetObjectLength(); + if (HasOptionalField(e_protoParam)) + length += m_protoParam.GetObjectLength(); + if (HasOptionalField(e_commonParam)) + length += m_commonParam.GetObjectLength(); + return length; +} + + +BOOL CISCO_H225_H323_UU_NonStdInfo::Decode(PASN_Stream & strm) +{ + if (!PreambleDecode(strm)) + return FALSE; + + if (HasOptionalField(e_version) && !m_version.Decode(strm)) + return FALSE; + if (HasOptionalField(e_protoParam) && !m_protoParam.Decode(strm)) + return FALSE; + if (HasOptionalField(e_commonParam) && !m_commonParam.Decode(strm)) + return FALSE; + if (!KnownExtensionDecode(strm, e_dummy1, m_dummy1)) + return FALSE; + if (!KnownExtensionDecode(strm, e_progIndParam, m_progIndParam)) + return FALSE; + if (!KnownExtensionDecode(strm, e_callMgrParam, m_callMgrParam)) + return FALSE; + if (!KnownExtensionDecode(strm, e_callSignallingParam, m_callSignallingParam)) + return FALSE; + if (!KnownExtensionDecode(strm, e_dummy2, m_dummy2)) + return FALSE; + if (!KnownExtensionDecode(strm, e_callPreserveParam, m_callPreserveParam)) + return FALSE; + + return UnknownExtensionsDecode(strm); +} + + +void CISCO_H225_H323_UU_NonStdInfo::Encode(PASN_Stream & strm) const +{ + PreambleEncode(strm); + + if (HasOptionalField(e_version)) + m_version.Encode(strm); + if (HasOptionalField(e_protoParam)) + m_protoParam.Encode(strm); + if (HasOptionalField(e_commonParam)) + m_commonParam.Encode(strm); + KnownExtensionEncode(strm, e_dummy1, m_dummy1); + KnownExtensionEncode(strm, e_progIndParam, m_progIndParam); + KnownExtensionEncode(strm, e_callMgrParam, m_callMgrParam); + KnownExtensionEncode(strm, e_callSignallingParam, m_callSignallingParam); + KnownExtensionEncode(strm, e_dummy2, m_dummy2); + KnownExtensionEncode(strm, e_callPreserveParam, m_callPreserveParam); + + UnknownExtensionsEncode(strm); +} + + +PObject * CISCO_H225_H323_UU_NonStdInfo::Clone() const +{ +#ifndef PASN_LEANANDMEAN + PAssert(IsClass(CISCO_H225_H323_UU_NonStdInfo::Class()), PInvalidCast); +#endif + return new CISCO_H225_H323_UU_NonStdInfo(*this); +} + + +#endif // if ! H323_DISABLE_CISCO_H225 + + +// End of cisco-h225.cxx |