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