ASN1C C# Runtime Library  7.4
Public Member Functions | Properties | List of all members
Asn1PerTraceHandler Class Referenceabstract
Inheritance diagram for Asn1PerTraceHandler:
Asn1PerDecodeTraceHandler Asn1PerEncodeTraceHandler Asn1PerOutputStreamTraceHandler

Public Member Functions

virtual void AddElemName (System.String name, int arrayx)
 
abstract void Enable ()
 
bool IsEnabled ()
 
virtual void NewBitField (System.String name, int bitCount)
 
abstract void Print (System.IO.StreamWriter outs, System.String varName)
 
virtual void RemoveLastElemName ()
 
void ReplaceLastFieldWithDetail (Asn1PerTraceHandler details)
 
abstract void Reset ()
 
virtual void SetBitCount ()
 
virtual void SetBitOffset ()
 

Properties

virtual Asn1PerBitFieldList BitFieldList [get]
 

Detailed Description

This is the abstract base class for the PER encode and decode trace handler derived classes.

Member Function Documentation

◆ AddElemName()

virtual void AddElemName ( System.String  name,
int  arrayx 
)
virtual

This method adds an element name to the current fully qualified name. The fully qualified name is a string of name components separated by dots (ex. a.b.c).

Parameters
nameName component to append to string
arrayxArray index if named item is an element in an array (set to -1 otherwise)

References Asn1PerBitFieldList.AddElemName().

◆ Enable()

abstract void Enable ( )
pure virtual

This method is used to turn PER bit tracing on or off. POST: mBitFieldList != null.

Implemented in Asn1PerEncodeTraceHandler, Asn1PerOutputStreamTraceHandler, and Asn1PerDecodeTraceHandler.

◆ IsEnabled()

bool IsEnabled ( )

Check whether bit tracing is on or off.

◆ NewBitField()

virtual void NewBitField ( System.String  name,
int  bitCount 
)
virtual

This method creates a new bit field and appends it to the bit field list.

Parameters
nameName suffix to append to the current fully qualified name.
bitCountNumber of bits in the bit field.

References Asn1PerMessageBuffer.MsgBitCnt, Asn1PerBitFieldList.NewBitField(), and Diag.Prtln().

Referenced by Asn1UniversalString.Decode(), Asn1RelativeOID.Encode(), Asn1ObjectIdentifier.Encode(), Asn1BigInteger.Encode(), Asn1Integer.Encode(), Asn1UniversalString.Encode(), and Asn1Real.Encode().

◆ Print()

abstract void Print ( System.IO.StreamWriter  outs,
System.String  varName 
)
pure virtual

This method prints the trace to the given output stream in a default format.

Parameters
outsPrint stream to which output is to be written.
varNameName of the object variable being printed.

Implemented in Asn1PerDecodeTraceHandler, Asn1PerOutputStreamTraceHandler, and Asn1PerEncodeTraceHandler.

◆ RemoveLastElemName()

virtual void RemoveLastElemName ( )
virtual

This method removes the last element name int the current fully qualified name string. For example, if the current string is 'a.b.c', it will be 'a.b' after calling this method.

References Asn1PerBitFieldList.RemoveLastElemName().

◆ ReplaceLastFieldWithDetail()

void ReplaceLastFieldWithDetail ( Asn1PerTraceHandler  details)

Replaces the last bit field in this bit trace handler with the fields from the given trace handler, which are assumed to be a breakdown of the last field.

Parameters
detailshandler to take details from

References Asn1PerBitFieldList.ReplaceLastFieldWithDetail().

◆ Reset()

abstract void Reset ( )
pure virtual

This method resets the trace bit field list.

Implemented in Asn1PerDecodeTraceHandler, Asn1PerOutputStreamTraceHandler, and Asn1PerEncodeTraceHandler.

◆ SetBitCount()

virtual void SetBitCount ( )
virtual

This method sets the bit count within the current bit field to the difference between the current bit offset and the starting bit offset currently stored in the field object.

References Asn1PerBitField.BitCount, Asn1PerBitField.BitOffset, Asn1PerBitFieldList.CurrBitField, and Asn1PerMessageBuffer.MsgBitCnt.

Referenced by Asn1RelativeOID.Encode(), and Asn1ObjectIdentifier.Encode().

◆ SetBitOffset()

virtual void SetBitOffset ( )
virtual

This method sets the bit offset within the current bit field to the current offset within the PER message buffer.

References Asn1PerBitFieldList.BitOffset, and Asn1PerMessageBuffer.MsgBitCnt.

Property Documentation

◆ BitFieldList

virtual Asn1PerBitFieldList BitFieldList
get

Gets a reference to the bit field list

Value: bit field list

Referenced by Asn1PerBitFieldPrinter.Print().