|
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.