Asn1GeneralizedTime Class Reference

Inheritance diagram for Asn1GeneralizedTime:
Asn1AbstractTime Asn18BitCharString Asn1CharString Asn1Type Asn1TypeIF

List of all members.

Public Member Functions

 Asn1GeneralizedTime (System.String data, bool useDerRules)
 Asn1GeneralizedTime (System.String data)
 Asn1GeneralizedTime (bool useDerRules)
 Asn1GeneralizedTime ()
override System.Int32 CompareTo (System.Object obj)
override void Decode (Asn1BerDecodeBuffer buffer, bool explicitTagging, int implicitLength)
override void Encode (Asn1BerOutputStream outs, bool explicitTagging)
override int Encode (Asn1BerEncodeBuffer buffer, bool explicitTagging)
override void ParseString (System.String data)

Static Public Attributes

static new readonly Asn1Tag _TAG

Protected Member Functions

internal override bool CompileString ()

Properties

virtual int Century [get, set]

Detailed Description

This is a container class for holding the components of an ASN.1 generalized time string value.


Constructor & Destructor Documentation

The default constructor creates an empty time string object.

Asn1GeneralizedTime ( bool  useDerRules  ) 

This constructor creates an empty time string object and allows DER encoding rules to be specified.

Parameters:
useDerRules 'true' if time string should be encoded with DER/PER.
Asn1GeneralizedTime ( System.String  data  ) 

This version of the constructor can be used to set the string mValue member variable to the given time string. The format of a GeneralizedTime string is YYYYMMDDHHMMSS.n[Z][-HHMM].

Parameters:
data Character string
Asn1GeneralizedTime ( System.String  data,
bool  useDerRules 
)

This version of the constructor can be used to set the string mValue member variable to the given time string and specify DER encoding rules be used to construct the string.

Parameters:
data Character string
useDerRules 'true' if time string should be encoded with DER/PER.

Member Function Documentation

override System.Int32 CompareTo ( System.Object  obj  )  [virtual]

This method compares this object with Asn1Time class instance or with System.DateTime instance. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. Note that the action of this method may differentiate for different inherited Asn1Time classes.

Parameters:
obj the Object to be compared.
Returns:
The difference in Ticks with the specified object.

Reimplemented from Asn1AbstractTime.

internal override bool CompileString (  )  [protected, virtual]

Compiles new time string accoring X.680 (clause 41) and ISO 8601.

Returns:
true, if succeed, or false code, if error.

Implements Asn1AbstractTime.

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

This method decodes an ASN.1 string value including the UNIVERSAL tag value and length if explicit tagging is specified.

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

Reimplemented from Asn1Type.

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

This method encodes and writes to stream an ASN.1 generalized time string 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:
outs BER Output Stream object
explicitTagging Flag indicating explicit tagging should be done

Reimplemented from Asn1Type.

override int Encode ( Asn1BerEncodeBuffer  buffer,
bool  explicitTagging 
) [virtual]

This method encodes an ASN.1 string type. The UNIVERSAL tag value and length is also encoded if explicit tagging is specified.

Parameters:
buffer Encode message buffer object
explicitTagging Flag indicating explicit tagging should be done
Returns:
Length in octets of encoded component

Reimplemented from Asn1Type.

override void ParseString ( System.String  data  )  [virtual]

This method parses the given time string value. It will throw an exception if the string is not in the valid time format. The valid format of a GeneralizedTime string is YYYYMMDDHHMMSS.n[Z][-HHMM].

Parameters:
data The time string value to be parsed.
Exceptions:
Asn1Exception Thrown, if operation is failed.

Implements Asn1AbstractTime.


Member Data Documentation

new readonly Asn1Tag _TAG [static]

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

Reimplemented from Asn1Type.


Property Documentation

virtual int Century [get, set]

Gets or Sets the century part (first two digits) of the year component of the time value.

Value: Century part (first two digits) of the year component.

Exceptions:
Asn1Exception Thrown, if operation is failed.