46 #ifndef TYPEMARSHALLER_HPP_ 47 #define TYPEMARSHALLER_HPP_ virtual bool updateFromBlob(const void *blob, int size, base::DataSourceBase::shared_ptr target, void *cookie=0) const =0
Update target with the contents of blob which is an object of a protocol.
virtual void * createCookie() const
Overload in subclasses for marshallers that need to allocate some internal data.
This interface defines the function a transport protocol must support in order to allow Orocos compon...
Objects implementing this interface have the capability to convert data sources to and from a binary ...
virtual void deleteCookie(void *cookie) const
Called to delete a cookie created with createCookie.
virtual std::pair< void const *, int > fillBlob(base::DataSourceBase::shared_ptr source, void *blob, int size, void *cookie=0) const =0
Create an transportable object for a protocol which contains the value of source. ...
virtual unsigned int getSampleSize(base::DataSourceBase::shared_ptr sample, void *cookie=0) const =0
Returns the size in bytes of a marshalled data element.
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.