Asn1ChoiceExt Class Reference

Inheritance diagram for Asn1ChoiceExt:
Asn1OpenType Asn1OctetString Asn1Type Asn1TypeIF

List of all members.

Public Member Functions

override void Decode (Asn1PerDecodeBuffer buffer)
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
override void Encode (Asn1OerEncodeBuffer buffer)
override void Encode (Asn1PerOutputStream outs)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
override void Encode (Asn1PerEncodeBuffer buffer)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)

Public Attributes

short choiceIndex
Asn1Tag tag = null

Detailed Description

This is a container class for holding a CHOICE open type extension element. This class is used for 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

override void Decode ( Asn1PerDecodeBuffer  buffer  )  [virtual]

This method decodes an open type extension in a CHOICE construct using the packed encoding rules (PER). This method will capture the extension item in an open type object and store it in the mValue public member list variable. The public member variable choiceIndex will be populated with the decoded choice index value.

Parameters:
buffer Decode message buffer object

Reimplemented from Asn1OpenType.

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

This method decodes an extension field using the Basic Encoding Rules (BER).

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

Reimplemented from Asn1OpenType.

override void Encode ( Asn1OerEncodeBuffer  buffer  )  [virtual]

Encode this unknown choice extension using the Octet Encoding Rules (OER). This uses this object's tag as the tag, and then encodes the value field as open type content.

Reimplemented from Asn1OpenType.

override void Encode ( Asn1PerOutputStream  outs  )  [virtual]

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

Parameters:
outs PER Output Stream object

Reimplemented from Asn1OpenType.

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

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

Parameters:
outs BER Output Stream object
explicitTagging Flag indicating element is explicitly tagged

Reimplemented from Asn1OpenType.

override void Encode ( Asn1PerEncodeBuffer  buffer  )  [virtual]

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

Parameters:
buffer Encode message buffer object

Reimplemented from Asn1OpenType.

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:
buffer Encode message buffer object
explicitTagging Flag indicating element is explicitly tagged
Returns:
Length of encoded component

Reimplemented from Asn1OpenType.


Member Data Documentation

short choiceIndex

The choice index value is used with the packed encoding rules (PER) when this object is used to encode/Decode a choice extension.

Asn1Tag tag = null

tag is used with OER. When decoding, it should be set to hold the decoded tag. When encoding, it is encoded as the tag for the unknown choice extension. The form (tag.mForm) is irrelevant.