AuboCaps  0.6.0
value_factory_provider.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_VALUE_FACTORY_H
2 #define AUBO_SCOPE_VALUE_FACTORY_H
3 
6 
7 namespace arcs {
8 namespace aubo_scope {
9 ARCS_CLASS_FORWARD(ValueFactory);
10 
11 /**
12  * <h1>Summary</h1>
13  * This interface provides a mean to create immutable value objects using
14  * factories. The {@link SimpleValueFactory} helps creating simple value
15  * objects. The {@link ExpressionBuilder} helps building valid expressions. The
16  * {@link BlendFactory} helps creating blend objects. The {@link
17  * JointPositionFactory} helps creating joint positions objects. The {@link
18  * PoseFactory} helps creating Pose objects.
19  */
21 {
22 public:
25  virtual ~ValueFactory();
26 
27  /**
28  * This method instantiates a new {@link ExpressionBuilder} to create a
29  * single valid expression.
30  *
31  * @return the builder to build a single expression.
32  */
33  ExpressionPtr createExpression();
34  ExpressionPtr createExpression(const std::string &str);
35 
36 private:
37  friend class DataSwitch;
38  ValueFactory();
39  void *d_{ nullptr };
40 };
41 } // namespace aubo_scope
42 } // namespace arcs
43 
44 #endif
ARCS_CLASS_FORWARD(GripForceCapability)
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16