OpenRTM-aist
2.1.0
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
InPortCorbaCdrProvider.h
[詳解]
1
// -*- C++ -*-
19
20
#ifndef RTC_INPORTCORBACDRPROVIDER_H
21
#define RTC_INPORTCORBACDRPROVIDER_H
22
23
#include <rtm/idl/DataPort_OpenRTMSkel.h>
24
#include <
rtm/BufferBase.h
>
25
#include <
rtm/InPortProvider.h
>
26
#include <
rtm/CORBA_SeqUtil.h
>
27
#include <
rtm/Manager.h
>
28
#include <
rtm/ConnectorListener.h
>
29
#include <
rtm/ConnectorBase.h
>
30
31
namespace
RTC
32
{
57
class
InPortCorbaCdrProvider
58
:
public
InPortProvider
,
59
public
virtual
POA_OpenRTM::InPortCdr,
60
public
virtual
PortableServer::RefCountServantBase
61
{
62
public
:
76
InPortCorbaCdrProvider
();
77
91
~InPortCorbaCdrProvider
()
override
;
92
120
void
init
(coil::Properties& prop)
override
;
121
147
void
setBuffer
(
BufferBase<ByteData>
* buffer)
override
;
148
197
void
setListener
(
ConnectorInfo
& info,
198
ConnectorListenersBase
* listeners)
override
;
199
224
void
setConnector
(
InPortConnector
* connector)
override
;
225
243
::OpenRTM::PortStatus
put
(const ::OpenRTM::CdrData& data)
override
;
244
245
private
:
253
::OpenRTM::PortStatus
254
convertReturn(
BufferStatus
status,
255
ByteData
& data);
256
257
267
inline
void
onBufferWrite(
ByteData
& data)
268
{
269
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_WRITE
, m_profile, data);
270
}
271
281
inline
void
onBufferFull(
ByteData
& data)
282
{
283
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_FULL
, m_profile, data);
284
}
285
295
inline
void
onBufferWriteTimeout(ByteData& data)
296
{
297
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_WRITE_TIMEOUT
, m_profile, data);
298
}
299
309
inline
void
onBufferWriteOverwrite(ByteData& data)
310
{
311
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_OVERWRITE
, m_profile, data);
312
}
313
323
inline
void
onReceived(ByteData& data)
324
{
325
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVED
, m_profile, data);
326
}
327
337
inline
void
onReceiverFull(ByteData& data)
338
{
339
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_FULL
, m_profile, data);
340
}
341
349
inline
void
onReceiverTimeout(ByteData& data)
350
{
351
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_TIMEOUT
, m_profile, data);
352
}
353
361
inline
void
onReceiverError(ByteData& data)
362
{
363
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_ERROR
, m_profile, data);
364
}
365
366
private
:
367
CdrBufferBase
* m_buffer{
nullptr
};
368
::OpenRTM::InPortCdr_var m_objref;
369
ConnectorListenersBase* m_listeners;
370
ConnectorInfo m_profile;
371
InPortConnector* m_connector{
nullptr
};
372
ByteData m_cdr;
373
374
};
// class InPortCorbaCdrProvider
375
}
// namespace RTC
376
377
extern
"C"
378
{
392
void
InPortCorbaCdrProviderInit
(
void
);
393
}
394
395
#endif
// RTC_INPORTCORBACDRPROVIDER_H
396
BufferBase.h
Buffer abstract class
CORBA_SeqUtil.h
CORBA sequence utility template functions
ConnectorBase.h
Connector base class
ConnectorListener.h
connector listener class
InPortCorbaCdrProviderInit
void InPortCorbaCdrProviderInit(void)
モジュール初期化関数
InPortProvider.h
InPortProvider class
Manager.h
-- C++ --
RTC::BufferBase
BufferBase 抽象クラス
Definition
BufferBase.h:106
RTC::ByteData
シリアライズ後のバイト列を操作するクラス
Definition
ByteData.h:30
RTC::ConnectorInfo
ConnectorInfo クラス
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
リスナーへ通知する(InPort側) 指定の種類のリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 InPort側ではnotifyOut関...
RTC::InPortConnector
InPortConnector 基底クラス
Definition
InPortConnector.h:54
RTC::InPortCorbaCdrProvider::setConnector
void setConnector(InPortConnector *connector) override
Connectorを設定する。
RTC::InPortCorbaCdrProvider::setListener
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
リスナを設定する。
RTC::InPortCorbaCdrProvider::put
::OpenRTM::PortStatus put(const ::OpenRTM::CdrData &data) override
[CORBA interface] バッファにデータを書き込む
RTC::InPortCorbaCdrProvider::InPortCorbaCdrProvider
InPortCorbaCdrProvider()
コンストラクタ
RTC::InPortCorbaCdrProvider::setBuffer
void setBuffer(BufferBase< ByteData > *buffer) override
バッファをセットする
RTC::InPortCorbaCdrProvider::init
void init(coil::Properties &prop) override
設定初期化
RTC::InPortCorbaCdrProvider::~InPortCorbaCdrProvider
~InPortCorbaCdrProvider() override
デストラクタ
RTC::InPortProvider::InPortProvider
InPortProvider()
コンストラクタ
RTC
RTコンポーネント
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
BufferStatus リターンコード
Definition
BufferStatus.h:57
構築:
1.17.0