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

Public Member Functions

 Asn1Integer ()
 
 Asn1Integer (long value)
 
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
 
override void Decode (Asn1PerDecodeBuffer buffer)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, long upper)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, Object lower, long upper)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, long lower, Object upper)
 
virtual void Decode (Asn1PerDecodeBuffer buffer, Object lower, Object upper)
 
virtual void DecodeXER (System.String buffer, System.String attrs)
 
override void DecodeXML (System.String buffer, System.String attrs)
 
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
 
override void Encode (Asn1PerEncodeBuffer buffer)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, long upper)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, Object lower, long upper)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, long lower, Object upper)
 
virtual void Encode (Asn1PerEncodeBuffer buffer, Object lower, Object upper)
 
override void Encode (Asn1XerEncoder buffer, System.String elemName)
 
override void Encode (Asn1XmlEncoder buffer, System.String elemName, System.String nsPrefix)
 
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
 
override void Encode (Asn1PerOutputStream outs)
 
virtual void Encode (Asn1PerOutputStream outs, long lower, long upper)
 
virtual void Encode (Asn1PerOutputStream outs, Object lower, long upper)
 
virtual void Encode (Asn1PerOutputStream outs, long lower, Object upper)
 
virtual void Encode (Asn1PerOutputStream outs, Object lower, Object upper)
 
override void EncodeAttribute (Asn1XmlEncoder buffer, System.String attrName)
 
virtual bool Equals (long value)
 
override bool Equals (System.Object value)
 
virtual int GetBitCount ()
 
override int GetHashCode ()
 
virtual int GetUnsignedBitCount ()
 
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 (Asn1XerEncoder buffer)
 
virtual void Encode (Asn1XmlEncoder 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 ()
 

Static Public Member Functions

static long DecodeValue (Asn1PerDecodeBuffer buffer)
 
static long DecodeValue (Asn1PerDecodeBuffer buffer, long lower, long upper)
 
static void EncodeValue (Asn1PerEncoder encoder, long val, long lower, long upper)
 
static int GetBitCount (long ivalue)
 
static int GetUnsignedBitCount (long ivalue)
 
- 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)
 

Public Attributes

long 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
 

Static Public Attributes

static new readonly Asn1Tag _TAG
 
- Static Public Attributes inherited from Asn1Type
static readonly Asn1Tag _TAG
 

Additional Inherited Members

- Properties inherited from Asn1Type
virtual String AsnTypeName [get]
 
virtual int Length [get]
 

Detailed Description

This class represents the ASN.1 INTEGER built-in type.

Constructor & Destructor Documentation

◆ Asn1Integer() [1/2]

The default constructor sets the integer value to zero.

◆ Asn1Integer() [2/2]

Asn1Integer ( long  value)

This constructor creates an integer object from a integer value.

Parameters
valueInteger value

References Asn1BerEncodeBuffer.EncodeIntValue(), Asn1BerEncodeBuffer.EncodeTagAndLength(), Asn1Type.INTEGER, and Asn1MessageBufferBase.TypeCode.

Member Function Documentation

◆ Decode() [1/6]

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

This method decodes an ASN.1 integer value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses 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/6]

override void Decode ( Asn1PerDecodeBuffer  buffer)
virtual

This method decodes an unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are decoded. The decoded result is stored in the public member 'mValue' in this object.

Parameters
bufferPER Decode message buffer object

Reimplemented from Asn1Type.

◆ Decode() [3/6]

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
long  lower,
long  upper 
)
virtual

This method decodes a constrained ASN.1 integer value using the Packed Encoding Rules (PER). The decoded result is stored in the public member 'mValue' in this object.

Parameters
bufferPER Decode message buffer object
lowerLower bound of the integer range
upperUpper bound of the integer range

◆ Decode() [4/6]

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
Object  lower,
long  upper 
)
virtual

This method decodes a unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The decoded result is stored in the public member 'mValue' in this object.

Parameters
bufferPER Decode message buffer object
lowerLower bound equal MIN
upperUpper bound of the integer range

