1 // NOTE: this is a machine generated file--editing not recommended
3 // sm_x501if.h - class definitions for ASN.1 module InformationFramework
5 // This file was generated by snacc on Mon Apr 22 22:34:19 2002
6 // UBC snacc by Mike Sample
7 // A couple of enhancements made by IBM European Networking Center
13 //------------------------------------------------------------------------------
14 // class declarations:
16 class AttributeTypeAndDistinguishedValueSetOfSeqSetOf
;
17 class AttributeTypeAndDistinguishedValueSetOfSeq
;
18 class AttributeTypeAndDistinguishedValueSetOf
;
21 class AttributeTypeAndDistinguishedValue
;
22 class RelativeDistinguishedName
;
27 //------------------------------------------------------------------------------
30 typedef enum InformationFrameworkAnyId
33 } InformationFrameworkAnyId
;
36 /* OBJECT IDENTIFIER */
37 typedef AsnOid AttributeType
;
40 typedef AsnAny AttributeValue
;
42 class AttributeTypeAndDistinguishedValueSetOfSeqSetOf
: public AsnType
45 unsigned long int count
;
51 } *first
, *curr
, *last
;
54 AttributeTypeAndDistinguishedValueSetOfSeqSetOf() { count
= 0; first
= curr
= last
= NULL
; }
55 AttributeTypeAndDistinguishedValueSetOfSeqSetOf (const AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&);
56 virtual ~AttributeTypeAndDistinguishedValueSetOfSeqSetOf();
57 virtual AsnType
*Clone() const;
59 virtual AsnType
*Copy() const;
61 AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&operator = (const AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&);
62 void SetCurrElmt (unsigned long int index
);
63 unsigned long int GetCurrElmtIndex();
64 void SetCurrToFirst() { curr
= first
; }
65 void SetCurrToLast() { curr
= last
; }
66 // reading member fcns
67 int Count() const { return count
; }
68 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
69 AsnAny
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
70 AsnAny
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
71 AsnAny
*Curr() const { return curr
? curr
->elmt
: NULL
; }
72 AsnAny
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
73 AsnAny
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
75 // routines that move the curr elmt
76 AsnAny
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
77 AsnAny
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
79 // write & alloc fcns - returns new elmt
80 AsnAny
*Append(); // add elmt to end of list
81 AsnAny
*Prepend(); // add elmt to beginning of list
82 AsnAny
*InsertBefore(); //insert elmt before current elmt
83 AsnAny
*InsertAfter(); //insert elmt after current elmt
85 // write & alloc & copy - returns list after copying elmt
86 AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&AppendCopy (AsnAny
&elmt
); // add elmt to end of list
87 AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&PrependCopy (AsnAny
&elmt
); // add elmt to beginning of list
88 AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&InsertBeforeAndCopy (AsnAny
&elmt
); //insert elmt before current elmt
89 AttributeTypeAndDistinguishedValueSetOfSeqSetOf
&InsertAfterAndCopy (AsnAny
&elmt
); //insert elmt after current elmt
91 // removing the current elmt from the list
92 void RemoveCurrFromList();
94 // encode and decode routines
95 AsnLen
BEnc (BUF_TYPE b
);
96 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
97 AsnLen
BEncContent (BUF_TYPE b
);
98 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
101 void Print (ostream
&os
) const;
105 class AttributeTypeAndDistinguishedValueSetOfSeq
: public AsnType
108 AsnOid
*distingAttrValue
;
109 AttributeTypeAndDistinguishedValueSetOfSeqSetOf contextList
;
111 AttributeTypeAndDistinguishedValueSetOfSeq();
112 AttributeTypeAndDistinguishedValueSetOfSeq (const AttributeTypeAndDistinguishedValueSetOfSeq
&);
113 virtual ~AttributeTypeAndDistinguishedValueSetOfSeq();
114 virtual AsnType
*Clone() const;
116 virtual AsnType
*Copy() const;
118 AttributeTypeAndDistinguishedValueSetOfSeq
&operator = (const AttributeTypeAndDistinguishedValueSetOfSeq
&);
119 AsnLen
BEncContent (BUF_TYPE b
);
120 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
122 AsnLen
BEnc (BUF_TYPE b
);
123 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
124 void Print (ostream
&os
) const;
128 class AttributeTypeAndDistinguishedValueSetOf
: public AsnType
131 unsigned long int count
;
136 AttributeTypeAndDistinguishedValueSetOfSeq
*elmt
;
137 } *first
, *curr
, *last
;
140 AttributeTypeAndDistinguishedValueSetOf() { count
= 0; first
= curr
= last
= NULL
; }
141 AttributeTypeAndDistinguishedValueSetOf (const AttributeTypeAndDistinguishedValueSetOf
&);
142 virtual ~AttributeTypeAndDistinguishedValueSetOf();
143 virtual AsnType
*Clone() const;
145 virtual AsnType
*Copy() const;
147 AttributeTypeAndDistinguishedValueSetOf
&operator = (const AttributeTypeAndDistinguishedValueSetOf
&);
148 void SetCurrElmt (unsigned long int index
);
149 unsigned long int GetCurrElmtIndex();
150 void SetCurrToFirst() { curr
= first
; }
151 void SetCurrToLast() { curr
= last
; }
152 // reading member fcns
153 int Count() const { return count
; }
154 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
155 AttributeTypeAndDistinguishedValueSetOfSeq
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
156 AttributeTypeAndDistinguishedValueSetOfSeq
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
157 AttributeTypeAndDistinguishedValueSetOfSeq
*Curr() const { return curr
? curr
->elmt
: NULL
; }
158 AttributeTypeAndDistinguishedValueSetOfSeq
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
159 AttributeTypeAndDistinguishedValueSetOfSeq
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
161 // routines that move the curr elmt
162 AttributeTypeAndDistinguishedValueSetOfSeq
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
163 AttributeTypeAndDistinguishedValueSetOfSeq
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
165 // write & alloc fcns - returns new elmt
166 AttributeTypeAndDistinguishedValueSetOfSeq
*Append(); // add elmt to end of list
167 AttributeTypeAndDistinguishedValueSetOfSeq
*Prepend(); // add elmt to beginning of list
168 AttributeTypeAndDistinguishedValueSetOfSeq
*InsertBefore(); //insert elmt before current elmt
169 AttributeTypeAndDistinguishedValueSetOfSeq
*InsertAfter(); //insert elmt after current elmt
171 // write & alloc & copy - returns list after copying elmt
172 AttributeTypeAndDistinguishedValueSetOf
&AppendCopy (AttributeTypeAndDistinguishedValueSetOfSeq
&elmt
); // add elmt to end of list
173 AttributeTypeAndDistinguishedValueSetOf
&PrependCopy (AttributeTypeAndDistinguishedValueSetOfSeq
&elmt
); // add elmt to beginning of list
174 AttributeTypeAndDistinguishedValueSetOf
&InsertBeforeAndCopy (AttributeTypeAndDistinguishedValueSetOfSeq
&elmt
); //insert elmt before current elmt
175 AttributeTypeAndDistinguishedValueSetOf
&InsertAfterAndCopy (AttributeTypeAndDistinguishedValueSetOfSeq
&elmt
); //insert elmt after current elmt
177 // removing the current elmt from the list
178 void RemoveCurrFromList();
180 // encode and decode routines
181 AsnLen
BEnc (BUF_TYPE b
);
182 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
183 AsnLen
BEncContent (BUF_TYPE b
);
184 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
187 void Print (ostream
&os
) const;
191 class AttributeSetOf
: public AsnType
194 unsigned long int count
;
199 AttributeValue
*elmt
;
200 } *first
, *curr
, *last
;
203 AttributeSetOf() { count
= 0; first
= curr
= last
= NULL
; }
204 AttributeSetOf (const AttributeSetOf
&);
205 virtual ~AttributeSetOf();
206 virtual AsnType
*Clone() const;
208 virtual AsnType
*Copy() const;
210 AttributeSetOf
&operator = (const AttributeSetOf
&);
211 void SetCurrElmt (unsigned long int index
);
212 unsigned long int GetCurrElmtIndex();
213 void SetCurrToFirst() { curr
= first
; }
214 void SetCurrToLast() { curr
= last
; }
215 // reading member fcns
216 int Count() const { return count
; }
217 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
218 AttributeValue
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
219 AttributeValue
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
220 AttributeValue
*Curr() const { return curr
? curr
->elmt
: NULL
; }
221 AttributeValue
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
222 AttributeValue
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
224 // routines that move the curr elmt
225 AttributeValue
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
226 AttributeValue
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
228 // write & alloc fcns - returns new elmt
229 AttributeValue
*Append(); // add elmt to end of list
230 AttributeValue
*Prepend(); // add elmt to beginning of list
231 AttributeValue
*InsertBefore(); //insert elmt before current elmt
232 AttributeValue
*InsertAfter(); //insert elmt after current elmt
234 // write & alloc & copy - returns list after copying elmt
235 AttributeSetOf
&AppendCopy (AttributeValue
&elmt
); // add elmt to end of list
236 AttributeSetOf
&PrependCopy (AttributeValue
&elmt
); // add elmt to beginning of list
237 AttributeSetOf
&InsertBeforeAndCopy (AttributeValue
&elmt
); //insert elmt before current elmt
238 AttributeSetOf
&InsertAfterAndCopy (AttributeValue
&elmt
); //insert elmt after current elmt
240 // removing the current elmt from the list
241 void RemoveCurrFromList();
243 // encode and decode routines
244 AsnLen
BEnc (BUF_TYPE b
);
245 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
246 AsnLen
BEncContent (BUF_TYPE b
);
247 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
250 void Print (ostream
&os
) const;
254 class Attribute
: public AsnType
258 AttributeSetOf values
;
261 Attribute (const Attribute
&);
262 virtual ~Attribute();
263 virtual AsnType
*Clone() const;
265 virtual AsnType
*Copy() const;
267 Attribute
&operator = (const Attribute
&);
268 AsnLen
BEncContent (BUF_TYPE b
);
269 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
271 AsnLen
BEnc (BUF_TYPE b
);
272 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
273 void Print (ostream
&os
) const;
277 class AttributeTypeAndDistinguishedValue
: public AsnType
282 AsnBool
*primaryDistinguished
;
283 AttributeTypeAndDistinguishedValueSetOf
*valuesWithContext
;
285 AttributeTypeAndDistinguishedValue();
286 AttributeTypeAndDistinguishedValue (const AttributeTypeAndDistinguishedValue
&);
287 virtual ~AttributeTypeAndDistinguishedValue();
288 virtual AsnType
*Clone() const;
290 virtual AsnType
*Copy() const;
292 AttributeTypeAndDistinguishedValue
&operator = (const AttributeTypeAndDistinguishedValue
&);
293 AsnLen
BEncContent (BUF_TYPE b
);
294 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
296 AsnLen
BEnc (BUF_TYPE b
);
297 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
298 void Print (ostream
&os
) const;
302 class RelativeDistinguishedName
: public AsnType
305 unsigned long int count
;
310 AttributeTypeAndDistinguishedValue
*elmt
;
311 } *first
, *curr
, *last
;
314 RelativeDistinguishedName() { count
= 0; first
= curr
= last
= NULL
; }
315 RelativeDistinguishedName (const RelativeDistinguishedName
&);
316 virtual ~RelativeDistinguishedName();
317 virtual AsnType
*Clone() const;
319 virtual AsnType
*Copy() const;
321 RelativeDistinguishedName
&operator = (const RelativeDistinguishedName
&);
322 void SetCurrElmt (unsigned long int index
);
323 unsigned long int GetCurrElmtIndex();
324 void SetCurrToFirst() { curr
= first
; }
325 void SetCurrToLast() { curr
= last
; }
326 // reading member fcns
327 int Count() const { return count
; }
328 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
329 AttributeTypeAndDistinguishedValue
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
330 AttributeTypeAndDistinguishedValue
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
331 AttributeTypeAndDistinguishedValue
*Curr() const { return curr
? curr
->elmt
: NULL
; }
332 AttributeTypeAndDistinguishedValue
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
333 AttributeTypeAndDistinguishedValue
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
335 // routines that move the curr elmt
336 AttributeTypeAndDistinguishedValue
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
337 AttributeTypeAndDistinguishedValue
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
339 // write & alloc fcns - returns new elmt
340 AttributeTypeAndDistinguishedValue
*Append(); // add elmt to end of list
341 AttributeTypeAndDistinguishedValue
*Prepend(); // add elmt to beginning of list
342 AttributeTypeAndDistinguishedValue
*InsertBefore(); //insert elmt before current elmt
343 AttributeTypeAndDistinguishedValue
*InsertAfter(); //insert elmt after current elmt
345 // write & alloc & copy - returns list after copying elmt
346 RelativeDistinguishedName
&AppendCopy (AttributeTypeAndDistinguishedValue
&elmt
); // add elmt to end of list
347 RelativeDistinguishedName
&PrependCopy (AttributeTypeAndDistinguishedValue
&elmt
); // add elmt to beginning of list
348 RelativeDistinguishedName
&InsertBeforeAndCopy (AttributeTypeAndDistinguishedValue
&elmt
); //insert elmt before current elmt
349 RelativeDistinguishedName
&InsertAfterAndCopy (AttributeTypeAndDistinguishedValue
&elmt
); //insert elmt after current elmt
351 // removing the current elmt from the list
352 void RemoveCurrFromList();
354 // encode and decode routines
355 AsnLen
BEnc (BUF_TYPE b
);
356 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
357 AsnLen
BEncContent (BUF_TYPE b
);
358 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
361 void Print (ostream
&os
) const;
365 class RDNSequence
: public AsnType
368 unsigned long int count
;
373 RelativeDistinguishedName
*elmt
;
374 } *first
, *curr
, *last
;
377 RDNSequence() { count
= 0; first
= curr
= last
= NULL
; }
378 RDNSequence (const RDNSequence
&);
379 virtual ~RDNSequence();
380 virtual AsnType
*Clone() const;
382 virtual AsnType
*Copy() const;
384 RDNSequence
&operator = (const RDNSequence
&);
385 void SetCurrElmt (unsigned long int index
);
386 unsigned long int GetCurrElmtIndex();
387 void SetCurrToFirst() { curr
= first
; }
388 void SetCurrToLast() { curr
= last
; }
389 // reading member fcns
390 int Count() const { return count
; }
391 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
392 RelativeDistinguishedName
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
393 RelativeDistinguishedName
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
394 RelativeDistinguishedName
*Curr() const { return curr
? curr
->elmt
: NULL
; }
395 RelativeDistinguishedName
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
396 RelativeDistinguishedName
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
398 // routines that move the curr elmt
399 RelativeDistinguishedName
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
400 RelativeDistinguishedName
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
402 // write & alloc fcns - returns new elmt
403 RelativeDistinguishedName
*Append(); // add elmt to end of list
404 RelativeDistinguishedName
*Prepend(); // add elmt to beginning of list
405 RelativeDistinguishedName
*InsertBefore(); //insert elmt before current elmt
406 RelativeDistinguishedName
*InsertAfter(); //insert elmt after current elmt
408 // write & alloc & copy - returns list after copying elmt
409 RDNSequence
&AppendCopy (RelativeDistinguishedName
&elmt
); // add elmt to end of list
410 RDNSequence
&PrependCopy (RelativeDistinguishedName
&elmt
); // add elmt to beginning of list
411 RDNSequence
&InsertBeforeAndCopy (RelativeDistinguishedName
&elmt
); //insert elmt before current elmt
412 RDNSequence
&InsertAfterAndCopy (RelativeDistinguishedName
&elmt
); //insert elmt after current elmt
414 // removing the current elmt from the list
415 void RemoveCurrFromList();
417 // encode and decode routines
418 AsnLen
BEnc (BUF_TYPE b
);
419 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
420 AsnLen
BEncContent (BUF_TYPE b
);
421 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
424 void Print (ostream
&os
) const;
428 class Attributes
: public AsnType
431 unsigned long int count
;
437 } *first
, *curr
, *last
;
440 Attributes() { count
= 0; first
= curr
= last
= NULL
; }
441 Attributes (const Attributes
&);
442 virtual ~Attributes();
443 virtual AsnType
*Clone() const;
445 virtual AsnType
*Copy() const;
447 Attributes
&operator = (const Attributes
&);
448 void SetCurrElmt (unsigned long int index
);
449 unsigned long int GetCurrElmtIndex();
450 void SetCurrToFirst() { curr
= first
; }
451 void SetCurrToLast() { curr
= last
; }
452 // reading member fcns
453 int Count() const { return count
; }
454 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
455 Attribute
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
456 Attribute
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
457 Attribute
*Curr() const { return curr
? curr
->elmt
: NULL
; }
458 Attribute
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
459 Attribute
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
461 // routines that move the curr elmt
462 Attribute
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
463 Attribute
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
465 // write & alloc fcns - returns new elmt
466 Attribute
*Append(); // add elmt to end of list
467 Attribute
*Prepend(); // add elmt to beginning of list
468 Attribute
*InsertBefore(); //insert elmt before current elmt
469 Attribute
*InsertAfter(); //insert elmt after current elmt
471 // write & alloc & copy - returns list after copying elmt
472 Attributes
&AppendCopy (Attribute
&elmt
); // add elmt to end of list
473 Attributes
&PrependCopy (Attribute
&elmt
); // add elmt to beginning of list
474 Attributes
&InsertBeforeAndCopy (Attribute
&elmt
); //insert elmt before current elmt
475 Attributes
&InsertAfterAndCopy (Attribute
&elmt
); //insert elmt after current elmt
477 // removing the current elmt from the list
478 void RemoveCurrFromList();
480 // encode and decode routines
481 AsnLen
BEnc (BUF_TYPE b
);
482 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
483 AsnLen
BEncContent (BUF_TYPE b
);
484 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
487 void Print (ostream
&os
) const;
491 class Name
: public AsnType
499 enum ChoiceIdEnum choiceId
;
502 RDNSequence
*rDNSequence
;
510 virtual AsnType
*Clone() const;
512 virtual AsnType
*Copy() const;
514 Name
&operator = (const Name
&);
515 AsnLen
BEncContent (BUF_TYPE b
);
516 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
517 AsnLen
BEnc (BUF_TYPE b
);
518 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
519 void Print (ostream
&os
) const;
524 typedef RDNSequence DistinguishedName
;
526 //------------------------------------------------------------------------------
527 // externs for value defs
529 //------------------------------------------------------------------------------
531 #endif /* conditional include of sm_x501if.h */