Asn1BerDecodeContext Class Reference

List of all members.

Public Member Functions

 Asn1BerDecodeContext (Asn1BerDecodeBuffer decodeBuffer, int elemLength)
virtual bool Expired ()
virtual bool MatchElemTag (Asn1Tag tag, IntHolder parsedLen, bool advance)
virtual bool MatchElemTag (short tagClass, short tagForm, int tagIDCode, IntHolder parsedLen, bool advance)

Protected Attributes

internal int mDecBufByteCount
internal Asn1BerDecodeBuffer mDecodeBuffer
internal int mElemLength
internal bool mExplicitTagging
internal Asn1Tag mTagHolder

Detailed Description

This class is mainly for internal use by the compiler to keep track of where nested constructed elements (SEQUENCE, SET, CHOICE, etc.) begin and end.


Constructor & Destructor Documentation

Asn1BerDecodeContext ( Asn1BerDecodeBuffer  decodeBuffer,
int  elemLength 
)

The constructor initializes all internal working varaibles.

Parameters:
decodeBuffer Reference to current Decode buffer method.
elemLength Length of the element being tracked.

Member Function Documentation

virtual bool Expired (  )  [virtual]

This method will determine if a decoding context is expired. A context is defined to be the wrapper in which a set of elements or a primitive data type resides..

Returns:
True if at the end of the context block
virtual bool MatchElemTag ( Asn1Tag  tag,
IntHolder  parsedLen,
bool  advance 
) [virtual]

This method will attempt to match the next element tag in a constructed type with the expected value. It will check to see if the context is expired and, if not, will match the given tag with the expected tag. The Decode cursor is advanced if the boolean advance argument is true.

Parameters:
tag Tag object representing tag to be matched.
parsedLen Holder object to receive parsed length value
advance True if Decode cursor to be advanced.
Returns:
True, if the tag is matched
virtual bool MatchElemTag ( short  tagClass,
short  tagForm,
int  tagIDCode,
IntHolder  parsedLen,
bool  advance 
) [virtual]

This method will attempt to match the next element tag in a constructed type with the expected value. It will check to see if the context is expired and, if not, will match the given tag with the expected tag. The Decode cursor is advanced if the boolean advance argument is true.

Parameters:
tagClass Class value of tag to match
tagForm Form value of tag to match
tagIDCode ID code of tag to match
parsedLen Holder object to receive parsed length value
advance True if Decode cursor to be advanced.
Returns:
True, if the tag is matched

Member Data Documentation

internal int mDecBufByteCount [protected]

This variable is used to keep track of the current byte count in the Decode buffer.

internal Asn1BerDecodeBuffer mDecodeBuffer [protected]

This variable holds a reference to the BER Decode buffer object that is being used to Decode the entire message component.

internal int mElemLength [protected]

This variable holds the contructed element length for the context component.

internal bool mExplicitTagging [protected]

This boolean flag variable indictaes if explicit tagging is in effect for this element.

internal Asn1Tag mTagHolder [protected]

This variable holds the current parsed tag for matching operations.