OpenRTM-aist
2.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
OutPortSHMProvider.h
Go to the documentation of this file.
1
// -*- C++ -*-
16
17
#ifndef RTC_OUTPORTSHMPROVIDER_H
18
#define RTC_OUTPORTSHMPROVIDER_H
19
20
#include <
rtm/SharedMemoryPort.h
>
21
#include <
rtm/BufferBase.h
>
22
#include <
rtm/OutPortProvider.h
>
23
#include <
rtm/CORBA_SeqUtil.h
>
24
#include <
rtm/Manager.h
>
25
#include <
rtm/ConnectorListener.h
>
26
#include <
rtm/ConnectorBase.h
>
27
28
namespace
RTC
29
{
51
class
OutPortSHMProvider
52
:
public
OutPortProvider
,
53
public
virtual
SharedMemoryPort
54
{
55
public
:
69
OutPortSHMProvider
();
70
84
~OutPortSHMProvider
()
override
;
85
104
void
init
(coil::Properties& prop)
override
;
105
123
void
setBuffer
(
CdrBufferBase
* buffer)
override
;
124
144
void
setListener
(
ConnectorInfo
& info,
145
ConnectorListenersBase
* listeners)
override
;
146
164
void
setConnector
(
OutPortConnector
* connector)
override
;
165
183
::OpenRTM::PortStatus
get
()
override
;
184
185
186
private
:
194
::OpenRTM::PortStatus convertReturn(
BufferStatus
status,
195
ByteData
& data);
196
197
207
inline
void
onBufferRead(
ByteData
& data)
208
{
209
m_listeners->notifyOut(
ConnectorDataListenerType::ON_BUFFER_READ
, m_profile, data);
210
}
211
221
inline
void
onSend(
ByteData
& data)
222
{
223
m_listeners->
notifyOut
(
ConnectorDataListenerType::ON_SEND
, m_profile, data);
224
}
225
233
inline
void
onBufferEmpty()
234
{
235
m_listeners->
notify
(
ConnectorListenerType::ON_BUFFER_EMPTY
, m_profile);
236
}
237
245
inline
void
onBufferReadTimeout()
246
{
247
m_listeners->notify(
ConnectorListenerType::ON_BUFFER_READ_TIMEOUT
, m_profile);
248
}
249
257
inline
void
onSenderEmpty()
258
{
259
m_listeners->notify(
ConnectorListenerType::ON_SENDER_EMPTY
, m_profile);
260
}
261
269
inline
void
onSenderTimeout()
270
{
271
m_listeners->notify(
ConnectorListenerType::ON_SENDER_TIMEOUT
, m_profile);
272
}
273
281
inline
void
onSenderError()
282
{
283
m_listeners->notify(
ConnectorListenerType::ON_SENDER_ERROR
, m_profile);
284
}
285
286
private
:
287
CdrBufferBase
* m_buffer{
nullptr
};
288
::OpenRTM::PortSharedMemory_var m_objref;
289
ConnectorListenersBase* m_listeners;
290
ConnectorInfo m_profile;
291
OutPortConnector* m_connector{
nullptr
};
292
std::string m_shm_address;
293
int
m_memory_size{0};
294
ByteData m_cdr;
295
};
// class OutPortCorbaCdrProvider
296
}
// namespace RTC
297
298
extern
"C"
299
{
313
void
OutPortSHMProviderInit
(
void
);
314
}
315
316
#endif
// RTC_OUTPORTSHMPROVIDER_H
BufferBase.h
Buffer abstract class.
CORBA_SeqUtil.h
CORBA sequence utility template functions.
ConnectorBase.h
Connector base class.
ConnectorListener.h
connector listener class
Manager.h
-- C++ --
OutPortProvider.h
OutPortProvider class.
OutPortSHMProviderInit
void OutPortSHMProviderInit(void)
Module initialization.
SharedMemoryPort.h
Shared Memory Port class.
RTC::ByteData
Definition
ByteData.h:30
RTC::ConnectorInfo
ConnectorInfo class.
Definition
ConnectorBase.h:50
RTC::ConnectorListenersBase
Definition
ConnectorListener.h:1354
RTC::ConnectorListenersBase::notifyOut
virtual::RTC::ConnectorListenerStatus::Enum notifyOut(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
Notify listeners. (Typed data version).
RTC::ConnectorListenersBase::notify
virtual::RTC::ConnectorListenerStatus::Enum notify(ConnectorListenerType type, ConnectorInfo &info)=0
Virtual Callback method.
RTC::OutPortConnector
OutPortConnector base class.
Definition
OutPortConnector.h:58
RTC::OutPortProvider
OutPortProvider.
Definition
OutPortProvider.h:190
RTC::OutPortSHMProvider::setListener
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
RTC::OutPortSHMProvider::get
::OpenRTM::PortStatus get() override
[CORBA interface] Get data from the buffer
RTC::OutPortSHMProvider::init
void init(coil::Properties &prop) override
Initializing configuration.
RTC::OutPortSHMProvider::setBuffer
void setBuffer(CdrBufferBase *buffer) override
Setting outside buffer's pointer.
RTC::OutPortSHMProvider::setConnector
void setConnector(OutPortConnector *connector) override
set Connector
RTC::OutPortSHMProvider::OutPortSHMProvider
OutPortSHMProvider()
Constructor.
RTC::OutPortSHMProvider::~OutPortSHMProvider
~OutPortSHMProvider() override
Destructor.
RTC::SharedMemoryPort::SharedMemoryPort
SharedMemoryPort()
Constructor.
RTC
RT-Component.
RTC::ConnectorDataListenerType::ON_SEND
@ ON_SEND
Definition
ConnectorListener.h:150
RTC::ConnectorDataListenerType::ON_BUFFER_READ
@ ON_BUFFER_READ
Definition
ConnectorListener.h:149
RTC::CdrBufferBase
BufferBase< ByteData > CdrBufferBase
Definition
CdrBufferBase.h:31
RTC::ConnectorListenerType::ON_SENDER_EMPTY
@ ON_SENDER_EMPTY
Definition
ConnectorListener.h:673
RTC::ConnectorListenerType::ON_BUFFER_EMPTY
@ ON_BUFFER_EMPTY
Definition
ConnectorListener.h:671
RTC::ConnectorListenerType::ON_BUFFER_READ_TIMEOUT
@ ON_BUFFER_READ_TIMEOUT
Definition
ConnectorListener.h:672
RTC::ConnectorListenerType::ON_SENDER_ERROR
@ ON_SENDER_ERROR
Definition
ConnectorListener.h:675
RTC::ConnectorListenerType::ON_SENDER_TIMEOUT
@ ON_SENDER_TIMEOUT
Definition
ConnectorListener.h:674
RTC::BufferStatus
BufferStatus
DataPortStatus return codes.
Definition
BufferStatus.h:57
Generated by
1.17.0