38 #ifndef CORELIB_DATAOBJECTINTERFACE_HPP 39 #define CORELIB_DATAOBJECTINTERFACE_HPP 42 #include "../FlowStatus.hpp" 43 #include <boost/call_traits.hpp> 44 #include <boost/shared_ptr.hpp> 62 typedef typename boost::call_traits<T>::param_type
param_t;
63 typedef typename boost::call_traits<T>::reference
reference_t;
68 typedef typename boost::shared_ptr<DataObjectInterface<T> >
shared_ptr;
87 virtual FlowStatus Get( reference_t pull,
bool copy_old_data =
true )
const = 0;
94 virtual value_t
Get()
const = 0;
101 virtual bool Set( param_t push ) = 0;
112 virtual bool data_sample( param_t sample,
bool reset =
true ) = 0;
123 virtual void clear() = 0;
boost::shared_ptr< DataObjectInterface< T > > shared_ptr
Used for shared_ptr management.
virtual ~DataObjectInterface()
Destructor.
FlowStatus
Returns the status of a data flow read operation.
virtual value_t data_sample() const =0
Reads back a data sample.
boost::call_traits< T >::param_type param_t
A DataObjectInterface implements multi-threaded read/write solutions.
DataObjectInterface()
Create a DataObject which is initially not reference counted.
boost::call_traits< T >::reference reference_t
virtual bool Set(param_t push)=0
Set the data to a certain value.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual value_t Get() const =0
Get a copy of the data of this data object.
Base class for all data object classes.
virtual void clear()=0
Clears any data stored by this data object, so that any subsequent Get() without a new Set() will ret...