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 class.
Definition SystemLogger.h:101
Manager class.
Definition Manager.h:91
PeriodicECSharedComposite class.
Definition PeriodicECSharedComposite.h:462
void deactivateChildComp(const RTC::RTObject_ptr rtobj)
~PeriodicECSharedComposite() override
Destructor.
void activateChildComp(const RTC::RTObject_ptr rtobj)
ReturnCode_t onReset(RTC::UniqueId exec_handle) override
Callback function to reset.
ReturnCode_t onInitialize() override
Initialization.
SDOPackage::PeriodicECOrganization * m_org
Reference of Organization .
Definition PeriodicECSharedComposite.h:666
OpenRTM::DataFlowComponent_var m_ref
Reference of object .
Definition PeriodicECSharedComposite.h:658
ReturnCode_t onActivated(RTC::UniqueId exec_handle) override
Callback function to activate.
std::vector< std::string > m_members
Components .
Definition PeriodicECSharedComposite.h:649
ReturnCode_t onDeactivated(RTC::UniqueId exec_handle) override
Callback function to deactivate.
ReturnCode_t exit() override
void resetChildComp(const RTC::RTObject_ptr rtobj)
PeriodicECSharedComposite(Manager *manager)
Constructor.
ReturnCode_t onFinalize() override
[ComponentAction CORBA interface] Finalize RTC
RT-Component class.
Definition RTObject.h:93
Organization implementation class.
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 class.
Definition PeriodicECSharedComposite.h:68
void removeParticipantFromEC(Member &member)
Remove participant DFC from CompositeRTC's ExecutionContext .
void removePort(Member &member, PortList &portlist)
Remove delegated participatns's ports from the composite .
::CORBA::Boolean remove_member(const char *id) override
[CORBA interface] Remove a member of Organization
::RTC::RTObject_impl * m_rtobj
RT Object .
Definition PeriodicECSharedComposite.h:304
PortList m_expPorts
Port List .
Definition PeriodicECSharedComposite.h:400
static void startOwnedEC(Member &member)
Start Owned ExecutionContexts .
void addParticipantToEC(Member &member)
Set CompositeRTC's ExecutionContext to the given DFC .
::CORBA::Boolean add_members(const SDOList &sdo_list) override
[CORBA interface] Add Organization member
std::vector< Member > m_rtcMembers
Member list .
Definition PeriodicECSharedComposite.h:390
void removeOrganizationFromTarget(Member &member)
Remove Organization object from a target DFC .
::RTC::ExecutionContext_var m_ec
ExecutionContext Object reference .
Definition PeriodicECSharedComposite.h:313
void removeAllMembers()
Remove a member of Organization .
std::vector< Member >::iterator MemIt
Definition PeriodicECSharedComposite.h:391
static bool sdoToDFC(SDO_ptr sdo, ::OpenRTM::DataFlowComponent_ptr &dfc)
Conversion from SDO to DFC .
RTC::Logger rtclog
Logger stream .
Definition PeriodicECSharedComposite.h:295
static void print(const PortList &p)
Output PortList to StandardOutput. .
Definition PeriodicECSharedComposite.h:409
PeriodicECOrganization(::RTC::RTObject_impl *rtobj, SDOSystemElement_ptr sdo)
Constructor.
void addOrganizationToTarget(Member &member)
Set Organization object to target DFC .
void addPort(Member &member, PortList &portlist)
Delegate given RTC's ports to the Composite .
void updateDelegatedPorts()
Update/Remove a member of Organization .
~PeriodicECOrganization() override
Destructor.
void addRTCToEC(RTC::RTObject_ptr rtobj)
::CORBA::Boolean set_members(const SDOList &sdo_list) override
[CORBA interface] Set Organization member
static void stopOwnedEC(Member &member)
Stop Owned ExecutionContexts .
void updateExportedPortsList()
PortsList is updated. .
ExecutionContextHandle_t UniqueId
Definition ComponentActionListener.h:34
SDO Package.
Definition InPortConsumer.h:35