OpenRTM-aist
2.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
InPortSHMProvider.h
Go to the documentation of this file.
1
// -*- C++ -*-
17
18
#ifndef RTC_INPORTSHMPROVIDER_H
19
#define RTC_INPORTSHMPROVIDER_H
20
21
#include <
rtm/SharedMemoryPort.h
>
22
#include <
rtm/BufferBase.h
>
23
#include <
rtm/InPortProvider.h
>
24
#include <
rtm/CORBA_SeqUtil.h
>
25
#include <
rtm/Manager.h
>
26
#include <
rtm/ConnectorListener.h
>
27
#include <
rtm/ConnectorBase.h
>
28
29
namespace
RTC
30
{
52
class
InPortSHMProvider
53
:
public
InPortProvider
,
54
public
virtual
SharedMemoryPort
55
{
56
public
:
70
InPortSHMProvider
();
71
85
~InPortSHMProvider
()
override
;
86
103
void
init
(coil::Properties& prop)
override
;
104
120
void
setBuffer
(
BufferBase<ByteData>
* buffer)
override
;
121
142
void
setListener
(
ConnectorInfo
& info,
143
ConnectorListenersBase
* listeners)
override
;
161
void
setConnector
(
InPortConnector
* connector)
override
;
162
180
::OpenRTM::PortStatus
put
()
override
;
181
182
private
:
183
184
::OpenRTM::PortStatus
185
convertReturn(
BufferStatus
status,
186
ByteData
& data);
187
188
189
inline
void
onBufferWrite(
ByteData
& data)
190
{
191
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_WRITE
, m_profile, data);
192
}
193
194
inline
void
onBufferFull(
ByteData
& data)
195
{
196
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_FULL
, m_profile, data);
197
}
198
199
inline
void
onBufferWriteTimeout(ByteData& data)
200
{
201
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_WRITE_TIMEOUT
, m_profile, data);
202
}
203
204
inline
void
onBufferWriteOverwrite(ByteData& data)
205
{
206
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_OVERWRITE
, m_profile, data);
207
}
208
209
inline
void
onReceived(ByteData& data)
210
{
211
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVED
, m_profile, data);
212
}
213
214
inline
void
onReceiverFull(ByteData& data)
215
{
216
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_FULL
, m_profile, data);
217
}
218
219
inline
void
onReceiverTimeout(ByteData& data)
220
{
221
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_TIMEOUT
, m_profile, data);
222
}
223
224
inline
void
onReceiverError(ByteData& data)
225
{
226
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_ERROR
, m_profile, data);
227
}
228
229
private
:
230
CdrBufferBase
* m_buffer{
nullptr
};
231
::OpenRTM::PortSharedMemory_var m_objref;
232
ConnectorListenersBase* m_listeners;
233
ConnectorInfo m_profile;
234
InPortConnector* m_connector{
nullptr
};
235
ByteData m_cdr;
236
237
};
// class InPortCorCdrbaProvider
238
}
// namespace RTC
239
240
extern
"C"
241
{
255
void
InPortSHMProviderInit
();
256
}
257
258
#endif
// RTC_INPORTCORBACDRPROVIDER_H
259
BufferBase.h
Buffer abstract class.
CORBA_SeqUtil.h
CORBA sequence utility template functions.
ConnectorBase.h
Connector base class.
ConnectorListener.h
connector listener class
InPortProvider.h
InPortProvider class.
InPortSHMProviderInit
void InPortSHMProviderInit()
Module initialization.
Manager.h
-- C++ --
SharedMemoryPort.h
Shared Memory Port class.
RTC::BufferBase
BufferBase abstract class.
Definition
BufferBase.h:106
RTC::ByteData
Definition
ByteData.h:30
RTC::ConnectorInfo
ConnectorInfo class.
Definition
ConnectorBase.h:50
RTC::ConnectorListenersBase
Definition
ConnectorListener.h:1354
RTC::ConnectorListenersBase::notifyIn
virtual::RTC::ConnectorListenerStatus::Enum notifyIn(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
Notify listeners. (Typed data version).
RTC::InPortConnector
InPortConnector base class.
Definition
InPortConnector.h:54
RTC::InPortProvider::InPortProvider
InPortProvider()
Constructor.
RTC::InPortSHMProvider::setBuffer
void setBuffer(BufferBase< ByteData > *buffer) override
Setting outside buffer's pointer.
RTC::InPortSHMProvider::setConnector
void setConnector(InPortConnector *connector) override
set Connector
RTC::InPortSHMProvider::InPortSHMProvider
InPortSHMProvider()
Constructor.
RTC::InPortSHMProvider::~InPortSHMProvider
~InPortSHMProvider() override
Destructor.
RTC::InPortSHMProvider::setListener
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
RTC::InPortSHMProvider::init
void init(coil::Properties &prop) override
Initializing configuration.
RTC::InPortSHMProvider::put
::OpenRTM::PortStatus put() override
[CORBA interface] Write data into the buffer
RTC::SharedMemoryPort::SharedMemoryPort
SharedMemoryPort()
Constructor.
RTC
RT-Component.
RTC::ConnectorDataListenerType::ON_RECEIVER_ERROR
@ ON_RECEIVER_ERROR
Definition
ConnectorListener.h:154
RTC::ConnectorDataListenerType::ON_RECEIVER_TIMEOUT
@ ON_RECEIVER_TIMEOUT
Definition
ConnectorListener.h:153
RTC::ConnectorDataListenerType::ON_BUFFER_WRITE_TIMEOUT
@ ON_BUFFER_WRITE_TIMEOUT
Definition
ConnectorListener.h:147
RTC::ConnectorDataListenerType::ON_RECEIVER_FULL
@ ON_RECEIVER_FULL
Definition
ConnectorListener.h:152
RTC::ConnectorDataListenerType::ON_BUFFER_OVERWRITE
@ ON_BUFFER_OVERWRITE
Definition
ConnectorListener.h:148
RTC::ConnectorDataListenerType::ON_RECEIVED
@ ON_RECEIVED
Definition
ConnectorListener.h:151
RTC::ConnectorDataListenerType::ON_BUFFER_WRITE
@ ON_BUFFER_WRITE
Definition
ConnectorListener.h:145
RTC::ConnectorDataListenerType::ON_BUFFER_FULL
@ ON_BUFFER_FULL
Definition
ConnectorListener.h:146
RTC::CdrBufferBase
BufferBase< ByteData > CdrBufferBase
Definition
CdrBufferBase.h:31
RTC::BufferStatus
BufferStatus
DataPortStatus return codes.
Definition
BufferStatus.h:57
Generated by
1.17.0