7 #ifndef PIPELINESERVICE_H 8 #define PIPELINESERVICE_H 12 #ifdef epicsExportSharedSymbols 13 # define pipelineServiceEpicsExportSharedSymbols 14 # undef epicsExportSharedSymbols 20 #ifdef pipelineServiceEpicsExportSharedSymbols 21 # define epicsExportSharedSymbols 22 # undef pipelineServiceEpicsExportSharedSymbols 41 virtual size_t getFreeElementCount() = 0;
45 virtual size_t getRequestedCount() = 0;
50 virtual MonitorElement::shared_pointer getFreeElement() = 0;
53 virtual void putElement(MonitorElement::shared_pointer
const & element) = 0;
57 virtual void done() = 0;
71 virtual size_t getMinQueueSize()
const = 0;
74 virtual epics::pvData::Structure::const_shared_pointer getStructure()
const = 0;
79 virtual void request(PipelineControl::shared_pointer
const & control,
size_t elementCount) = 0;
82 virtual void cancel() = 0;
93 virtual PipelineSession::shared_pointer createPipeline(
94 epics::pvData::PVStructure::shared_pointer
const & pvRequest
virtual ~PipelineSession()
TODO only here because of the Lockable.
Mark external symbols and entry points for shared libraries.
virtual ~PipelineService()
#define POINTER_DEFINITIONS(clazz)
virtual ~PipelineControl()