ASN1C C# Runtime Library  7.7
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Properties | List of all members
Asn1Enumerated Class Reference
Inheritance diagram for Asn1Enumerated:
Asn1Type Asn1TypeIF

Public Member Functions

 Asn1Enumerated ()
 
 Asn1Enumerated (int value_)
 
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
 
override void Encode (Asn1OerEncodeBuffer buffer)
 
override void Encode (Asn1XerEncoder buffer, System.String elemName)
 
virtual void Encode (Asn1XerEncodeBuffer buffer)
 
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
 
virtual void Encode (Asn1XmlEncoder buffer, String elemName, String nsPrefix, bool asText)
 
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
 
virtual void Encode (Asn1PerOutputStream outs, long lower, long upper)
 
virtual bool Equals (int value)
 
override bool Equals (System.Object value)
 
override int GetHashCode ()
 
override System.String ToString ()
 
- Public Member Functions inherited from Asn1Type
void _SetKey (byte[] rtkey)
 
virtual void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
 
virtual void Decode (Asn1BerDecodeBuffer buffer)
 
virtual void Decode (Asn1OerDecodeBuffer buffer)
 
virtual void Decode (Asn1PerDecodeBuffer buffer)
 
virtual void Decode (System.Object reader, System.String xmlURI)
 
virtual void Decode (System.Object reader, System.IO.Stream byteStream)
 
virtual void Decode (Asn1MderDecodeBuffer buffer)
 
virtual void DecodeXML (String buffer, String attrs)
 
virtual int Encode (Asn1BerEncodeBuffer buffer)
 
virtual void Encode (Asn1PerEncodeBuffer buffer)
 
virtual void Encode (Asn1XerEncoder buffer)
 
virtual void Encode (Asn1XmlEncoder buffer)
 
virtual void Encode (Asn1XmlEncodeBuffer buffer)
 
virtual void Encode (Asn1MderOutputStream buffer)
 
virtual void Encode (Asn1MderOutputStream buffer, bool useCachedLength)
 
virtual void Encode (Asn1CerOutputStream outs, bool explicitTagging)
 
virtual void Encode (Asn1PerOutputStream outs)
 
void EncodeAsOpenType (Asn1OerEncodeBuffer buffer)
 
virtual void EncodeAttribute (Asn1XmlEncoder buffer, System.String attrName)
 
virtual bool Equals (Asn1Type obj)
 
String GetNonParameterizedTypeName ()
 
virtual void Indent (System.IO.TextWriter outs, int level)
 
virtual bool IsOpenType ()
 
virtual bool MatchTypeName (System.String typeName)
 
virtual void Pdiag (System.String s)
 
virtual void Print (System.IO.TextWriter outs, System.String varName, int level)
 
virtual void Print (System.String varName)
 
void SetNonParameterizedTypeName (String value)
 
virtual void SetOpenType ()
 

Static Public Member Functions

static int ParseValue (System.String value)
 
- Static Public Member Functions inherited from Asn1Type
static void _SetKey2 (byte[] rtkey)
 
static void _SetLicLocation (String path)
 
static Asn1Type Decode (Asn1BerDecodeBuffer buffer, Asn1OpenTypeField openTypeField, bool explicitTag, int implicitLength)
 
static Asn1Type Decode (Asn1OerDecodeBuffer buffer, Asn1OpenTypeField openTypeField)
 
static Asn1Type Decode (Asn1PerDecodeBuffer buffer, Asn1OpenTypeField openTypeField)
 
static System.String GetTypeName (short typeCode)
 

Public Attributes

int mValue
 
const int UNDEFINED = - 999
 
- Public Attributes inherited from Asn1Type
const short BIT_STRING = 3
 
const short BMPString = 30
 
const short BOOLEAN = 1
 
const short DATE = 31
 
const short ENUMERATED = 10
 
const short EOC = 0
 
const short EXTERNAL = 8
 
const short GeneralString = 27
 
const short GeneralTime = 24
 
const short GraphicString = 25
 
const short IA5String = 22
 
const short INTEGER = 2
 
const short NULL = 5
 
const short NumericString = 18
 
const short OBJECT_IDENTIFIER = 6
 
const short ObjectDescriptor = 7
 
const short OCTET_STRING = 4
 
const short OpenType = 99
 
const short PrintableString = 19
 
const short REAL = 9
 
