MADARA
3.1.8
|
Interface for a MADARA system call. More...
#include <SystemCallNode.h>
Public Member Functions | |
SystemCallNode (madara::knowledge::ThreadSafeContext &context) | |
Constructor. More... | |
SystemCallNode (madara::knowledge::ThreadSafeContext &context, const ComponentNodes &nodes) | |
Constructor. More... | |
virtual | ~SystemCallNode (void) |
Destructor. More... | |
virtual void | accept (Visitor &visitor) const |
Accepts a visitor subclassed from the Visitor class. More... | |
virtual madara::knowledge::KnowledgeRecord | evaluate (const madara::knowledge::KnowledgeUpdateSettings &settings)=0 |
Evaluates the expression tree. More... | |
virtual madara::knowledge::KnowledgeRecord | item (void) const |
Returns the value of the node. More... | |
virtual ComponentNode * | left (void) const |
Returns the left expression. More... | |
virtual madara::knowledge::KnowledgeRecord | prune (bool &can_change)=0 |
Prunes the expression tree of unnecessary nodes. More... | |
virtual ComponentNode * | right (void) const |
Returns the right expression. More... | |
void | set_logger (logger::Logger &logger) |
Sets the logger for printing errors and debugging info. More... | |
Protected Attributes | |
madara::knowledge::ThreadSafeContext & | context_ |
logger::Logger * | logger_ |
handle the context More... | |
ComponentNodes | nodes_ |
Interface for a MADARA system call.
Definition at line 25 of file SystemCallNode.h.
madara::expression::SystemCallNode::SystemCallNode | ( | madara::knowledge::ThreadSafeContext & | context | ) |
Constructor.
Definition at line 8 of file SystemCallNode.cpp.
madara::expression::SystemCallNode::SystemCallNode | ( | madara::knowledge::ThreadSafeContext & | context, |
const ComponentNodes & | nodes | ||
) |
Constructor.
Definition at line 17 of file SystemCallNode.cpp.
|
virtual |
Destructor.
Definition at line 27 of file SystemCallNode.cpp.
|
virtual |
Accepts a visitor subclassed from the Visitor class.
visitor | visitor instance to use |
Reimplemented from madara::expression::CompositeTernaryNode.
Reimplemented in madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::SystemCallExpandEnv, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, and madara::expression::SystemCallWriteFile.
Definition at line 39 of file SystemCallNode.cpp.
|
pure virtual |
Evaluates the expression tree.
Implements madara::expression::CompositeTernaryNode.
Implemented in madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::SystemCallExpandEnv, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, and madara::expression::SystemCallWriteFile.
|
virtual |
Returns the value of the node.
Reimplemented from madara::expression::CompositeTernaryNode.
Reimplemented in madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::SystemCallExpandEnv, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, and madara::expression::SystemCallWriteFile.
Definition at line 32 of file SystemCallNode.cpp.
|
virtualinherited |
Returns the left expression.
Reimplemented in madara::expression::CompositeBinaryNode.
Definition at line 34 of file ComponentNode.cpp.
|
pure virtual |
Prunes the expression tree of unnecessary nodes.
can_change | set to true if variable nodes are contained |
Implements madara::expression::CompositeTernaryNode.
Implemented in madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::SystemCallExpandEnv, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, and madara::expression::SystemCallWriteFile.
|
virtualinherited |
Returns the right expression.
Reimplemented in madara::expression::CompositeUnaryNode.
Definition at line 41 of file ComponentNode.cpp.
|
inherited |
Sets the logger for printing errors and debugging info.
logger | the logger to use |
Definition at line 53 of file ComponentNode.cpp.
|
protected |
Definition at line 76 of file SystemCallNode.h.
|
protectedinherited |
handle the context
Definition at line 96 of file ComponentNode.h.
|
protectedinherited |
Definition at line 76 of file CompositeTernaryNode.h.