1 // NOTE: this is a machine generated file--editing not recommended
3 // sm_x411mtsas.h - class definitions for ASN.1 module MTSAbstractService
5 // This file was generated by snacc on Wed Jun 27 16:40:55 2001
6 // UBC snacc by Mike Sample
7 // A couple of enhancements made by IBM European Networking Center
9 #ifndef _sm_x411mtsas_h_
10 #define _sm_x411mtsas_h_
13 //------------------------------------------------------------------------------
14 // class declarations:
17 class AdministrationDomainName
;
18 class PrivateDomainName
;
20 class DomainDefinedAttribute
;
21 class ExtensionAttribute
;
22 class TeletexDomainDefinedAttribute
;
23 class OrganizationUnitNames
;
24 class DomainDefinedAttributes
;
25 class ExtensionAttributes
;
26 class StandardAttributes
;
28 class TeletexPersonalName
;
29 class TeletexOrganizationUnitNames
;
30 class TeletexDomainDefinedAttributes
;
32 //------------------------------------------------------------------------------
35 typedef enum MTSAbstractServiceAnyId
38 } MTSAbstractServiceAnyId
;
41 class CountryName
: public AsnType
47 iso_3166_alpha2_codeCid
= 1
50 enum ChoiceIdEnum choiceId
;
53 NumericString
*x121_dcc_code
;
54 PrintableString
*iso_3166_alpha2_code
;
59 CountryName (const CountryName
&);
60 virtual ~CountryName();
62 virtual AsnType
*Clone() const;
64 virtual AsnType
*Copy() const;
66 CountryName
&operator = (const CountryName
&);
67 AsnLen
BEncContent (BUF_TYPE b
);
68 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
69 AsnLen
BEnc (BUF_TYPE b
);
70 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
71 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
72 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
74 void Print (ostream
&os
) const;
78 class AdministrationDomainName
: public AsnType
87 enum ChoiceIdEnum choiceId
;
90 NumericString
*numeric
;
91 PrintableString
*printable
;
95 AdministrationDomainName();
96 AdministrationDomainName (const AdministrationDomainName
&);
97 virtual ~AdministrationDomainName();
99 virtual AsnType
*Clone() const;
101 virtual AsnType
*Copy() const;
103 AdministrationDomainName
&operator = (const AdministrationDomainName
&);
104 AsnLen
BEncContent (BUF_TYPE b
);
105 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
106 AsnLen
BEnc (BUF_TYPE b
);
107 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
108 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
109 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
111 void Print (ostream
&os
) const;
115 /* NumericString (SIZE (1..ub-x121-address-length)) */
116 typedef NumericString X121Address
;
118 /* PrintableString (SIZE (1..ub-terminal-id-length)) */
119 typedef PrintableString TerminalIdentifier
;
121 class PrivateDomainName
: public AsnType
130 enum ChoiceIdEnum choiceId
;
133 NumericString
*numeric
;
134 PrintableString
*printable
;
139 PrivateDomainName (const PrivateDomainName
&);
140 virtual ~PrivateDomainName();
142 virtual AsnType
*Clone() const;
144 virtual AsnType
*Copy() const;
146 PrivateDomainName
&operator = (const PrivateDomainName
&);
147 AsnLen
BEncContent (BUF_TYPE b
);
148 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
149 AsnLen
BEnc (BUF_TYPE b
);
150 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
151 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
152 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
154 void Print (ostream
&os
) const;
158 /* PrintableString (SIZE (1..ub-organization-name-length)) */
159 typedef PrintableString OrganizationName
;
161 /* NumericString (SIZE (1..ub-numeric-user-id-length)) */
162 typedef NumericString NumericUserIdentifier
;
164 class PersonalName
: public AsnType
167 PrintableString surname
;
168 PrintableString
*given_name
;
169 PrintableString
*initials
;
170 PrintableString
*generation_qualifier
;
173 PersonalName (const PersonalName
&);
174 virtual ~PersonalName();
175 virtual AsnType
*Clone() const;
177 virtual AsnType
*Copy() const;
179 PersonalName
&operator = (const PersonalName
&);
180 AsnLen
BEncContent (BUF_TYPE b
);
181 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
183 AsnLen
BEnc (BUF_TYPE b
);
184 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
185 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
186 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
188 void Print (ostream
&os
) const;
192 /* PrintableString (SIZE (1..ub-organizational-unit-name-length)) */
193 typedef PrintableString OrganizationUnitName
;
195 class DomainDefinedAttribute
: public AsnType
198 PrintableString type
;
199 PrintableString value
;
201 DomainDefinedAttribute();
202 DomainDefinedAttribute (const DomainDefinedAttribute
&);
203 virtual ~DomainDefinedAttribute();
204 virtual AsnType
*Clone() const;
206 virtual AsnType
*Copy() const;
208 DomainDefinedAttribute
&operator = (const DomainDefinedAttribute
&);
209 AsnLen
BEncContent (BUF_TYPE b
);
210 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
212 AsnLen
BEnc (BUF_TYPE b
);
213 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
214 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
215 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
217 void Print (ostream
&os
) const;
221 class ExtensionAttribute
: public AsnType
224 AsnInt extension_attribute_type
;
225 AsnAny extension_attribute_value
;
227 ExtensionAttribute();
228 ExtensionAttribute (const ExtensionAttribute
&);
229 virtual ~ExtensionAttribute();
230 virtual AsnType
*Clone() const;
232 virtual AsnType
*Copy() const;
234 ExtensionAttribute
&operator = (const ExtensionAttribute
&);
235 AsnLen
BEncContent (BUF_TYPE b
);
236 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
238 AsnLen
BEnc (BUF_TYPE b
);
239 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
240 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
241 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
243 void Print (ostream
&os
) const;
247 /* TeletexString (SIZE (1..ub-organizational-unit-name-length)) */
248 typedef TeletexString TeletexOrganizationalUnitName
;
250 class TeletexDomainDefinedAttribute
: public AsnType
256 TeletexDomainDefinedAttribute();
257 TeletexDomainDefinedAttribute (const TeletexDomainDefinedAttribute
&);
258 virtual ~TeletexDomainDefinedAttribute();
259 virtual AsnType
*Clone() const;
261 virtual AsnType
*Copy() const;
263 TeletexDomainDefinedAttribute
&operator = (const TeletexDomainDefinedAttribute
&);
264 AsnLen
BEncContent (BUF_TYPE b
);
265 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
267 AsnLen
BEnc (BUF_TYPE b
);
268 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
269 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
270 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
272 void Print (ostream
&os
) const;
277 typedef X121Address NetworkAddress
;
279 class OrganizationUnitNames
: public AsnType
282 unsigned long int count
;
287 OrganizationUnitName
*elmt
;
288 } *first
, *curr
, *last
;
291 OrganizationUnitNames() { count
= 0; first
= curr
= last
= NULL
; }
292 OrganizationUnitNames (const OrganizationUnitNames
&);
293 virtual ~OrganizationUnitNames();
294 virtual AsnType
*Clone() const;
296 virtual AsnType
*Copy() const;
298 OrganizationUnitNames
&operator = (const OrganizationUnitNames
&);
299 void SetCurrElmt (unsigned long int index
);
300 unsigned long int GetCurrElmtIndex();
301 void SetCurrToFirst() { curr
= first
; }
302 void SetCurrToLast() { curr
= last
; }
303 // reading member fcns
304 int Count() const { return count
; }
305 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
306 OrganizationUnitName
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
307 OrganizationUnitName
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
308 OrganizationUnitName
*Curr() const { return curr
? curr
->elmt
: NULL
; }
309 OrganizationUnitName
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
310 OrganizationUnitName
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
312 // routines that move the curr elmt
313 OrganizationUnitName
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
314 OrganizationUnitName
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
316 // write & alloc fcns - returns new elmt
317 OrganizationUnitName
*Append(); // add elmt to end of list
318 OrganizationUnitName
*Prepend(); // add elmt to beginning of list
319 OrganizationUnitName
*InsertBefore(); //insert elmt before current elmt
320 OrganizationUnitName
*InsertAfter(); //insert elmt after current elmt
322 // write & alloc & copy - returns list after copying elmt
323 OrganizationUnitNames
&AppendCopy (OrganizationUnitName
&elmt
); // add elmt to end of list
324 OrganizationUnitNames
&PrependCopy (OrganizationUnitName
&elmt
); // add elmt to beginning of list
325 OrganizationUnitNames
&InsertBeforeAndCopy (OrganizationUnitName
&elmt
); //insert elmt before current elmt
326 OrganizationUnitNames
&InsertAfterAndCopy (OrganizationUnitName
&elmt
); //insert elmt after current elmt
328 // removing the current elmt from the list
329 void RemoveCurrFromList();
331 // encode and decode routines
332 AsnLen
BEnc (BUF_TYPE b
);
333 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
334 AsnLen
BEncContent (BUF_TYPE b
);
335 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
338 void Print (ostream
&os
) const;
342 class DomainDefinedAttributes
: public AsnType
345 unsigned long int count
;
350 DomainDefinedAttribute
*elmt
;
351 } *first
, *curr
, *last
;
354 DomainDefinedAttributes() { count
= 0; first
= curr
= last
= NULL
; }
355 DomainDefinedAttributes (const DomainDefinedAttributes
&);
356 virtual ~DomainDefinedAttributes();
357 virtual AsnType
*Clone() const;
359 virtual AsnType
*Copy() const;
361 DomainDefinedAttributes
&operator = (const DomainDefinedAttributes
&);
362 void SetCurrElmt (unsigned long int index
);
363 unsigned long int GetCurrElmtIndex();
364 void SetCurrToFirst() { curr
= first
; }
365 void SetCurrToLast() { curr
= last
; }
366 // reading member fcns
367 int Count() const { return count
; }
368 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
369 DomainDefinedAttribute
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
370 DomainDefinedAttribute
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
371 DomainDefinedAttribute
*Curr() const { return curr
? curr
->elmt
: NULL
; }
372 DomainDefinedAttribute
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
373 DomainDefinedAttribute
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
375 // routines that move the curr elmt
376 DomainDefinedAttribute
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
377 DomainDefinedAttribute
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
379 // write & alloc fcns - returns new elmt
380 DomainDefinedAttribute
*Append(); // add elmt to end of list
381 DomainDefinedAttribute
*Prepend(); // add elmt to beginning of list
382 DomainDefinedAttribute
*InsertBefore(); //insert elmt before current elmt
383 DomainDefinedAttribute
*InsertAfter(); //insert elmt after current elmt
385 // write & alloc & copy - returns list after copying elmt
386 DomainDefinedAttributes
&AppendCopy (DomainDefinedAttribute
&elmt
); // add elmt to end of list
387 DomainDefinedAttributes
&PrependCopy (DomainDefinedAttribute
&elmt
); // add elmt to beginning of list
388 DomainDefinedAttributes
&InsertBeforeAndCopy (DomainDefinedAttribute
&elmt
); //insert elmt before current elmt
389 DomainDefinedAttributes
&InsertAfterAndCopy (DomainDefinedAttribute
&elmt
); //insert elmt after current elmt
391 // removing the current elmt from the list
392 void RemoveCurrFromList();
394 // encode and decode routines
395 AsnLen
BEnc (BUF_TYPE b
);
396 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
397 AsnLen
BEncContent (BUF_TYPE b
);
398 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
401 void Print (ostream
&os
) const;
405 class ExtensionAttributes
: public AsnType
408 unsigned long int count
;
413 ExtensionAttribute
*elmt
;
414 } *first
, *curr
, *last
;
417 ExtensionAttributes() { count
= 0; first
= curr
= last
= NULL
; }
418 ExtensionAttributes (const ExtensionAttributes
&);
419 virtual ~ExtensionAttributes();
420 virtual AsnType
*Clone() const;
422 virtual AsnType
*Copy() const;
424 ExtensionAttributes
&operator = (const ExtensionAttributes
&);
425 void SetCurrElmt (unsigned long int index
);
426 unsigned long int GetCurrElmtIndex();
427 void SetCurrToFirst() { curr
= first
; }
428 void SetCurrToLast() { curr
= last
; }
429 // reading member fcns
430 int Count() const { return count
; }
431 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
432 ExtensionAttribute
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
433 ExtensionAttribute
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
434 ExtensionAttribute
*Curr() const { return curr
? curr
->elmt
: NULL
; }
435 ExtensionAttribute
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
436 ExtensionAttribute
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
438 // routines that move the curr elmt
439 ExtensionAttribute
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
440 ExtensionAttribute
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
442 // write & alloc fcns - returns new elmt
443 ExtensionAttribute
*Append(); // add elmt to end of list
444 ExtensionAttribute
*Prepend(); // add elmt to beginning of list
445 ExtensionAttribute
*InsertBefore(); //insert elmt before current elmt
446 ExtensionAttribute
*InsertAfter(); //insert elmt after current elmt
448 // write & alloc & copy - returns list after copying elmt
449 ExtensionAttributes
&AppendCopy (ExtensionAttribute
&elmt
); // add elmt to end of list
450 ExtensionAttributes
&PrependCopy (ExtensionAttribute
&elmt
); // add elmt to beginning of list
451 ExtensionAttributes
&InsertBeforeAndCopy (ExtensionAttribute
&elmt
); //insert elmt before current elmt
452 ExtensionAttributes
&InsertAfterAndCopy (ExtensionAttribute
&elmt
); //insert elmt after current elmt
454 // removing the current elmt from the list
455 void RemoveCurrFromList();
457 // encode and decode routines
458 AsnLen
BEnc (BUF_TYPE b
);
459 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
460 AsnLen
BEncContent (BUF_TYPE b
);
461 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
464 void Print (ostream
&os
) const;
468 class StandardAttributes
: public AsnType
471 CountryName
*country_name
;
472 AdministrationDomainName
*administration_domain_name
;
473 NetworkAddress
*network_address
;
474 TerminalIdentifier
*terminal_identifier
;
475 PrivateDomainName
*private_domain_name
;
476 OrganizationName
*organization_name
;
477 NumericUserIdentifier
*numeric_user_identifier
;
478 PersonalName
*personal_name
;
479 OrganizationUnitNames
*organizational_unit_names
;
481 StandardAttributes();
482 StandardAttributes (const StandardAttributes
&);
483 virtual ~StandardAttributes();
484 virtual AsnType
*Clone() const;
486 virtual AsnType
*Copy() const;
488 StandardAttributes
&operator = (const StandardAttributes
&);
489 AsnLen
BEncContent (BUF_TYPE b
);
490 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
492 AsnLen
BEnc (BUF_TYPE b
);
493 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
494 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
495 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
497 void Print (ostream
&os
) const;
501 class ORAddress
: public AsnType
504 StandardAttributes
*standard_attributes
;
505 DomainDefinedAttributes
*domain_defined_attributes
;
506 ExtensionAttributes
*extension_attributes
;
509 ORAddress (const ORAddress
&);
510 virtual ~ORAddress();
511 virtual AsnType
*Clone() const;
513 virtual AsnType
*Copy() const;
515 ORAddress
&operator = (const ORAddress
&);
516 AsnLen
BEncContent (BUF_TYPE b
);
517 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
519 AsnLen
BEnc (BUF_TYPE b
);
520 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
521 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
522 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
524 void Print (ostream
&os
) const;
528 /* PrintableString (SIZE (1..ub-common-name-length)) */
529 typedef PrintableString CommonName
;
531 /* TeletexString (SIZE (1..ub-common-name-length)) */
532 typedef TeletexString TeletexCommonName
;
534 /* TeletexString (SIZE (1..ub-organization-name-length)) */
535 typedef TeletexString TeletexOrganizationalName
;
537 class TeletexPersonalName
: public AsnType
540 TeletexString surname
;
541 TeletexString
*given_name
;
542 TeletexString
*initials
;
543 TeletexString
*generation_qualifier
;
545 TeletexPersonalName();
546 TeletexPersonalName (const TeletexPersonalName
&);
547 virtual ~TeletexPersonalName();
548 virtual AsnType
*Clone() const;
550 virtual AsnType
*Copy() const;
552 TeletexPersonalName
&operator = (const TeletexPersonalName
&);
553 AsnLen
BEncContent (BUF_TYPE b
);
554 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
556 AsnLen
BEnc (BUF_TYPE b
);
557 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
558 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
559 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
561 void Print (ostream
&os
) const;
565 class TeletexOrganizationUnitNames
: public AsnType
568 unsigned long int count
;
573 TeletexOrganizationalUnitName
*elmt
;
574 } *first
, *curr
, *last
;
577 TeletexOrganizationUnitNames() { count
= 0; first
= curr
= last
= NULL
; }
578 TeletexOrganizationUnitNames (const TeletexOrganizationUnitNames
&);
579 virtual ~TeletexOrganizationUnitNames();
580 virtual AsnType
*Clone() const;
582 virtual AsnType
*Copy() const;
584 TeletexOrganizationUnitNames
&operator = (const TeletexOrganizationUnitNames
&);
585 void SetCurrElmt (unsigned long int index
);
586 unsigned long int GetCurrElmtIndex();
587 void SetCurrToFirst() { curr
= first
; }
588 void SetCurrToLast() { curr
= last
; }
589 // reading member fcns
590 int Count() const { return count
; }
591 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
592 TeletexOrganizationalUnitName
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
593 TeletexOrganizationalUnitName
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
594 TeletexOrganizationalUnitName
*Curr() const { return curr
? curr
->elmt
: NULL
; }
595 TeletexOrganizationalUnitName
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
596 TeletexOrganizationalUnitName
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
598 // routines that move the curr elmt
599 TeletexOrganizationalUnitName
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
600 TeletexOrganizationalUnitName
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
602 // write & alloc fcns - returns new elmt
603 TeletexOrganizationalUnitName
*Append(); // add elmt to end of list
604 TeletexOrganizationalUnitName
*Prepend(); // add elmt to beginning of list
605 TeletexOrganizationalUnitName
*InsertBefore(); //insert elmt before current elmt
606 TeletexOrganizationalUnitName
*InsertAfter(); //insert elmt after current elmt
608 // write & alloc & copy - returns list after copying elmt
609 TeletexOrganizationUnitNames
&AppendCopy (TeletexOrganizationalUnitName
&elmt
); // add elmt to end of list
610 TeletexOrganizationUnitNames
&PrependCopy (TeletexOrganizationalUnitName
&elmt
); // add elmt to beginning of list
611 TeletexOrganizationUnitNames
&InsertBeforeAndCopy (TeletexOrganizationalUnitName
&elmt
); //insert elmt before current elmt
612 TeletexOrganizationUnitNames
&InsertAfterAndCopy (TeletexOrganizationalUnitName
&elmt
); //insert elmt after current elmt
614 // removing the current elmt from the list
615 void RemoveCurrFromList();
617 // encode and decode routines
618 AsnLen
BEnc (BUF_TYPE b
);
619 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
620 AsnLen
BEncContent (BUF_TYPE b
);
621 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
624 void Print (ostream
&os
) const;
628 class TeletexDomainDefinedAttributes
: public AsnType
631 unsigned long int count
;
636 TeletexDomainDefinedAttribute
*elmt
;
637 } *first
, *curr
, *last
;
640 TeletexDomainDefinedAttributes() { count
= 0; first
= curr
= last
= NULL
; }
641 TeletexDomainDefinedAttributes (const TeletexDomainDefinedAttributes
&);
642 virtual ~TeletexDomainDefinedAttributes();
643 virtual AsnType
*Clone() const;
645 virtual AsnType
*Copy() const;
647 TeletexDomainDefinedAttributes
&operator = (const TeletexDomainDefinedAttributes
&);
648 void SetCurrElmt (unsigned long int index
);
649 unsigned long int GetCurrElmtIndex();
650 void SetCurrToFirst() { curr
= first
; }
651 void SetCurrToLast() { curr
= last
; }
652 // reading member fcns
653 int Count() const { return count
; }
654 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
655 TeletexDomainDefinedAttribute
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
656 TeletexDomainDefinedAttribute
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
657 TeletexDomainDefinedAttribute
*Curr() const { return curr
? curr
->elmt
: NULL
; }
658 TeletexDomainDefinedAttribute
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
659 TeletexDomainDefinedAttribute
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
661 // routines that move the curr elmt
662 TeletexDomainDefinedAttribute
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
663 TeletexDomainDefinedAttribute
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
665 // write & alloc fcns - returns new elmt
666 TeletexDomainDefinedAttribute
*Append(); // add elmt to end of list
667 TeletexDomainDefinedAttribute
*Prepend(); // add elmt to beginning of list
668 TeletexDomainDefinedAttribute
*InsertBefore(); //insert elmt before current elmt
669 TeletexDomainDefinedAttribute
*InsertAfter(); //insert elmt after current elmt
671 // write & alloc & copy - returns list after copying elmt
672 TeletexDomainDefinedAttributes
&AppendCopy (TeletexDomainDefinedAttribute
&elmt
); // add elmt to end of list
673 TeletexDomainDefinedAttributes
&PrependCopy (TeletexDomainDefinedAttribute
&elmt
); // add elmt to beginning of list
674 TeletexDomainDefinedAttributes
&InsertBeforeAndCopy (TeletexDomainDefinedAttribute
&elmt
); //insert elmt before current elmt
675 TeletexDomainDefinedAttributes
&InsertAfterAndCopy (TeletexDomainDefinedAttribute
&elmt
); //insert elmt after current elmt
677 // removing the current elmt from the list
678 void RemoveCurrFromList();
680 // encode and decode routines
681 AsnLen
BEnc (BUF_TYPE b
);
682 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
683 AsnLen
BEncContent (BUF_TYPE b
);
684 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
687 void Print (ostream
&os
) const;
691 //------------------------------------------------------------------------------
692 // externs for value defs
694 //------------------------------------------------------------------------------
696 #endif /* conditional include of sm_x411mtsas.h */