OpenRTM-aist
2.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
MultilayerCompositeEC.h
[詳解]
1
// -*- C++ -*-
18
#ifndef RTC_MULTILAYERCOMPOSITEEC_H
19
#define RTC_MULTILAYERCOMPOSITEEC_H
20
21
22
#include <
rtm/PeriodicExecutionContext.h
>
23
#include <coil/PeriodicTask.h>
24
25
26
27
namespace
RTC_exp
28
{
49
class
MultilayerCompositeEC
50
:
public
virtual
RTC_exp::PeriodicExecutionContext
51
{
52
public
:
72
MultilayerCompositeEC
();
73
87
~MultilayerCompositeEC
()
override
;
88
102
void
init
(coil::Properties& props)
override
;
103
104
124
int
svc
()
override
;
125
139
RTC::ReturnCode_t
bindComponent
(
RTC::RTObject_impl
* rtc)
override
;
140
141
142
virtual
RTC_impl::RTObjectStateMachine
*
findComponent
(RTC::LightweightRTObject_ptr comp);
143
virtual
void
addTask
(std::vector<RTC::LightweightRTObject_ptr> rtcs);
144
145
146
147
protected
:
148
class
ChildTask
149
{
150
public
:
151
ChildTask
(coil::PeriodicTaskBase* task,
MultilayerCompositeEC
* ec);
152
virtual
~ChildTask
();
153
void
addComponent
(RTC::LightweightRTObject_ptr rtc);
154
void
updateCompList
();
155
virtual
int
svc
();
156
void
signal
();
157
void
join
();
158
coil::TimeMeasure::Statistics
getPeriodStat
();
159
coil::TimeMeasure::Statistics
getExecStat
();
160
void
finalize
();
161
private
:
162
std::vector<RTC::LightweightRTObject_ptr> m_rtcs;
163
coil::PeriodicTaskBase* m_task;
164
MultilayerCompositeEC
* m_ec;
165
std::vector<RTC_impl::RTObjectStateMachine*> m_comps;
166
WorkerThreadCtrl
m_worker;
167
WorkerThreadCtrl
m_signal_worker;
168
169
};
170
171
virtual
void
addRTCToTask
(
ChildTask
* task, RTC::LightweightRTObject_ptr rtobj);
172
173
std::vector<ChildTask*>
m_tasklist
;
174
RTC_impl::RTObjectStateMachine
*
m_ownersm
{
nullptr
};
175
176
177
};
// class MultilayerCompositeEC
178
}
// namespace RTC_exp
179
180
181
extern
"C"
182
{
190
void
MultilayerCompositeECInit
(
RTC::Manager
* manager);
191
}
192
193
#endif
// RTC_MULTILAYERCOMPOSITEEC_H
MultilayerCompositeECInit
void MultilayerCompositeECInit(RTC::Manager *manager)
ECFactoryへの登録のための初期化関数
PeriodicExecutionContext.h
PeriodicExecutionContext class
RTC::Manager
Manager クラス
Definition
Manager.h:91
RTC::RTObject_impl
RTコンポーネントクラス
Definition
RTObject.h:93
RTC_exp::MultilayerCompositeEC::ChildTask
Definition
MultilayerCompositeEC.h:149
RTC_exp::MultilayerCompositeEC::ChildTask::join
void join()
RTC_exp::MultilayerCompositeEC::ChildTask::ChildTask
ChildTask(coil::PeriodicTaskBase *task, MultilayerCompositeEC *ec)
RTC_exp::MultilayerCompositeEC::ChildTask::finalize
void finalize()
RTC_exp::MultilayerCompositeEC::ChildTask::getPeriodStat
coil::TimeMeasure::Statistics getPeriodStat()
RTC_exp::MultilayerCompositeEC::ChildTask::svc
virtual int svc()
RTC_exp::MultilayerCompositeEC::ChildTask::~ChildTask
virtual ~ChildTask()
RTC_exp::MultilayerCompositeEC::ChildTask::getExecStat
coil::TimeMeasure::Statistics getExecStat()
RTC_exp::MultilayerCompositeEC::ChildTask::signal
void signal()
RTC_exp::MultilayerCompositeEC::ChildTask::updateCompList
void updateCompList()
RTC_exp::MultilayerCompositeEC::ChildTask::addComponent
void addComponent(RTC::LightweightRTObject_ptr rtc)
RTC_exp::MultilayerCompositeEC
MultilayerCompositeEC クラス
Definition
MultilayerCompositeEC.h:51
RTC_exp::MultilayerCompositeEC::addTask
virtual void addTask(std::vector< RTC::LightweightRTObject_ptr > rtcs)
RTC_exp::MultilayerCompositeEC::MultilayerCompositeEC
MultilayerCompositeEC()
デフォルトコンストラクタ
RTC_exp::MultilayerCompositeEC::~MultilayerCompositeEC
~MultilayerCompositeEC() override
デストラクタ
RTC_exp::MultilayerCompositeEC::addRTCToTask
virtual void addRTCToTask(ChildTask *task, RTC::LightweightRTObject_ptr rtobj)
RTC_exp::MultilayerCompositeEC::findComponent
virtual RTC_impl::RTObjectStateMachine * findComponent(RTC::LightweightRTObject_ptr comp)
RTC_exp::MultilayerCompositeEC::bindComponent
RTC::ReturnCode_t bindComponent(RTC::RTObject_impl *rtc) override
コンポーネントをバインドする。
RTC_exp::MultilayerCompositeEC::m_ownersm
RTC_impl::RTObjectStateMachine * m_ownersm
Definition
MultilayerCompositeEC.h:174
RTC_exp::MultilayerCompositeEC::m_tasklist
std::vector< ChildTask * > m_tasklist
Definition
MultilayerCompositeEC.h:173
RTC_exp::MultilayerCompositeEC::svc
int svc() override
ExecutionContext 用のスレッド実行関数
RTC_exp::MultilayerCompositeEC::init
void init(coil::Properties &props) override
ExecutionContextの初期化を行う
RTC_exp::PeriodicExecutionContext
PeriodicExecutionContext クラス
Definition
PeriodicExecutionContext.h:60
RTC_impl::RTObjectStateMachine
Definition
RTObjectStateMachine.h:43
RTC_exp
Definition
MultilayerCompositeEC.h:28
RTC_exp::PeriodicExecutionContext::WorkerThreadCtrl
worker 用状態変数クラス
Definition
PeriodicExecutionContext.h:672
構築:
1.9.8