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

Public Member Functions

override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
 
override void Decode (Asn1PerDecodeBuffer buffer)
 
virtual void DecodeComponent (Asn1BerDecodeBuffer buffer)
 
virtual void DecodeEventComponent (Asn1BerDecodeBuffer buffer)
 
virtual Asn1OpenType DecodeOpenType (Asn1PerDecodeBuffer buffer, bool present, int index)
 
Asn1OpenType DecodeOpenType (Asn1OerDecodeBuffer buffer, bool present, int index)
 
override void Encode (Asn1OerEncodeBuffer buffer)
 
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
 
override void Encode (Asn1PerEncodeBuffer buffer)
 
override void Encode (Asn1XerEncoder buffer)
 
override void Encode (Asn1XmlEncoder buffer)
 
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
 
override void Encode (Asn1PerOutputStream outs)
 
void EncodeExtBits (Asn1OerEncodeBuffer buffer)
 
virtual void EncodeExtBits (Asn1PerEncodeBuffer buffer)
 
bool HasPresentExtensions ()
 
virtual void SetOpenType (Asn1OpenType obj, int index)
 
virtual void ShrinkArray (int numrecs)
 
override System.String ToString ()
 
- Public Member Functions inherited from Asn1Type
void _SetKey (byte[] rtkey)
 
virtual void Decode (Asn1BerDecodeBuffer buffer)
 
virtual void Decode (Asn1OerDecodeBuffer 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 (Asn1XerEncoder buffer, System.String elemName)
 
virtual void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
 
virtual void Encode (Asn1XmlEncodeBuffer buffer)
 
virtual void Encode (Asn1MderOutputStream buffer)
 
virtual void Encode (Asn1MderOutputStream buffer, bool useCachedLength)
 
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

System.Collections.ArrayList 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
 
- Properties inherited from Asn1Type
virtual String AsnTypeName [get]
 
virtual int Length [get]
 

Detailed Description

This is a container class for holding open type elements that may occur within an open type extension (i.e. a ... at the end of a constructed type or a ..., ... at some other point in a constructed type).

Member Function Documentation

◆ Decode() [1/2]

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

This method decodes an ASN.1 open type extension value using the Basic Encoding Rules (BER).

Parameters
bufferDecode message buffer object
explicitTaggingFlag indicating element is explicitly tagged
implicitLengthLength if implicit element

Reimplemented from Asn1Type.

◆ Decode() [2/2]

override void Decode ( Asn1PerDecodeBuffer  buffer)
virtual

This method decodes an open type extension in a SEQUENCE or SET construct using the packed encoding rules (PER). This method will capture each extension item in a separate open type object and store it in the mValue public member list variable. If optional items are absent, null placeholders will be inserted in the list.

Parameters
bufferDecode message buffer object

Reimplemented from Asn1Type.

References Asn1PerDecodeBuffer.DecodeBit(), and Asn1PerDecodeBuffer.DecodeSmallLength().

◆ DecodeComponent()

virtual void DecodeComponent ( Asn1BerDecodeBuffer  buffer)
virtual

This method decodes a single component of a BER open type extension by decoding an open type value and appending it to the list of open type objects.

Parameters
bufferDecode message buffer object

References Asn1OpenType.Decode().

◆ DecodeEventComponent()

virtual void DecodeEventComponent ( Asn1BerDecodeBuffer  buffer)
virtual

This method decodes a single component of a BER open type extension by decoding an open type value and appending it to the list of open type objects, this function also triggers event handler code, with element name "..."

Parameters
bufferDecode message buffer object

◆ DecodeOpenType() [1/2]

virtual Asn1OpenType DecodeOpenType ( Asn1PerDecodeBuffer  buffer,
bool  present,
int  index 
)
virtual

This method decodes a single open type extension item in a SEQUENCE or SET construct using the packed encoding rules (PER). It will then add the item to the open extension element list.

Parameters
bufferDecode message buffer object
presentFlag indicating whether element is present
indexIndex of element in the object array
Returns
Decoded open type

References Asn1OpenType.Decode().

◆ DecodeOpenType() [2/2]

Asn1OpenType DecodeOpenType ( Asn1OerDecodeBuffer  buffer,
bool  present,
int  index 
)

This method decodes a single open type extension item in a SEQUENCE or SET construct using the octet encoding rules (OER). It will then add the item to the open extension element list.

Parameters
bufferDecode message buffer object
presentFlag indicating whether element is present.
indexIndex of element in the object array. If index >= value.Count, the item is appended to the list (all such values of index thus have the same behavior).

◆ Encode() [1/7]

override void Encode ( Asn1OerEncodeBuffer  buffer)
virtual

This method encodes the ASN.1 open type extensions using Octet Encoding Rules (OER).

Parameters
bufferEncode message buffer object

Reimplemented from Asn1Type.

References Asn1OpenType.Encode().

◆ Encode() [2/7]

override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
)
virtual

