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
Member & operator=(const Member &x)
Definition: PeriodicECSharedComposite.h:352
RTC::ComponentProfile_var profile_
Definition: PeriodicECSharedComposite.h:378
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