Canola  0.8.D001
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
interpose_stateful Class Reference

#include <stateful.h>

Inheritance diagram for interpose_stateful:
interpose

List of all members.

Public Member Functions

virtual ~interpose_stateful ()

Static Public Member Functions

static pointer create (const interpose::pointer &deeper, bool jumper=false)

Protected Member Functions

void on_opcode (opcode_t op, const location::pointer &where)
void on_error_v (const char *fmt, va_list ap)
bool strict_memory_number_checking_required (void) const

Private Member Functions

 interpose_stateful (const interpose::pointer &deeper, bool jumper)
 interpose_stateful ()
 interpose_stateful (const interpose_stateful &)
interpose_statefuloperator= (const interpose_stateful &)

Private Attributes

pointer deeper
bool jumper
pointer diversion

Detailed Description

The interpose_stateful class is used to represent the processing to translate a stateful key stream into a stateless key stream.

Definition at line 27 of file stateful.h.


Constructor & Destructor Documentation

The destructor.

Definition at line 26 of file stateful.cc.

interpose_stateful::interpose_stateful ( const interpose::pointer deeper,
bool  jumper 
) [private]

The constructor.

Parameters:
deeperWhere to send the stateless key stream.
jumperwhether or not to treat "UJ" statefully to become opcode_extended_goto.

Definition at line 31 of file stateful.cc.

The default constructor. Do not use.

The copy constructor. Do not use.


Member Function Documentation

interpose::pointer interpose_stateful::create ( const interpose::pointer deeper,
bool  jumper = false 
) [static]

The create class method is used to create new dynamically allocated instances of this class.

Parameters:
deeperWhere to send the stateless key stream.
jumperwhether or not to treat "UJ" statefully to become opcode_extended_goto.

Definition at line 40 of file stateful.cc.

void interpose_stateful::on_error_v ( const char *  fmt,
va_list  ap 
) [protected, virtual]

The on_error_v method is used to report errors processing the key stream.

Parameters:
fmtThe format of the error. This controls the numer and types of the following arguments.
apThe following arguments.

Implements interpose.

Definition at line 341 of file stateful.cc.

void interpose_stateful::on_opcode ( opcode_t  op,
const location::pointer where 
) [protected, virtual]

The on_opcode method is used to process keys that have a corresponding opcode.

Parameters:
opThe opcode (usually a key stroke) of interest
whereThe source file location, or NULL if not available.

Implements interpose.

Definition at line 47 of file stateful.cc.

interpose_stateful& interpose_stateful::operator= ( const interpose_stateful ) [private]

The assignment operator. Do not use.

bool interpose_stateful::strict_memory_number_checking_required ( void  ) const [protected, virtual]

The strict_memory_number_checking_required method is used to determine whether or not the number keys following M3~ keys (et al) must be followed by a digit key (true) or any key (false). The actual 1614P silently permits any key, and uses only the lower 4 bits.

Implements interpose.

Definition at line 348 of file stateful.cc.


Member Data Documentation

The deeper instance variable is used to remember where to send the stateless key stream.

Definition at line 75 of file stateful.h.

The diversion instance variable is used to remember where to send the stateless key stream, when multiple keys need to be folded into one virtual key.

Definition at line 88 of file stateful.h.

The jumper instance variuable is used to remember whether or not to treat "UJ" statefully to become opcode_extended_goto.

Definition at line 81 of file stateful.h.


The documentation for this class was generated from the following files: