ASN1C C# Runtime Library  7.4
Public Member Functions | Public Attributes | List of all members
Asn1ChoiceExt Class Reference
Inheritance diagram for Asn1ChoiceExt:
Asn1OpenType Asn1OctetString Asn1Type Asn1TypeIF

Public Member Functions

 Asn1ChoiceExt ()
 
 Asn1ChoiceExt (byte[] data)
 
 Asn1ChoiceExt (byte[] data, int encoding)
 
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
 
override void Decode (Asn1PerDecodeBuffer buffer)
 
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
 
override void Encode (Asn1PerEncodeBuffer buffer)
 
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
 
override void Encode (Asn1PerOutputStream outs)
 
- Public Member Functions inherited from Asn1OpenType
 Asn1OpenType ()
 
 Asn1OpenType (byte[] data)
 
 Asn1OpenType (byte[] data, int encoding)
 
 Asn1OpenType (byte[] data, int offset, int nbytes)
 
 Asn1OpenType (byte[] data, int offset, int nbytes, int encoding)
 
 Asn1OpenType (Asn1EncodeBuffer buffer)
 
 Asn1OpenType (string data, int encoding)
 
 Asn1OpenType (char[] data, int encoding)
 
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
 
override void Decode (Asn1PerDecodeBuffer buffer)
 
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
 
override void Encode (Asn1PerEncodeBuffer buffer)
 
override void Encode (Asn1XmlEncoder buffer, String elemName, String nsPrefix)
 
override void Encode (Asn1XmlEncoder buffer)
 
override void Encode (Asn1XerEncoder buffer, String elemName)
 
override void Encode (Asn1XerEncoder buffer)
 
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
 
override void Encode (Asn1PerOutputStream outs)
 
void EncodeAsExtension (Asn1XmlEncoder buffer)
 
void EncodeAsExtension (Asn1XerEncoder buffer)
 
char [] GetCharData ()
 
int GetDataEncoding ()
 
virtual Asn1XerSaxHandler GetSaxHandler ()
 
virtual Asn1XerSaxHandler GetSaxHandler (bool captureOuterElem)
 
void SetBinaryData (byte[] data, int encoding)
 
void SetCharData (String data, int encoding)
 
void SetCharData (char[] data, int encoding)
 
override System.String ToString ()
 
- Public Member Functions inherited from Asn1OctetString
 Asn1OctetString ()
 
 Asn1OctetString (byte[] data)
 
 Asn1OctetString (byte[] data, int offset, int nbytes)
 
 Asn1OctetString (System.String value)
 
virtual int CompareTo (System.Object octstr)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, long upper)
 
virtual void DecodeXER (System.String buffer, System.String attrs, bool base64)
 
override void DecodeXML (System.String buffer, System.String attrs)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
 
override void Encode (Asn1XerEncoder buffer, System.String elemName)
 
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
 
virtual void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix, bool base64)
 
virtual void Encode (Asn1PerOutputStream outs, long lower, long upper)
 
override void EncodeAttribute (Asn1XmlEncoder buffer, System.String attrName)
 
bool Equals (byte[] value)
 
bool Equals (String s)
 
override bool Equals (System.Object value)
 
override int GetHashCode ()
 
virtual System.IO.Stream toInputStream ()
 
override System.String ToString ()
 
- Public Member Functions inherited from Asn1Type
void _SetKey (byte[] rtkey)
 
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 DecodeXML (String buffer, String attrs)
 
virtual int Encode (Asn1BerEncodeBuffer buffer)
 
virtual void Encode (Asn1CerOutputStream outs, bool explicitTagging)
 
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

short choiceIndex
 
Asn1Tag tag = null
 
- Public Attributes inherited from Asn1OctetString
byte [] 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 Asn1OctetString
static System.String EncodeBase64Binary (byte[] data)
 
- 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 (Asn1PerDecodeBuffer buffer, Asn1OpenTypeField openTypeField)
 
static System.String GetTypeName (short typeCode)
 
- Static Public Attributes inherited from Asn1OctetString
static new readonly Asn1Tag _TAG
 
- Static Public Attributes inherited from Asn1Type
static readonly Asn1Tag _TAG
 
- Protected Attributes inherited from Asn1OpenType
int dataEncoding
 
- Properties inherited from Asn1OctetString
override int Length [get]
 
- Properties inherited from Asn1Type
virtual String AsnTypeName [get]
 
virtual int Length [get]
 

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).

For BER, data is expected to be a full TLV. For PER, data is the encoding of the actual type; choiceIndex is the PER choice index. For OER, data is the encoding of the actual type; tag is the OER tag.

Constructor & Destructor Documentation

◆ Asn1ChoiceExt() [1/3]

This constructor creates an empty type that can be used in a Decode method call to receive an encoded value. The data encoding is UNKNOWN.

◆ Asn1ChoiceExt() [2/3]

Asn1ChoiceExt ( byte []  data)

This constructor initializes an open type from the given byte array. The array is assumed to contain a previously encoded message component. The data encoding is UNKNOWN.

Parameters
dataByte array containing a previously encoded message component.

◆ Asn1ChoiceExt() [3/3]

Asn1ChoiceExt ( byte []  data,
int  encoding 
)

This constructor initializes an open type from the given byte array. The array is assumed to contain a previously encoded message component.

Parameters
dataByte array containing a previously encoded value.
encodingThe encoding that describes the meaning of data. Any of the encodings other than JSON.

Member Function Documentation

◆ Decode() [1/2]

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

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

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

Reimplemented from Asn1Type.

◆ Decode() [2/2]

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

Reimplemented from Asn1Type.

References Asn1PerDecodeBuffer.DecodeSmallNonNegWholeNumber().

◆ Encode() [1/4]

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.

◆ Encode() [2/4]

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 Asn1PerOutputStream.EncodeOpenType(), and Asn1PerEncodeBuffer.EncodeSmallNonNegWholeNumber().

◆ Encode() [3/4]

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
outsBER Output Stream object
explicitTaggingFlag indicating element is explicitly tagged

Reimplemented from Asn1Type.

◆ Encode() [4/4]

override void Encode ( Asn1PerOutputStream  outs)
virtual

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

Parameters
outsPER Output Stream object

Reimplemented from Asn1Type.

Member Data Documentation

◆ choiceIndex

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.

◆ tag

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.