home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / openh323.tar.gz / openh323.tar / openh323 / src / h4507.cxx < prev    next >
C/C++ Source or Header  |  2004-06-22  |  23KB  |  855 lines

  1. //
  2. // h4507.cxx
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. #ifdef __GNUC__
  8. #pragma implementation "h4507.h"
  9. #endif
  10.  
  11. #include <ptlib.h>
  12. #include "h4507.h"
  13.  
  14. #define new PNEW
  15.  
  16.  
  17. #if ! H323_DISABLE_H4507
  18.  
  19.  
  20.  
  21. //
  22. // H323-MWI-Operations
  23. //
  24.  
  25. H4507_H323_MWI_Operations::H4507_H323_MWI_Operations(unsigned tag, PASN_Object::TagClass tagClass)
  26.   : PASN_Enumeration(tag, tagClass, 82, FALSE
  27. #ifndef PASN_NOPRINTON
  28.       , "mwiActivate=80 "
  29.         "mwiDeactivate "
  30.         "mwiInterrogate "
  31. #endif
  32.     )
  33. {
  34. }
  35.  
  36.  
  37. H4507_H323_MWI_Operations & H4507_H323_MWI_Operations::operator=(unsigned v)
  38. {
  39.   SetValue(v);
  40.   return *this;
  41. }
  42.  
  43.  
  44. PObject * H4507_H323_MWI_Operations::Clone() const
  45. {
  46. #ifndef PASN_LEANANDMEAN
  47.   PAssert(IsClass(H4507_H323_MWI_Operations::Class()), PInvalidCast);
  48. #endif
  49.   return new H4507_H323_MWI_Operations(*this);
  50. }
  51.  
  52.  
  53. //
  54. // DummyRes
  55. //
  56.  
  57. H4507_DummyRes::H4507_DummyRes(unsigned tag, PASN_Object::TagClass tagClass)
  58.   : PASN_Array(tag, tagClass)
  59. {
  60.   SetConstraints(PASN_Object::FixedConstraint, 0, 255);
  61. }
  62.  
  63.  
  64. PASN_Object * H4507_DummyRes::CreateObject() const
  65. {
  66.   return new H4504_MixedExtension;
  67. }
  68.  
  69.  
  70. H4504_MixedExtension & H4507_DummyRes::operator[](PINDEX i) const
  71. {
  72.   return (H4504_MixedExtension &)array[i];
  73. }
  74.  
  75.  
  76. PObject * H4507_DummyRes::Clone() const
  77. {
  78. #ifndef PASN_LEANANDMEAN
  79.   PAssert(IsClass(H4507_DummyRes::Class()), PInvalidCast);
  80. #endif
  81.   return new H4507_DummyRes(*this);
  82. }
  83.  
  84.  
  85. //
  86. // MWIInterrogateRes
  87. //
  88.  
  89. H4507_MWIInterrogateRes::H4507_MWIInterrogateRes(unsigned tag, PASN_Object::TagClass tagClass)
  90.   : PASN_Array(tag, tagClass)
  91. {
  92.   SetConstraints(PASN_Object::FixedConstraint, 1, 64);
  93. }
  94.  
  95.  
  96. PASN_Object * H4507_MWIInterrogateRes::CreateObject() const
  97. {
  98.   return new H4507_MWIInterrogateResElt;
  99. }
  100.  
  101.  
  102. H4507_MWIInterrogateResElt & H4507_MWIInterrogateRes::operator[](PINDEX i) const
  103. {
  104.   return (H4507_MWIInterrogateResElt &)array[i];
  105. }
  106.  
  107.  
  108. PObject * H4507_MWIInterrogateRes::Clone() const
  109. {
  110. #ifndef PASN_LEANANDMEAN
  111.   PAssert(IsClass(H4507_MWIInterrogateRes::Class()), PInvalidCast);
  112. #endif
  113.   return new H4507_MWIInterrogateRes(*this);
  114. }
  115.  
  116.  
  117. //
  118. // MsgCentreId
  119. //
  120.  
  121. H4507_MsgCentreId::H4507_MsgCentreId(unsigned tag, PASN_Object::TagClass tagClass)
  122.   : PASN_Choice(tag, tagClass, 3, FALSE
  123. #ifndef PASN_NOPRINTON
  124.       , "integer "
  125.         "partyNumber "
  126.         "numericString "
  127. #endif
  128.     )
  129. {
  130. }
  131.  
  132.  
  133. #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
  134. H4507_MsgCentreId::operator H4501_EndpointAddress &() const
  135. #else
  136. H4507_MsgCentreId::operator H4501_EndpointAddress &()
  137. {
  138. #ifndef PASN_LEANANDMEAN
  139.   PAssert(PAssertNULL(choice)->IsDescendant(H4501_EndpointAddress::Class()), PInvalidCast);
  140. #endif
  141.   return *(H4501_EndpointAddress *)choice;
  142. }
  143.  
  144.  
  145. H4507_MsgCentreId::operator const H4501_EndpointAddress &() const
  146. #endif
  147. {
  148. #ifndef PASN_LEANANDMEAN
  149.   PAssert(PAssertNULL(choice)->IsDescendant(H4501_EndpointAddress::Class()), PInvalidCast);
  150. #endif
  151.   return *(H4501_EndpointAddress *)choice;
  152. }
  153.  
  154.  
  155. BOOL H4507_MsgCentreId::CreateObject()
  156. {
  157.   switch (tag) {
  158.     case e_integer :
  159.       choice = new PASN_Integer();
  160.       choice->SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
  161.       return TRUE;
  162.     case e_partyNumber :
  163.       choice = new H4501_EndpointAddress();
  164.       return TRUE;
  165.     case e_numericString :
  166.       choice = new PASN_NumericString();
  167.       choice->SetConstraints(PASN_Object::FixedConstraint, 1, 10);
  168.       return TRUE;
  169.   }
  170.  
  171.   choice = NULL;
  172.   return FALSE;
  173. }
  174.  
  175.  
  176. PObject * H4507_MsgCentreId::Clone() const
  177. {
  178. #ifndef PASN_LEANANDMEAN
  179.   PAssert(IsClass(H4507_MsgCentreId::Class()), PInvalidCast);
  180. #endif
  181.   return new H4507_MsgCentreId(*this);
  182. }
  183.  
  184.  
  185. //
  186. // NbOfMessages
  187. //
  188.  
  189. H4507_NbOfMessages::H4507_NbOfMessages(unsigned tag, PASN_Object::TagClass tagClass)
  190.   : PASN_Integer(tag, tagClass)
  191. {
  192.   SetConstraints(PASN_Object::FixedConstraint, 0, 65535);
  193. }
  194.  
  195.  
  196. H4507_NbOfMessages & H4507_NbOfMessages::operator=(int v)
  197. {
  198.   SetValue(v);
  199.   return *this;
  200. }
  201.  
  202.  
  203. H4507_NbOfMessages & H4507_NbOfMessages::operator=(unsigned v)
  204. {
  205.   SetValue(v);
  206.   return *this;
  207. }
  208.  
  209.  
  210. PObject * H4507_NbOfMessages::Clone() const
  211. {
  212. #ifndef PASN_LEANANDMEAN
  213.   PAssert(IsClass(H4507_NbOfMessages::Class()), PInvalidCast);
  214. #endif
  215.   return new H4507_NbOfMessages(*this);
  216. }
  217.  
  218.  
  219. //
  220. // TimeStamp
  221. //
  222.  
  223. H4507_TimeStamp::H4507_TimeStamp(unsigned tag, PASN_Object::TagClass tagClass)
  224.   : PASN_GeneralisedTime(tag, tagClass)
  225. {
  226.   SetConstraints(PASN_Object::FixedConstraint, 12, 19);
  227. }
  228.  
  229.  
  230. PObject * H4507_TimeStamp::Clone() const
  231. {
  232. #ifndef PASN_LEANANDMEAN
  233.   PAssert(IsClass(H4507_TimeStamp::Class()), PInvalidCast);
  234. #endif
  235.   return new H4507_TimeStamp(*this);
  236. }
  237.  
  238.  
  239. //
  240. // MessageWaitingIndicationErrors
  241. //
  242.  
  243. H4507_MessageWaitingIndicationErrors::H4507_MessageWaitingIndicationErrors(unsigned tag, PASN_Object::TagClass tagClass)
  244.   : PASN_Enumeration(tag, tagClass, 2002, FALSE
  245. #ifndef PASN_NOPRINTON
  246.       , "notActivated=31 "
  247.         "undefined=2002 "
  248.         "invalidMsgCentreId=1018 "
  249. #endif
  250.     )
  251. {
  252. }
  253.  
  254.  
  255. H4507_MessageWaitingIndicationErrors & H4507_MessageWaitingIndicationErrors::operator=(unsigned v)
  256. {
  257.   SetValue(v);
  258.   return *this;
  259. }
  260.  
  261.  
  262. PObject * H4507_MessageWaitingIndicationErrors::Clone() const
  263. {
  264. #ifndef PASN_LEANANDMEAN
  265.   PAssert(IsClass(H4507_MessageWaitingIndicationErrors::Class()), PInvalidCast);
  266. #endif
  267.   return new H4507_MessageWaitingIndicationErrors(*this);
  268. }
  269.  
  270.  
  271. //
  272. // BasicService
  273. //
  274.  
  275. H4507_BasicService::H4507_BasicService(unsigned tag, PASN_Object::TagClass tagClass)
  276.   : PASN_Enumeration(tag, tagClass, 36, FALSE
  277. #ifndef PASN_NOPRINTON
  278.       , "allServices "
  279.         "speech "
  280.         "unrestrictedDigitalInformation "
  281.         "audio3100Hz "
  282.         "telephony=32 "
  283.         "teletex "
  284.         "telefaxGroup4Class1 "
  285.         "videotexSyntaxBased "
  286.         "videotelephony "
  287. #endif
  288.     )
  289. {
  290. }
  291.  
  292.  
  293. H4507_BasicService & H4507_BasicService::operator=(unsigned v)
  294. {
  295.   SetValue(v);
  296.   return *this;
  297. }
  298.  
  299.  
  300. PObject * H4507_BasicService::Clone() const
  301. {
  302. #ifndef PASN_LEANANDMEAN
  303.   PAssert(IsClass(H4507_BasicService::Class()), PInvalidCast);
  304. #endif
  305.   return new H4507_BasicService(*this);
  306. }
  307.  
  308.  
  309. //
  310. // ArrayOf_MixedExtension
  311. //
  312.  
  313. H4507_ArrayOf_MixedExtension::H4507_ArrayOf_MixedExtension(unsigned tag, PASN_Object::TagClass tagClass)
  314.   : PASN_Array(tag, tagClass)
  315. {
  316. }
  317.  
  318.  
  319. PASN_Object * H4507_ArrayOf_MixedExtension::CreateObject() const
  320. {
  321.   return new H4504_MixedExtension;
  322. }
  323.  
  324.  
  325. H4504_MixedExtension & H4507_ArrayOf_MixedExtension::operator[](PINDEX i) const
  326. {
  327.   return (H4504_MixedExtension &)array[i];
  328. }
  329.  
  330.  
  331. PObject * H4507_ArrayOf_MixedExtension::Clone() const
  332. {
  333. #ifndef PASN_LEANANDMEAN
  334.   PAssert(IsClass(H4507_ArrayOf_MixedExtension::Class()), PInvalidCast);
  335. #endif
  336.   return new H4507_ArrayOf_MixedExtension(*this);
  337. }
  338.  
  339.  
  340. //
  341. // MWIActivateArg
  342. //
  343.  
  344. H4507_MWIActivateArg::H4507_MWIActivateArg(unsigned tag, PASN_Object::TagClass tagClass)
  345.   : PASN_Sequence(tag, tagClass, 6, TRUE, 0)
  346. {
  347.   m_priority.SetConstraints(PASN_Object::FixedConstraint, 0, 9);
  348.   m_extensionArg.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
  349. }
  350.  
  351.  
  352. #ifndef PASN_NOPRINTON
  353. void H4507_MWIActivateArg::PrintOn(ostream & strm) const
  354. {
  355.   int indent = strm.precision() + 2;
  356.   strm << "{\n";
  357.   strm << setw(indent+15) << "servedUserNr = " << setprecision(indent) << m_servedUserNr << '\n';
  358.   strm << setw(indent+15) << "basicService = " << setprecision(indent) << m_basicService << '\n';
  359.   if (HasOptionalField(e_msgCentreId))
  360.     strm << setw(indent+14) << "msgCentreId = " << setprecision(indent) << m_msgCentreId << '\n';
  361.   if (HasOptionalField(e_nbOfMessages))
  362.     strm << setw(indent+15) << "nbOfMessages = " << setprecision(indent) << m_nbOfMessages << '\n';
  363.   if (HasOptionalField(e_originatingNr))
  364.     strm << setw(indent+16) << "originatingNr = " << setprecision(indent) << m_originatingNr << '\n';
  365.   if (HasOptionalField(e_timestamp))
  366.     strm << setw(indent+12) << "timestamp = " << setprecision(indent) << m_timestamp << '\n';
  367.   if (HasOptionalField(e_priority))
  368.     strm << setw(indent+11) << "priority = " << setprecision(indent) << m_priority << '\n';
  369.   if (HasOptionalField(e_extensionArg))
  370.     strm << setw(indent+15) << "extensionArg = " << setprecision(indent) << m_extensionArg << '\n';
  371.   strm << setw(indent-1) << "}";
  372. }
  373. #endif
  374.  
  375.  
  376. PObject::Comparison H4507_MWIActivateArg::Compare(const PObject & obj) const
  377. {
  378. #ifndef PASN_LEANANDMEAN
  379.   PAssert(IsDescendant(H4507_MWIActivateArg::Class()), PInvalidCast);
  380. #endif
  381.   const H4507_MWIActivateArg & other = (const H4507_MWIActivateArg &)obj;
  382.  
  383.   Comparison result;
  384.  
  385.   if ((result = m_servedUserNr.Compare(other.m_servedUserNr)) != EqualTo)
  386.     return result;
  387.   if ((result = m_basicService.Compare(other.m_basicService)) != EqualTo)
  388.     return result;
  389.   if ((result = m_msgCentreId.Compare(other.m_msgCentreId)) != EqualTo)
  390.     return result;
  391.   if ((result = m_nbOfMessages.Compare(other.m_nbOfMessages)) != EqualTo)
  392.     return result;
  393.   if ((result = m_originatingNr.Compare(other.m_originatingNr)) != EqualTo)
  394.     return result;
  395.   if ((result = m_timestamp.Compare(other.m_timestamp)) != EqualTo)
  396.     return result;
  397.   if ((result = m_priority.Compare(other.m_priority)) != EqualTo)
  398.     return result;
  399.   if ((result = m_extensionArg.Compare(other.m_extensionArg)) != EqualTo)
  400.     return result;
  401.  
  402.   return PASN_Sequence::Compare(other);
  403. }
  404.  
  405.  
  406. PINDEX H4507_MWIActivateArg::GetDataLength() const
  407. {
  408.   PINDEX length = 0;
  409.   length += m_servedUserNr.GetObjectLength();
  410.   length += m_basicService.GetObjectLength();
  411.   if (HasOptionalField(e_msgCentreId))
  412.     length += m_msgCentreId.GetObjectLength();
  413.   if (HasOptionalField(e_nbOfMessages))
  414.     length += m_nbOfMessages.GetObjectLength();
  415.   if (HasOptionalField(e_originatingNr))
  416.     length += m_originatingNr.GetObjectLength();
  417.   if (HasOptionalField(e_timestamp))
  418.     length += m_timestamp.GetObjectLength();
  419.   if (HasOptionalField(e_priority))
  420.     length += m_priority.GetObjectLength();
  421.   if (HasOptionalField(e_extensionArg))
  422.     length += m_extensionArg.GetObjectLength();
  423.   return length;
  424. }
  425.  
  426.  
  427. BOOL H4507_MWIActivateArg::Decode(PASN_Stream & strm)
  428. {
  429.   if (!PreambleDecode(strm))
  430.     return FALSE;
  431.  
  432.   if (!m_servedUserNr.Decode(strm))
  433.     return FALSE;
  434.   if (!m_basicService.Decode(strm))
  435.     return FALSE;
  436.   if (HasOptionalField(e_msgCentreId) && !m_msgCentreId.Decode(strm))
  437.     return FALSE;
  438.   if (HasOptionalField(e_nbOfMessages) && !m_nbOfMessages.Decode(strm))
  439.     return FALSE;
  440.   if (HasOptionalField(e_originatingNr) && !m_originatingNr.Decode(strm))
  441.     return FALSE;
  442.   if (HasOptionalField(e_timestamp) && !m_timestamp.Decode(strm))
  443.     return FALSE;
  444.   if (HasOptionalField(e_priority) && !m_priority.Decode(strm))
  445.     return FALSE;
  446.   if (HasOptionalField(e_extensionArg) && !m_extensionArg.Decode(strm))
  447.     return FALSE;
  448.  
  449.   return UnknownExtensionsDecode(strm);
  450. }
  451.  
  452.  
  453. void H4507_MWIActivateArg::Encode(PASN_Stream & strm) const
  454. {
  455.   PreambleEncode(strm);
  456.  
  457.   m_servedUserNr.Encode(strm);
  458.   m_basicService.Encode(strm);
  459.   if (HasOptionalField(e_msgCentreId))
  460.     m_msgCentreId.Encode(strm);
  461.   if (HasOptionalField(e_nbOfMessages))
  462.     m_nbOfMessages.Encode(strm);
  463.   if (HasOptionalField(e_originatingNr))
  464.     m_originatingNr.Encode(strm);
  465.   if (HasOptionalField(e_timestamp))
  466.     m_timestamp.Encode(strm);
  467.   if (HasOptionalField(e_priority))
  468.     m_priority.Encode(strm);
  469.   if (HasOptionalField(e_extensionArg))
  470.     m_extensionArg.Encode(strm);
  471.  
  472.   UnknownExtensionsEncode(strm);
  473. }
  474.  
  475.  
  476. PObject * H4507_MWIActivateArg::Clone() const
  477. {
  478. #ifndef PASN_LEANANDMEAN
  479.   PAssert(IsClass(H4507_MWIActivateArg::Class()), PInvalidCast);
  480. #endif
  481.   return new H4507_MWIActivateArg(*this);
  482. }
  483.  
  484.  
  485. //
  486. // MWIDeactivateArg
  487. //
  488.  
  489. H4507_MWIDeactivateArg::H4507_MWIDeactivateArg(unsigned tag, PASN_Object::TagClass tagClass)
  490.   : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
  491. {
  492.   m_extensionArg.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
  493. }
  494.  
  495.  
  496. #ifndef PASN_NOPRINTON
  497. void H4507_MWIDeactivateArg::PrintOn(ostream & strm) const
  498. {
  499.   int indent = strm.precision() + 2;
  500.   strm << "{\n";
  501.   strm << setw(indent+15) << "servedUserNr = " << setprecision(indent) << m_servedUserNr << '\n';
  502.   strm << setw(indent+15) << "basicService = " << setprecision(indent) << m_basicService << '\n';
  503.   if (HasOptionalField(e_msgCentreId))
  504.     strm << setw(indent+14) << "msgCentreId = " << setprecision(indent) << m_msgCentreId << '\n';
  505.   if (HasOptionalField(e_callbackReq))
  506.     strm << setw(indent+14) << "callbackReq = " << setprecision(indent) << m_callbackReq << '\n';
  507.   if (HasOptionalField(e_extensionArg))
  508.     strm << setw(indent+15) << "extensionArg = " << setprecision(indent) << m_extensionArg << '\n';
  509.   strm << setw(indent-1) << "}";
  510. }
  511. #endif
  512.  
  513.  
  514. PObject::Comparison H4507_MWIDeactivateArg::Compare(const PObject & obj) const
  515. {
  516. #ifndef PASN_LEANANDMEAN
  517.   PAssert(IsDescendant(H4507_MWIDeactivateArg::Class()), PInvalidCast);
  518. #endif
  519.   const H4507_MWIDeactivateArg & other = (const H4507_MWIDeactivateArg &)obj;
  520.  
  521.   Comparison result;
  522.  
  523.   if ((result = m_servedUserNr.Compare(other.m_servedUserNr)) != EqualTo)
  524.     return result;
  525.   if ((result = m_basicService.Compare(other.m_basicService)) != EqualTo)
  526.     return result;
  527.   if ((result = m_msgCentreId.Compare(other.m_msgCentreId)) != EqualTo)
  528.     return result;
  529.   if ((result = m_callbackReq.Compare(other.m_callbackReq)) != EqualTo)
  530.     return result;
  531.   if ((result = m_extensionArg.Compare(other.m_extensionArg)) != EqualTo)
  532.     return result;
  533.  
  534.   return PASN_Sequence::Compare(other);
  535. }
  536.  
  537.  
  538. PINDEX H4507_MWIDeactivateArg::GetDataLength() const
  539. {
  540.   PINDEX length = 0;
  541.   length += m_servedUserNr.GetObjectLength();
  542.   length += m_basicService.GetObjectLength();
  543.   if (HasOptionalField(e_msgCentreId))
  544.     length += m_msgCentreId.GetObjectLength();
  545.   if (HasOptionalField(e_callbackReq))
  546.     length += m_callbackReq.GetObjectLength();
  547.   if (HasOptionalField(e_extensionArg))
  548.     length += m_extensionArg.GetObjectLength();
  549.   return length;
  550. }
  551.  
  552.  
  553. BOOL H4507_MWIDeactivateArg::Decode(PASN_Stream & strm)
  554. {
  555.   if (!PreambleDecode(strm))
  556.     return FALSE;
  557.  
  558.   if (!m_servedUserNr.Decode(strm))
  559.     return FALSE;
  560.   if (!m_basicService.Decode(strm))
  561.     return FALSE;
  562.   if (HasOptionalField(e_msgCentreId) && !m_msgCentreId.Decode(strm))
  563.     return FALSE;
  564.   if (HasOptionalField(e_callbackReq) && !m_callbackReq.Decode(strm))
  565.     return FALSE;
  566.   if (HasOptionalField(e_extensionArg) && !m_extensionArg.Decode(strm))
  567.     return FALSE;
  568.  
  569.   return UnknownExtensionsDecode(strm);
  570. }
  571.  
  572.  
  573. void H4507_MWIDeactivateArg::Encode(PASN_Stream & strm) const
  574. {
  575.   PreambleEncode(strm);
  576.  
  577.   m_servedUserNr.Encode(strm);
  578.   m_basicService.Encode(strm);
  579.   if (HasOptionalField(e_msgCentreId))
  580.     m_msgCentreId.Encode(strm);
  581.   if (HasOptionalField(e_callbackReq))
  582.     m_callbackReq.Encode(strm);
  583.   if (HasOptionalField(e_extensionArg))
  584.     m_extensionArg.Encode(strm);
  585.  
  586.   UnknownExtensionsEncode(strm);
  587. }
  588.  
  589.  
  590. PObject * H4507_MWIDeactivateArg::Clone() const
  591. {
  592. #ifndef PASN_LEANANDMEAN
  593.   PAssert(IsClass(H4507_MWIDeactivateArg::Class()), PInvalidCast);
  594. #endif
  595.   return new H4507_MWIDeactivateArg(*this);
  596. }
  597.  
  598.  
  599. //
  600. // MWIInterrogateArg
  601. //
  602.  
  603. H4507_MWIInterrogateArg::H4507_MWIInterrogateArg(unsigned tag, PASN_Object::TagClass tagClass)
  604.   : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
  605. {
  606.   m_extensionArg.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
  607. }
  608.  
  609.  
  610. #ifndef PASN_NOPRINTON
  611. void H4507_MWIInterrogateArg::PrintOn(ostream & strm) const
  612. {
  613.   int indent = strm.precision() + 2;
  614.   strm << "{\n";
  615.   strm << setw(indent+15) << "servedUserNr = " << setprecision(indent) << m_servedUserNr << '\n';
  616.   strm << setw(indent+15) << "basicService = " << setprecision(indent) << m_basicService << '\n';
  617.   if (HasOptionalField(e_msgCentreId))
  618.     strm << setw(indent+14) << "msgCentreId = " << setprecision(indent) << m_msgCentreId << '\n';
  619.   if (HasOptionalField(e_callbackReq))
  620.     strm << setw(indent+14) << "callbackReq = " << setprecision(indent) << m_callbackReq << '\n';
  621.   if (HasOptionalField(e_extensionArg))
  622.     strm << setw(indent+15) << "extensionArg = " << setprecision(indent) << m_extensionArg << '\n';
  623.   strm << setw(indent-1) << "}";
  624. }
  625. #endif
  626.  
  627.  
  628. PObject::Comparison H4507_MWIInterrogateArg::Compare(const PObject & obj) const
  629. {
  630. #ifndef PASN_LEANANDMEAN
  631.   PAssert(IsDescendant(H4507_MWIInterrogateArg::Class()), PInvalidCast);
  632. #endif
  633.   const H4507_MWIInterrogateArg & other = (const H4507_MWIInterrogateArg &)obj;
  634.  
  635.   Comparison result;
  636.  
  637.   if ((result = m_servedUserNr.Compare(other.m_servedUserNr)) != EqualTo)
  638.     return result;
  639.   if ((result = m_basicService.Compare(other.m_basicService)) != EqualTo)
  640.     return result;
  641.   if ((result = m_msgCentreId.Compare(other.m_msgCentreId)) != EqualTo)
  642.     return result;
  643.   if ((result = m_callbackReq.Compare(other.m_callbackReq)) != EqualTo)
  644.     return result;
  645.   if ((result = m_extensionArg.Compare(other.m_extensionArg)) != EqualTo)
  646.     return result;
  647.  
  648.   return PASN_Sequence::Compare(other);
  649. }
  650.  
  651.  
  652. PINDEX H4507_MWIInterrogateArg::GetDataLength() const
  653. {
  654.   PINDEX length = 0;
  655.   length += m_servedUserNr.GetObjectLength();
  656.   length += m_basicService.GetObjectLength();
  657.   if (HasOptionalField(e_msgCentreId))
  658.     length += m_msgCentreId.GetObjectLength();
  659.   if (HasOptionalField(e_callbackReq))
  660.     length += m_callbackReq.GetObjectLength();
  661.   if (HasOptionalField(e_extensionArg))
  662.     length += m_extensionArg.GetObjectLength();
  663.   return length;
  664. }
  665.  
  666.  
  667. BOOL H4507_MWIInterrogateArg::Decode(PASN_Stream & strm)
  668. {
  669.   if (!PreambleDecode(strm))
  670.     return FALSE;
  671.  
  672.   if (!m_servedUserNr.Decode(strm))
  673.     return FALSE;
  674.   if (!m_basicService.Decode(strm))
  675.     return FALSE;
  676.   if (HasOptionalField(e_msgCentreId) && !m_msgCentreId.Decode(strm))
  677.     return FALSE;
  678.   if (HasOptionalField(e_callbackReq) && !m_callbackReq.Decode(strm))
  679.     return FALSE;
  680.   if (HasOptionalField(e_extensionArg) && !m_extensionArg.Decode(strm))
  681.     return FALSE;
  682.  
  683.   return UnknownExtensionsDecode(strm);
  684. }
  685.  
  686.  
  687. void H4507_MWIInterrogateArg::Encode(PASN_Stream & strm) const
  688. {
  689.   PreambleEncode(strm);
  690.  
  691.   m_servedUserNr.Encode(strm);
  692.   m_basicService.Encode(strm);
  693.   if (HasOptionalField(e_msgCentreId))
  694.     m_msgCentreId.Encode(strm);
  695.   if (HasOptionalField(e_callbackReq))
  696.     m_callbackReq.Encode(strm);
  697.   if (HasOptionalField(e_extensionArg))
  698.     m_extensionArg.Encode(strm);
  699.  
  700.   UnknownExtensionsEncode(strm);
  701. }
  702.  
  703.  
  704. PObject * H4507_MWIInterrogateArg::Clone() const
  705. {
  706. #ifndef PASN_LEANANDMEAN
  707.   PAssert(IsClass(H4507_MWIInterrogateArg::Class()), PInvalidCast);
  708. #endif
  709.   return new H4507_MWIInterrogateArg(*this);
  710. }
  711.  
  712.  
  713. //
  714. // MWIInterrogateResElt
  715. //
  716.  
  717. H4507_MWIInterrogateResElt::H4507_MWIInterrogateResElt(unsigned tag, PASN_Object::TagClass tagClass)
  718.   : PASN_Sequence(tag, tagClass, 6, TRUE, 0)
  719. {
  720.   m_priority.SetConstraints(PASN_Object::FixedConstraint, 0, 9);
  721.   m_extensionArg.SetConstraints(PASN_Object::FixedConstraint, 0, 255);
  722. }
  723.  
  724.  
  725. #ifndef PASN_NOPRINTON
  726. void H4507_MWIInterrogateResElt::PrintOn(ostream & strm) const
  727. {
  728.   int indent = strm.precision() + 2;
  729.   strm << "{\n";
  730.   strm << setw(indent+15) << "basicService = " << setprecision(indent) << m_basicService << '\n';
  731.   if (HasOptionalField(e_msgCentreId))
  732.     strm << setw(indent+14) << "msgCentreId = " << setprecision(indent) << m_msgCentreId << '\n';
  733.   if (HasOptionalField(e_nbOfMessages))
  734.     strm << setw(indent+15) << "nbOfMessages = " << setprecision(indent) << m_nbOfMessages << '\n';
  735.   if (HasOptionalField(e_originatingNr))
  736.     strm << setw(indent+16) << "originatingNr = " << setprecision(indent) << m_originatingNr << '\n';
  737.   if (HasOptionalField(e_timestamp))
  738.     strm << setw(indent+12) << "timestamp = " << setprecision(indent) << m_timestamp << '\n';
  739.   if (HasOptionalField(e_priority))
  740.     strm << setw(indent+11) << "priority = " << setprecision(indent) << m_priority << '\n';
  741.   if (HasOptionalField(e_extensionArg))
  742.     strm << setw(indent+15) << "extensionArg = " << setprecision(indent) << m_extensionArg << '\n';
  743.   strm << setw(indent-1) << "}";
  744. }
  745. #endif
  746.  
  747.  
  748. PObject::Comparison H4507_MWIInterrogateResElt::Compare(const PObject & obj) const
  749. {
  750. #ifndef PASN_LEANANDMEAN
  751.   PAssert(IsDescendant(H4507_MWIInterrogateResElt::Class()), PInvalidCast);
  752. #endif
  753.   const H4507_MWIInterrogateResElt & other = (const H4507_MWIInterrogateResElt &)obj;
  754.  
  755.   Comparison result;
  756.  
  757.   if ((result = m_basicService.Compare(other.m_basicService)) != EqualTo)
  758.     return result;
  759.   if ((result = m_msgCentreId.Compare(other.m_msgCentreId)) != EqualTo)
  760.     return result;
  761.   if ((result = m_nbOfMessages.Compare(other.m_nbOfMessages)) != EqualTo)
  762.     return result;
  763.   if ((result = m_originatingNr.Compare(other.m_originatingNr)) != EqualTo)
  764.     return result;
  765.   if ((result = m_timestamp.Compare(other.m_timestamp)) != EqualTo)
  766.     return result;
  767.   if ((result = m_priority.Compare(other.m_priority)) != EqualTo)
  768.     return result;
  769.   if ((result = m_extensionArg.Compare(other.m_extensionArg)) != EqualTo)
  770.     return result;
  771.  
  772.   return PASN_Sequence::Compare(other);
  773. }
  774.  
  775.  
  776. PINDEX H4507_MWIInterrogateResElt::GetDataLength() const
  777. {
  778.   PINDEX length = 0;
  779.   length += m_basicService.GetObjectLength();
  780.   if (HasOptionalField(e_msgCentreId))
  781.     length += m_msgCentreId.GetObjectLength();
  782.   if (HasOptionalField(e_nbOfMessages))
  783.     length += m_nbOfMessages.GetObjectLength();
  784.   if (HasOptionalField(e_originatingNr))
  785.     length += m_originatingNr.GetObjectLength();
  786.   if (HasOptionalField(e_timestamp))
  787.     length += m_timestamp.GetObjectLength();
  788.   if (HasOptionalField(e_priority))
  789.     length += m_priority.GetObjectLength();
  790.   if (HasOptionalField(e_extensionArg))
  791.     length += m_extensionArg.GetObjectLength();
  792.   return length;
  793. }
  794.  
  795.  
  796. BOOL H4507_MWIInterrogateResElt::Decode(PASN_Stream & strm)
  797. {
  798.   if (!PreambleDecode(strm))
  799.     return FALSE;
  800.  
  801.   if (!m_basicService.Decode(strm))
  802.     return FALSE;
  803.   if (HasOptionalField(e_msgCentreId) && !m_msgCentreId.Decode(strm))
  804.     return FALSE;
  805.   if (HasOptionalField(e_nbOfMessages) && !m_nbOfMessages.Decode(strm))
  806.     return FALSE;
  807.   if (HasOptionalField(e_originatingNr) && !m_originatingNr.Decode(strm))
  808.     return FALSE;
  809.   if (HasOptionalField(e_timestamp) && !m_timestamp.Decode(strm))
  810.     return FALSE;
  811.   if (HasOptionalField(e_priority) && !m_priority.Decode(strm))
  812.     return FALSE;
  813.   if (HasOptionalField(e_extensionArg) && !m_extensionArg.Decode(strm))
  814.     return FALSE;
  815.  
  816.   return UnknownExtensionsDecode(strm);
  817. }
  818.  
  819.  
  820. void H4507_MWIInterrogateResElt::Encode(PASN_Stream & strm) const
  821. {
  822.   PreambleEncode(strm);
  823.  
  824.   m_basicService.Encode(strm);
  825.   if (HasOptionalField(e_msgCentreId))
  826.     m_msgCentreId.Encode(strm);
  827.   if (HasOptionalField(e_nbOfMessages))
  828.     m_nbOfMessages.Encode(strm);
  829.   if (HasOptionalField(e_originatingNr))
  830.     m_originatingNr.Encode(strm);
  831.   if (HasOptionalField(e_timestamp))
  832.     m_timestamp.Encode(strm);
  833.   if (HasOptionalField(e_priority))
  834.     m_priority.Encode(strm);
  835.   if (HasOptionalField(e_extensionArg))
  836.     m_extensionArg.Encode(strm);
  837.  
  838.   UnknownExtensionsEncode(strm);
  839. }
  840.  
  841.  
  842. PObject * H4507_MWIInterrogateResElt::Clone() const
  843. {
  844. #ifndef PASN_LEANANDMEAN
  845.   PAssert(IsClass(H4507_MWIInterrogateResElt::Class()), PInvalidCast);
  846. #endif
  847.   return new H4507_MWIInterrogateResElt(*this);
  848. }
  849.  
  850.  
  851. #endif // if ! H323_DISABLE_H4507
  852.  
  853.  
  854. // End of h4507.cxx
  855.