const short RELATIVE_OID_IRI = 36
 
const short RelativeOID = 13
 
const short SEQUENCE = 16
 
const short SET = 17
 
const short T61String = TeletexString
 
const short TeletexString = 20
 
const short TIME = 14
 
const short UniversalString = 28
 
const short UTCTime = 23
 
const short UTF8String = 12
 
const short VideotexString = 21
 
const short VisibleString = 26
 

Static Public Attributes

static new readonly Asn1Tag _TAG
 
- Static Public Attributes inherited from Asn1Type
static readonly Asn1Tag _TAG
 

Properties

int Value [get]
 
- Properties inherited from Asn1Type
virtual String AsnTypeName [get]
 
virtual int Length [get]
 

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() [1/2]

The default constructor sets the enumerated value to undefined.

◆ Asn1Enumerated() [2/2]

Asn1Enumerated ( int  value_)

This constructor creates an enumerated object from a integer value.

Parameters
value_Integer value

Member Function Documentation

◆ Encode() [1/9]

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
bufferEncode message buffer object
explicitTaggingFlag indicating explicit tagging should be done
Returns
Length of component or negative status value

Reimplemented from Asn1Type.

References Asn1BerEncodeBuffer.EncodeIntValue(), and Asn1BerEncodeBuffer.EncodeTagAndLength().

◆ Encode() [2/9]

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
bufferPER Encode message buffer object
lowerSmallest enumerated value in the set
upperLargest enumerated value in the set

References Asn1PerEncodeBuffer.EncodeConsWholeNumber(), Asn1OerEncodeBuffer.EncodeIntSigned(), Asn1XerEncoder.EncodeNamedValue(), Asn1EncodeBuffer.GetMinimalOctetsSigned(), and Diag.Prtln().

◆ Encode() [3/9]

override void Encode ( Asn1OerEncodeBuffer  buffer)
virtual

Encode enumerated value according to OER.

Reimplemented from Asn1Type.

◆ Encode() [4/9]

override void Encode ( Asn1XerEncoder  buffer,
System.String  elemName 
)
virtual

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

Parameters
bufferEncode message buffer object
elemNameElement name

Reimplemented from Asn1Type.

◆ Encode() [5/9]

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
bufferEncode message buffer object

References Asn1XmlEncoder.EncodeNamedValue(), and Asn1XerEncodeBuffer.EncodeNamedValueElement().

◆ Encode() [6/9]

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
bufferEncode message buffer object
elemNameElement name
nsPrefixElement namespace value

Reimplemented from Asn1Type.

◆ Encode() [7/9]

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
bufferEncode message buffer object
elemNameElement name
nsPrefixXML element name space prefix
asTextIf true, encode the value as XML text, otherwise encode as an empty element.

References Asn1XmlXerEncoder.Copy(), Asn1XmlEncoder.EncodeEmptyElement(), Asn1XmlEncoder.EncodeEndElement(), and Asn1XmlEncoder.EncodeStartElement().

◆ Encode() [8/9]

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
outsBER Output Stream object
explicitTaggingFlag indicating explicit tagging should be done
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

◆ Encode() [9/9]

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
outsPER Output Stream object
lowerSmallest enumerated value in the set
upperLargest enumerated value in the set
Exceptions
Asn1ExceptionThrown, if operation is failed.

◆ Equals() [1/2]

virtual bool Equals ( int  value)
virtual

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

Parameters
valueThe 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.

◆ Equals() [2/2]

override bool Equals ( System.Object  value)

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

Parameters
valueThe 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.

References Asn1Enumerated.mValue.

◆ GetHashCode()

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.

◆ ParseValue()

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
valueenumeration text
Returns
Stringified representation of the value

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

◆ ToString()

override System.String ToString ( )

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

Returns
Stringified representation of the value

References Asn1BerOutputStream.EncodeIntValue(), Asn1BerOutputStream.EncodeTag(), Asn1Type.ENUMERATED, Asn1Tag.PRIM, and Asn1Tag.UNIV.

Member Data Documentation

◆ _TAG

new readonly Asn1Tag _TAG
static

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

◆ mValue

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.

Referenced by Asn1Enumerated.Equals().

◆ UNDEFINED

const int UNDEFINED = - 999

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

Property Documentation

◆ Value

int Value
get

The integer value associated with this enumerated value.