20#ifndef RTC_PERIODICECSHAREDCOMPOSITE_H
21#define RTC_PERIODICECSHAREDCOMPOSITE_H
23#include <rtm/idl/RTCSkel.h>
24#include <rtm/idl/OpenRTMSkel.h>
28#include <coil/stringutil.h>
69 using PortList = std::vector<std::string>;
203 static bool sdoToDFC(SDO_ptr sdo, ::OpenRTM::DataFlowComponent_ptr& dfc);
313 ::RTC::ExecutionContext_var
m_ec;
324 rtobj_ = RTC::RTObject::_duplicate(rtobj);
325 profile_ = rtobj->get_component_profile();
326 eclist_ = rtobj->get_owned_contexts();
327 config_ = rtobj->get_configuration();
361 RTC::RTObject_var rtobj(x.
rtobj_);
362 RTC::ComponentProfile_var profile(x.
profile_);
363 RTC::ExecutionContextList_var eclist(x.
eclist_);
364 SDOPackage::Configuration_var config(x.
config_);
391 using MemIt = std::vector<Member>::iterator;
409 static void print(
const PortList& p)
413 std::cout << i << std::endl;
658 OpenRTM::DataFlowComponent_var
m_ref;
void PeriodicECSharedCompositeInit(RTC::Manager *manager)
PeriodicExecutionContext class
SDO Organization implementation class
Logger クラス
Definition SystemLogger.h:101
Manager クラス
Definition Manager.h:91
PeriodicECSharedComposite クラス
Definition PeriodicECSharedComposite.h:462
void deactivateChildComp(const RTC::RTObject_ptr rtobj)
~PeriodicECSharedComposite() override
デストラクタ
void activateChildComp(const RTC::RTObject_ptr rtobj)
ReturnCode_t onReset(RTC::UniqueId exec_handle) override
リセット処理用コールバック関数
ReturnCode_t onInitialize() override
初期化
SDOPackage::PeriodicECOrganization * m_org
Organizationのリファレンス
Definition PeriodicECSharedComposite.h:666
OpenRTM::DataFlowComponent_var m_ref
オブジェクトのリファレンス
Definition PeriodicECSharedComposite.h:658
ReturnCode_t onActivated(RTC::UniqueId exec_handle) override
活性化処理用コールバック関数
std::vector< std::string > m_members
コンポーネント
Definition PeriodicECSharedComposite.h:649
ReturnCode_t onDeactivated(RTC::UniqueId exec_handle) override
非活性化処理用コールバック関数
ReturnCode_t exit() override
void resetChildComp(const RTC::RTObject_ptr rtobj)
PeriodicECSharedComposite(Manager *manager)
コンストラクタ
ReturnCode_t onFinalize() override
[ComponentAction CORBA interface] RTC の終了
RTコンポーネントクラス
Definition RTObject.h:93
SDO Organization 実装クラス
Definition SdoOrganization.h:74
Definition PeriodicECSharedComposite.h:316
SDOPackage::Configuration_var config_
Definition PeriodicECSharedComposite.h:380
RTC::ExecutionContextList_var eclist_
Definition PeriodicECSharedComposite.h:379
RTC::ComponentProfile_var profile_
Definition PeriodicECSharedComposite.h:378
Member & operator=(const Member &x)
Definition PeriodicECSharedComposite.h:352
RTC::RTObject_var rtobj_
Definition PeriodicECSharedComposite.h:377
virtual ~Member()
Definition PeriodicECSharedComposite.h:330
Member(RTC::RTObject_ptr rtobj)
Definition PeriodicECSharedComposite.h:318
void swap(Member &x)
Definition PeriodicECSharedComposite.h:359
Member(const Member &x)
Definition PeriodicECSharedComposite.h:340
PeriodicECOrganization クラス
Definition PeriodicECSharedComposite.h:68
void removeParticipantFromEC(Member &member)
Composite の ExecutionContext から DFC を削除する
void removePort(Member &member, PortList &portlist)
委譲していたポートを削除する
::CORBA::Boolean remove_member(const char *id) override
[CORBA interface] Organizationメンバーを削除する
::RTC::RTObject_impl * m_rtobj
RT オブジェクト
Definition PeriodicECSharedComposite.h:304
PortList m_expPorts
Port List
Definition PeriodicECSharedComposite.h:400
static void startOwnedEC(Member &member)
Owned ExecutionContext を起動する
void addParticipantToEC(Member &member)
Composite の ExecutionContext を DFC にセットする
::CORBA::Boolean add_members(const SDOList &sdo_list) override
[CORBA interface] Organizationメンバーを追加する
std::vector< Member > m_rtcMembers
RTCメンバーリスト
Definition PeriodicECSharedComposite.h:390
void removeOrganizationFromTarget(Member &member)
Organization オブジェクトを DFCから削除する
::RTC::ExecutionContext_var m_ec
ExecutionContext オブジェクトリファレンス
Definition PeriodicECSharedComposite.h:313
void removeAllMembers()
Organizationメンバーを削除する
std::vector< Member >::iterator MemIt
Definition PeriodicECSharedComposite.h:391
static bool sdoToDFC(SDO_ptr sdo, ::OpenRTM::DataFlowComponent_ptr &dfc)
SDOからDFCへの変換
RTC::Logger rtclog
ロガーストリーム
Definition PeriodicECSharedComposite.h:295
static void print(const PortList &p)
PortListを標準出力する。
Definition PeriodicECSharedComposite.h:409
PeriodicECOrganization(::RTC::RTObject_impl *rtobj, SDOSystemElement_ptr sdo)
コンストラクタ
void addOrganizationToTarget(Member &member)
DFC に Organization オブジェクトを与える
void addPort(Member &member, PortList &portlist)
ポートを委譲する
void updateDelegatedPorts()
Organizationメンバーを更新/削除する
~PeriodicECOrganization() override
デストラクタ
void addRTCToEC(RTC::RTObject_ptr rtobj)
::CORBA::Boolean set_members(const SDOList &sdo_list) override
[CORBA interface] Organizationメンバーをセットする
static void stopOwnedEC(Member &member)
Owned ExecutionContext を停止させる
void updateExportedPortsList()
PortsListを更新する
ExecutionContextHandle_t UniqueId
Definition ComponentActionListener.h:34
SDO パッケージ
Definition InPortConsumer.h:35