#ifndef _sm_x411mtsas_h_
#define _sm_x411mtsas_h_
class CountryName;
class AdministrationDomainName;
class PrivateDomainName;
class PersonalName;
class DomainDefinedAttribute;
class ExtensionAttribute;
class TeletexDomainDefinedAttribute;
class OrganizationUnitNames;
class DomainDefinedAttributes;
class ExtensionAttributes;
class StandardAttributes;
class ORAddress;
class TeletexPersonalName;
class TeletexOrganizationUnitNames;
class TeletexDomainDefinedAttributes;
typedef enum MTSAbstractServiceAnyId
{
} MTSAbstractServiceAnyId;
class CountryName: public AsnType
{
public:
enum ChoiceIdEnum
{
x121_dcc_codeCid = 0,
iso_3166_alpha2_codeCid = 1
};
enum ChoiceIdEnum choiceId;
union
{
NumericString *x121_dcc_code;
PrintableString *iso_3166_alpha2_code;
};
CountryName();
CountryName (const CountryName &);
virtual ~CountryName();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
CountryName &operator = (const CountryName &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
class AdministrationDomainName: public AsnType
{
public:
enum ChoiceIdEnum
{
numericCid = 0,
printableCid = 1
};
enum ChoiceIdEnum choiceId;
union
{
NumericString *numeric;
PrintableString *printable;
};
AdministrationDomainName();
AdministrationDomainName (const AdministrationDomainName &);
virtual ~AdministrationDomainName();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
AdministrationDomainName &operator = (const AdministrationDomainName &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
typedef NumericString X121Address;
typedef PrintableString TerminalIdentifier;
class PrivateDomainName: public AsnType
{
public:
enum ChoiceIdEnum
{
numericCid = 0,
printableCid = 1
};
enum ChoiceIdEnum choiceId;
union
{
NumericString *numeric;
PrintableString *printable;
};
PrivateDomainName();
PrivateDomainName (const PrivateDomainName &);
virtual ~PrivateDomainName();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
PrivateDomainName &operator = (const PrivateDomainName &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
typedef PrintableString OrganizationName;
typedef NumericString NumericUserIdentifier;
class PersonalName: public AsnType
{
public:
PrintableString surname;
PrintableString *given_name;
PrintableString *initials;
PrintableString *generation_qualifier;
PersonalName();
PersonalName (const PersonalName &);
virtual ~PersonalName();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
PersonalName &operator = (const PersonalName &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
typedef PrintableString OrganizationUnitName;
class DomainDefinedAttribute: public AsnType
{
public:
PrintableString type;
PrintableString value;
DomainDefinedAttribute();
DomainDefinedAttribute (const DomainDefinedAttribute &);
virtual ~DomainDefinedAttribute();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
DomainDefinedAttribute &operator = (const DomainDefinedAttribute &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
class ExtensionAttribute: public AsnType
{
public:
AsnInt extension_attribute_type;
AsnAny extension_attribute_value;
ExtensionAttribute();
ExtensionAttribute (const ExtensionAttribute &);
virtual ~ExtensionAttribute();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
ExtensionAttribute &operator = (const ExtensionAttribute &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
typedef TeletexString TeletexOrganizationalUnitName;
class TeletexDomainDefinedAttribute: public AsnType
{
public:
TeletexString type;
TeletexString value;
TeletexDomainDefinedAttribute();
TeletexDomainDefinedAttribute (const TeletexDomainDefinedAttribute &);
virtual ~TeletexDomainDefinedAttribute();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
TeletexDomainDefinedAttribute &operator = (const TeletexDomainDefinedAttribute &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
typedef X121Address NetworkAddress;
class OrganizationUnitNames: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
OrganizationUnitName *elmt;
} *first, *curr, *last;
public:
OrganizationUnitNames() { count = 0; first = curr = last = NULL; }
OrganizationUnitNames (const OrganizationUnitNames &);
virtual ~OrganizationUnitNames();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
OrganizationUnitNames &operator = (const OrganizationUnitNames &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
OrganizationUnitName *First() const { return count > 0 ? first->elmt : NULL; }
OrganizationUnitName *Last() const { return count > 0 ? last->elmt : NULL; }
OrganizationUnitName *Curr() const { return curr ? curr->elmt : NULL; }
OrganizationUnitName *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
OrganizationUnitName *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
OrganizationUnitName *GoNext() { if (curr) curr = curr->next; return Curr(); }
OrganizationUnitName *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
OrganizationUnitName *Append(); OrganizationUnitName *Prepend(); OrganizationUnitName *InsertBefore(); OrganizationUnitName *InsertAfter();
OrganizationUnitNames &AppendCopy (OrganizationUnitName &elmt); OrganizationUnitNames &PrependCopy (OrganizationUnitName &elmt); OrganizationUnitNames &InsertBeforeAndCopy (OrganizationUnitName &elmt); OrganizationUnitNames &InsertAfterAndCopy (OrganizationUnitName &elmt);
void RemoveCurrFromList();
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
PDU_MEMBER_MACROS
void Print (ostream &os) const;
};
class DomainDefinedAttributes: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
DomainDefinedAttribute *elmt;
} *first, *curr, *last;
public:
DomainDefinedAttributes() { count = 0; first = curr = last = NULL; }
DomainDefinedAttributes (const DomainDefinedAttributes &);
virtual ~DomainDefinedAttributes();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
DomainDefinedAttributes &operator = (const DomainDefinedAttributes &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
DomainDefinedAttribute *First() const { return count > 0 ? first->elmt : NULL; }
DomainDefinedAttribute *Last() const { return count > 0 ? last->elmt : NULL; }
DomainDefinedAttribute *Curr() const { return curr ? curr->elmt : NULL; }
DomainDefinedAttribute *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
DomainDefinedAttribute *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
DomainDefinedAttribute *GoNext() { if (curr) curr = curr->next; return Curr(); }
DomainDefinedAttribute *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
DomainDefinedAttribute *Append(); DomainDefinedAttribute *Prepend(); DomainDefinedAttribute *InsertBefore(); DomainDefinedAttribute *InsertAfter();
DomainDefinedAttributes &AppendCopy (DomainDefinedAttribute &elmt); DomainDefinedAttributes &PrependCopy (DomainDefinedAttribute &elmt); DomainDefinedAttributes &InsertBeforeAndCopy (DomainDefinedAttribute &elmt); DomainDefinedAttributes &InsertAfterAndCopy (DomainDefinedAttribute &elmt);
void RemoveCurrFromList();
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
PDU_MEMBER_MACROS
void Print (ostream &os) const;
};
class ExtensionAttributes: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
ExtensionAttribute *elmt;
} *first, *curr, *last;
public:
ExtensionAttributes() { count = 0; first = curr = last = NULL; }
ExtensionAttributes (const ExtensionAttributes &);
virtual ~ExtensionAttributes();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
ExtensionAttributes &operator = (const ExtensionAttributes &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
ExtensionAttribute *First() const { return count > 0 ? first->elmt : NULL; }
ExtensionAttribute *Last() const { return count > 0 ? last->elmt : NULL; }
ExtensionAttribute *Curr() const { return curr ? curr->elmt : NULL; }
ExtensionAttribute *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
ExtensionAttribute *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
ExtensionAttribute *GoNext() { if (curr) curr = curr->next; return Curr(); }
ExtensionAttribute *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
ExtensionAttribute *Append(); ExtensionAttribute *Prepend(); ExtensionAttribute *InsertBefore(); ExtensionAttribute *InsertAfter();
ExtensionAttributes &AppendCopy (ExtensionAttribute &elmt); ExtensionAttributes &PrependCopy (ExtensionAttribute &elmt); ExtensionAttributes &InsertBeforeAndCopy (ExtensionAttribute &elmt); ExtensionAttributes &InsertAfterAndCopy (ExtensionAttribute &elmt);
void RemoveCurrFromList();
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
PDU_MEMBER_MACROS
void Print (ostream &os) const;
};
class StandardAttributes: public AsnType
{
public:
CountryName *country_name;
AdministrationDomainName *administration_domain_name;
NetworkAddress *network_address;
TerminalIdentifier *terminal_identifier;
PrivateDomainName *private_domain_name;
OrganizationName *organization_name;
NumericUserIdentifier *numeric_user_identifier;
PersonalName *personal_name;
OrganizationUnitNames *organizational_unit_names;
StandardAttributes();
StandardAttributes (const StandardAttributes &);
virtual ~StandardAttributes();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
StandardAttributes &operator = (const StandardAttributes &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
class ORAddress: public AsnType
{
public:
StandardAttributes *standard_attributes;
DomainDefinedAttributes *domain_defined_attributes;
ExtensionAttributes *extension_attributes;
ORAddress();
ORAddress (const ORAddress &);
virtual ~ORAddress();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
ORAddress &operator = (const ORAddress &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
typedef PrintableString CommonName;
typedef TeletexString TeletexCommonName;
typedef TeletexString TeletexOrganizationalName;
class TeletexPersonalName: public AsnType
{
public:
TeletexString surname;
TeletexString *given_name;
TeletexString *initials;
TeletexString *generation_qualifier;
TeletexPersonalName();
TeletexPersonalName (const TeletexPersonalName &);
virtual ~TeletexPersonalName();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
TeletexPersonalName &operator = (const TeletexPersonalName &);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
void Print (ostream &os) const;
};
class TeletexOrganizationUnitNames: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
TeletexOrganizationalUnitName *elmt;
} *first, *curr, *last;
public:
TeletexOrganizationUnitNames() { count = 0; first = curr = last = NULL; }
TeletexOrganizationUnitNames (const TeletexOrganizationUnitNames &);
virtual ~TeletexOrganizationUnitNames();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
TeletexOrganizationUnitNames &operator = (const TeletexOrganizationUnitNames &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
TeletexOrganizationalUnitName *First() const { return count > 0 ? first->elmt : NULL; }
TeletexOrganizationalUnitName *Last() const { return count > 0 ? last->elmt : NULL; }
TeletexOrganizationalUnitName *Curr() const { return curr ? curr->elmt : NULL; }
TeletexOrganizationalUnitName *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
TeletexOrganizationalUnitName *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
TeletexOrganizationalUnitName *GoNext() { if (curr) curr = curr->next; return Curr(); }
TeletexOrganizationalUnitName *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
TeletexOrganizationalUnitName *Append(); TeletexOrganizationalUnitName *Prepend(); TeletexOrganizationalUnitName *InsertBefore(); TeletexOrganizationalUnitName *InsertAfter();
TeletexOrganizationUnitNames &AppendCopy (TeletexOrganizationalUnitName &elmt); TeletexOrganizationUnitNames &PrependCopy (TeletexOrganizationalUnitName &elmt); TeletexOrganizationUnitNames &InsertBeforeAndCopy (TeletexOrganizationalUnitName &elmt); TeletexOrganizationUnitNames &InsertAfterAndCopy (TeletexOrganizationalUnitName &elmt);
void RemoveCurrFromList();
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
PDU_MEMBER_MACROS
void Print (ostream &os) const;
};
class TeletexDomainDefinedAttributes: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
TeletexDomainDefinedAttribute *elmt;
} *first, *curr, *last;
public:
TeletexDomainDefinedAttributes() { count = 0; first = curr = last = NULL; }
TeletexDomainDefinedAttributes (const TeletexDomainDefinedAttributes &);
virtual ~TeletexDomainDefinedAttributes();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
TeletexDomainDefinedAttributes &operator = (const TeletexDomainDefinedAttributes &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
TeletexDomainDefinedAttribute *First() const { return count > 0 ? first->elmt : NULL; }
TeletexDomainDefinedAttribute *Last() const { return count > 0 ? last->elmt : NULL; }
TeletexDomainDefinedAttribute *Curr() const { return curr ? curr->elmt : NULL; }
TeletexDomainDefinedAttribute *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
TeletexDomainDefinedAttribute *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
TeletexDomainDefinedAttribute *GoNext() { if (curr) curr = curr->next; return Curr(); }
TeletexDomainDefinedAttribute *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
TeletexDomainDefinedAttribute *Append(); TeletexDomainDefinedAttribute *Prepend(); TeletexDomainDefinedAttribute *InsertBefore(); TeletexDomainDefinedAttribute *InsertAfter();
TeletexDomainDefinedAttributes &AppendCopy (TeletexDomainDefinedAttribute &elmt); TeletexDomainDefinedAttributes &PrependCopy (TeletexDomainDefinedAttribute &elmt); TeletexDomainDefinedAttributes &InsertBeforeAndCopy (TeletexDomainDefinedAttribute &elmt); TeletexDomainDefinedAttributes &InsertAfterAndCopy (TeletexDomainDefinedAttribute &elmt);
void RemoveCurrFromList();
AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
AsnLen BEncContent (BUF_TYPE b);
void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
PDU_MEMBER_MACROS
void Print (ostream &os) const;
};
#endif