OpenRTM-aist
2.1.0
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
OutPortPullConnector.h
[詳解]
1
// -*- C++ -*-
19
20
#ifndef RTC_OUTPORTPULLCONNECTOR_H
21
#define RTC_OUTPORTPULLCONNECTOR_H
22
23
#include <
rtm/OutPortConnector.h
>
24
#include <
rtm/ConnectorListener.h
>
25
26
namespace
RTC
27
{
28
class
OutPortProvider
;
29
81
class
OutPortPullConnector
82
:
public
OutPortConnector
83
{
84
public
:
85
126
OutPortPullConnector
(
ConnectorInfo
info,
127
OutPortProvider
* provider,
128
ConnectorListenersBase
* listeners,
129
CdrBufferBase
* buffer =
nullptr
);
130
146
~OutPortPullConnector
()
override
;
147
164
DataPortStatus
write
(
ByteDataStreamBase
* data)
override
;
165
166
BufferStatus
read
(
ByteData
&data)
override
;
167
183
DataPortStatus
disconnect
()
override
;
184
198
CdrBufferBase
*
getBuffer
()
override
;
199
214
void
activate
()
override
{}
// do nothing
215
230
void
deactivate
()
override
{}
// do nothing
231
239
static
CdrBufferBase
*
createBuffer
(
ConnectorInfo
& info);
240
248
void
onConnect
();
249
257
void
onDisconnect
();
258
259
protected
:
267
OutPortProvider
*
m_provider
;
268
276
ConnectorListenersBase
*
m_listeners
;
277
285
CdrBufferBase
*
m_buffer
;
286
private
:
287
bool
m_sync_readwrite;
288
289
struct
WorkerThreadCtrl
290
{
291
WorkerThreadCtrl() {}
292
std::mutex mutex_;
293
std::condition_variable cond_;
294
bool
completed_{
false
};
295
};
296
WorkerThreadCtrl m_writecompleted_worker;
297
WorkerThreadCtrl m_readcompleted_worker;
298
WorkerThreadCtrl m_readready_worker;
299
300
};
301
}
// namespace RTC
302
303
#endif
// RTC_PULL_CONNECTOR_H
ConnectorListener.h
connector listener class
OutPortConnector.h
OutPortConnector class
RTC::ByteDataStreamBase
シリアライザの基底クラス
Definition
ByteDataStreamBase.h:63
RTC::ByteData
シリアライズ後のバイト列を操作するクラス
Definition
ByteData.h:30
RTC::ConnectorInfo
ConnectorInfo クラス
Definition
ConnectorBase.h:50
RTC::ConnectorListenersBase
Definition
ConnectorListener.h:1354
RTC::OutPortConnector::OutPortConnector
OutPortConnector(ConnectorInfo &info, ConnectorListenersBase *listeners)
コンストラクタ
RTC::OutPortProvider
OutPortProvider
Definition
OutPortProvider.h:190
RTC::OutPortPullConnector::read
BufferStatus read(ByteData &data) override
RTC::OutPortPullConnector::onDisconnect
void onDisconnect()
接続切断時にコールバックを呼ぶ
RTC::OutPortPullConnector::onConnect
void onConnect()
接続確立時にコールバックを呼ぶ
RTC::OutPortPullConnector::m_provider
OutPortProvider * m_provider
OutPortProvider へのポインタ
Definition
OutPortPullConnector.h:267
RTC::OutPortPullConnector::~OutPortPullConnector
~OutPortPullConnector() override
デストラクタ
RTC::OutPortPullConnector::createBuffer
static CdrBufferBase * createBuffer(ConnectorInfo &info)
Bufferの生成
RTC::OutPortPullConnector::OutPortPullConnector
OutPortPullConnector(ConnectorInfo info, OutPortProvider *provider, ConnectorListenersBase *listeners, CdrBufferBase *buffer=nullptr)
コンストラクタ
RTC::OutPortPullConnector::activate
void activate() override
アクティブ化
Definition
OutPortPullConnector.h:214
RTC::OutPortPullConnector::m_buffer
CdrBufferBase * m_buffer
Buffer へのポインタ
Definition
OutPortPullConnector.h:285
RTC::OutPortPullConnector::getBuffer
CdrBufferBase * getBuffer() override
Buffer を取得する
RTC::OutPortPullConnector::m_listeners
ConnectorListenersBase * m_listeners
ConnectorListenrs への参照
Definition
OutPortPullConnector.h:276
RTC::OutPortPullConnector::deactivate
void deactivate() override
非アクティブ化
Definition
OutPortPullConnector.h:230
RTC::OutPortPullConnector::disconnect
DataPortStatus disconnect() override
接続解除
RTC::OutPortPullConnector::write
DataPortStatus write(ByteDataStreamBase *data) override
データの書き込み
RTC
RTコンポーネント
RTC::CdrBufferBase
BufferBase< ByteData > CdrBufferBase
Definition
CdrBufferBase.h:31
RTC::DataPortStatus
DataPortStatus
Definition
DataPortStatus.h:114
RTC::BufferStatus
BufferStatus
BufferStatus リターンコード
Definition
BufferStatus.h:57
構築:
1.17.0