OpenRTM-aist
2.1.0
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
InPortDSProvider.h
[詳解]
1
// -*- C++ -*-
17
18
#ifndef RTC_INPORTDSPROVIDER_H
19
#define RTC_INPORTDSPROVIDER_H
20
21
#include <rtm/idl/DataPortSkel.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
{
55
class
InPortDSProvider
56
:
public
InPortProvider
,
57
public
virtual
POA_RTC::DataPushService,
58
public
virtual
PortableServer::RefCountServantBase
59
{
60
public
:
74
InPortDSProvider
();
75
89
~InPortDSProvider
()
override
;
90
118
void
init
(coil::Properties& prop)
override
;
119
145
void
setBuffer
(
BufferBase<ByteData>
* buffer)
override
;
146
195
void
setListener
(
ConnectorInfo
& info,
196
ConnectorListenersBase
* listeners)
override
;
197
222
void
setConnector
(
InPortConnector
* connector)
override
;
223
241
::RTC::PortStatus
push
(const ::RTC::OctetSeq& data)
override
;
242
243
private
:
251
::RTC::PortStatus
252
convertReturn(
BufferStatus
status,
253
ByteData
& data);
254
255
265
inline
void
onBufferWrite(
ByteData
& data)
266
{
267
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_WRITE
, m_profile, data);
268
}
269
279
inline
void
onBufferFull(
ByteData
& data)
280
{
281
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_FULL
, m_profile, data);
282
}
283
293
inline
void
onBufferWriteTimeout(ByteData& data)
294
{
295
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_WRITE_TIMEOUT
, m_profile, data);
296
}
297
307
inline
void
onBufferWriteOverwrite(ByteData& data)
308
{
309
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_OVERWRITE
, m_profile, data);
310
}
311
321
inline
void
onReceived(ByteData& data)
322
{
323
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVED
, m_profile, data);
324
}
325
335
inline
void
onReceiverFull(ByteData& data)
336
{
337
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_FULL
, m_profile, data);
338
}
339
347
inline
void
onReceiverTimeout(ByteData& data)
348
{
349
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_TIMEOUT
, m_profile, data);
350
}
351
359
inline
void
onReceiverError(ByteData& data)
360
{
361
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_ERROR
, m_profile, data);
362
}
363
364
private
:
365
CdrBufferBase
* m_buffer{
nullptr
};
366
::RTC::DataPushService_var m_objref;
367
ConnectorListenersBase* m_listeners;
368
ConnectorInfo m_profile;
369
InPortConnector* m_connector{
nullptr
};
370
ByteData m_cdr;
371
372
};
// class InPortDSProvider
373
}
// namespace RTC
374
375
extern
"C"
376
{
390
void
InPortDSProviderInit
(
void
);
391
}
392
393
#endif
// RTC_INPORTDSPROVIDER_H
394
BufferBase.h
Buffer abstract class
CORBA_SeqUtil.h
CORBA sequence utility template functions
ConnectorBase.h
Connector base class
ConnectorListener.h
connector listener class
InPortDSProviderInit
void InPortDSProviderInit(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::InPortDSProvider::~InPortDSProvider
~InPortDSProvider() override
デストラクタ
RTC::InPortDSProvider::setListener
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
リスナを設定する。
RTC::InPortDSProvider::setBuffer
void setBuffer(BufferBase< ByteData > *buffer) override
バッファをセットする
RTC::InPortDSProvider::push
::RTC::PortStatus push(const ::RTC::OctetSeq &data) override
[CORBA interface] バッファにデータを書き込む
RTC::InPortDSProvider::setConnector
void setConnector(InPortConnector *connector) override
Connectorを設定する。
RTC::InPortDSProvider::init
void init(coil::Properties &prop) override
設定初期化
RTC::InPortDSProvider::InPortDSProvider
InPortDSProvider()
コンストラクタ
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