Asn1BMPString Class Reference

Inheritance diagram for Asn1BMPString:
Asn1CharString Asn1Type Asn1TypeIF

List of all members.

Public Member Functions

 Asn1BMPString (System.String data)
 Asn1BMPString ()
void Decode (Asn1OerDecodeBuffer buffer, int length)
override void Decode (Asn1OerDecodeBuffer buffer)
virtual void Decode (Asn1PerDecodeBuffer buffer, Asn1CharSet charSet, long lower, long upper)
virtual void Decode (Asn1PerDecodeBuffer buffer, Asn1CharSet charSet)
override void Decode (Asn1PerDecodeBuffer buffer)
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
virtual void Encode (Asn1PerOutputStream outs, Asn1CharSet charSet, long lower, long upper)
virtual void Encode (Asn1PerOutputStream outs, Asn1CharSet charSet)
override void Encode (Asn1PerOutputStream outs)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
virtual void Encode (Asn1OerEncodeBuffer buffer, bool withLength)
override void Encode (Asn1OerEncodeBuffer buffer)
virtual void Encode (Asn1PerEncodeBuffer buffer, Asn1CharSet charSet, long lower, long upper)
virtual void Encode (Asn1PerEncodeBuffer buffer, Asn1CharSet charSet)
override void Encode (Asn1PerEncodeBuffer buffer)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)

Public Attributes

const int BITSPERCHAR = 16

Static Public Attributes

static new readonly Asn1Tag _TAG

Detailed Description

This is a container class for holding the components of an ASN.1 BMP string value.


Constructor & Destructor Documentation

Asn1BMPString (  ) 

The default constructor creates an empty string object.

Asn1BMPString ( System.String  data  ) 

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

Parameters:
data string representation of BMPString

Member Function Documentation

void Decode ( Asn1OerDecodeBuffer  buffer,
int  length 
)

Decode the value in accordance with OER.

This class's implementation decodes a string of the given length. This method is non-virtual as I don't see any reason for overriding it.

Parameters:
length Length of string to decode, in characters.
override void Decode ( Asn1OerDecodeBuffer  buffer  )  [virtual]

Decode the value in accordance with OER.

This class's implementation decodes the string with a length determinant. If a subclass should be decoded without a length determinant, it should override this method to invoke decode(buffer, length). Subclasses may override this to add constraint checks after invoking this method to decode the string.

Reimplemented from Asn1Type.

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

This overloaded version of the Decode method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes both a size constraint and permitted alphabet constraint are present.

The decoded result is stored in the public mValue member variable in the Asn1CharString base class.

Parameters:
buffer Decode message buffer object
charSet Object representing permitted alphabet constraint character set (optional)
lower Effective size constraint lower bound
upper Effective size constraint upper bound
virtual void Decode ( Asn1PerDecodeBuffer  buffer,
Asn1CharSet  charSet 
) [virtual]

This method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes no size constraints but allows a permitted alphabet character set to be specified. Decoded characters are assigned as-is to the output string. The decoded result is stored in the public mValue member variable in the Asn1CharString base class.

Parameters:
buffer Decode message buffer object
charSet Object representing permitted alphabet constraint character set (optional)
override void Decode ( Asn1PerDecodeBuffer  buffer  )  [virtual]

This method decodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes no permitted alphabet or size constraints. Decoded characters are assigned as-is to the output string. The decoded result is stored in the public mValue member variable in the Asn1CharString base class.

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 BMP string value including the UNIVERSAL tag value and length if explicit tagging is specified. This string type uses 16-bit characters.

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

Reimplemented from Asn1Type.

virtual void Encode ( Asn1PerOutputStream  outs,
Asn1CharSet  charSet,
long  lower,
long  upper 
) [virtual]

This overloaded version of the encode method encodes an ASN.1 BMP string value in accordance with the packed encoding rules (PER). This version of the method assumes both a size constraint and permitted alphabet constraint are present.

The value to encode is stored in the public mValue member variable.

Also throws any exception thrown by the underlying Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
charSet Object representing the permitted alphabet constraint character set (optional)
lower Effective size constraint lower bound
upper Effective size constraint upper bound
Exceptions:
Asn1Exception Thrown, if operation is failed.
virtual void Encode ( Asn1PerOutputStream  outs,
Asn1CharSet  charSet 
) [virtual]

This method encodes an ASN.1 BMP string value in accordance with the packed encoding rules (PER). This version of the method assumes no size constraints but does allow a permitted alphabet character set to be specified.

The value to encode is stored in the public mValue member variable in the Asn1CharString base class.

Also throws any exception thrown by the underlying Asn1PerOutputStream.

Parameters:
outs PER Output Stream object
charSet Object representing permitted alphabet constraint character set (optional)
Exceptions:
Asn1Exception Thrown, if operation is failed.
override void Encode ( Asn1PerOutputStream  outs  )  [virtual]

This method encodes an ASN.1 BMP string value in accordance with the packed encoding rules (PER). This version of the method assumes no permitted alphabet or size constraints.

The value to encode is stored in the public mValue member variable in the Asn1CharString base 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.

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

This method encodes and writes to the stream an ASN.1 BMP string 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 the underlying System.IO.Stream object.

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 ( Asn1OerEncodeBuffer  buffer,
bool  withLength 
) [virtual]

Encode the string, with or without a length determinant.

Subclasses may override this (e.g. to add constraint checks) and invoke this method to perform the encoding.

Parameters:
withLength true if a length determinant should be encoded.
override void Encode ( Asn1OerEncodeBuffer  buffer  )  [virtual]

Encode the value in accordance with OER.

This class's implementation invokes encode(buffer, true) to encode the string with a length determinant. If a subclass should be encoded without a length determinant, it should override this to invoke encode(buffer, false).

Reimplemented from Asn1Type.

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

This overloaded version of the encode method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes both a size constraint and permitted alphabet constraint are present.

The value to encode is stored in the public mValue member variable.

Parameters:
buffer Encode message buffer object
charSet Object representing the permitted alphabet constraint character set
lower Effective size constraint lower bound
upper Effective size constraint upper bound
virtual void Encode ( Asn1PerEncodeBuffer  buffer,
Asn1CharSet  charSet 
) [virtual]

This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes no size constraints but does allow a permitted alphabet character set to be specified.

The value to encode is stored in the public mValue member variable in the Asn1CharString base class.

Parameters:
buffer Encode message buffer object
charSet Object representing permitted alphabet constraint character set (optional)
override void Encode ( Asn1PerEncodeBuffer  buffer  )  [virtual]

This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER). This version of the method assumes no permitted alphabet or size constraints.

The value to encode is stored in the public mValue member variable in the Asn1CharString base class.

Parameters:
buffer Encode message buffer object

Reimplemented from Asn1Type.

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

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


Member Data Documentation

new readonly Asn1Tag _TAG [static]

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

Reimplemented from Asn1Type.

const int BITSPERCHAR = 16

The BITSPERCHAR constant specifies the number of bits per character for PER (aligned or unaligned).