#ifndef _sm_x501if_h_
#define _sm_x501if_h_
class AttributeTypeAndDistinguishedValueSetOfSeqSetOf;
class AttributeTypeAndDistinguishedValueSetOfSeq;
class AttributeTypeAndDistinguishedValueSetOf;
class AttributeSetOf;
class Attribute;
class AttributeTypeAndDistinguishedValue;
class RelativeDistinguishedName;
class RDNSequence;
class Attributes;
class Name;
typedef enum InformationFrameworkAnyId
{
} InformationFrameworkAnyId;
typedef AsnOid AttributeType;
typedef AsnAny AttributeValue;
class AttributeTypeAndDistinguishedValueSetOfSeqSetOf: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
AsnAny *elmt;
} *first, *curr, *last;
public:
AttributeTypeAndDistinguishedValueSetOfSeqSetOf() { count = 0; first = curr = last = NULL; }
AttributeTypeAndDistinguishedValueSetOfSeqSetOf (const AttributeTypeAndDistinguishedValueSetOfSeqSetOf &);
virtual ~AttributeTypeAndDistinguishedValueSetOfSeqSetOf();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
AttributeTypeAndDistinguishedValueSetOfSeqSetOf &operator = (const AttributeTypeAndDistinguishedValueSetOfSeqSetOf &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
AsnAny *First() const { return count > 0 ? first->elmt : NULL; }
AsnAny *Last() const { return count > 0 ? last->elmt : NULL; }
AsnAny *Curr() const { return curr ? curr->elmt : NULL; }
AsnAny *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
AsnAny *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
AsnAny *GoNext() { if (curr) curr = curr->next; return Curr(); }
AsnAny *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
AsnAny *Append(); AsnAny *Prepend(); AsnAny *InsertBefore(); AsnAny *InsertAfter();
AttributeTypeAndDistinguishedValueSetOfSeqSetOf &AppendCopy (AsnAny &elmt); AttributeTypeAndDistinguishedValueSetOfSeqSetOf &PrependCopy (AsnAny &elmt); AttributeTypeAndDistinguishedValueSetOfSeqSetOf &InsertBeforeAndCopy (AsnAny &elmt); AttributeTypeAndDistinguishedValueSetOfSeqSetOf &InsertAfterAndCopy (AsnAny &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 AttributeTypeAndDistinguishedValueSetOfSeq: public AsnType
{
public:
AsnOid *distingAttrValue;
AttributeTypeAndDistinguishedValueSetOfSeqSetOf contextList;
AttributeTypeAndDistinguishedValueSetOfSeq();
AttributeTypeAndDistinguishedValueSetOfSeq (const AttributeTypeAndDistinguishedValueSetOfSeq &);
virtual ~AttributeTypeAndDistinguishedValueSetOfSeq();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
AttributeTypeAndDistinguishedValueSetOfSeq &operator = (const AttributeTypeAndDistinguishedValueSetOfSeq &);
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 AttributeTypeAndDistinguishedValueSetOf: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
AttributeTypeAndDistinguishedValueSetOfSeq *elmt;
} *first, *curr, *last;
public:
AttributeTypeAndDistinguishedValueSetOf() { count = 0; first = curr = last = NULL; }
AttributeTypeAndDistinguishedValueSetOf (const AttributeTypeAndDistinguishedValueSetOf &);
virtual ~AttributeTypeAndDistinguishedValueSetOf();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
AttributeTypeAndDistinguishedValueSetOf &operator = (const AttributeTypeAndDistinguishedValueSetOf &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
AttributeTypeAndDistinguishedValueSetOfSeq *First() const { return count > 0 ? first->elmt : NULL; }
AttributeTypeAndDistinguishedValueSetOfSeq *Last() const { return count > 0 ? last->elmt : NULL; }
AttributeTypeAndDistinguishedValueSetOfSeq *Curr() const { return curr ? curr->elmt : NULL; }
AttributeTypeAndDistinguishedValueSetOfSeq *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
AttributeTypeAndDistinguishedValueSetOfSeq *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
AttributeTypeAndDistinguishedValueSetOfSeq *GoNext() { if (curr) curr = curr->next; return Curr(); }
AttributeTypeAndDistinguishedValueSetOfSeq *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
AttributeTypeAndDistinguishedValueSetOfSeq *Append(); AttributeTypeAndDistinguishedValueSetOfSeq *Prepend(); AttributeTypeAndDistinguishedValueSetOfSeq *InsertBefore(); AttributeTypeAndDistinguishedValueSetOfSeq *InsertAfter();
AttributeTypeAndDistinguishedValueSetOf &AppendCopy (AttributeTypeAndDistinguishedValueSetOfSeq &elmt); AttributeTypeAndDistinguishedValueSetOf &PrependCopy (AttributeTypeAndDistinguishedValueSetOfSeq &elmt); AttributeTypeAndDistinguishedValueSetOf &InsertBeforeAndCopy (AttributeTypeAndDistinguishedValueSetOfSeq &elmt); AttributeTypeAndDistinguishedValueSetOf &InsertAfterAndCopy (AttributeTypeAndDistinguishedValueSetOfSeq &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 AttributeSetOf: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
AttributeValue *elmt;
} *first, *curr, *last;
public:
AttributeSetOf() { count = 0; first = curr = last = NULL; }
AttributeSetOf (const AttributeSetOf &);
virtual ~AttributeSetOf();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
AttributeSetOf &operator = (const AttributeSetOf &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
AttributeValue *First() const { return count > 0 ? first->elmt : NULL; }
AttributeValue *Last() const { return count > 0 ? last->elmt : NULL; }
AttributeValue *Curr() const { return curr ? curr->elmt : NULL; }
AttributeValue *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
AttributeValue *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
AttributeValue *GoNext() { if (curr) curr = curr->next; return Curr(); }
AttributeValue *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
AttributeValue *Append(); AttributeValue *Prepend(); AttributeValue *InsertBefore(); AttributeValue *InsertAfter();
AttributeSetOf &AppendCopy (AttributeValue &elmt); AttributeSetOf &PrependCopy (AttributeValue &elmt); AttributeSetOf &InsertBeforeAndCopy (AttributeValue &elmt); AttributeSetOf &InsertAfterAndCopy (AttributeValue &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 Attribute: public AsnType
{
public:
AttributeType type;
AttributeSetOf values;
Attribute();
Attribute (const Attribute &);
virtual ~Attribute();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
Attribute &operator = (const Attribute &);
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 AttributeTypeAndDistinguishedValue: public AsnType
{
public:
AsnOid type;
AsnAny value;
AsnBool *primaryDistinguished;
AttributeTypeAndDistinguishedValueSetOf *valuesWithContext;
AttributeTypeAndDistinguishedValue();
AttributeTypeAndDistinguishedValue (const AttributeTypeAndDistinguishedValue &);
virtual ~AttributeTypeAndDistinguishedValue();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
AttributeTypeAndDistinguishedValue &operator = (const AttributeTypeAndDistinguishedValue &);
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 RelativeDistinguishedName: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
AttributeTypeAndDistinguishedValue *elmt;
} *first, *curr, *last;
public:
RelativeDistinguishedName() { count = 0; first = curr = last = NULL; }
RelativeDistinguishedName (const RelativeDistinguishedName &);
virtual ~RelativeDistinguishedName();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
RelativeDistinguishedName &operator = (const RelativeDistinguishedName &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
AttributeTypeAndDistinguishedValue *First() const { return count > 0 ? first->elmt : NULL; }
AttributeTypeAndDistinguishedValue *Last() const { return count > 0 ? last->elmt : NULL; }
AttributeTypeAndDistinguishedValue *Curr() const { return curr ? curr->elmt : NULL; }
AttributeTypeAndDistinguishedValue *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
AttributeTypeAndDistinguishedValue *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
AttributeTypeAndDistinguishedValue *GoNext() { if (curr) curr = curr->next; return Curr(); }
AttributeTypeAndDistinguishedValue *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
AttributeTypeAndDistinguishedValue *Append(); AttributeTypeAndDistinguishedValue *Prepend(); AttributeTypeAndDistinguishedValue *InsertBefore(); AttributeTypeAndDistinguishedValue *InsertAfter();
RelativeDistinguishedName &AppendCopy (AttributeTypeAndDistinguishedValue &elmt); RelativeDistinguishedName &PrependCopy (AttributeTypeAndDistinguishedValue &elmt); RelativeDistinguishedName &InsertBeforeAndCopy (AttributeTypeAndDistinguishedValue &elmt); RelativeDistinguishedName &InsertAfterAndCopy (AttributeTypeAndDistinguishedValue &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 RDNSequence: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
RelativeDistinguishedName *elmt;
} *first, *curr, *last;
public:
RDNSequence() { count = 0; first = curr = last = NULL; }
RDNSequence (const RDNSequence &);
virtual ~RDNSequence();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
RDNSequence &operator = (const RDNSequence &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
RelativeDistinguishedName *First() const { return count > 0 ? first->elmt : NULL; }
RelativeDistinguishedName *Last() const { return count > 0 ? last->elmt : NULL; }
RelativeDistinguishedName *Curr() const { return curr ? curr->elmt : NULL; }
RelativeDistinguishedName *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
RelativeDistinguishedName *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
RelativeDistinguishedName *GoNext() { if (curr) curr = curr->next; return Curr(); }
RelativeDistinguishedName *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
RelativeDistinguishedName *Append(); RelativeDistinguishedName *Prepend(); RelativeDistinguishedName *InsertBefore(); RelativeDistinguishedName *InsertAfter();
RDNSequence &AppendCopy (RelativeDistinguishedName &elmt); RDNSequence &PrependCopy (RelativeDistinguishedName &elmt); RDNSequence &InsertBeforeAndCopy (RelativeDistinguishedName &elmt); RDNSequence &InsertAfterAndCopy (RelativeDistinguishedName &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 Attributes: public AsnType
{
protected:
unsigned long int count;
struct AsnListElmt
{
AsnListElmt *next;
AsnListElmt *prev;
Attribute *elmt;
} *first, *curr, *last;
public:
Attributes() { count = 0; first = curr = last = NULL; }
Attributes (const Attributes &);
virtual ~Attributes();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
Attributes &operator = (const Attributes &);
void SetCurrElmt (unsigned long int index);
unsigned long int GetCurrElmtIndex();
void SetCurrToFirst() { curr = first; }
void SetCurrToLast() { curr = last; }
int Count() const { return count; }
Attribute *First() const { return count > 0 ? first->elmt : NULL; }
Attribute *Last() const { return count > 0 ? last->elmt : NULL; }
Attribute *Curr() const { return curr ? curr->elmt : NULL; }
Attribute *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
Attribute *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
Attribute *GoNext() { if (curr) curr = curr->next; return Curr(); }
Attribute *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
Attribute *Append(); Attribute *Prepend(); Attribute *InsertBefore(); Attribute *InsertAfter();
Attributes &AppendCopy (Attribute &elmt); Attributes &PrependCopy (Attribute &elmt); Attributes &InsertBeforeAndCopy (Attribute &elmt); Attributes &InsertAfterAndCopy (Attribute &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 Name: public AsnType
{
public:
enum ChoiceIdEnum
{
rDNSequenceCid = 0
};
enum ChoiceIdEnum choiceId;
union
{
RDNSequence *rDNSequence;
};
Name();
Name (const Name &);
virtual ~Name();
virtual AsnType *Clone() const;
virtual AsnType *Copy() const;
Name &operator = (const Name &);
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 RDNSequence DistinguishedName;
#endif