Asn1Enumerated Class Reference

Inheritance diagram for Asn1Enumerated:
Asn1Type Asn1TypeIF

List of all members.

Public Member Functions

 Asn1Enumerated (int value_)
 Asn1Enumerated ()
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, long upper)
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
virtual void DecodeXER (System.String buffer, System.String attrs)
override void DecodeXML (System.String buffer, System.String attrs)
virtual void Encode (Asn1PerOutputStream outs, long lower, long upper)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
virtual void Encode (Asn1JsonOutputStream outstream)
virtual void Encode (Asn1XmlEncoder buffer, String elemName, String nsPrefix, bool asText)
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
virtual void Encode (Asn1XerEncodeBuffer buffer)
override void Encode (Asn1XerEncoder buffer, System.String elemName)
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
override bool Equals (System.Object value)
virtual bool Equals (int value)
override int GetHashCode ()
override System.String ToString ()

Static Public Member Functions

static int ParseValue (System.String value)

Public Attributes

int mValue
const int UNDEFINED = - 999

Static Public Attributes

static new readonly Asn1Tag _TAG

Detailed Description

This class represents the ASN.1 ENUMERATED built-in type. It is declared to be an abstract class and therefore cannot be used on its own. It must be extended by a specific enumerated type class.


Constructor & Destructor Documentation

Asn1Enumerated (  ) 

The default constructor sets the enumerated value to undefined.

Asn1Enumerated ( int  value_  ) 

This constructor creates an enumerated object from a integer value.

Parameters:
value_ Integer value

Member Function Documentation

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
long  lower,
long  upper 
) [virtual]

This method decodes an ASN.1 enumerated value using the Packed Encoding Rules (PER). The decoded result is stored in the public member 'mValue' in this object.

Parameters:
buffer PER Decode message buffer object
lower Smallest enumerated value in the set
upper Largest enumerated value in the set
override void Decode ( Asn1BerDecodeBuffer  buffer,
bool  explicitTagging,
int  implicitLength 
) [virtual]

This method decodes an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Parameters:
buffer Decode message buffer object
explicitTagging Flag indicating element is explicitly tagged
implicitLength Length of contents if implicit

Reimplemented from Asn1Type.

virtual void DecodeXER ( System.String  buffer,
System.String  attrs 
) [virtual]

This method decodes an ASN.1 enumerated value using the XML encoding rules (XER).

Parameters:
buffer String containing data to be decoded. The value is assumed to be clear text with wrapping element delimiters (i.e. "<" and "/>") removed.
attrs Attributes string from element tag
override void DecodeXML ( System.String  buffer,
System.String  attrs 
)

This method decodes an ASN.1 enumerated value using the XML schema encoding rules(asn2xsd).

Parameters:
buffer String containing data to be decoded
attrs Attributes string from element tag
virtual void Encode ( Asn1PerOutputStream  outs,
long  lower,
long  upper 
) [virtual]

This method encodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).

Also throws any exception thrown by the underlying Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
lower Smallest enumerated value in the set
upper Largest enumerated value in the set
Exceptions:
Asn1Exception Thrown, if operation is failed.
override void Encode ( Asn1BerOutputStream  outs,
bool  explicitTagging 
) [virtual]

This method encodes and writes to the stream an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Throws, Exception thrown by C# System.IO.Stream for I/O error

Parameters:
outs BER Output Stream object
explicitTagging Flag indicating explicit tagging should be done
Exceptions:
Asn1Exception Thrown, if operation is failed.

Reimplemented from Asn1Type.

virtual void Encode ( Asn1JsonOutputStream  outstream  )  [virtual]

Encode the enumerated value to JSON.

Parameters:
outstream 
virtual void Encode ( Asn1XmlEncoder  buffer,
String  elemName,
String  nsPrefix,
bool  asText 
) [virtual]

This method encodes an ASN.1 enumerated value. It is for use with extended-XER.

Parameters:
buffer Encode message buffer object
elemName Element name
nsPrefix XML element name space prefix
asText If true, encode the value as XML text, otherwise encode as an empty element.
override void Encode ( Asn1XmlEncoder  buffer,
System.String  elemName,
System.String  nsPrefix 
) [virtual]

This method encodes an ASN.1 enumerated value using the Obj-Sys XML Encoding rules. It encodes the value as XML text.

Parameters:
buffer Encode message buffer object
elemName Element name
nsPrefix Element namespace value

Reimplemented from Asn1Type.

virtual void Encode ( Asn1XerEncodeBuffer  buffer  )  [virtual]

This method encodes an ASN.1 enumerated value using the XML encoding rules (XER). This method does not add start and end tags (<tag> and </tag>), only value is encoded (<val1/> or <val2/>).

Parameters:
buffer Encode message buffer object
override void Encode ( Asn1XerEncoder  buffer,
System.String  elemName 
) [virtual]

This method encodes an ASN.1 enumerated value using the XML encoding rules (XER).

Parameters:
buffer Encode message buffer object
elemName Element name

Reimplemented from Asn1Type.

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
long  lower,
long  upper 
) [virtual]

This method encodes an ASN.1 enumerated value using the Packed Encoding Rules (PER).

Parameters:
buffer PER Encode message buffer object
lower Smallest enumerated value in the set
upper Largest enumerated value in the set
override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
) [virtual]

This method encodes an ASN.1 enumerated value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Parameters:
buffer Encode message buffer object
explicitTagging Flag indicating explicit tagging should be done
Returns:
Length of component or negative status value

Reimplemented from Asn1Type.

override bool Equals ( System.Object  value  ) 

This method compares this enumerated value to the given value for equality.

Parameters:
value The Object to compare with the current Object. Object should be instance of Asn1Enumerated.
Returns:
true if the specified Object is equal to the current Object; otherwise, false.
virtual bool Equals ( int  value  )  [virtual]

This method compares this enumerated value to the given value for equality.

Parameters:
value The int or enumerated value to compare with the current Object.
Returns:
true if the specified int value is equal to the current Object; otherwise, false.
override int GetHashCode (  ) 

Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.

Returns:
A hash code for the current Object.
static int ParseValue ( System.String  value  )  [static]

This method will parse the given enumeration text and set the enumerated value. This method is implemented by the extending class for XER or XML code generation ONLY.

Parameters:
value enumeration text
Returns:
Stringified representation of the value

AB: don't make it abstract (it is only for XER)

override System.String ToString (  ) 

This method will return the enumeration text for a given enumerated value.

Returns:
Stringified representation of the value

Member Data Documentation

new readonly Asn1Tag _TAG [static]

The _TAG constant describes the universal tag for this data type (UNIVERSAL 10).

Reimplemented from Asn1Type.

int mValue

This public member variable is where the enumerated value is stored. This is the value that is encoded when one of the encode methods is called. It is also where the decoded result is stored when a Decode method is called.

const int UNDEFINED = - 999

The UNDEFINED constant is stored in the mValue member variable when the value of this enumerated type is undetermined.