This method encodes an ASN.1 open type extension value using the Basic Encoding Rules (BER).

Parameters
bufferEncode message buffer object
explicitTaggingFlag indicating element is explicitly tagged
Returns
Length of encoded component

Reimplemented from Asn1Type.

References Asn1OpenType.Encode().

◆ Encode() [3/7]

override void Encode ( Asn1PerEncodeBuffer  buffer)
virtual

This method encodes an ASN.1 open type extension value using the Packed Encoding Rules (PER).

Parameters
bufferEncode message buffer object

Reimplemented from Asn1Type.

References Asn1OpenType.Encode().

◆ Encode() [4/7]

override void Encode ( Asn1XerEncoder  buffer)
virtual

This method encodes an ASN.1 open type extension value using the XML Encoding Rules (XER).

Parameters
bufferEncode message buffer object

Reimplemented from Asn1Type.

◆ Encode() [5/7]

override void Encode ( Asn1XmlEncoder  buffer)
virtual

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

Parameters
bufferEncode message buffer object

Reimplemented from Asn1Type.

◆ Encode() [6/7]

override void Encode ( Asn1BerOutputStream  outs,
bool  explicitTagging 
)
virtual

This method encodes an ASN.1 open type extension value using the Basic Encoding Rules (BER) and writes it into the stream.

Also throws any exception thrown by the underlying Asn1BerOutputStream.

Parameters
outsBER Output Stream object
explicitTaggingFlag indicating element is explicitly tagged
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

◆ Encode() [7/7]

override void Encode ( Asn1PerOutputStream  outs)
virtual

This method encodes an ASN.1 open type extension value using the Packed Encoding Rules (PER).

Also throws any exception thrown by the underlying Asn1PerOutputStream.

Parameters
outsPER Output Stream object
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

◆ EncodeExtBits() [1/2]

void EncodeExtBits ( Asn1OerEncodeBuffer  buffer)

This method encodes an ASN.1 open type extension value bits using the Packed Encoding Rules (PER).

Parameters
bufferEncode message buffer object

◆ EncodeExtBits() [2/2]

virtual void EncodeExtBits ( Asn1PerEncodeBuffer  buffer)
virtual

This method encodes an ASN.1 open type extension value bits using the Packed Encoding Rules (PER).

Parameters
bufferEncode message buffer object

References Asn1PerEncodeBuffer.EncodeBit().

◆ HasPresentExtensions()

bool HasPresentExtensions ( )

Return true if this contains present extensions. Null values in the value list represent absent extensions.

◆ SetOpenType()

virtual void SetOpenType ( Asn1OpenType  obj,
int  index 
)
virtual

This method will add the given open type object to the open extension element list at the given index.

Parameters
objOpen type object
indexIndex in open type list where element is to be placed

References Asn1MessageBufferBase.Context, Asn1OpenType.Decode(), Asn1Context.EventDispatcher, Asn1MessageBuffer.InvokeCharacters(), and Asn1OpenType.ToString().

◆ ShrinkArray()

virtual void ShrinkArray ( int  numrecs)
virtual

This method adjusts the size of the open type component array downward to the given size value.

Parameters
numrecsNumber of entries the array should hold

References Asn1OpenType.Decode(), Asn1OpenType.EncodeAsExtension(), and Asn1Type.Indent().

◆ ToString()

override System.String ToString ( )

This method will return a string representation of the open extension value. The format is the ASN.1 value format for each open type in the extension.

Returns
Stringified representation of the value

References Asn1OpenType.Encode(), and Asn1OpenType.ToString().

Member Data Documentation

◆ mValue

System.Collections.ArrayList mValue
Initial value:
=
new System.Collections.ArrayList()

The value is a list of Asn1OpenType objects. Each of these objects contains a fully encoded extension item.