OpenRTM-aist
2.1.0
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
OutPortCorbaCdrProvider.h
[詳解]
1
// -*- C++ -*-
19
20
#ifndef RTC_OUTPORTCORBACDRPROVIDER_H
21
#define RTC_OUTPORTCORBACDRPROVIDER_H
22
23
#include <rtm/idl/DataPort_OpenRTMSkel.h>
24
#include <
rtm/BufferBase.h
>
25
#include <
rtm/OutPortProvider.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
OutPortCorbaCdrProvider
58
:
public
OutPortProvider
,
59
public
virtual
::POA_OpenRTM::OutPortCdr,
60
public
virtual
PortableServer::RefCountServantBase
61
{
62
public
:
76
OutPortCorbaCdrProvider
();
77
91
~OutPortCorbaCdrProvider
()
override
;
92
120
void
init
(coil::Properties& prop)
override
;
121
147
void
setBuffer
(
CdrBufferBase
* buffer)
override
;
148
193
void
setListener
(
ConnectorInfo
& info,
194
ConnectorListenersBase
* listeners)
override
;
195
220
void
setConnector
(
OutPortConnector
* connector)
override
;
221
239
::OpenRTM::PortStatus
get
(::OpenRTM::CdrData_out data)
override
;
240
241
242
private
:
250
::OpenRTM::PortStatus convertReturn(
BufferStatus
status,
251
ByteData
& data);
252
253
263
inline
void
onBufferRead(
ByteData
& data)
264
{
265
m_listeners->notifyOut(
ConnectorDataListenerType::ON_BUFFER_READ
, m_profile, data);
266
}
267
277
inline
void
onSend(
ByteData
& data)
278
{
279
m_listeners->
notifyOut
(
ConnectorDataListenerType::ON_SEND
, m_profile, data);
280
}
281
289
inline
void
onBufferEmpty()
290
{
291
m_listeners->
notify
(
ConnectorListenerType::ON_BUFFER_EMPTY
, m_profile);
292
}
293
301
inline
void
onBufferReadTimeout()
302
{
303
m_listeners->notify(
ConnectorListenerType::ON_BUFFER_READ_TIMEOUT
, m_profile);
304
}
305
313
inline
void
onSenderEmpty()
314
{
315
m_listeners->notify(
ConnectorListenerType::ON_SENDER_EMPTY
, m_profile);
316
}
317
325
inline
void
onSenderTimeout()
326
{
327
m_listeners->notify(
ConnectorListenerType::ON_SENDER_TIMEOUT
, m_profile);
328
}
329
337
inline
void
onSenderError()
338
{
339
m_listeners->notify(
ConnectorListenerType::ON_SENDER_ERROR
, m_profile);
340
}
341
342
private
:
343
CdrBufferBase
* m_buffer{
nullptr
};
344
::OpenRTM::OutPortCdr_var m_objref;
345
ConnectorListenersBase* m_listeners;
346
ConnectorInfo m_profile;
347
OutPortConnector* m_connector{
nullptr
};
348
ByteData m_cdr;
349
};
// class OutPortCorbaCdrProvider
350
}
// namespace RTC
351
352
extern
"C"
353
{
367
void
OutPortCorbaCdrProviderInit
(
void
);
368
}
369
370
#endif
// RTC_OUTPORTCORBACDRPROVIDER_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++ --
OutPortCorbaCdrProviderInit
void OutPortCorbaCdrProviderInit(void)
モジュール初期化関数
OutPortProvider.h
OutPortProvider class
RTC::ByteData
シリアライズ後のバイト列を操作するクラス
Definition
ByteData.h:30
RTC::ConnectorInfo
ConnectorInfo クラス
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
リスナーへ通知する(OutPort側) 指定の種類のリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 OutPort側ではnotifyOu...
RTC::ConnectorListenersBase::notify
virtual::RTC::ConnectorListenerStatus::Enum notify(ConnectorListenerType type, ConnectorInfo &info)=0
リスナーへ通知する
RTC::OutPortConnector
OutPortConnector 基底クラス
Definition
OutPortConnector.h:58
RTC::OutPortCorbaCdrProvider::~OutPortCorbaCdrProvider
~OutPortCorbaCdrProvider() override
デストラクタ
RTC::OutPortCorbaCdrProvider::get
::OpenRTM::PortStatus get(::OpenRTM::CdrData_out data) override
[CORBA interface] バッファからデータを取得する
RTC::OutPortCorbaCdrProvider::setBuffer
void setBuffer(CdrBufferBase *buffer) override
バッファをセットする
RTC::OutPortCorbaCdrProvider::init
void init(coil::Properties &prop) override
設定初期化
RTC::OutPortCorbaCdrProvider::OutPortCorbaCdrProvider
OutPortCorbaCdrProvider()
コンストラクタ
RTC::OutPortCorbaCdrProvider::setConnector
void setConnector(OutPortConnector *connector) override
Connectorを設定する。
RTC::OutPortCorbaCdrProvider::setListener
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
リスナを設定する。
RTC::OutPortProvider
OutPortProvider
Definition
OutPortProvider.h:190
RTC
RTコンポーネント
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
BufferStatus リターンコード
Definition
BufferStatus.h:57
構築:
1.17.0