References Asn1PerDecodeBuffer.ByteAlign(), Asn1PerDecodeBuffer.DecodeInt(), Asn1PerDecodeBuffer.DecodeLength(), Asn1Type.INTEGER, Diag.Prtln(), and Asn1MessageBufferBase.TypeCode.

◆ Decode() [5/6]

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
long  lower,
Object  upper 
)
virtual

This method decodes a semi-constrained ASN.1 integer value using the Packed Encoding Rules (PER). The decoded result is stored in the public member 'mValue' in this object.

Parameters
bufferPER Decode message buffer object
lowerLower bound of the integer range
upperUpper bound equal MAX

References Asn1PerDecodeBuffer.ByteAlign(), Asn1PerDecodeBuffer.DecodeInt(), Asn1PerDecodeBuffer.DecodeLength(), Asn1Type.INTEGER, Diag.Prtln(), and Asn1MessageBufferBase.TypeCode.

◆ Decode() [6/6]

virtual void Decode ( Asn1PerDecodeBuffer  buffer,
Object  lower,
Object  upper 
)
virtual

This method decodes a unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The decoded result is stored in the public member 'mValue' in this object.

Parameters
bufferPER Decode message buffer object
lowerLower bound equal MIN
upperUpper bound equal MAX

References Asn1PerDecodeBuffer.ByteAlign(), Asn1PerDecodeBuffer.DecodeInt(), Asn1PerDecodeBuffer.DecodeLength(), Asn1Type.INTEGER, and Asn1MessageBufferBase.TypeCode.

◆ DecodeValue() [1/2]

static long DecodeValue ( Asn1PerDecodeBuffer  buffer)
static

This method decodes an unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are decoded. The decoded result is returned.

Parameters
bufferPER Decode message buffer object

References Asn1PerDecodeBuffer.ByteAlign(), Asn1PerDecodeBuffer.DecodeInt(), Asn1PerDecodeBuffer.DecodeLength(), Asn1Type.INTEGER, and Asn1MessageBufferBase.TypeCode.

Referenced by Asn1TimeUtil.ConvertToDER(), Asn1TimeUtil.DecodeDateTime(), and Asn1TimeUtil.DecodeDuration().

◆ DecodeValue() [2/2]

static long DecodeValue ( Asn1PerDecodeBuffer  buffer,
long  lower,
long  upper 
)
static

This method decodes a constrained ASN.1 integer value using the Packed Encoding Rules (PER). The decoded result is returned.

Parameters
bufferPER Decode message buffer object
lowerLower bound of the integer range
upperUpper bound of the integer range

References Asn1PerDecodeBuffer.DecodeConsWholeNumber(), Asn1Type.INTEGER, Diag.Prtln(), and Asn1MessageBufferBase.TypeCode.

◆ DecodeXER()

virtual void DecodeXER ( System.String  buffer,
System.String  attrs 
)
virtual

This method decodes an ASN.1 integer value using the XML encoding rules (XER).

Parameters
bufferString containing data to be decoded
attrsAttributes string from element tag

References Asn1XmlXerEncoder.Copy(), Asn1XmlEncoder.EncodeEndElement(), and Asn1XmlEncoder.EncodeStartElement().

◆ DecodeXML()

override void DecodeXML ( System.String  buffer,
System.String  attrs 
)

This method decodes an ASN.1 integer value using the XML schema encoding rules(asn2xsd).

Parameters
bufferString containing data to be decoded
attrsAttributes string from element tag

◆ Encode() [1/14]

override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
)
virtual

This method encodes an ASN.1 integer value including the UNIVERSAL tag value and length if explicit tagging is specified. This overloaded version uses the Basic Encoding Rules (BER).

Parameters
bufferEncode message buffer object
explicitTaggingFlag indicating explicit tagging should be done
Returns
Length of component or negative status value

Reimplemented from Asn1Type.

◆ Encode() [2/14]

override void Encode ( Asn1PerEncodeBuffer  buffer)
virtual

