MADARA
3.1.8
Main Page
Namespaces
Classes
Files
File List
File Members
SystemCallNode.h
Go to the documentation of this file.
1
/* -*- C++ -*- */
2
#ifndef _MADARA_SYSTEM_CALL_H_
3
#define _MADARA_SYSTEM_CALL_H_
4
5
#ifndef _MADARA_NO_KARL_
6
7
#include <string>
8
#include <stdexcept>
9
#include "
madara/knowledge/KnowledgeRecord.h
"
10
#include "
madara/utility/stdint.h
"
11
#include "
madara/expression/CompositeTernaryNode.h
"
12
13
14
namespace
madara
15
{
16
namespace
expression
17
{
18
// Forward declaration.
19
class
Visitor;
20
25
class
SystemCallNode
:
public
CompositeTernaryNode
26
{
27
public
:
31
SystemCallNode
(
32
madara::knowledge::ThreadSafeContext
& context);
33
37
SystemCallNode
(
38
madara::knowledge::ThreadSafeContext
& context,
39
const
ComponentNodes
& nodes);
40
44
virtual
~SystemCallNode
(
void
);
45
50
virtual
madara::knowledge::KnowledgeRecord
item
(
void
)
const
;
51
57
virtual
madara::knowledge::KnowledgeRecord
prune
(
bool
& can_change)
58
= 0;
59
64
virtual
madara::knowledge::KnowledgeRecord
evaluate
(
65
const
madara::knowledge::KnowledgeUpdateSettings
& settings)
66
= 0;
67
72
virtual
void
accept
(
Visitor
&visitor)
const
;
73
74
protected
:
75
76
madara::knowledge::ThreadSafeContext
&
context_
;
77
};
78
}
79
}
80
81
#endif // _MADARA_NO_KARL_
82
83
#endif
/* _MADARA_SYSTEM_CALL_H_ */
madara::knowledge::KnowledgeRecord
This class encapsulates an entry in a KnowledgeBase.
Definition:
KnowledgeRecord.h:60
KnowledgeRecord.h
CompositeTernaryNode.h
madara::expression::SystemCallNode::item
virtual madara::knowledge::KnowledgeRecord item(void) const
Returns the value of the node.
Definition:
SystemCallNode.cpp:32
madara::expression::ComponentNodes
std::deque< ComponentNode * > ComponentNodes
a vector of Component Nodes
Definition:
ComponentNode.h:100
madara::knowledge::ThreadSafeContext
This class stores variables and their values for use by any entity needing state information in a thr...
Definition:
ThreadSafeContext.h:82
madara::expression::SystemCallNode::~SystemCallNode
virtual ~SystemCallNode(void)
Destructor.
Definition:
SystemCallNode.cpp:27
madara::expression::SystemCallNode::evaluate
virtual madara::knowledge::KnowledgeRecord evaluate(const madara::knowledge::KnowledgeUpdateSettings &settings)=0
Evaluates the expression tree.
madara::expression::CompositeTernaryNode
Definition:
CompositeTernaryNode.h:26
madara::expression::Visitor
Abstract base class for all visitors to all classes that derive from ComponentNode.
Definition:
Visitor.h:90
madara::expression::SystemCallNode::context_
madara::knowledge::ThreadSafeContext & context_
Definition:
SystemCallNode.h:76
stdint.h
madara::expression::SystemCallNode
Interface for a MADARA system call.
Definition:
SystemCallNode.h:25
madara::expression::SystemCallNode::accept
virtual void accept(Visitor &visitor) const
Accepts a visitor subclassed from the Visitor class.
Definition:
SystemCallNode.cpp:39
madara::knowledge::KnowledgeUpdateSettings
Settings for applying knowledge updates.
Definition:
KnowledgeUpdateSettings.h:23
madara
Copyright (c) 2015 Carnegie Mellon University.
Definition:
AggregateFilter.h:30
madara::expression::SystemCallNode::prune
virtual madara::knowledge::KnowledgeRecord prune(bool &can_change)=0
Prunes the expression tree of unnecessary nodes.
madara::expression::SystemCallNode::SystemCallNode
SystemCallNode(madara::knowledge::ThreadSafeContext &context)
Constructor.
Definition:
SystemCallNode.cpp:8
include
madara
expression
SystemCallNode.h
Generated on Wed May 9 2018 18:17:14 for MADARA by
1.8.11