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 / h235_t.cxx < prev    next >
C/C++ Source or Header  |  2004-06-22  |  8KB  |  307 lines

  1. //
  2. // h235_t.cxx
  3. //
  4. // Code automatically generated by asnparse.
  5. //
  6.  
  7. //
  8. // SIGNED
  9. //
  10.  
  11. template <class ToBeSigned>
  12. H235_SIGNED<ToBeSigned>::H235_SIGNED(unsigned tag, PASN_Object::TagClass tagClass)
  13.   : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
  14. {
  15. }
  16.  
  17.  
  18. #ifndef PASN_NOPRINTON
  19. template <class ToBeSigned>
  20. void H235_SIGNED<ToBeSigned>::PrintOn(ostream & strm) const
  21. {
  22.   int indent = strm.precision() + 2;
  23.   strm << "{\n";
  24.   strm << setw(indent+13) << "toBeSigned = " << setprecision(indent) << m_toBeSigned << '\n';
  25.   strm << setw(indent+15) << "algorithmOID = " << setprecision(indent) << m_algorithmOID << '\n';
  26.   strm << setw(indent+9) << "paramS = " << setprecision(indent) << m_paramS << '\n';
  27.   strm << setw(indent+12) << "signature = " << setprecision(indent) << m_signature << '\n';
  28.   strm << setw(indent-1) << "}";
  29. }
  30. #endif
  31.  
  32.  
  33. template <class ToBeSigned>
  34. PObject::Comparison H235_SIGNED<ToBeSigned>::Compare(const PObject & obj) const
  35. {
  36. #ifndef PASN_LEANANDMEAN
  37.   PAssert(IsDescendant(H235_SIGNED<ToBeSigned>::Class()), PInvalidCast);
  38. #endif
  39.   const H235_SIGNED<ToBeSigned> & other = (const H235_SIGNED<ToBeSigned> &)obj;
  40.  
  41.   Comparison result;
  42.  
  43.   if ((result = m_toBeSigned.Compare(other.m_toBeSigned)) != EqualTo)
  44.     return result;
  45.   if ((result = m_algorithmOID.Compare(other.m_algorithmOID)) != EqualTo)
  46.     return result;
  47.   if ((result = m_paramS.Compare(other.m_paramS)) != EqualTo)
  48.     return result;
  49.   if ((result = m_signature.Compare(other.m_signature)) != EqualTo)
  50.     return result;
  51.  
  52.   return PASN_Sequence::Compare(other);
  53. }
  54.  
  55.  
  56. template <class ToBeSigned>
  57. PINDEX H235_SIGNED<ToBeSigned>::GetDataLength() const
  58. {
  59.   PINDEX length = 0;
  60.   length += m_toBeSigned.GetObjectLength();
  61.   length += m_algorithmOID.GetObjectLength();
  62.   length += m_paramS.GetObjectLength();
  63.   length += m_signature.GetObjectLength();
  64.   return length;
  65. }
  66.  
  67.  
  68. template <class ToBeSigned>
  69. BOOL H235_SIGNED<ToBeSigned>::Decode(PASN_Stream & strm)
  70. {
  71.   if (!PreambleDecode(strm))
  72.     return FALSE;
  73.  
  74.   if (!m_toBeSigned.Decode(strm))
  75.     return FALSE;
  76.   if (!m_algorithmOID.Decode(strm))
  77.     return FALSE;
  78.   if (!m_paramS.Decode(strm))
  79.     return FALSE;
  80.   if (!m_signature.Decode(strm))
  81.     return FALSE;
  82.  
  83.   return UnknownExtensionsDecode(strm);
  84. }
  85.  
  86.  
  87. template <class ToBeSigned>
  88. void H235_SIGNED<ToBeSigned>::Encode(PASN_Stream & strm) const
  89. {
  90.   PreambleEncode(strm);
  91.  
  92.   m_toBeSigned.Encode(strm);
  93.   m_algorithmOID.Encode(strm);
  94.   m_paramS.Encode(strm);
  95.   m_signature.Encode(strm);
  96.  
  97.   UnknownExtensionsEncode(strm);
  98. }
  99.  
  100.  
  101. template <class ToBeSigned>
  102. PObject * H235_SIGNED<ToBeSigned>::Clone() const
  103. {
  104. #ifndef PASN_LEANANDMEAN
  105.   PAssert(IsClass(H235_SIGNED<ToBeSigned>::Class()), PInvalidCast);
  106. #endif
  107.   return new H235_SIGNED<ToBeSigned>(*this);
  108. }
  109.  
  110.  
  111. //
  112. // ENCRYPTED
  113. //
  114.  
  115. template <class ToBeEncrypted>
  116. H235_ENCRYPTED<ToBeEncrypted>::H235_ENCRYPTED(unsigned tag, PASN_Object::TagClass tagClass)
  117.   : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
  118. {
  119. }
  120.  
  121.  
  122. #ifndef PASN_NOPRINTON
  123. template <class ToBeEncrypted>
  124. void H235_ENCRYPTED<ToBeEncrypted>::PrintOn(ostream & strm) const
  125. {
  126.   int indent = strm.precision() + 2;
  127.   strm << "{\n";
  128.   strm << setw(indent+15) << "algorithmOID = " << setprecision(indent) << m_algorithmOID << '\n';
  129.   strm << setw(indent+9) << "paramS = " << setprecision(indent) << m_paramS << '\n';
  130.   strm << setw(indent+16) << "encryptedData = " << setprecision(indent) << m_encryptedData << '\n';
  131.   strm << setw(indent-1) << "}";
  132. }
  133. #endif
  134.  
  135.  
  136. template <class ToBeEncrypted>
  137. PObject::Comparison H235_ENCRYPTED<ToBeEncrypted>::Compare(const PObject & obj) const
  138. {
  139. #ifndef PASN_LEANANDMEAN
  140.   PAssert(IsDescendant(H235_ENCRYPTED<ToBeEncrypted>::Class()), PInvalidCast);
  141. #endif
  142.   const H235_ENCRYPTED<ToBeEncrypted> & other = (const H235_ENCRYPTED<ToBeEncrypted> &)obj;
  143.  
  144.   Comparison result;
  145.  
  146.   if ((result = m_algorithmOID.Compare(other.m_algorithmOID)) != EqualTo)
  147.     return result;
  148.   if ((result = m_paramS.Compare(other.m_paramS)) != EqualTo)
  149.     return result;
  150.   if ((result = m_encryptedData.Compare(other.m_encryptedData)) != EqualTo)
  151.     return result;
  152.  
  153.   return PASN_Sequence::Compare(other);
  154. }
  155.  
  156.  
  157. template <class ToBeEncrypted>
  158. PINDEX H235_ENCRYPTED<ToBeEncrypted>::GetDataLength() const
  159. {
  160.   PINDEX length = 0;
  161.   length += m_algorithmOID.GetObjectLength();
  162.   length += m_paramS.GetObjectLength();
  163.   length += m_encryptedData.GetObjectLength();
  164.   return length;
  165. }
  166.  
  167.  
  168. template <class ToBeEncrypted>
  169. BOOL H235_ENCRYPTED<ToBeEncrypted>::Decode(PASN_Stream & strm)
  170. {
  171.   if (!PreambleDecode(strm))
  172.     return FALSE;
  173.  
  174.   if (!m_algorithmOID.Decode(strm))
  175.     return FALSE;
  176.   if (!m_paramS.Decode(strm))
  177.     return FALSE;
  178.   if (!m_encryptedData.Decode(strm))
  179.     return FALSE;
  180.  
  181.   return UnknownExtensionsDecode(strm);
  182. }
  183.  
  184.  
  185. template <class ToBeEncrypted>
  186. void H235_ENCRYPTED<ToBeEncrypted>::Encode(PASN_Stream & strm) const
  187. {
  188.   PreambleEncode(strm);
  189.  
  190.   m_algorithmOID.Encode(strm);
  191.   m_paramS.Encode(strm);
  192.   m_encryptedData.Encode(strm);
  193.  
  194.   UnknownExtensionsEncode(strm);
  195. }
  196.  
  197.  
  198. template <class ToBeEncrypted>
  199. PObject * H235_ENCRYPTED<ToBeEncrypted>::Clone() const
  200. {
  201. #ifndef PASN_LEANANDMEAN
  202.   PAssert(IsClass(H235_ENCRYPTED<ToBeEncrypted>::Class()), PInvalidCast);
  203. #endif
  204.   return new H235_ENCRYPTED<ToBeEncrypted>(*this);
  205. }
  206.  
  207.  
  208. //
  209. // HASHED
  210. //
  211.  
  212. template <class ToBeHashed>
  213. H235_HASHED<ToBeHashed>::H235_HASHED(unsigned tag, PASN_Object::TagClass tagClass)
  214.   : PASN_Sequence(tag, tagClass, 0, FALSE, 0)
  215. {
  216. }
  217.  
  218.  
  219. #ifndef PASN_NOPRINTON
  220. template <class ToBeHashed>
  221. void H235_HASHED<ToBeHashed>::PrintOn(ostream & strm) const
  222. {
  223.   int indent = strm.precision() + 2;
  224.   strm << "{\n";
  225.   strm << setw(indent+15) << "algorithmOID = " << setprecision(indent) << m_algorithmOID << '\n';
  226.   strm << setw(indent+9) << "paramS = " << setprecision(indent) << m_paramS << '\n';
  227.   strm << setw(indent+7) << "hash = " << setprecision(indent) << m_hash << '\n';
  228.   strm << setw(indent-1) << "}";
  229. }
  230. #endif
  231.  
  232.  
  233. template <class ToBeHashed>
  234. PObject::Comparison H235_HASHED<ToBeHashed>::Compare(const PObject & obj) const
  235. {
  236. #ifndef PASN_LEANANDMEAN
  237.   PAssert(IsDescendant(H235_HASHED<ToBeHashed>::Class()), PInvalidCast);
  238. #endif
  239.   const H235_HASHED<ToBeHashed> & other = (const H235_HASHED<ToBeHashed> &)obj;
  240.  
  241.   Comparison result;
  242.  
  243.   if ((result = m_algorithmOID.Compare(other.m_algorithmOID)) != EqualTo)
  244.     return result;
  245.   if ((result = m_paramS.Compare(other.m_paramS)) != EqualTo)
  246.     return result;
  247.   if ((result = m_hash.Compare(other.m_hash)) != EqualTo)
  248.     return result;
  249.  
  250.   return PASN_Sequence::Compare(other);
  251. }
  252.  
  253.  
  254. template <class ToBeHashed>
  255. PINDEX H235_HASHED<ToBeHashed>::GetDataLength() const
  256. {
  257.   PINDEX length = 0;
  258.   length += m_algorithmOID.GetObjectLength();
  259.   length += m_paramS.GetObjectLength();
  260.   length += m_hash.GetObjectLength();
  261.   return length;
  262. }
  263.  
  264.  
  265. template <class ToBeHashed>
  266. BOOL H235_HASHED<ToBeHashed>::Decode(PASN_Stream & strm)
  267. {
  268.   if (!PreambleDecode(strm))
  269.     return FALSE;
  270.  
  271.   if (!m_algorithmOID.Decode(strm))
  272.     return FALSE;
  273.   if (!m_paramS.Decode(strm))
  274.     return FALSE;
  275.   if (!m_hash.Decode(strm))
  276.     return FALSE;
  277.  
  278.   return UnknownExtensionsDecode(strm);
  279. }
  280.  
  281.  
  282. template <class ToBeHashed>
  283. void H235_HASHED<ToBeHashed>::Encode(PASN_Stream & strm) const
  284. {
  285.   PreambleEncode(strm);
  286.  
  287.   m_algorithmOID.Encode(strm);
  288.   m_paramS.Encode(strm);
  289.   m_hash.Encode(strm);
  290.  
  291.   UnknownExtensionsEncode(strm);
  292. }
  293.  
  294.  
  295. template <class ToBeHashed>
  296. PObject * H235_HASHED<ToBeHashed>::Clone() const
  297. {
  298. #ifndef PASN_LEANANDMEAN
  299.   PAssert(IsClass(H235_HASHED<ToBeHashed>::Class()), PInvalidCast);
  300. #endif
  301.   return new H235_HASHED<ToBeHashed>(*this);
  302. }
  303.  
  304.  
  305.  
  306. // End of h235_t.cxx
  307.