This method encodes an unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
bufferPER Encode message buffer object

Reimplemented from Asn1Type.

References Asn1EncodeBuffer.Copy(), Asn1PerEncodeBuffer.EncodeInt(), Asn1PerEncodeBuffer.EncodeLength(), Asn1PerTraceHandler.NewBitField(), and Asn1PerEncodeBuffer.TraceHandler.

◆ Encode() [3/14]

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
long  lower,
long  upper 
)
virtual

This method encodes a constrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
bufferPER Encode message buffer object
lowerLower bound (inclusive) of integer being encoded
upperUpper bound (inclusive) of integer being encoded

◆ Encode() [4/14]

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
Object  lower,
long  upper 
)
virtual

This method encodes a unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
bufferPER Encode message buffer object
lowerLower bound equal MIN
upperUpper bound (inclusive) of integer being encoded

References Asn1PerEncodeBuffer.EncodeInt().

◆ Encode() [5/14]

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
long  lower,
Object  upper 
)
virtual

This method encodes a semi-constrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
bufferPER Encode message buffer object
lowerLower bound (inclusive) of integer being encoded
upperUpper bound equal MAX

References Asn1PerEncodeBuffer.EncodeInt().

◆ Encode() [6/14]

virtual void Encode ( Asn1PerEncodeBuffer  buffer,
Object  lower,
Object  upper 
)
virtual

This method encodes a unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
bufferPER Encode message buffer object
lowerLower bound equal MIN
upperUpper bound equal MAX

References Asn1XmlXerEncoder.Copy(), Asn1XerEncoder.EncodeEndElement(), Asn1PerEncodeBuffer.EncodeInt(), and Asn1XerEncoder.EncodeStartElement().

◆ Encode() [7/14]

override void Encode ( Asn1XerEncoder  buffer,
System.String  elemName 
)
virtual

This method encodes an ASN.1 integer value using the XML encoding rules (XER).

Parameters
bufferEncode message buffer object
elemNameElement name

Reimplemented from Asn1Type.

◆ Encode() [8/14]

override void Encode ( Asn1XmlEncoder  buffer,
System.String  elemName,
System.String  nsPrefix 
)
virtual

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

Parameters
bufferEncode message buffer object
elemNameElement name
nsPrefixElement namespace value

Reimplemented from Asn1Type.

◆ Encode() [9/14]

override void Encode ( Asn1BerOutputStream  outs,
bool  explicitTagging 
)
virtual

This method encodes and writes to the stream an ASN.1 integer 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

Parameters
outsBER Output Stream object
explicitTaggingFlag indicating explicit tagging should be done
Exceptions
Asn1ExceptionThrown, if operation is failed.

Reimplemented from Asn1Type.

◆ Encode() [10/14]

override void Encode ( Asn1PerOutputStream  outs)
virtual

This method encodes an unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Also throws any exception thrown by the underlying Asn1PerOutputStream.

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

Reimplemented from Asn1Type.

◆ Encode() [11/14]

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

This method encodes a constrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Also throws any exception thrown by the underlying Asn1PerOutputStream.

Parameters
outsPER Encode message buffer object
lowerLower bound (inclusive) of integer being encoded
upperUpper bound (inclusive) of integer being encoded
Exceptions
Asn1ExceptionThrown, if operation is failed.

◆ Encode() [12/14]

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

This method encodes a unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
outsPER Encode message buffer object
lowerLower bound equal MIN
upperUpper bound (inclusive) of integer being encoded

References Asn1PerEncodeBuffer.EncodeInt().

◆ Encode() [13/14]

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

This method encodes a semi-constrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
outsPER Encode message buffer object
lowerLower bound (inclusive) of integer being encoded
upperUpper bound equal MAX

References Asn1PerEncodeBuffer.EncodeInt().

◆ Encode() [14/14]

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

This method encodes a unconstrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
outsPER Encode message buffer object
lowerLower bound equal MIN
upperUpper bound equal MAX

