Asn1OID_IRI Class Reference

Inheritance diagram for Asn1OID_IRI:
Asn1CharString Asn1Type Asn1TypeIF Asn1RELATIVE_OID_IRI

List of all members.

Public Member Functions

 Asn1OID_IRI (String data)
 Asn1OID_IRI ()
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, long upper)
override void Decode (Asn1PerDecodeBuffer buffer)
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
void Encode (Asn1PerOutputStream outs, long lower, long upper)
override void Encode (Asn1PerOutputStream outs)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
override void Encode (Asn1PerEncodeBuffer buffer)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)

Static Public Attributes

static new readonly Asn1Tag _TAG

Protected Member Functions

 Asn1OID_IRI (String data, short typeCode)
 Asn1OID_IRI (short typeCode)
virtual Asn1Tag GetTag ()
virtual short GetTagNumber ()

Detailed Description

This class represents the ASN.1 OID-IRI. It is really nothing more than a string, but it provides the decoding and encoding methods for various encoding rules.

That this class extends Asn1CharString should be considered an implementation detail. The reason for the inheritance is that, like Asn1CharString, this class is a wrapper around a String value.


Constructor & Destructor Documentation

Asn1OID_IRI ( short  typeCode  )  [protected]

The default constructor creates an empty string object.

Asn1OID_IRI (  ) 

The default constructor creates an empty string object.

Asn1OID_IRI ( String  data,
short  typeCode 
) [protected]

This constructor can be used to set the string mValue member variable to the given string value.

Parameters:
data The OID-IRI value
Asn1OID_IRI ( String  data  ) 

This constructor can be used to set the string mValue member variable to the given string value.


Member Function Documentation

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

This method decodes a sized ASN.1 OID-IRI value using the packed encoding rules (PER).

Parameters:
buffer Decode message buffer object
lower ignored
upper ignored
override void Decode ( Asn1PerDecodeBuffer  buffer  )  [virtual]

This method decodes an ASN.1 OID-IRI value using the packed encoding rules (PER).

Parameters:
buffer Decode message buffer object

Reimplemented from Asn1Type.

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

This method decodes an ASN.1 OID-IRI string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses variable length character encodings.

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

Reimplemented from Asn1Type.

void Encode ( Asn1PerOutputStream  outs,
long  lower,
long  upper 
)

This method encodes an ASN.1 OID-IRI string 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 Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
lower ignored
upper ignored
Exceptions:
Asn1Exception Thrown, if operation is failed.
override void Encode ( Asn1PerOutputStream  outs  )  [virtual]

This method encodes an ASN.1 OID-IRI string 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 Asn1PerOutputStream.

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

Reimplemented from Asn1Type.

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

This method encodes and writes to the stream an ASN.1 OID-IRI 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 ( Asn1PerEncodeBuffer  buffer,
long  lower,
long  upper 
) [virtual]

This method encodes an ASN.1 OID-IRI value using the packed encoding rules (PER).

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

Parameters:
buffer Encode message buffer object
lower ignored
upper ignored

This method encodes an ASN.1 OID-IRI 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
lower ignored
upper ignored
override void Encode ( Asn1PerEncodeBuffer  buffer  )  [virtual]

This method encodes an ASN.1 OID-IRI 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.

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

This method encodes an ASN.1 OID-IRI string type. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

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

Reimplemented from Asn1Type.

virtual Asn1Tag GetTag (  )  [protected, virtual]

Allows subclass to use a different tag by overriding this method.

Reimplemented in Asn1RELATIVE_OID_IRI.

virtual short GetTagNumber (  )  [protected, virtual]

Allows subclass to use a different tag number by overriding this method.

Reimplemented in Asn1RELATIVE_OID_IRI.


Member Data Documentation

new readonly Asn1Tag _TAG [static]
Initial value:
         new Asn1Tag (Asn1Tag.UNIV, Asn1Tag.PRIM, Asn1Type.OID_IRI)

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

Reimplemented from Asn1Type.

Reimplemented in Asn1RELATIVE_OID_IRI.