|
LRAUV
revA
|
A ValueClause is a set of boolean conditions that may be specified as conditions for executing (or stopping execution of a Behavior. More...
#include <ValueClause.h>

Classes | |
| struct | ValueClauseOperation |
| Represents a comparison and the right hand side of a value clause equation. More... | |
| struct | ValueClauseSide |
| Represents one side of a value clause equation. More... | |
Public Types | |
| enum | Operation { OP_NONE, OP_ADD, OP_AND, OP_DIV, OP_EQ, OP_GE, OP_GT, OP_LE, OP_LT, OP_MAX, OP_MIN, OP_MOD, OP_MULT, OP_NE, OP_OR, OP_POW, OP_SUB, OPCOUNT } |
| An attempt to define different comparison operators. More... | |
| enum | ReaderOperation { READER_NONE, READER_ELAPSED } |
Public Member Functions | |
| ValueClause (DataValue *dataValue, Logger &logger) | |
| virtual bool | test () |
| virtual bool | eval () |
| virtual bool | evalStr () |
| virtual | ~ValueClause () |
| Str | toString () |
| DataValue * | getDataValue () |
| bool | wasTouchedSinceLastRun (const Component *component) |
Static Public Member Functions | |
| static ValueClause * | Instance (MissionNode *node, bool nodeIsParent, MissionItem *owner, Logger &logger, bool isStrValue=false) |
| static DataReader * | ReadReader (MissionNode *node, MissionItem *owner, DataValue *defaultValue, Logger &logger, bool deleteDataValue=true) |
| static DataValue * | ReadDataValue (MissionNode *unitNode, Logger &logger) |
| static const Unit * | ReadUnit (MissionNode *unitNode, Logger &logger, bool reportErrors=true) |
| static DataValue * | ReadStrValue (MissionNode *node, Logger &logger) |
| static DataValue * | ReadStrValueUri (MissionNode *node, Logger &logger) |
| static Str | StripPastColon (Str name) |
| Converts something like Foo:bar.baz into bar.baz. More... | |
| static Str | StripPastLastDot (Str name) |
| Converts something like Foo:bar.baz into baz. More... | |
Static Public Attributes | |
| static const Str | OP_NAMES [OPCOUNT] |
Private Member Functions | |
| ValueClause (const ValueClause &old) | |
| Str | sideToString (ValueClauseSide &side) |
| ValueClause (Logger &logger) | |
| bool | evalSide (const ValueClauseSide &side) |
Static Private Member Functions | |
| static Operation | ReadComparison (MissionNode *node, Logger &logger) |
| static bool | ReadSide (MissionNode *node, ValueClauseSide &side, MissionItem *owner, Logger &logger, bool isStrValue=false) |
| static ValueClauseOperation * | ReadOperation (MissionNode *node, MissionItem *owner, Logger &logger) |
Private Attributes | |
| Logger & | logger_ |
| bool | abs_ |
| bool | negate_ |
| DataValue * | dataValue_ |
| ValueClauseSide | lhs_ |
| FlexArray< ValueClauseOperation * > | operations_ |
A ValueClause is a set of boolean conditions that may be specified as conditions for executing (or stopping execution of a Behavior.
The clause is described in the mission script, and is transformed into a set of ValueClause objects by the static Instance method.
References ValueClause::ValueClauseSide::dataValue_, dataValue_, ValueClause::ValueClauseSide::deleteDataValue_, and lhs_.
Referenced by Instance().
|
virtual |
References dataValue_.
|
private |
|
private |
|
virtual |
References abs_, DataValue::compare(), ValueClause::ValueClauseOperation::comparison_, DataValue::copyTo(), Syslog::CRITICAL, ValueClause::ValueClauseSide::dataValue_, dataValue_, DataValue::equals(), evalSide(), DataValue::getBaseUnit(), DataValue::getUnit(), DataValue::isNaN(), lhs_, logger_, AuvMath::Max(), AuvMath::Min(), negate_, OP_ADD, OP_AND, OP_DIV, OP_EQ, OP_GE, OP_GT, OP_LE, OP_LT, OP_MAX, OP_MIN, OP_MOD, OP_MULT, OP_NE, OP_NONE, OP_OR, OP_POW, OP_SUB, OPCOUNT, operations_, ValueClause::ValueClauseOperation::rhs_, DataValue::setFrom(), Logger::syslog(), and toString().
Referenced by evalSide(), SettingReader::evalValueClause(), MissionItem::initializeFromScript(), ReadDataComponent::requestData(), Assign::run(), and test().
|
private |
References Timespan::asDouble(), ValueClause::ValueClauseSide::dataReader_, ValueClause::ValueClauseSide::dataValue_, dataValue_, Timestamp::elapsed(), eval(), MissionItem::getStartTime(), DataReader::getTimestamp(), DataValue::getUnit(), ValueClause::ValueClauseSide::operationReader_, ValueClause::ValueClauseSide::owner_, DataReader::read(), READER_ELAPSED, READER_NONE, DataValue::setFrom(), and ValueClause::ValueClauseSide::subClause_.
Referenced by eval().
|
virtual |
References ValueClause::ValueClauseSide::dataReader_, dataValue_, DataValue::getBinaryType(), DataValue::getUnit(), DataAccessor::getUri(), lhs_, MULTIVALUE, and Units::NONE.
Referenced by SettingReader::evalValueClause().
|
inline |
References dataValue_.
Referenced by SettingReader::asString(), MissionItem::initializeFromScript(), SettingReader::isActive(), SettingReader::read(), ReadDataComponent::requestData(), and Assign::run().
|
static |
References DataValue::copy(), ValueClause::ValueClauseSide::dataValue_, dataValue_, MissionItem::getComponent(), MissionNode::getFirstChild(), Component::getLogger(), MissionNode::getName(), MissionNode::getNextSibling(), lhs_, operations_, ReadOperation(), ReadSide(), and ValueClause().
Referenced by MissionItem::initializeFromScript(), Assign::Instance(), ReadDataComponent::Instance(), ReadOperation(), and ReadSide().
|
staticprivate |
References Syslog::ERROR, MissionNode::getName(), OP_NAMES, OP_NONE, OPCOUNT, and Logger::syslog().
Referenced by ReadOperation().
|
static |
References DOUBLE8, MissionNode::getChildTextValue(), Unit::getName(), MissionNode::getNextSibling(), Syslog::INFO, ReadUnit(), and Logger::syslog().
Referenced by DefineBehavior::Instance(), and ReadSide().
|
staticprivate |
References ValueClause::ValueClauseOperation::comparison_, Syslog::CRITICAL, ValueClause::ValueClauseSide::dataValue_, dataValue_, ValueClause::ValueClauseSide::deleteDataValue_, MissionNode::getName(), Instance(), OP_NAMES, OP_NONE, ReadComparison(), ValueClause::ValueClauseOperation::rhs_, ValueClause::ValueClauseSide::subClause_, and Logger::syslog().
Referenced by Instance().
|
static |
|
staticprivate |
References abs_, Units::BOOL, DataValue::copy(), ValueClause::ValueClauseSide::dataReader_, ValueClause::ValueClauseSide::dataValue_, dataValue_, ValueClause::ValueClauseSide::deleteDataValue_, Str::EMPTY_STR, Syslog::ERROR, MissionItem::findArgReader(), MissionNode::getAttribute(), MissionNode::getChildTextValue(), MissionNode::getFirstChild(), MissionNode::getName(), Instance(), NAN, negate_, Units::NONE, ValueClause::ValueClauseSide::operationReader_, ValueClause::ValueClauseSide::owner_, ReadDataValue(), READER_ELAPSED, READER_NONE, ReadReader(), ReadStrValue(), Units::SECOND, StripPastColon(), ValueClause::ValueClauseSide::subClause_, and Logger::syslog().
Referenced by Instance().
|
static |
|
static |
References Str::cStr(), Slate::GetElementURICode(), MissionNode::getName(), ElementURI::NO_CODE, and StripPastColon().
Referenced by ReadStrValue().
|
static |
References Syslog::CRITICAL, UnitRegistry::FindUnit(), MissionNode::getName(), StripPastColon(), and Logger::syslog().
Referenced by SendDataComponent::Instance(), SyslogComponent::Instance(), DefineBehavior::Instance(), and ReadDataValue().
|
private |
References ValueClause::ValueClauseSide::dataReader_, ValueClause::ValueClauseSide::dataValue_, DataAccessor::getUri(), ValueClause::ValueClauseSide::operationReader_, READER_ELAPSED, READER_NONE, ValueClause::ValueClauseSide::subClause_, toString(), and DataValue::toString().
Referenced by toString().
Converts something like Foo:bar.baz into bar.baz.
References Str::find(), Str::NO_POS, and Str::substr().
Referenced by MissionItem::initializeFromScript(), Assign::Instance(), SendDataComponent::Instance(), SyslogComponent::Instance(), ReadDataComponent::Instance(), DefineBehavior::Instance(), ReadReader(), ReadSide(), ReadStrValueUri(), and ReadUnit().
Converts something like Foo:bar.baz into baz.
References Str::findLastOf(), Str::NO_POS, and Str::substr().
Referenced by MissionItem::initializeFromScript(), and DefineBehavior::Instance().
|
virtual |
References DataValue::copyTo(), dataValue_, eval(), and DataValue::getUnit().
Referenced by MissionItem::isActive(), and MissionItem::isPreemptive().
| Str ValueClause::toString | ( | void | ) |
References abs_, ValueClause::ValueClauseOperation::comparison_, Str::EMPTY_STR, lhs_, negate_, OP_NAMES, operations_, ValueClause::ValueClauseOperation::rhs_, and sideToString().
Referenced by eval(), MissionItem::initializeFromScript(), Assign::run(), and sideToString().
| bool ValueClause::wasTouchedSinceLastRun | ( | const Component * | component | ) |
References ValueClause::ValueClauseSide::dataReader_, lhs_, ValueClause::ValueClauseSide::operationReader_, operations_, READER_ELAPSED, ValueClause::ValueClauseSide::subClause_, DataReader::wasTouchedSinceLastRun(), and wasTouchedSinceLastRun().
Referenced by Assign::run(), and wasTouchedSinceLastRun().
|
private |
Referenced by eval(), ReadSide(), and toString().
|
private |
Referenced by eval(), evalSide(), evalStr(), getDataValue(), Instance(), ReadOperation(), ReadSide(), test(), ValueClause(), and ~ValueClause().
|
private |
Referenced by eval(), evalStr(), Instance(), toString(), ValueClause(), and wasTouchedSinceLastRun().
|
private |
Referenced by eval(), ReadSide(), and toString().
|
static |
Referenced by ReadComparison(), ReadOperation(), and toString().
|
private |
Referenced by eval(), Instance(), toString(), and wasTouchedSinceLastRun().