AuboCaps  0.6.0
assignment_node.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_ASSIGNMENT_NODE_H
2 #define AUBO_SCOPE_ASSIGNMENT_NODE_H
3 
7 
8 namespace arcs {
9 namespace aubo_scope {
10 ARCS_CLASS_FORWARD(AssignmentNode);
11 
13 {
14 public:
15  /**
16  * The configuration type used to determine which type of configuration this
17  * instance is.
18  */
20  {
21  /**
22  * <p>
23  * Expression assignment has been selected.
24  * </p>
25  *
26  * The config instance can be cast to {@link
27  * ExpressionAssignmentNodeConfig}.
28  */
30 
31  /**
32  * Operator assignment has been selected. This type has no further
33  * information. Setting this type of config will be ignored and will
34  * have no effect on the node.
35  */
36  OPERATOR
37  };
38 
39  enum InputMode
40  {
45  };
46 
49  virtual ~AssignmentNode();
50 
51  /**
52  * <p>
53  *
54  * </p>
55  * @return
56  */
57  ConfigType getConfigType();
58  void setConfigType(ConfigType type);
59 
60  /**
61  *
62  * @return the variable assigned to the expression evaluation.
63  */
64  VariablePtr getVariable();
65  void setVariable(VariablePtr var);
66 
67  /**
68  *
69  * @return the expression whose evaluation is assigned to the variable.
70  */
71  ExpressionPtr getExpression();
72  void setExpression(ExpressionPtr exp);
73 
74 private:
75  friend class DataSwitch;
77  void *d_{ nullptr };
78 };
79 
80 } // namespace aubo_scope
81 } // namespace arcs
82 #endif // AUBO_SCOPE_ASSIGNMENT_NODE_H
ARCS_CLASS_FORWARD(GripForceCapability)
ConfigType
The configuration type used to determine which type of configuration this instance is...
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16