ASN1C C# Runtime Library  7.8
Public Member Functions | Public Attributes | List of all members
Asn1VarWidthCharString Class Reference
Inheritance diagram for Asn1VarWidthCharString:
Asn1CharString Asn1Type Asn1TypeIF Asn1GeneralString Asn1GraphicString Asn1ObjectDescriptor Asn1T61String Asn1VideotexString

Public Member Functions

override void Decode (Asn1PerDecodeBuffer buffer)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, long upper)
 
override void Decode (Asn1OerDecodeBuffer buffer)
 
override void Encode (Asn1PerEncodeBuffer buffer)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
 
override void Encode (Asn1OerEncodeBuffer buffer)
 
override void Encode (Asn1PerOutputStream outs)
 
virtual void Encode (Asn1PerOutputStream outs, long lower, long upper)
 
- Public Member Functions inherited from Asn1CharString
void DecodeByteToChar (Asn1OerDecodeBuffer buffer, int length)
 
virtual void DecodeXER (System.String buffer, System.String attrs)
 
override void DecodeXML (System.String buffer, System.String attrs)
 
override void Encode (Asn1XerEncoder buffer, System.String elemName)
 
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
 
bool Equals (System.String value)
 
override bool Equals (System.Object value)
 
override int GetHashCode ()
 
override System.String ToString ()
 
bool validate (Asn1CharSet charSet)
 
- 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 (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, bool explicitTagging)
 
virtual int Encode (Asn1BerEncodeBuffer 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 (Asn1BerOutputStream outs, bool explicitTagging)
 
virtual void Encode (Asn1CerOutputStream outs, bool explicitTagging)
 
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 ()
 

Public Attributes

const int BITSPERCHAR_A = 8
 
const int BITSPERCHAR_U = 8
 
- Public Attributes inherited from Asn1CharString
System.String mValue
 
- 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
 

Additional Inherited Members

- 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)
 
- Static Public Attributes inherited from Asn1Type
static readonly Asn1Tag _TAG
 
- Static Protected Member Functions inherited from Asn1CharString
static void DecodeInternal (Asn1PerDecodeBuffer buffer, System.Text.StringBuilder stringBuffer, int abpc, int ubpc, Asn1CharSet charSet)
 
static int Encode (Asn1BerEncodeBuffer buffer, String val, bool explicitTagging, Asn1Tag tag)
 
- Properties inherited from Asn1CharString
override int Length [get]
 
- Properties inherited from Asn1Type
virtual String AsnTypeName [get]
 
virtual int Length [get]
 

Detailed Description

This is an abstract base class for holding the ASN.1 variable width character string types (GraphicString, GeneralString, TeletexString, T61String, VideotexString, ObjectDescriptor).

Member Function Documentation

◆ Decode() [1/3]

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

Reimplemented from Asn1Type.

◆ Decode() [2/3]

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
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 a size constraint is present. A permitted alphabet may be passed, but it will be ignored.

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

Parameters
bufferDecode message buffer object
lowerEffective size constraint lower bound
upperEffective size constraint upper bound

◆ Decode() [3/3]

override void Decode ( Asn1OerDecodeBuffer  buffer)
virtual

Decode the value in accordance with OER.

Subclasses may override this to add constraint checks after invoking this method to decode the string.

Reimplemented from Asn1Type.

◆ Encode() [1/5]

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

Reimplemented from Asn1Type.

◆ Encode() [2/5]

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
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 a size constraint is present. A permitted alphabet may be passed, but it will be ignored.

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

Parameters
bufferEncode message buffer object
lowerEffective size constraint lower bound
upperEffective size constraint upper bound

References Asn1OerDecodeBuffer.DecodeLength().

◆ Encode() [3/5]

override void Encode ( Asn1OerEncodeBuffer  buffer)
virtual

Encode the value in accordance with OER.

We're assuming each char is encoded in a single byte of the same value as the char.

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

Reimplemented from Asn1Type.

References Asn1OerEncodeBuffer.EncodeLength().

◆ Encode() [4/5]

override void Encode ( Asn1PerOutputStream  outs)
virtual

This method encodes an ASN.1 character string value in accordance with the packed encoding rules (PER) directly into the stream. 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 Asn1PerOutputStream.

Parameters
outsPER Encode message stream object
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

◆ Encode() [5/5]

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

This overloaded version of the encode method encodes an ASN.1 character string value directly into the stream, in accordance with the packed encoding rules (PER). This version of the method assumes a size constraint is present. A permitted alphabet may be passed, but it will be ignored.

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

Also throws any exception thrown by the Asn1PerOutputStream.

Parameters
outsPER Encode message stream object
lowerEffective size constraint lower bound
upperEffective size constraint upper bound
Exceptions
Asn1ExceptionThrown, if operation is failed.

Member Data Documentation

◆ BITSPERCHAR_A

const int BITSPERCHAR_A = 8

The BITSPERCHAR_A constant specifies the number of bits per character for PER (aligned).

◆ BITSPERCHAR_U

const int BITSPERCHAR_U = 8

The BITSPERCHAR_U constant specifies the number of bits per character for PER (unaligned).