1 //
2 // h235_t.cxx
3 //
4 // Code automatically generated by asnparse.
5 //
6 
7 //
8 // SIGNED
9 //
10 
11 template <class ToBeSigned>
H235_SIGNED(unsigned tag,PASN_Object::TagClass tagClass)12 H235_SIGNED<ToBeSigned>::H235_SIGNED(unsigned tag, PASN_Object::TagClass tagClass)
13   : PASN_Sequence(tag, tagClass, 0, PFalse, 0)
14 {
15 }
16 
17 
18 #ifndef PASN_NOPRINTON
19 template <class ToBeSigned>
PrintOn(ostream & strm) const20 void H235_SIGNED<ToBeSigned>::PrintOn(ostream & strm) const
21 {
22   std::streamsize 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) << setprecision(indent-2) << "}";
29 }
30 #endif
31 
32 
33 template <class ToBeSigned>
Compare(const PObject & obj) const34 PObject::Comparison H235_SIGNED<ToBeSigned>::Compare(const PObject & obj) const
35 {
36 #ifndef PASN_LEANANDMEAN
37   PAssert(PIsDescendant(&obj, H235_SIGNED<ToBeSigned>), 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>
GetDataLength() const57 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>
Decode(PASN_Stream & strm)69 PBoolean H235_SIGNED<ToBeSigned>::Decode(PASN_Stream & strm)
70 {
71   if (!PreambleDecode(strm))
72     return PFalse;
73 
74   if (!m_toBeSigned.Decode(strm))
75     return PFalse;
76   if (!m_algorithmOID.Decode(strm))
77     return PFalse;
78   if (!m_paramS.Decode(strm))
79     return PFalse;
80   if (!m_signature.Decode(strm))
81     return PFalse;
82 
83   return UnknownExtensionsDecode(strm);
84 }
85 
86 
87 template <class ToBeSigned>
Encode(PASN_Stream & strm) const88 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>
Clone() const102 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>
H235_ENCRYPTED(unsigned tag,PASN_Object::TagClass tagClass)116 H235_ENCRYPTED<ToBeEncrypted>::H235_ENCRYPTED(unsigned tag, PASN_Object::TagClass tagClass)
117   : PASN_Sequence(tag, tagClass, 0, PFalse, 0)
118 {
119 }
120 
121 
122 #ifndef PASN_NOPRINTON
123 template <class ToBeEncrypted>
PrintOn(ostream & strm) const124 void H235_ENCRYPTED<ToBeEncrypted>::PrintOn(ostream & strm) const
125 {
126   std::streamsize 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) << setprecision(indent-2) << "}";
132 }
133 #endif
134 
135 
136 template <class ToBeEncrypted>
Compare(const PObject & obj) const137 PObject::Comparison H235_ENCRYPTED<ToBeEncrypted>::Compare(const PObject & obj) const
138 {
139 #ifndef PASN_LEANANDMEAN
140   PAssert(PIsDescendant(&obj, H235_ENCRYPTED<ToBeEncrypted>), 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>
GetDataLength() const158 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>
Decode(PASN_Stream & strm)169 PBoolean H235_ENCRYPTED<ToBeEncrypted>::Decode(PASN_Stream & strm)
170 {
171   if (!PreambleDecode(strm))
172     return PFalse;
173 
174   if (!m_algorithmOID.Decode(strm))
175     return PFalse;
176   if (!m_paramS.Decode(strm))
177     return PFalse;
178   if (!m_encryptedData.Decode(strm))
179     return PFalse;
180 
181   return UnknownExtensionsDecode(strm);
182 }
183 
184 
185 template <class ToBeEncrypted>
Encode(PASN_Stream & strm) const186 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>
Clone() const199 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>
H235_HASHED(unsigned tag,PASN_Object::TagClass tagClass)213 H235_HASHED<ToBeHashed>::H235_HASHED(unsigned tag, PASN_Object::TagClass tagClass)
214   : PASN_Sequence(tag, tagClass, 0, PFalse, 0)
215 {
216 }
217 
218 
219 #ifndef PASN_NOPRINTON
220 template <class ToBeHashed>
PrintOn(ostream & strm) const221 void H235_HASHED<ToBeHashed>::PrintOn(ostream & strm) const
222 {
223   std::streamsize 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) << setprecision(indent-2) << "}";
229 }
230 #endif
231 
232 
233 template <class ToBeHashed>
Compare(const PObject & obj) const234 PObject::Comparison H235_HASHED<ToBeHashed>::Compare(const PObject & obj) const
235 {
236 #ifndef PASN_LEANANDMEAN
237   PAssert(PIsDescendant(&obj, H235_HASHED<ToBeHashed>), 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>
GetDataLength() const255 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>
Decode(PASN_Stream & strm)266 PBoolean H235_HASHED<ToBeHashed>::Decode(PASN_Stream & strm)
267 {
268   if (!PreambleDecode(strm))
269     return PFalse;
270 
271   if (!m_algorithmOID.Decode(strm))
272     return PFalse;
273   if (!m_paramS.Decode(strm))
274     return PFalse;
275   if (!m_hash.Decode(strm))
276     return PFalse;
277 
278   return UnknownExtensionsDecode(strm);
279 }
280 
281 
282 template <class ToBeHashed>
Encode(PASN_Stream & strm) const283 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>
Clone() const296 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