Orocos Real-Time Toolkit  2.9.0
ValueFactory.hpp
Go to the documentation of this file.
1 #ifndef RTT_VALUE_TYPE_FACTORY
2 #define RTT_VALUE_TYPE_FACTORY
3 
4 #include "../base/DataSourceBase.hpp"
5 #include "../base/AttributeBase.hpp"
6 #include "../base/PropertyBase.hpp"
7 #include "../rtt-config.h"
8 #include <vector>
9 #include <string>
10 
11 namespace RTT
12 {
13  namespace types {
14 
19  {
20  public:
21  virtual ~ValueFactory() {}
32  virtual base::AttributeBase* buildConstant(std::string name,base::DataSourceBase::shared_ptr, int sizehint) const;
33  virtual base::AttributeBase* buildConstant(std::string name,base::DataSourceBase::shared_ptr) const = 0;
39  virtual base::AttributeBase* buildVariable(std::string name,int sizehint) const;
40  virtual base::AttributeBase* buildVariable(std::string name) const = 0;
41 
46  virtual base::AttributeBase* buildAlias(std::string name, base::DataSourceBase::shared_ptr b ) const = 0;
47 
51  virtual base::PropertyBase* buildProperty(const std::string& name, const std::string& desc, base::DataSourceBase::shared_ptr source = 0) const = 0;
52 
56  virtual base::AttributeBase* buildAttribute(std::string name, base::DataSourceBase::shared_ptr source = 0 ) const = 0;
57 
61  virtual base::DataSourceBase::shared_ptr buildValue() const = 0;
62 
66  virtual base::DataSourceBase::shared_ptr buildReference(void* ptr) const = 0;
67 
73  virtual base::DataSourceBase::shared_ptr buildActionAlias(base::ActionInterface* action, base::DataSourceBase::shared_ptr source) const = 0;
76  };
77 
78  typedef boost::shared_ptr<ValueFactory> ValueFactoryPtr;
79  }
80 }
81 
82 #endif
Base class for all properties.
#define RTT_API
Definition: rtt-config.h:97
Creates all value objects of a certain type.
An attribute is a minimalistic, named placeholder for data.
Based on the software pattern &#39;command&#39;, this interface allows execution of action objects...
boost::shared_ptr< ValueFactory > ValueFactoryPtr
boost::intrusive_ptr< DataSourceBase > shared_ptr
Use this type to store a pointer to a DataSourceBase.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition: Activity.cpp:52