Asn1ObjectIdentifier Class Reference

Inheritance diagram for Asn1ObjectIdentifier:
Asn1Type Asn1TypeIF Asn1RelativeOID

List of all members.

Public Member Functions

virtual void Append (int[] value2)
 Asn1ObjectIdentifier (int[] value)
 Asn1ObjectIdentifier ()
virtual void Decode (Asn1JsonDecodeBuffer buffer)
override void Decode (Asn1PerDecodeBuffer buffer)
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)
override void Encode (Asn1PerOutputStream outs)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
virtual void Encode (Asn1JsonOutputStream outstream)
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
override void Encode (Asn1XerEncoder buffer, System.String elemName)
override void Encode (Asn1PerEncodeBuffer buffer)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
override bool Equals (System.Object value)
override int GetHashCode ()
override System.String ToString ()
String ToXMLValue ()

Public Attributes

const int MAXSUBIDS = 128
int[] mValue

Static Public Attributes

static new readonly Asn1Tag _TAG

Protected Member Functions

virtual void Validate ()

Detailed Description

This is a container class for holding the components of an ASN.1 object identifier value.


Constructor & Destructor Documentation

This constructor creates an empty object identifier that can be used in a Decode method call to receive an OID value.

Asn1ObjectIdentifier ( int[]  value  ) 

This constructor initializes the object identifier from the given array of integer subidentifier values.

Parameters:
value Array of subidentifiers

Member Function Documentation

virtual void Append ( int[]  value2  )  [virtual]

This method appends an object identifier value onto the existing value. A typical use of this method would be for SNMP objects to create the base and index parts.

Parameters:
value2 Array of subidentifiers to append
virtual void Decode ( Asn1JsonDecodeBuffer  buffer  )  [virtual]

Decode ASN.1 OBJECT-IDENTIFIER from JSON.

override void Decode ( Asn1PerDecodeBuffer  buffer  )  [virtual]

This method decodes an ASN.1 object identifier value using the packed encoding rules (PER).

Parameters:
buffer Decode message buffer object

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

override void Decode ( Asn1BerDecodeBuffer  buffer,
bool  explicitTagging,
int  implicitLength 
) [virtual]

This method decodes an ASN.1 object identifier value including the UNIVERSAL tag value and length if explicit tagging is specified.

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

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

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

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

Parameters:
buffer String containing data to be decoded
attrs Attributes string from element tag

Reimplemented in Asn1RelativeOID.

override void DecodeXML ( System.String  buffer,
System.String  attrs 
)

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

Parameters:
buffer String containing data to be decoded
attrs Attributes string from element tag

Reimplemented in Asn1RelativeOID.

override void Encode ( Asn1PerOutputStream  outs  )  [virtual]

This method encodes an ASN.1 object identifier value using the packed encoding rules (PER).

The value to be encoded is stored in the mValue public member variable within this class.

Also throws any exception thrown by the underlying Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
Exceptions:
Asn1Exception Thrown, if operation is failed.

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

override void Encode ( Asn1BerOutputStream  outs,
bool  explicitTagging 
) [virtual]

This method encodes and writes to the stream an ASN.1 object identifier 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.

Reimplemented in Asn1RelativeOID.

virtual void Encode ( Asn1JsonOutputStream  outstream  )  [virtual]

Encode this object identifier to JSON.

override void Encode ( Asn1XmlEncoder  buffer,
System.String  elemName,
System.String  nsPrefix 
) [virtual]

This method encodes an ASN.1 object identifier value using the XML Encoding as specified in the XML schema standard(asn2xsd).

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

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

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

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

Parameters:
buffer Encode message buffer object
elemName Element name

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

override void Encode ( Asn1PerEncodeBuffer  buffer  )  [virtual]

This method encodes an ASN.1 object identifier value using the packed encoding rules (PER).

The value to be encoded is stored in the mValue public member variable within this class.

Parameters:
buffer Encode message buffer object

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
) [virtual]

This method encodes an ASN.1 object identifier value including the UNIVERSAL tag value and length if explicit tagging is specified.

Parameters:
buffer Encode message buffer object
explicitTagging Flag indicating explicit tagging should be done
Returns:
Length of encoded component in octets

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

override bool Equals ( System.Object  value  ) 

This method compares this object identifier to the given one for equality.

Parameters:
value The Object to compare with the current Object. Object should be instance of Asn1ObjectIdentifier.
Returns:
true if the specified Object 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.
override System.String ToString (  ) 

This method will return a string representation of the OID value. The format is the ASN.1 value format for this type. Note that textual subidentifiers are not used, only numeric values..

Returns:
Stringified representation of the value
String ToXMLValue (  ) 

Return the XML value representation (defined in X.680) for this object identifier.

Exceptions:
Asn1InvalidObjectIDException if this is not a valid value.
virtual void Validate (  )  [protected, virtual]

Do some minimal validation. Subclasses may override this to adjust for their validation rules (e.g. Asn1RelativeOID overrides this to be more lax). Minimally, the implementation should enforce that value is not null and that there is at least one arc.

Exceptions:
Asn1InvalidObjectIDException if validation fails

Reimplemented in Asn1RelativeOID.


Member Data Documentation

new readonly Asn1Tag _TAG [static]

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

Reimplemented from Asn1Type.

Reimplemented in Asn1RelativeOID.

const int MAXSUBIDS = 128

The MAXSUBIDS constant specifies the maximum number of subidentifiers that can appear in an OID value (128).

int [] mValue

The mValue public member variable is where the object identifier value is stored.