OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
PublisherBase.h
Go to the documentation of this file.
1// -*- C++ -*-
20#ifndef RTC_PUBLISHERBASE_H
21#define RTC_PUBLISHERBASE_H
22
23#include <coil/Properties.h>
24#include <coil/Factory.h>
25#include <rtm/RTC.h>
26#include <rtm/CdrBufferBase.h>
27#include <rtm/DataPortStatus.h>
29
30
31namespace coil
32{
33 class Properties;
34} // namespace coil
35namespace RTC
36{
37 class InPortConsumer;
38 class ConnectorListenersBase;
39 class ConnectorInfo;
40
66 {
67 public:
79 virtual ~PublisherBase() = default;
80
108 virtual DataPortStatus init(coil::Properties& prop) = 0;
109
136
163
198 ConnectorListenersBase* listeners) = 0;
199
255 std::chrono::nanoseconds timeout) = 0;
256
284 virtual bool isActive() = 0;
285
312
339
358 virtual void release(){}
359 };
360
361 using PublisherFactory = coil::GlobalFactory<PublisherBase>;
362} // namespace RTC
363
364#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
365EXTERN template class DLL_PLUGIN coil::GlobalFactory<RTC::PublisherBase>;
366#elif defined(__GNUC__)
367EXTERN template class coil::GlobalFactory<RTC::PublisherBase>;
368#endif
369
370#endif // RTC_PUBLISHERBASE_H
Data Stream Buffer Base class.
DataPortStatus class.
RTComponent header.
DataPortStatus mixin class.
BufferBase abstract class.
Definition BufferBase.h:106
Definition ByteDataStreamBase.h:63
ConnectorInfo class.
Definition ConnectorBase.h:50
Definition ConnectorListener.h:1354
InPortConsumer abstract class.
Definition InPortConsumer.h:78
Base class of Publisher.
Definition PublisherBase.h:66
virtual ~PublisherBase()=default
Destructor.
virtual DataPortStatus deactivate()=0
deactivation
virtual DataPortStatus setBuffer(BufferBase< ByteData > *buffer)=0
Setting buffer pointer.
virtual DataPortStatus activate()=0
activation
virtual void release()
Release the Publisher.
Definition PublisherBase.h:358
virtual DataPortStatus write(ByteDataStreamBase *data, std::chrono::nanoseconds timeout)=0
Write data.
virtual DataPortStatus setListener(ConnectorInfo &info, ConnectorListenersBase *listeners)=0
Set the listener.
virtual bool isActive()=0
If publisher is active state.
virtual DataPortStatus setConsumer(InPortConsumer *consumer)=0
Store InPort consumer.
virtual DataPortStatus init(coil::Properties &prop)=0
Initializing configuration.
RT-Component.
coil::GlobalFactory< PublisherBase > PublisherFactory
Definition PublisherBase.h:361
coil::Properties Properties
Definition RTC.h:72
Definition DefaultPeriodicTask.h:24