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
virtual ~DataObjectInterface()
virtual value_t data_sample() const =0
boost::call_traits< T >::param_type param_t
A DataObjectInterface implements multi-threaded read/write solutions.
boost::call_traits< T >::reference reference_t
virtual bool Set(param_t push)=0
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual value_t Get() const =0
Base class for all data object classes.