References Asn1PerEncodeBuffer.EncodeInt(), Asn1Type.INTEGER, Asn1Tag.PRIM, and Asn1Tag.UNIV.

◆ EncodeAttribute()

override void EncodeAttribute ( Asn1XmlEncoder  buffer,
System.String  attrName 
)
virtual

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

Parameters
bufferEncode message buffer object
elemNameElement name
attributeElement attribute value

Reimplemented from Asn1Type.

References Asn1XmlXerEncoder.Copy().

◆ EncodeValue()

static void EncodeValue ( Asn1PerEncoder  encoder,
long  val,
long  lower,
long  upper 
)
static

This method encodes a constrained ASN.1 integer value using the Packed Encoding Rules (PER). The length and contents components of the message are encoded.

Parameters
bufferPER Encode message buffer object
lowerLower bound (inclusive) of integer being encoded
upperUpper bound (inclusive) of integer being encoded

References Asn1PerEncoder.EncodeConsWholeNumber(), and Diag.Prtln().

Referenced by Asn1TimeUtil.DecodeTime(), Asn1TimeUtil.EncodeDate(), Asn1TimeUtil.EncodeDateTime(), and Asn1TimeUtil.EncodeDuration().

◆ Equals() [1/2]

virtual bool Equals ( long  value)
virtual

This method compares this integer value to the given value for equality.

Parameters
valueThe long value to compare with the current Object.
Returns
true if the specified long value is equal to the current Object; otherwise, false.

◆ Equals() [2/2]

override bool Equals ( System.Object  value)

This method compares this integer value to the given value for equality.

Parameters
valueThe Object to compare with the current Object. Object should be instance of Asn1Integer.
Returns
true if the specified Object is equal to the current Object; otherwise, false.

References Asn1Integer.mValue.

◆ GetBitCount() [1/2]

static int GetBitCount ( long  ivalue)
static

This method calculates the count of bits in an integer value.

Parameters
ivalueInteger value in which to count bits.
Returns
Bit count.

Referenced by Asn1PerDecodeBuffer.DecodeConsWholeNumber(), Asn1PerEncodeBuffer.EncodeConsWholeNumber(), Asn1PerEncodeBuffer.EncodeInt(), and Asn1Integer.GetUnsignedBitCount().

◆ GetBitCount() [2/2]

virtual int GetBitCount ( )
virtual

This method calculates the count of bits in the contained integer value.

Returns
Bit count.

◆ GetHashCode()

override int GetHashCode ( )

Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.

Returns
A hash code for the current Object.

◆ GetUnsignedBitCount() [1/2]

static int GetUnsignedBitCount ( long  ivalue)
static

This method calculates the count of bits in an unsigned integer value.

Parameters
ivalueInteger value in which to count bits.
Returns
Bit count.

References Asn1Integer.GetBitCount().

Referenced by Asn1PerDecodeBuffer.DecodeConsWholeNumber(), Asn1PerEncodeBuffer.EncodeConsWholeNumber(), and Asn1PerEncodeBuffer.EncodeInt().

◆ GetUnsignedBitCount() [2/2]

virtual int GetUnsignedBitCount ( )
virtual

This method calculates the count of bits in the contained unsigned integer value.

Returns
Bit count.

References Asn1Integer.GetBitCount().

◆ ToString()

override System.String ToString ( )

This method will return a string representation of the integer value. The format is the ASN.1 value format for this type.

Returns
Stringified representation of the value

References Asn1PerEncodeBuffer.EncodeInt(), Asn1BerOutputStream.EncodeIntValue(), and Asn1BerOutputStream.EncodeTag().

Member Data Documentation

◆ _TAG

new readonly Asn1Tag _TAG
static

The _TAG constant describes the universal tag for this data type (UNIVERSAL 2).

◆ mValue

long mValue

This public member variable is where the integer value is stored. This is the value that is encoded when one of the encode methods is called. It is also where the decoded result is stored when a Decode method is called.

Referenced by Asn1Integer.Equals().