Inheritance diagram for bre20::Rule:
Public Member Functions | |
Rule () | |
virtual void | setupRule (Form *frm)=0 |
virtual void | finishRule (Form *frm) |
virtual bool | executeRule (Form *frm)=0 |
virtual bool | updateRule (Form *frm)=0 |
virtual bool | executeReplay (String *keys[], Hashtable *values)=0 |
virtual String * | modifiedFields ()=0 |
A rule is an object that enables the programmer to easily extend both the dataloger and the log analyzer. You would be able to define a rule that, say, converted the raw RPM into a real world RPM value. Or if a new command is added to the logging code (and the list that the logger uses to send commands to the ecu), you can define a new rule that properly converts the raw value to an acceptable value.
This is an abstract class so you obviously must define the functions contained within in order to extend it.
|
|
|
This function is the same as executeRule() but happens when a log is being replayed. It is necessary for updating gauges when replaying. The text based values are automatically put into their respective places when replaying.
Implemented in bre20::DynoRule, and bre20::AfrRule. |
|
This function is called when a rule needs to be executed. In the context of the Datalogger, it will be called each time the logger gets data back from an ECU. You are passed the Datalogger and will then be able to modify the data from the ecu before its displayed. Additionally if your rule needs to deal with a gauge you must update that gauge in this function.
Implemented in bre20::DynoRule, and bre20::AfrRule. |
|
Called after all the execute functions have been called. Reimplemented in bre20::DynoRule. |
|
A string that explains what fields you are modifying. see the rule field explanation.
If you only modify one field just return the name of that field. If concatination is necessary, the fields will be separated by colons ( return "rpm:index:tps";
Implemented in bre20::DynoRule, and bre20::AfrRule. |
|
Called the first time the FormWithRules form knows about your rule.
Implemented in bre20::DynoRule, and bre20::AfrRule. |
|
This function is called when a rule needs to be updated. In the context of the Datalogger, it will be called each time the DatalogOptions dialog is opened and closed. You are passed the Datalogger and will update the rule's display as necessary (such as with a change in the units). Additionally if your rule needs to deal with a gauge you must update that gauge in this function. Implemented in bre20::DynoRule, and bre20::AfrRule. |