ASN1C C# Runtime Library
7.4
|
Public Member Functions | |
void | _SetKey (byte[] rtkey) |
virtual void | Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength) |
virtual void | Decode (Asn1BerDecodeBuffer buffer) |
virtual void | Decode (Asn1PerDecodeBuffer 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, bool explicitTagging) |
virtual int | Encode (Asn1BerEncodeBuffer buffer) |
virtual void | Encode (Asn1PerEncodeBuffer buffer) |
virtual void | Encode (Asn1XerEncoder buffer) |
virtual void | Encode (Asn1XerEncoder buffer, System.String elemName) |
virtual void | Encode (Asn1XmlEncoder buffer) |
virtual void | Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix) |
virtual void | Encode (Asn1BerOutputStream outs, bool explicitTagging) |
virtual void | Encode (Asn1CerOutputStream outs, bool explicitTagging) |
virtual void | Encode (Asn1PerOutputStream outs) |
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 () |
Static Public Member Functions | |
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) |
Public Attributes | |
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 |
Static Public Attributes | |
static readonly Asn1Tag | _TAG |
Properties | |
virtual String | AsnTypeName [get] |
virtual int | Length [get] |
This is the base class for all ASN.1 built-in types.
void _SetKey | ( | byte [] | rtkey | ) |
This method is used with the limited run-time to set a run-time key value generated by the compiler to allow the run-time to operate on the licensed hosts. This is not used in the unlimited redistribution versions.
rtkey | Run-time key generated by ASN1C |
|
static |
This method is used with the limited run-time to set a run-time key value generated by the compiler to allow the run-time to operate on the licensed hosts. This is not used in the unlimited redistribution versions. This is the static version of _SetKey.
rtkey | Run-time key generated by ASN1C |
|
static |
This method sets a location that the runtime should check for a license file.
path | Path to check |
References Asn1BerDecodeBuffer.MatchTag(), Asn1Tag.mClass, Asn1Tag.mForm, Asn1Tag.mIDCode, and IntHolder.mValue.
|
virtual |
This method is used to Decode a message that is encoded in BER or DER format.
buffer | Decode message buffer object |
explicitTagging | Flag indicating explicit tag should be parsed from the encoded type. |
implicitLength | Length of the contents field (only required if explicitTagging is false). |
Implements Asn1TypeIF.
Reimplemented in Asn1BitString, Asn1OpenType, Asn1Real, Asn1BigInteger, Asn1UniversalString, Asn1OctetString, Asn1OpenExt, Asn1UTCTime, Asn1GeneralizedTime, Asn1ObjectIdentifier, Asn1UTF8String, Asn1Time, Asn1BMPString, Asn1OID_IRI, Asn1Boolean, Asn1ChoiceExt, Asn1X694OrderElement, Asn1Integer, Asn1RelativeOID, Asn1PrintableString, Asn1T61String, Asn1GeneralString, Asn1NumericString, Asn1VideotexString, Asn1VisibleString, Asn1Date, Asn1GraphicString, Asn1IA5String, Asn1ObjectDescriptor, Asn1TimeOfDay, Asn1DateTime, Asn1Null, Asn1Real10, Asn1Duration, and Asn1RealBase2.
Referenced by Asn1XmlUtil.CaptureElement(), Asn1Type.Decode(), Asn1Type.Encode(), and Asn1Type.EncodeAttribute().
|
virtual |
This method is used to Decode a message that is encoded in BER or DER format. This version of the method sets tagging to explicit (Asn1Tag.EXPL) and implicit length to zero.
buffer | Decode message buffer object |
References Asn1Tag.EXPL.
|
static |
Decode an open type field value from the given buffer.
buffer | Decode message buffer object |
openTypeField | Provides the actual type. |
explicitTag | if true, the value to be decoded is preceded by a tag and length, which must first be decoded. Otherwise, implicitLength provides the length of the value to be decoded. |
implicitLength | The length of the value to be decoded if explicitTag was given as false. |
References Asn1OpenTypeField.actualType, Asn1BerDecoder.Decode(), Asn1Type.Decode(), and Asn1OpenTypeField.decoder.
|
static |
Decode an open type field value from the given buffer.
buffer | Decode message buffer object |
openTypeField | Describes the actual type. |
|
virtual |
This method is the base implementation of the standard Packed Encoding Rules (PER) Decode method. It throws an exception because it should never be invoked. Inherited class implementes this method in Compiler generated code.
buffer | PER Encode message buffer object |
Asn1Exception | if invoked directly |
Implements Asn1TypeIF.
Reimplemented in Asn1AbstractTime, Asn1Real, Asn1BitString, Asn1OpenType, Asn1UniversalString, Asn1BigInteger, Asn1OctetString, Asn1UTF8String, Asn1OpenExt, Asn1BMPString, Asn1DateTime, Asn1ObjectIdentifier, Asn1TimeOfDay, Asn1Duration, Asn1Real10, Asn1Date, Asn1Boolean, Asn1OID_IRI, Asn1RelativeOID, Asn1Integer, Asn1ChoiceExt, Asn1Null, Asn1NumericString, Asn1RealBase2, Asn1VarWidthCharString, and Asn18BitCharString.
|
virtual |
This method declaration is the signature of the standard XML Encoding Rules (XER) Decode method.
Also throws any IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
reader | XML reader object |
xmlURI | URI of a source |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
|
virtual |
This method declaration is the signature of the standard XML Encoding Rules (XER) Decode method.
Also throws any IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
reader | XML reader object |
byteStream | Input byte stream object |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
|
virtual |
This method decodes the XML content of a simple type.
buffer | String containing data to be decoded |
attrs | Attributes string from element tag |
Referenced by Asn1XmlUtil.CaptureElement().
|
virtual |
This method is used to encode this data type in BER or DER format.
buffer | Encode message buffer object |
explicitTagging | Flag indicating explicit tag should be added to the encoded type. |
Implements Asn1TypeIF.
Reimplemented in Asn1BitString, Asn1OpenType, Asn1Real, Asn1UniversalString, Asn1BigInteger, Asn1OctetString, Asn1OpenExt, Asn1UTCTime, Asn1BMPString, Asn1UTF8String, Asn1GeneralizedTime, Asn1ObjectIdentifier, Asn1Boolean, Asn1DateTime, Asn1Time, Asn1OID_IRI, Asn1Integer, Asn1Date, Asn1TimeOfDay, Asn1X694OrderElement, Asn1Duration, Asn1RelativeOID, Asn1ChoiceExt, Asn1Real10, Asn1Enumerated, Asn1PrintableString, Asn1T61String, Asn1Null, Asn1GeneralString, Asn1IA5String, Asn1NumericString, Asn1VideotexString, Asn1VisibleString, Asn1GraphicString, and Asn1ObjectDescriptor.
Referenced by Asn1CerOutputStream.Encode(), and Asn1BerOutputStream.Encode().
|
virtual |
This method is used to encode a message in BER or DER format. This version of the method sets tagging to explicit (Asn1Tag.EXPL).
buffer | Decode message buffer object |
References Asn1OpenTypeField.actualType, Asn1PerDecoder.Decode(), Asn1Type.Decode(), and Asn1OpenTypeField.decoder.
|
virtual |
This method is the base implementation of the standard Packed Encoding Rules (PER) encode method. It throws an exception because it should never be invoked. Inherited class implementes this method in Compiler generated code.
buffer | PER Encode message buffer object |
Asn1Exception | if invoked directly |
Implements Asn1TypeIF.
Reimplemented in Asn1AbstractTime, Asn1BitString, Asn1Real, Asn1UniversalString, Asn1BigInteger, Asn1OpenType, Asn1OctetString, Asn1UTF8String, Asn1Integer, Asn1OpenExt, Asn1BMPString, Asn1ObjectIdentifier, Asn1Real10, Asn1DateTime, Asn1TimeOfDay, Asn1Duration, Asn1Date, Asn1Boolean, Asn1OID_IRI, Asn1RelativeOID, Asn1ChoiceExt, Asn1NumericString, Asn18BitCharString, Asn1Null, and Asn1VarWidthCharString.
|
virtual |
This method is the base implementation of the standard XML Encoding Rules (XER) encode method. This method invokes the generated method with element name set to null. This will cause the ASN.1 type name to be used as the top-level element name.
Also throws any exception thrown by the underlying stream.
buffer | XER Encode message buffer object |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
Reimplemented in Asn1OpenType, and Asn1OpenExt.
|
virtual |
This method is the base implementation of the standard XML Encoding Rules (XER) encode method. It throws an exception because it should never be invoked by compiler generated code.
Also throws any exception thrown by the underlying stream.
buffer | XER Encode message buffer object |
elemName | XML element name of item |
Asn1Exception | if invoked directly |
Implements Asn1TypeIF.
Reimplemented in Asn1BitString, Asn1Real, Asn1UniversalString, Asn1BigInteger, Asn1Integer, Asn1OctetString, Asn1CharString, Asn1ObjectIdentifier, Asn1Real10, Asn1RelativeOID, Asn1Boolean, Asn1Enumerated, and Asn1Null.
|
virtual |
This method is the base implementation of the standard XML Encoding as specified in the XML schema standard(asn2xsd). This method invokes the generated method with element name and attribute name set to null. This will cause the ASN.1 type name to be used as the top-level element name.
Also throws any exception thrown by the underlying stream.
buffer | XML Encode message buffer object |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
Reimplemented in Asn1OpenType, and Asn1OpenExt.
|
virtual |
This method is the base implementation of the standard XML Encoding as specified in the XML schema standard(asn2xsd). It throws an exception because it should never be invoked. Inherited class implementes this method in Compiler generated code.
Also throws any exception thrown by the underlying stream.
buffer | XML Encode message buffer object |
elemName | XML element name of item |
nsPrefix | Element namespace value |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
Reimplemented in Asn1BitString, Asn1AbstractTime, Asn1Real, Asn1UniversalString, Asn1BigInteger, Asn1Integer, Asn1OctetString, Asn1CharString, Asn1ObjectIdentifier, Asn1Real10, Asn1RelativeOID, Asn1Boolean, Asn1Enumerated, Asn1Null, and Asn1Base64BinaryString.
|
virtual |
This method writes to the stream an encoded ASN.1 type value 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 C# System.IO.Stream for I/O error
outs | BER Output Stream object |
explicitTagging | Flag indicating explicit tagging should be done |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
Reimplemented in Asn1BitString, Asn1Real, Asn1UniversalString, Asn1BigInteger, Asn1OctetString, Asn1Integer, Asn1OpenType, Asn1Real10, Asn1ObjectIdentifier, Asn1OpenExt, Asn1UTF8String, Asn1Boolean, Asn1BMPString, Asn1UTCTime, Asn1GeneralizedTime, Asn1RelativeOID, Asn1Enumerated, Asn1OID_IRI, Asn1Null, Asn1X694OrderElement, Asn1NumericString, Asn1ChoiceExt, Asn1Time, Asn1DateTime, Asn1TimeOfDay, Asn1Date, Asn1Duration, Asn1PrintableString, Asn1T61String, Asn1GeneralString, Asn1IA5String, Asn1VisibleString, Asn1GraphicString, Asn1ObjectDescriptor, and Asn1VideotexString.
|
virtual |
This method writes to the stream an encoded ASN.1 type value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Cer Encoding Rules (CER).
Throws, Exception thrown by C# System.IO.Stream for I/O error
outs | CER Output Stream object |
explicitTagging | Flag indicating explicit tagging should be done |
Asn1Exception | Thrown, if operation is failed. |
Reimplemented in Asn1Real10.
|
virtual |
This method is the base implementation of the standard Packed Encoding Rules (PER) encode method using output stream. It throws an exception because it should never be invoked by compiler generated code.
Also throws any exception thrown by the Asn1PerOutputStream.
outs | PER Output Stream object |
Asn1Exception | Thrown, if operation is failed. |
Implements Asn1TypeIF.
Reimplemented in Asn1BitString, Asn1Real, Asn1UniversalString, Asn1BigInteger, Asn1OctetString, Asn1Integer, Asn1AbstractTime, Asn1OpenType, Asn1Real10, Asn1ObjectIdentifier, Asn1OpenExt, Asn1UTF8String, Asn1Boolean, Asn1BMPString, Asn1RelativeOID, Asn1OID_IRI, Asn1Null, Asn1X694OrderElement, Asn1DateTime, Asn1TimeOfDay, Asn1Duration, Asn1Date, Asn18BitCharString, Asn1VarWidthCharString, and Asn1ChoiceExt.
|
virtual |
This method is the base implementation of the standard XML Encoding as specified in the XML schema standard(asn2xsd). It throws an exception because it should never be invoked by compiler generated code.
buffer | XML Encode message buffer object |
attrName | XML attribute name of item |
attribute | Element attribute value |
<throws> IOException Any exception thrown by the underlying stream. </throws> <throws> Asn1Exception Thrown, if operation is failed. </throws>
Reimplemented in Asn1Real, Asn1Integer, Asn1OctetString, Asn1Real10, Asn1Boolean, and Asn1Base64BinaryString.
References Asn1OpenTypeField.actualType, Asn1Type.Decode(), and Asn1OpenTypeField.decoder.
|
virtual |
Return true if the two objects are equal. /p> Note: in generated code, we will implement Equals(Asn1Type) rather than Equals(Object) to avoid the need to also implement HashCode. The default implementation here is to invoke Equals(Object). This is acceptable for the runtime classes, which have overridden Equals(Object).
Referenced by Asn1Choice.Equals().
String GetNonParameterizedTypeName | ( | ) |
Return this type's NonParameterizedTypeName, if set.
|
static |
This method will convert a type code into a type name as defined in the X.680 standard..
typeCode | Type code to be converted |
|
virtual |
This method will indent three spaces in the given print stream. It is used by the print methods to provide a formatted output of an encoded element value.
outs | Print stream |
level | Indentation level (no of spaces is 3 x this number) |
References Diag.Instance(), and Diag.Println().
Referenced by Asn1OpenExt.ShrinkArray().
|
virtual |
Returns open type mode for XML encoding/decoding.
true
if open type mode is on. Implements Asn1TypeIF.
|
virtual |
This method is used to check the outer level tag in an XER message to verify it matches the expected value. This method is overridden by generated code. The default implementation always returns true.
typeName | Type name to compare. |
|
virtual |
This is a diagnostics print method. It is a shorthand way to invoke the Diag object's println method.
s | diagnostics message to be printed. |
|
virtual |
This method will format and output a primitive value to the given print stream.
outs | Print output stream |
varName | Name of variable |
level | Indentation level |
Implements Asn1TypeIF.
Reimplemented in Asn1X694OrderElement, and Asn1ArrayType.
|
virtual |
This method will format and output a primitive value to the standard console output.
varName | Name of variable |
void SetNonParameterizedTypeName | ( | String | value | ) |
Set this type's NonParameterizedTypeName. The value is specified, based on the ASN.1 type, by X.680.
|
virtual |
Sets open type mode for XML encoding/decoding.
Implements Asn1TypeIF.
|
static |
Will hold tag for possible definitions
const short BIT_STRING = 3 |
BIT_STRING type code = 3
Referenced by Asn1BitString.BaseDecode(), Asn1BitString.Clear(), and Asn1BitString.Encode().
const short BMPString = 30 |
BMPString type code = 30
Referenced by Asn1BMPString.Decode(), and Asn1BMPString.Encode().
const short BOOLEAN = 1 |
BOOLEAN type code = 1
Referenced by Asn1Boolean.Asn1Boolean().
const short DATE = 31 |
DATE type code = 31
Referenced by Asn1Date.Encode().
const short ENUMERATED = 10 |
ENUMERATED type code = 10
Referenced by Asn1X694OrderElement.Decode(), Asn1BerDecodeBuffer.DecodeEnumValue(), Asn1X694OrderElement.Encode(), Asn1Tag.ToString(), and Asn1Enumerated.ToString().
const short EOC = 0 |
EOC type code = 0
Referenced by Asn1BerDecodeContext.Expired(), Asn1Tag.IsEOC(), and Asn1Tag.ToString().
const short EXTERNAL = 8 |
EXTERNAL type code = 8
const short GeneralString = 27 |
GeneralString type code = 27
Referenced by Asn1GeneralString.Encode().
const short GeneralTime = 24 |
GeneralTime type code = 24
const short GraphicString = 25 |
GraphicString type code = 25
Referenced by Asn1GraphicString.Encode().
const short IA5String = 22 |
IA5String type code = 22
Referenced by Asn1IA5String.Asn1IA5String().
const short INTEGER = 2 |
INTEGER type code = 2
Referenced by Asn1Integer.Asn1Integer(), Asn1Integer.Decode(), Asn1Integer.DecodeValue(), Asn1BigInteger.DecodeValue(), Asn1BigInteger.Encode(), and Asn1Integer.Encode().
const short NULL = 5 |
NULL type code = 5
Referenced by Asn1Null.Encode(), and Asn1Null.Equals().
const short NumericString = 18 |
NumericString type code = 18
Referenced by Asn1NumericString.Encode().
const short OBJECT_IDENTIFIER = 6 |
OBJECT_IDENTIFIER type code = 6
Referenced by Asn1ObjectIdentifier.Append(), and Asn1ObjectIdentifier.Encode().
const short ObjectDescriptor = 7 |
ObjectDescriptor type code = 7
Referenced by Asn1ObjectDescriptor.Encode().
const short OCTET_STRING = 4 |
OCTET_STRING type code = 4
Referenced by Asn1OctetString.CompareTo(), and Asn1OctetString.Decode().
const short OpenType = 99 |
OpenType type code = 99
Referenced by Asn1OpenType.GetDataEncoding().
const short PrintableString = 19 |
PrintableString type code = 19
Referenced by Asn1PrintableString.Encode().
const short REAL = 9 |
REAL type code = 9
Referenced by Asn1Real10.Asn1Real10(), Asn1Real.Decode(), Asn1Real10.Encode(), Asn1Real.Encode(), and Asn1Real.NormalizedRealValueToString().
const short RELATIVE_OID_IRI = 36 |
RELATIVE-OID-IRI type code = 35
Referenced by Asn1RELATIVE_OID_IRI.GetTagNumber().
const short RelativeOID = 13 |
RELATIVE_OID type code = 13
Referenced by Asn1RelativeOID.Asn1RelativeOID(), Asn1RelativeOID.DecodeXML(), and Asn1RelativeOID.Encode().
const short SEQUENCE = 16 |
SEQUENCE type code = 16
Referenced by Asn1Tag.ToString().
const short SET = 17 |
SET type code = 17
Referenced by Asn1Tag.ToString().
const short T61String = TeletexString |
T61String type code = TeletexString
Referenced by Asn1T61String.Encode().
const short TeletexString = 20 |
TeletexString type code = 20
const short TIME = 14 |
TIME type code = 14
Referenced by Asn1Time.Asn1Time().
const short UniversalString = 28 |
UniversalString type code = 28
Referenced by Asn1UniversalString.Decode(), and Asn1UniversalString.Encode().
const short UTCTime = 23 |
UTCTime type code = 23
Referenced by Asn1UTCTime.CompareTo().
const short UTF8String = 12 |
UTF8String type code = 12
Referenced by Asn1UTF8String.Decode(), and Asn1UTF8String.Encode().
const short VideotexString = 21 |
VideotexString type code = 21
Referenced by Asn1VideotexString.Encode().
const short VisibleString = 26 |
VisibleString type code = 26
Referenced by Asn1VisibleString.Encode().
|
get |
Gets the ASN.1 type name that is associated with this type. The ASN.1 type name is derived from the input specification and cannot be set by users of the class.
Value:
The ASN.1 type name for this type.
|
get |
Gets the length of types that can be bound by a size constraint (BIT STRING, OCTET STRING, character string, and SEQUENCE OF/SET OF). An attempt to invoke it on any other type will cause an exception to be thrown.
Value:
Length of item in units (for example, bits for BIT STRING, octets for OCTET STRING, etc.)
Asn1InvalidLengthException | if called by type rather than size constrainted (BIT STRING, OCTET STRING, character string, or SEQUENCE OF/SET OF) |
Referenced by Asn1ArrayType.Asn1ArrayType(), and Asn1ArrayType.Equals().