OpenRTM-aist  1.2.1
RTObject.h
Go to the documentation of this file.
1 // -*- C++ -*-
18 #ifndef RTC_RTOBJECT_H
19 #define RTC_RTOBJECT_H
20 
21 // CORBA header include
22 #include <coil/Properties.h>
23 
24 #include <rtm/RTC.h>
25 #include <rtm/idl/RTCSkel.h>
26 #include <rtm/idl/OpenRTMSkel.h>
27 #include <rtm/PortBase.h>
28 #include <rtm/PortAdmin.h>
29 #include <rtm/InPortBase.h>
30 #include <rtm/OutPortBase.h>
31 #include <rtm/CorbaPort.h>
32 #include <rtm/ConfigAdmin.h>
33 #include <rtm/SystemLogger.h>
35 #include <rtm/SdoServiceAdmin.h>
37 
38 #define ECOTHER_OFFSET 1000
39 
40 namespace SDOPackage
41 {
42  class Configuration_impl;
43 };
44 
45 #ifdef WIN32
46 #pragma warning( disable : 4290 )
47 #endif
48 
49 namespace RTC
50 {
51  class Manager;
52  class ExecutionContextBase;
53  typedef ExecutionContextHandle_t UniqueId;
54 
90  : public virtual POA_OpenRTM::DataFlowComponent,
91  public virtual PortableServer::RefCountServantBase
92  {
93  public:
112  RTObject_impl(Manager* manager);
113 
134  RTObject_impl(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
135 
147  virtual ~RTObject_impl(void);
148 
149  protected:
150  //============================================================
151  // Overridden functions
152  //============================================================
180  // The initialize action (on CREATED->ALIVE transition)
181  // formaer rtc_init_entry()
182  virtual ReturnCode_t onInitialize();
183 
211  // The finalize action (on ALIVE->END transition)
212  // formaer rtc_exiting_entry()
213  virtual ReturnCode_t onFinalize();
214 
246  // The startup action when ExecutionContext startup
247  // former rtc_starting_entry()
248  virtual ReturnCode_t onStartup(RTC::UniqueId exec_handle);
249 
281  // The shutdown action when ExecutionContext stop
282  // former rtc_stopping_entry()
283  virtual ReturnCode_t onShutdown(RTC::UniqueId exec_handle);
284 
316  // The activated action (Active state entry action)
317  // former rtc_active_entry()
318  virtual ReturnCode_t onActivated(RTC::UniqueId exec_handle);
319 
351  // The deactivated action (Active state exit action)
352  // former rtc_active_exit()
353  virtual ReturnCode_t onDeactivated(RTC::UniqueId exec_handle);
354 
391  // The execution action that is invoked periodically
392  // former rtc_active_do()
393  virtual ReturnCode_t onExecute(RTC::UniqueId exec_handle);
394 
426  // The aborting action when main logic error occurred.
427  // former rtc_aborting_entry()
428  virtual ReturnCode_t onAborting(RTC::UniqueId exec_handle);
429 
460  // The error action in ERROR state
461  // former rtc_error_do()
462  virtual ReturnCode_t onError(RTC::UniqueId exec_handle);
463 
494  // The reset action that is invoked resetting
495  // This is same but different the former rtc_init_entry()
496  virtual ReturnCode_t onReset(RTC::UniqueId exec_handle);
497 
534  // The state update action that is invoked after onExecute() action
535  // no corresponding operation exists in OpenRTm-aist-0.2.0
536  virtual ReturnCode_t onStateUpdate(RTC::UniqueId exec_handle);
537 
573  // The action that is invoked when execution context's rate is changed
574  // no corresponding operation exists in OpenRTm-aist-0.2.0
575  virtual ReturnCode_t onRateChanged(RTC::UniqueId exec_handle);
576 
577  public:
578  //============================================================
579  // RTC::LightweightRTObject
580  //============================================================
616  virtual ReturnCode_t initialize()
617  throw (CORBA::SystemException);
618 
664  virtual ReturnCode_t finalize()
665  throw (CORBA::SystemException);
666 
710  virtual ReturnCode_t exit()
711  throw (CORBA::SystemException);
712 
746  virtual CORBA::Boolean is_alive(ExecutionContext_ptr exec_context)
747  throw (CORBA::SystemException);
748 
776  virtual ExecutionContext_ptr get_context(UniqueId exec_handle)
777  throw (CORBA::SystemException);
778 
797  virtual ExecutionContextList* get_owned_contexts()
798  throw (CORBA::SystemException);
799 
818  virtual ExecutionContextList* get_participating_contexts()
819  throw (CORBA::SystemException);
820 
835  virtual ExecutionContextHandle_t
836  get_context_handle(ExecutionContext_ptr cxt)
837  throw (CORBA::SystemException);
838 
869  UniqueId attach_context(ExecutionContext_ptr exec_context)
870  throw (CORBA::SystemException);
871 
872  UniqueId bindContext(ExecutionContext_ptr exec_context);
873 
915  ReturnCode_t detach_context(UniqueId exec_handle)
916  throw (CORBA::SystemException);
917 
918  //============================================================
919  // RTC::RTObject
920  //============================================================
940  virtual ComponentProfile* get_component_profile()
941  throw (CORBA::SystemException);
942 
962  virtual PortServiceList* get_ports()
963  throw (CORBA::SystemException);
964 
986  // virtual ExecutionContextServiceList* get_execution_context_services()
987  // throw (CORBA::SystemException);
988 
989  //============================================================
990  // RTC::ComponentAction
991  //============================================================
1017  virtual ReturnCode_t on_initialize()
1018  throw (CORBA::SystemException);
1019 
1044  virtual ReturnCode_t on_finalize()
1045  throw (CORBA::SystemException);
1046 
1075  virtual ReturnCode_t on_startup(UniqueId exec_handle)
1076  throw (CORBA::SystemException);
1077 
1106  virtual ReturnCode_t on_shutdown(UniqueId exec_handle)
1107  throw (CORBA::SystemException);
1108 
1135  virtual ReturnCode_t on_activated(UniqueId exec_handle)
1136  throw (CORBA::SystemException);
1137 
1165  virtual ReturnCode_t on_deactivated(UniqueId exec_handle)
1166  throw (CORBA::SystemException);
1167 
1200  virtual ReturnCode_t on_aborting(UniqueId exec_handle)
1201  throw (CORBA::SystemException);
1202 
1246  virtual ReturnCode_t on_error(UniqueId exec_handle)
1247  throw (CORBA::SystemException);
1248 
1283  virtual ReturnCode_t on_reset(UniqueId exec_handle)
1284  throw (CORBA::SystemException);
1285 
1286  //============================================================
1287  // RTC::DataFlowComponentAction
1288  //============================================================
1331  virtual ReturnCode_t on_execute(UniqueId exec_handle)
1332  throw (CORBA::SystemException);
1333 
1377  virtual ReturnCode_t on_state_update(UniqueId exec_handle)
1378  throw (CORBA::SystemException);
1379 
1416  virtual ReturnCode_t on_rate_changed(UniqueId exec_handle)
1417  throw (CORBA::SystemException);
1418 
1419  //============================================================
1420  // SDOPackage::SdoSystemElement
1421  //============================================================
1459  virtual SDOPackage::OrganizationList* get_owned_organizations()
1460  throw (CORBA::SystemException,
1461  SDOPackage::NotAvailable, SDOPackage::InternalError);
1462 
1463  //============================================================
1464  // SDOPackage::SDO
1465  //============================================================
1499  virtual char* get_sdo_id()
1500  throw (CORBA::SystemException,
1501  SDOPackage::NotAvailable, SDOPackage::InternalError);
1502 
1536  virtual char* get_sdo_type()
1537  throw (CORBA::SystemException,
1538  SDOPackage::NotAvailable, SDOPackage::InternalError);
1539 
1576  virtual SDOPackage::DeviceProfile* get_device_profile()
1577  throw (CORBA::SystemException,
1578  SDOPackage::NotAvailable, SDOPackage::InternalError);
1579 
1616  virtual SDOPackage::ServiceProfileList* get_service_profiles()
1617  throw (CORBA::SystemException,
1618  SDOPackage::NotAvailable, SDOPackage::InternalError);
1619 
1661  virtual SDOPackage::ServiceProfile* get_service_profile(const char* id)
1662  throw (CORBA::SystemException,
1663  SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
1664  SDOPackage::InternalError);
1665 
1713  virtual SDOPackage::SDOService_ptr get_sdo_service(const char* id)
1714  throw (CORBA::SystemException,
1715  SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
1716  SDOPackage::InternalError);
1717 
1762  virtual SDOPackage::Configuration_ptr get_configuration()
1763  throw (CORBA::SystemException,
1764  SDOPackage::InterfaceNotImplemented, SDOPackage::NotAvailable,
1765  SDOPackage::InternalError);
1766 
1810  virtual SDOPackage::Monitoring_ptr get_monitoring()
1811  throw (CORBA::SystemException,
1812  SDOPackage::InterfaceNotImplemented, SDOPackage::NotAvailable,
1813  SDOPackage::InternalError);
1814 
1850  virtual SDOPackage::OrganizationList* get_organizations()
1851  throw (CORBA::SystemException,
1852  SDOPackage::NotAvailable, SDOPackage::InternalError);
1853 
1885  virtual SDOPackage::NVList* get_status_list()
1886  throw (CORBA::SystemException,
1887  SDOPackage::NotAvailable, SDOPackage::InternalError);
1888 
1925  virtual CORBA::Any* get_status(const char* name)
1926  throw (CORBA::SystemException,
1927  SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
1928  SDOPackage::InternalError);
1929 
1930  //============================================================
1931  // Local interfaces
1932  //============================================================
1952  const char* getInstanceName()
1953  {
1954  RTC_TRACE(("getInstanceName()"));
1955  return m_profile.instance_name;
1956  }
1957 
1977  void setInstanceName(const char* instance_name);
1978 
1998  const char* getTypeName()
1999  {
2000  RTC_TRACE(("getTypeName()"));
2001  return m_profile.type_name;
2002  }
2003 
2023  const char* getDescription()
2024  {
2025  RTC_TRACE(("getDescription()"));
2026  return m_profile.description;
2027  }
2028 
2049  const char* getVersion()
2050  {
2051  RTC_TRACE(("getVersion()"));
2052  return m_profile.version;
2053  }
2054 
2074  const char* getVendor()
2075  {
2076  RTC_TRACE(("getVendor()"));
2077  return m_profile.vendor;
2078  }
2079 
2099  const char* getCategory()
2100  {
2101  RTC_TRACE(("getCategory()"));
2102  return m_profile.category;
2103  }
2104 
2124  std::vector<std::string> getNamingNames();
2125 
2145  void setObjRef(const RTObject_ptr rtobj);
2146 
2166  RTObject_ptr getObjRef() const;
2167 
2193  void setProperties(const coil::Properties& prop);
2194 
2216  coil::Properties& getProperties();
2217 
2250  template <typename VarType>
2251  bool bindParameter(const char* param_name, VarType& var,
2252  const char* def_val,
2253  bool (*trans)(VarType&, const char*) = coil::stringTo)
2254  {
2255  RTC_TRACE(("bindParameter(%s (default: %s))", param_name, def_val));
2256  m_configsets.bindParameter(param_name, var, def_val, trans);
2257  return true;
2258  }
2259 
2327  ConfigAdmin& getConfigService() { return m_configsets; }
2328 
2350  void updateParameters(const char* config_set);
2351 
2385  bool addPort(PortBase& port);
2419  bool addPort(PortService_ptr port);
2453  bool addPort(CorbaPort& port);
2485  void registerPort(PortBase& port);
2517  void registerPort(PortService_ptr port);
2549  void registerPort(CorbaPort& port);
2550 
2579  bool addInPort(const char* name, InPortBase& inport);
2580  const std::vector<InPortBase*>& getInPorts() const {return m_inports;};
2581  const std::vector<OutPortBase*>& getOutPorts() const {return m_outports;};
2608  void registerInPort(const char* name, InPortBase& inport);
2609 
2638  bool addOutPort(const char* name, OutPortBase& outport);
2665  void registerOutPort(const char* name, OutPortBase& outport);
2666 
2688  bool removeInPort(InPortBase& port);
2689 
2711  bool removeOutPort(OutPortBase& port);
2712 
2734  bool removePort(PortBase& port);
2756  bool removePort(PortService_ptr port);
2778  bool removePort(CorbaPort& port);
2798  void deletePort(PortBase& port);
2818  void deletePort(PortService_ptr port);
2838  void deletePort(CorbaPort& port);
2839 
2859  void deletePortByName(const char* port_name);
2860 
2911  ExecutionContext_ptr getExecutionContext(RTC::UniqueId ec_id);
2912 
2965  double getExecutionRate(RTC::UniqueId ec_id);
2966 
3020  ReturnCode_t setExecutionRate(RTC::UniqueId ec_id, double rate);
3021 
3074  bool isOwnExecutionContext(RTC::UniqueId ec_id);
3075 
3114  ReturnCode_t deactivate(RTC::UniqueId ec_id);
3115 
3152  ReturnCode_t activate(RTC::UniqueId ec_id);
3153 
3188  ReturnCode_t reset(RTC::UniqueId ec_id);
3189 
3197  bool addSdoServiceProvider(const SDOPackage::ServiceProfile& prof,
3198  SdoServiceProviderBase* provider);
3199 
3207  bool removeSdoServiceProvider(const char* id);
3208 
3216  bool addSdoServiceConsumer(const SDOPackage::ServiceProfile& prof);
3217 
3225  bool removeSdoServiceConsumer(const char* id);
3226 
3234  void removeSdoServiceConsumerStartThread(const char* id);
3235 
3256  bool readAll();
3257 
3278  bool writeAll();
3279 
3314  void setReadAll(bool read=true, bool completion=false);
3315 
3350  void setWriteAll(bool write=true, bool completion=false);
3351 
3352 
3369  void finalizePorts();
3370 
3371 
3383  void finalizeContexts();
3384 
3385 
3460  void
3461  addPreComponentActionListener(PreComponentActionListenerType listener_type,
3462  PreComponentActionListener* listener,
3463  bool autoclean = true);
3464 
3465 
3466  template <class Listener>
3468  addPreComponentActionListener(PreCompActionListenerType listener_type,
3469  Listener& obj,
3470  void (Listener::*memfunc)(UniqueId ec_id))
3471  {
3472  class Noname
3474  {
3475  public:
3476  Noname(Listener& obj, void (Listener::*memfunc)(UniqueId))
3477  : m_obj(obj), m_memfunc(memfunc)
3478  {
3479  }
3480  void operator()(UniqueId ec_id)
3481  {
3482  (m_obj.*m_memfunc)(ec_id);
3483  }
3484  private:
3485  Listener& m_obj;
3486  typedef void (Listener::*Memfunc)(UniqueId ec_id);
3487  Memfunc m_memfunc;
3488  };
3489  Noname* listener(new Noname(obj, memfunc));
3490  addPreComponentActionListener(listener_type, listener, true);
3491  return listener;
3492  }
3493 
3513  void
3514  removePreComponentActionListener(
3515  PreComponentActionListenerType listener_type,
3516  PreComponentActionListener* listener);
3517 
3518 
3593  void
3594  addPostComponentActionListener(
3595  PostComponentActionListenerType listener_type,
3596  PostComponentActionListener* listener,
3597  bool autoclean = true);
3598 
3599  template <class Listener>
3601  addPostComponentActionListener(PostCompActionListenerType listener_type,
3602  Listener& obj,
3603  void (Listener::*memfunc)(UniqueId ec_id,
3604  ReturnCode_t ret))
3605  {
3606  class Noname
3608  {
3609  public:
3610  Noname(Listener& obj, void (Listener::*memfunc)(UniqueId, ReturnCode_t))
3611  : m_obj(obj), m_memfunc(memfunc)
3612  {
3613  }
3614  void operator()(UniqueId ec_id, ReturnCode_t ret)
3615  {
3616  (m_obj.*m_memfunc)(ec_id, ret);
3617  }
3618  private:
3619  Listener& m_obj;
3620  typedef void (Listener::*Memfunc)(UniqueId ec_id, ReturnCode_t ret);
3621  Memfunc m_memfunc;
3622  };
3623  Noname* listener(new Noname(obj, memfunc));
3624  addPostComponentActionListener(listener_type, listener, true);
3625  return listener;
3626  }
3627 
3647  void
3648  removePostComponentActionListener(
3649  PostComponentActionListenerType listener_type,
3650  PostComponentActionListener* listener);
3651 
3652 
3653 
3707  void
3708  addPortActionListener(PortActionListenerType listener_type,
3709  PortActionListener* listener,
3710  bool autoclean = true);
3711 
3712  template <class Listener>
3715  Listener& obj,
3716  void (Listener::*memfunc)(const RTC::PortProfile&))
3717  {
3718  class Noname
3719  : public PortActionListener
3720  {
3721  public:
3722  Noname(Listener& obj,
3723  void (Listener::*memfunc)(const RTC::PortProfile&))
3724  : m_obj(obj), m_memfunc(memfunc)
3725  {
3726  }
3727  void operator()(const RTC::PortProfile& pprofile)
3728  {
3729  (m_obj.*m_memfunc)(pprofile);
3730  }
3731  private:
3732  Listener& m_obj;
3733  typedef void (Listener::*Memfunc)(const RTC::PortProfile&);
3734  Memfunc m_memfunc;
3735  };
3736  Noname* listener(new Noname(obj, memfunc));
3737  addPortActionListener(listener_type, listener, true);
3738  return listener;
3739  }
3740 
3760  void
3761  removePortActionListener(PortActionListenerType listener_type,
3762  PortActionListener* listener);
3763 
3764 
3765 
3821  void addExecutionContextActionListener(ECActionListenerType listener_type,
3822  ECActionListener* listener,
3823  bool autoclean = true);
3824 
3825  template <class Listener>
3826  ECActionListener*
3827  addExecutionContextActionListener(ECActionListenerType listener_type,
3828  Listener& obj,
3829  void (Listener::*memfunc)(UniqueId))
3830  {
3831  class Noname
3832  : public ECActionListener
3833  {
3834  public:
3835  Noname(Listener& obj, void (Listener::*memfunc)(UniqueId))
3836  : m_obj(obj), m_memfunc(memfunc)
3837  {
3838  }
3839  void operator()(UniqueId ec_id)
3840  {
3841  (m_obj.*m_memfunc)(ec_id);
3842  }
3843  private:
3844  Listener& m_obj;
3845  typedef void (Listener::*Memfunc)(UniqueId);
3846  Memfunc m_memfunc;
3847  };
3848  Noname* listener(new Noname(obj, memfunc));
3849  addExecutionContextActionListener(listener_type, listener, true);
3850  return listener;
3851  }
3852 
3853 
3873  void
3874  removeExecutionContextActionListener(ECActionListenerType listener_type,
3875  ECActionListener* listener);
3876 
3877 
3932  void addPortConnectListener(PortConnectListenerType listener_type,
3933  PortConnectListener* listener,
3934  bool autoclean = true);
3935 
3936  template <class Listener>
3939  Listener& obj,
3940  void (Listener::*memfunc)(const char*,
3941  ConnectorProfile&))
3942  {
3943  class Noname
3944  : public PortConnectListener
3945  {
3946  public:
3947  Noname(Listener& obj,
3948  void (Listener::*memfunc)(const char*, ConnectorProfile&))
3949  : m_obj(obj), m_memfunc(memfunc)
3950  {
3951  }
3952  void operator()(const char* portname, ConnectorProfile& cprofile)
3953  {
3954  (m_obj.*m_memfunc)(portname, cprofile);
3955  }
3956  private:
3957  Listener& m_obj;
3958  typedef void (Listener::*Memfunc)(const char*, ConnectorProfile&);
3959  Memfunc m_memfunc;
3960  };
3961  Noname* listener(new Noname(obj, memfunc));
3962  addPortConnectListener(listener_type, listener, true);
3963  return listener;
3964  }
3965 
3966 
3986  void
3987  removePortConnectListener(PortConnectListenerType listener_type,
3988  PortConnectListener* listener);
3989 
4048  void addPortConnectRetListener(PortConnectRetListenerType listener_type,
4049  PortConnectRetListener* listener,
4050  bool autoclean = true);
4051 
4052  template <class Listener>
4055  Listener& obj,
4056  void (Listener::*memfunc)(const char*,
4057  ConnectorProfile&,
4058  ReturnCode_t))
4059  {
4060  class Noname
4061  : public PortConnectRetListener
4062  {
4063  public:
4064  Noname(Listener& obj,
4065  void (Listener::*memfunc)(const char*,
4066  ConnectorProfile&,
4067  ReturnCode_t))
4068  : m_obj(obj), m_memfunc(memfunc)
4069  {
4070  }
4071  void operator()(const char* portname,
4072  ConnectorProfile& cprofile,
4073  ReturnCode_t ret)
4074  {
4075  (m_obj.*m_memfunc)(portname, cprofile, ret);
4076  }
4077  private:
4078  Listener& m_obj;
4079  typedef void (Listener::*Memfunc)(const char* portname,
4080  ConnectorProfile& cprofile,
4081  ReturnCode_t ret);
4082  Memfunc m_memfunc;
4083  };
4084  Noname* listener(new Noname(obj, memfunc));
4085  addPortConnectRetListener(listener_type, listener, true);
4086  return listener;
4087  }
4088 
4089 
4109  void
4110  removePortConnectRetListener(PortConnectRetListenerType listener_type,
4111  PortConnectRetListener* listener);
4112 
4113 
4146  void addConfigurationParamListener(ConfigurationParamListenerType type,
4147  ConfigurationParamListener* listener,
4148  bool autoclean = true);
4149 
4150  template <class Listener>
4153  Listener& obj,
4154  void (Listener::*memfunc)(const char*,
4155  const char*))
4156  {
4157  class Noname
4159  {
4160  public:
4161  Noname(Listener& obj,
4162  void (Listener::*memfunc)(const char*, const char*))
4163  : m_obj(obj), m_memfunc(memfunc)
4164  {
4165  }
4166  void operator()(const char* config_set_name,
4167  const char* config_param_name)
4168  {
4169  (m_obj.*m_memfunc)(config_set_name, config_param_name);
4170  }
4171  private:
4172  Listener& m_obj;
4173  typedef void (Listener::*Memfunc)(const char*, const char*);
4174  Memfunc m_memfunc;
4175  };
4176  Noname* listener(new Noname(obj, memfunc));
4177  addConfigurationParamListener(listener_type, listener, true);
4178  return listener;
4179  }
4180 
4205  void removeConfigurationParamListener(ConfigurationParamListenerType type,
4206  ConfigurationParamListener* listener);
4207 
4239  void addConfigurationSetListener(ConfigurationSetListenerType type,
4240  ConfigurationSetListener* listener,
4241  bool autoclean = true);
4242 
4243  template <class Listener>
4246  Listener& obj,
4247  void (Listener::*memfunc)
4248  (const coil::Properties& config_set))
4249  {
4250  class Noname
4251  : public ConfigurationSetListener
4252  {
4253  public:
4254  Noname(Listener& obj,
4255  void (Listener::*memfunc)(const coil::Properties& config_set))
4256  : m_obj(obj), m_memfunc(memfunc)
4257  {
4258  }
4259  virtual void operator()(const coil::Properties& config_set)
4260  {
4261  (m_obj.*m_memfunc)(config_set);
4262  }
4263  private:
4264  Listener& m_obj;
4265  typedef void (Listener::*Memfunc)(const coil::Properties& config_set);
4266  Memfunc m_memfunc;
4267  };
4268  Noname* listener(new Noname(obj, memfunc));
4269  addConfigurationSetListener(listener_type, listener, true);
4270  return listener;
4271  }
4272 
4295  void removeConfigurationSetListener(ConfigurationSetListenerType type,
4296  ConfigurationSetListener* listener);
4297 
4332  void
4333  addConfigurationSetNameListener(ConfigurationSetNameListenerType type,
4334  ConfigurationSetNameListener* listener,
4335  bool autoclean = true);
4336 
4337  template <class Listener>
4340  Listener& obj,
4341  void (Listener::*memfunc)(const char*))
4342  {
4343  class Noname
4345  {
4346  public:
4347  Noname(Listener& obj, void (Listener::*memfunc)(const char*))
4348  : m_obj(obj), m_memfunc(memfunc)
4349  {
4350  }
4351  virtual void operator()(const char* config_set_name)
4352  {
4353  (m_obj.*m_memfunc)(config_set_name);
4354  }
4355  private:
4356  Listener& m_obj;
4357  typedef void (Listener::*Memfunc)(const char*);
4358  Memfunc m_memfunc;
4359  };
4360  Noname* listener(new Noname(obj, memfunc));
4361  addConfigurationSetNameListener(type, listener, true);
4362  return listener;
4363  }
4364 
4391  void
4392  removeConfigurationSetNameListener(ConfigurationSetNameListenerType type,
4393  ConfigurationSetNameListener* listener);
4394 
4395  protected:
4415  void shutdown();
4416 
4417  inline void preOnInitialize(UniqueId ec_id)
4418  {
4419  m_actionListeners.preaction_[PRE_ON_INITIALIZE].notify(ec_id);
4420  }
4421 
4422  inline void preOnFinalize(UniqueId ec_id)
4423  {
4424  m_actionListeners.preaction_[PRE_ON_FINALIZE].notify(ec_id);
4425  }
4426 
4427  inline void preOnStartup(UniqueId ec_id)
4428  {
4429  m_actionListeners.preaction_[PRE_ON_STARTUP].notify(ec_id);
4430  }
4431 
4432  inline void preOnShutdown(UniqueId ec_id)
4433  {
4434  m_actionListeners.preaction_[PRE_ON_SHUTDOWN].notify(ec_id);
4435  }
4436 
4437  inline void preOnActivated(UniqueId ec_id)
4438  {
4439  m_actionListeners.preaction_[PRE_ON_ACTIVATED].notify(ec_id);
4440  }
4441 
4442  inline void preOnDeactivated(UniqueId ec_id)
4443  {
4444  m_actionListeners.preaction_[PRE_ON_DEACTIVATED].notify(ec_id);
4445  }
4446 
4447  inline void preOnAborting(UniqueId ec_id)
4448  {
4449  m_actionListeners.preaction_[PRE_ON_ABORTING].notify(ec_id);
4450  }
4451 
4452  inline void preOnError(UniqueId ec_id)
4453  {
4454  m_actionListeners.preaction_[PRE_ON_ERROR].notify(ec_id);
4455  }
4456 
4457  inline void preOnReset(UniqueId ec_id)
4458  {
4459  m_actionListeners.preaction_[PRE_ON_RESET].notify(ec_id);
4460  }
4461 
4462  inline void preOnExecute(UniqueId ec_id)
4463  {
4464  m_actionListeners.preaction_[PRE_ON_EXECUTE].notify(ec_id);
4465  }
4466 
4467  inline void preOnStateUpdate(UniqueId ec_id)
4468  {
4469  m_actionListeners.preaction_[PRE_ON_STATE_UPDATE].notify(ec_id);
4470  }
4471 
4472  inline void preOnRateChanged(UniqueId ec_id)
4473  {
4474  m_actionListeners.preaction_[PRE_ON_RATE_CHANGED].notify(ec_id);
4475  }
4476 
4477  inline void postOnInitialize(UniqueId ec_id, ReturnCode_t ret)
4478  {
4479  m_actionListeners.postaction_[POST_ON_INITIALIZE].notify(ec_id, ret);
4480  }
4481 
4482  inline void postOnFinalize(UniqueId ec_id, ReturnCode_t ret)
4483  {
4484  m_actionListeners.postaction_[POST_ON_FINALIZE].notify(ec_id, ret);
4485  }
4486 
4487  inline void postOnStartup(UniqueId ec_id, ReturnCode_t ret)
4488  {
4489  m_actionListeners.postaction_[POST_ON_STARTUP].notify(ec_id, ret);
4490  }
4491 
4492  inline void postOnShutdown(UniqueId ec_id, ReturnCode_t ret)
4493  {
4494  m_actionListeners.postaction_[POST_ON_SHUTDOWN].notify(ec_id, ret);
4495  }
4496 
4497  inline void postOnActivated(UniqueId ec_id, ReturnCode_t ret)
4498  {
4499  m_actionListeners.postaction_[POST_ON_ACTIVATED].notify(ec_id, ret);
4500  }
4501 
4502  inline void postOnDeactivated(UniqueId ec_id, ReturnCode_t ret)
4503  {
4504  m_actionListeners.postaction_[POST_ON_DEACTIVATED].notify(ec_id, ret);
4505  }
4506 
4507  inline void postOnAborting(UniqueId ec_id, ReturnCode_t ret)
4508  {
4509  m_actionListeners.postaction_[POST_ON_ABORTING].notify(ec_id, ret);
4510  }
4511 
4512  inline void postOnError(UniqueId ec_id, ReturnCode_t ret)
4513  {
4514  m_actionListeners.postaction_[POST_ON_ERROR].notify(ec_id, ret);
4515  }
4516 
4517  inline void postOnReset(UniqueId ec_id, ReturnCode_t ret)
4518  {
4519  m_actionListeners.postaction_[POST_ON_RESET].notify(ec_id, ret);
4520  }
4521 
4522  inline void postOnExecute(UniqueId ec_id, ReturnCode_t ret)
4523  {
4524  m_actionListeners.postaction_[POST_ON_EXECUTE].notify(ec_id, ret);
4525  }
4526 
4527  inline void postOnStateUpdate(UniqueId ec_id, ReturnCode_t ret)
4528  {
4529  m_actionListeners.postaction_[POST_ON_STATE_UPDATE].notify(ec_id, ret);
4530  }
4531 
4532  inline void postOnRateChanged(UniqueId ec_id, ReturnCode_t ret)
4533  {
4534  m_actionListeners.postaction_[POST_ON_RATE_CHANGED].notify(ec_id, ret);
4535  }
4536 
4537  inline void onAddPort(const PortProfile& pprof)
4538  {
4539  m_actionListeners.portaction_[ADD_PORT].notify(pprof);
4540  }
4541 
4542  inline void onRemovePort(const PortProfile& pprof)
4543  {
4544  m_actionListeners.portaction_[REMOVE_PORT].notify(pprof);
4545  }
4546 
4547  inline void onAttachExecutionContext(UniqueId ec_id)
4548  {
4549  m_actionListeners.ecaction_[EC_ATTACHED].notify(ec_id);
4550  }
4551 
4552  inline void onDetachExecutionContext(UniqueId ec_id)
4553  {
4554  m_actionListeners.ecaction_[EC_DETACHED].notify(ec_id);
4555  }
4556 
4557  ReturnCode_t getInheritedECOptions(coil::Properties& default_opts);
4558 
4562  ReturnCode_t
4563  getPrivateContextOptions(std::vector<coil::Properties>& ec_args);
4564 
4568  ReturnCode_t
4569  getGlobalContextOptions(coil::Properties& global_ec_props);
4570 
4574  ReturnCode_t
4575  getContextOptions(std::vector<coil::Properties>& ec_args);
4576 
4580  ReturnCode_t findExistingEC(coil::Properties& ec_arg,
4585  ReturnCode_t createContexts(std::vector<coil::Properties>& ec_args);
4586 
4587 
4588  protected:
4596  mutable Logger rtclog;
4605 
4613  CORBA::ORB_var m_pORB;
4614 
4622  PortableServer::POA_var m_pPOA;
4623 
4624  //============================================================
4625  // SDO 関係の変数
4626  //============================================================
4634  SDOPackage::OrganizationList m_sdoOwnedOrganizations;
4635 
4643  struct svc_name
4644  {
4645  svc_name (const char* id) : m_id(id) {};
4646  bool operator()(const SDOPackage::ServiceProfile& prof)
4647  {
4648  return m_id == std::string(prof.id);
4649  }
4650  std::string m_id;
4651  }; // struct svc_name
4652 
4661 
4669  SDOPackage::Configuration_var m_pSdoConfig;
4670 
4678  SDOPackage::OrganizationList m_sdoOrganizations;
4679 
4687  SDOPackage::NVList m_sdoStatus;
4688 
4689  //============================================================
4690  // RTC 関係の変数
4691  //============================================================
4699  ComponentProfile m_profile;
4700 
4708  RTObject_var m_objref;
4709 
4718 
4726  std::vector<InPortBase*> m_inports;
4727 
4735  std::vector<OutPortBase*> m_outports;
4736 
4744  ExecutionContextServiceList m_ecMine;
4745 
4753  std::vector<ExecutionContextBase*> m_eclist;
4754 
4762  ExecutionContextServiceList m_ecOther;
4763 
4772 
4781 
4789  // bool m_alive;
4790 
4799 
4808 
4817 
4826 
4835 
4853 
4871 
4886 
4901 
4902 
4904  : public coil::Task
4905  {
4906  public:
4908  {
4909 
4910  };
4911  void setSdoServiceConsumer(SdoServiceAdmin* sdoservice, const char* id)
4912  {
4913  m_sdoservice = sdoservice;
4914  m_id = id;
4915  }
4916  virtual int svc(void)
4917  {
4918  m_sdoservice->removeSdoServiceConsumer(m_id.c_str());
4919  return 0;
4920  }
4921  private:
4922  SdoServiceAdmin *m_sdoservice;
4923  std::string m_id;
4924  };
4926 
4927 
4928  //------------------------------------------------------------
4929  // Functor
4930  //------------------------------------------------------------
4938  struct nv_name
4939  {
4940  nv_name(const char* name) : m_name(name) {};
4941  bool operator()(const SDOPackage::NameValue& nv)
4942  {
4943  return m_name == std::string(nv.name);
4944  }
4945  std::string m_name;
4946  }; // struct nv_name
4947 
4955  struct ec_copy
4956  {
4957  ec_copy(ExecutionContextList& eclist)
4958  : m_eclist(eclist)
4959  {
4960  }
4961  void operator()(ExecutionContextService_ptr ecs)
4962  {
4963  if (!::CORBA::is_nil(ecs))
4964  {
4965  CORBA_SeqUtil::push_back(m_eclist,
4966  ExecutionContext::_duplicate(ecs));
4967  }
4968  }
4969  ExecutionContextList& m_eclist;
4970  }; // struct ec_copy
4978  struct ec_find
4979  {
4980  ec_find(ExecutionContext_ptr& ec)
4981  : m_ec(ExecutionContext::_duplicate(ec))
4982  {
4983  }
4984  bool operator()(ExecutionContextService_ptr ecs)
4985  {
4986  try
4987  {
4988  if (!::CORBA::is_nil(ecs))
4989  {
4990  ExecutionContext_var ec;
4991  ec = ExecutionContext::_narrow(ecs);
4992  return m_ec->_is_equivalent(ec);
4993  }
4994  }
4995  catch (...)
4996  {
4997  return false;
4998  }
4999  return false;
5000  }
5001  ExecutionContext_var m_ec;
5002 
5003  }; // struct ec_find
5004  // ExecutionContextAdminList m_execContextList;
5005 
5014  {
5016  : m_comp(RTC::LightweightRTObject::_duplicate(comp))
5017  {
5018  }
5019  void operator()(ExecutionContextService_ptr ec)
5020  {
5021  if (!::CORBA::is_nil(ec) && !ec->_non_existent())
5022  {
5023 
5024  ec->deactivate_component(RTC::LightweightRTObject::_duplicate(m_comp));
5025  ec->stop();
5026  }
5027  }
5029  }; // struct deactivate_comps
5030  }; // class RTObject_impl
5031 }; // namespace RTC
5032 
5033 #ifdef WIN32
5034 #pragma warning( default : 4290 )
5035 #endif
5036 
5037 #endif // RTC_RTOBJECT
ComponentProfile m_profile
ComponentProfile.
Definition: RTObject.h:4699
const std::vector< InPortBase * > & getInPorts() const
Definition: RTObject.h:2580
Definition: ComponentActionListener.h:486
PortAdmin m_portAdmin
List of Port Object reference.
Definition: RTObject.h:4717
bool operator()(ExecutionContextService_ptr ecs)
Definition: RTObject.h:4984
Definition: ComponentActionListener.h:228
PortConnectListenerType
The types of ConnectorDataListener.
Definition: PortConnectListener.h:49
Definition: ComponentActionListener.h:59
const char * getVendor()
[local interface] Get vendor
Definition: RTObject.h:2074
Logger rtclog
Logger stream.
Definition: RTObject.h:4596
svc_name(const char *id)
Definition: RTObject.h:4645
RTC&#39;s Port base class.
void onAddPort(const PortProfile &pprof)
Definition: RTObject.h:4537
void postOnStateUpdate(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4527
Definition: ComponentActionListener.h:227
void postOnReset(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4517
void preOnAborting(UniqueId ec_id)
Definition: RTObject.h:4447
RTC::ReturnCode_t reset(RTC::RTObject_ptr rtc, RTC::UniqueId ec_id=0)
std::vector< InPortBase * > m_inports
List of InPortBase*.
Definition: RTObject.h:4726
void onRemovePort(const PortProfile &pprof)
Definition: RTObject.h:4542
PortConnectRetListener class.
Definition: PortConnectListener.h:202
Definition: ComponentActionListener.h:485
std::string m_id
Definition: RTObject.h:4650
const char * getCategory()
[local interface] Get category information
Definition: RTObject.h:2099
Definition: ComponentActionListener.h:64
RT-Component.
PostComponentActionListenerType
The types of ConnectorDataListener.
Definition: ComponentActionListener.h:219
SdoServiceConsumerTerminator()
Definition: RTObject.h:4907
PreComponentActionListener * addPreComponentActionListener(PreCompActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(UniqueId ec_id))
Definition: RTObject.h:3468
RT Conponent CORBA service/consumer Port.
Definition: CorbaPort.h:620
std::string m_name
Definition: RTObject.h:4945
#define RTC_TRACE(fmt)
Trace level log output macro.
Definition: SystemLogger.h:588
ExecutionContextServiceList m_ecOther
List of participating ExecutionContextService.
Definition: RTObject.h:4762
Definition: SdoServiceAdmin.h:148
bool m_readAllCompletion
flag for readAll()
Definition: RTObject.h:4852
SDOPackage::Configuration_impl * m_pSdoConfigImpl
The pointer to the SDO Configuration Object.
Definition: RTObject.h:4660
void preOnShutdown(UniqueId ec_id)
Definition: RTObject.h:4432
component action listener class
bool stringTo(To &val, const char *str)
Convert the given std::string to object.
Definition: stringutil.h:633
ConfigurationSetListener * addConfigurationSetListener(ConfigurationSetListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const coil::Properties &config_set))
Definition: RTObject.h:4245
Definition: ComponentActionListener.h:61
ECActionListener * addExecutionContextActionListener(ECActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(UniqueId))
Definition: RTObject.h:3827
RT component logger class.
deactivate_comps(LightweightRTObject_ptr comp)
Definition: RTObject.h:5015
SDOPackage::OrganizationList m_sdoOrganizations
SDO organization.
Definition: RTObject.h:4678
void onAttachExecutionContext(UniqueId ec_id)
Definition: RTObject.h:4547
Definition: ComponentActionListener.h:67
RTC::ReturnCode_t activate(RTC::RTObject_ptr rtc, RTC::UniqueId ec_id=0)
ConfigAdmin class.
Definition: ConfigAdmin.h:610
CORBA::ORB_var m_pORB
The pointer to the ORB.
Definition: RTObject.h:4613
PortActionListenerType
The types of PortActionListener.
Definition: ComponentActionListener.h:376
void postOnExecute(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4522
A base class for ExecutionContext.
Definition: ExecutionContextBase.h:369
Functor to find from SDOService Profile List by id.
Definition: RTObject.h:4643
bool m_exiting
RTC Finalize Status Flag.
Definition: RTObject.h:4780
Definition: ComponentActionListener.h:226
RT-Component class.
Definition: RTObject.h:89
SDOPackage::Configuration_var m_pSdoConfig
The pointer to the SDO Configuration Interface.
Definition: RTObject.h:4669
ConfigurationSetListener class.
Definition: ConfigurationListener.h:188
ConfigurationSetNameListener class.
Definition: ConfigurationListener.h:298
ComponentActionListeners m_actionListeners
ComponentActionListener holder.
Definition: RTObject.h:4885
ConfigurationParamListener class.
Definition: ConfigurationListener.h:72
Manager class.
Definition: Manager.h:81
Configuration Administration classes.
ConfigurationSetNameListenerType
The types of ConfigurationSetNameListener.
Definition: ConfigurationListener.h:266
PreComponentActionListenerType
The types of ConnectorDataListener.
Definition: ComponentActionListener.h:57
PortActionListener * addPortActionListener(PortActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const RTC::PortProfile &))
Definition: RTObject.h:3714
void postOnShutdown(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4492
PortConnectRetListener * addPortConnectRetListener(PortConnectRetListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const char *, ConnectorProfile &, ReturnCode_t))
Definition: RTObject.h:4054
ExecutionContextList & m_eclist
Definition: RTObject.h:4969
nv_name(const char *name)
Definition: RTObject.h:4940
PostComponentActionListener * addPostComponentActionListener(PostCompActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(UniqueId ec_id, ReturnCode_t ret))
Definition: RTObject.h:3601
ConfigurationParamListener * addConfigurationParamListener(ConfigurationParamListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const char *, const char *))
Definition: RTObject.h:4152
void postOnError(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4512
bool m_readAll
flag for readAll()
Definition: RTObject.h:4825
Definition: ComponentActionListener.h:62
Manager * m_pManager
Manager object.
Definition: RTObject.h:4604
Definition: ComponentActionListener.h:68
SdoServiceAdmin m_sdoservice
SDO Service Administrator Object.
Definition: RTObject.h:4816
bool m_created
Created Status Flag.
Definition: RTObject.h:4771
SDOPackage::NVList m_sdoStatus
SDO Status.
Definition: RTObject.h:4687
void operator()(ExecutionContextService_ptr ecs)
Definition: RTObject.h:4961
void preOnRateChanged(UniqueId ec_id)
Definition: RTObject.h:4472
CorbaPort class.
PreComponentActionListener class.
Definition: ComponentActionListener.h:120
Definition: ComponentActionListener.h:379
PortableServer::POA_var m_pPOA
The pointer to the POA.
Definition: RTObject.h:4622
SdoServiceConsumerTerminator * m_sdoconterm
Definition: RTObject.h:4925
SDO Package.
Definition: InPortConsumer.h:33
void operator()(ExecutionContextService_ptr ec)
Definition: RTObject.h:5019
void postOnAborting(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4507
Definition: ComponentActionListener.h:231
PreComponentActionListener PreCompActionListener
Adding PreComponentAction type listener.
Definition: RTObject.h:3458
PortAdmin class.
Definition: PortAdmin.h:52
SDO service administration class.
Definition: ComponentActionListener.h:66
Definition: ComponentActionListener.h:69
Functor to copy ExecutionContext.
Definition: RTObject.h:4955
const char * getTypeName()
[local interface] Get type name
Definition: RTObject.h:1998
PortConnectListener class.
Definition: PortConnectListener.h:82
ConfigAdmin & getConfigService()
Getting configuration service.
Definition: RTObject.h:2327
void preOnError(UniqueId ec_id)
Definition: RTObject.h:4452
SDOPackage::OrganizationList m_sdoOwnedOrganizations
SDO owned organization list.
Definition: RTObject.h:4634
ExecutionContextActionListenerType ECActionListenerType
Adding ExecutionContextAction type listener.
Definition: RTObject.h:3819
void onDetachExecutionContext(UniqueId ec_id)
Definition: RTObject.h:4552
ConfigurationSetNameListener * addConfigurationSetNameListener(ConfigurationSetNameListenerType type, Listener &obj, void(Listener::*memfunc)(const char *))
Definition: RTObject.h:4339
ExecutionContextHandle_t UniqueId
Definition: ComponentActionListener.h:32
Definition: ComponentActionListener.h:229
PortConnectListener * addPortConnectListener(PortConnectListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const char *, ConnectorProfile &))
Definition: RTObject.h:3938
Port base class.
Definition: PortBase.h:135
Functor to find NVList.
Definition: RTObject.h:4938
bool bindParameter(const char *param_name, VarType &var, const char *def_val, bool(*trans)(VarType &, const char *)=coil::stringTo)
Setup for configuration parameters.
Definition: RTObject.h:2251
PortConnectListeners class.
Definition: PortConnectListener.h:487
std::vector< ExecutionContextBase * > m_eclist
List of ExecutionContextBase.
Definition: RTObject.h:4753
RTC::LightweightRTObject_var LightweightRTObject_var
Definition: ExecutionContextWorker.h:45
Definition: ComponentActionListener.h:221
ComponentActionListeners class.
Definition: ComponentActionListener.h:1018
ExecutionContext_var m_ec
Definition: RTObject.h:5001
Definition: ComponentActionListener.h:378
Definition: SdoServiceProviderBase.h:134
Output base class.
Definition: OutPortBase.h:235
bool operator()(const SDOPackage::NameValue &nv)
Definition: RTObject.h:4941
ExecutionContextServiceList m_ecMine
List of owned ExecutionContextService.
Definition: RTObject.h:4744
bool m_writeAllCompletion
flag for writeAll()
Definition: RTObject.h:4870
void setSdoServiceConsumer(SdoServiceAdmin *sdoservice, const char *id)
Definition: RTObject.h:4911
const char * getDescription()
[local interface] GetDescription
Definition: RTObject.h:2023
PostComponentActionListener PostCompActionListener
Adding PostComponentAction type listener.
Definition: RTObject.h:3591
ConfigAdmin m_configsets
Configuration Administrator Object.
Definition: RTObject.h:4807
void preOnReset(UniqueId ec_id)
Definition: RTObject.h:4457
Functor to deactivate RTC.
Definition: RTObject.h:5013
Logger class.
Definition: SystemLogger.h:99
LightweightRTObject_var m_comp
Definition: RTObject.h:5028
const char * getVersion()
[local interface] Get version information
Definition: RTObject.h:2049
Port for InPort.
Definition: InPortBase.h:74
const char * getInstanceName()
[local interface] Get instance name
Definition: RTObject.h:1952
void postOnFinalize(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4482
RTC::Port implementation for InPort.
PortConnectRetListenerType
The types of PortConnectRetListenerType.
Definition: PortConnectListener.h:161
RTC::ReturnCode_t deactivate(RTC::RTObject_ptr rtc, RTC::UniqueId ec_id=0)
InPortBase base class.
const std::vector< OutPortBase * > & getOutPorts() const
Definition: RTObject.h:2581
Definition: ComponentActionListener.h:222
void preOnStateUpdate(UniqueId ec_id)
Definition: RTObject.h:4467
Class represents a set of properties.
Definition: Properties.h:101
ec_find(ExecutionContext_ptr &ec)
Definition: RTObject.h:4980
void postOnActivated(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4497
virtual int svc(void)
Execute thread.
Definition: RTObject.h:4916
void postOnInitialize(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4477
Definition: ComponentActionListener.h:70
coil::Properties get_configuration(const RTC::RTObject_ptr rtc, const std::string conf_name)
bool operator()(const SDOPackage::ServiceProfile &prof)
Definition: RTObject.h:4646
Property list class (derived from Java Properties)
void preOnStartup(UniqueId ec_id)
Definition: RTObject.h:4427
Task class.
Definition: Task.h:39
coil::Properties get_component_profile(const RTC::RTObject_ptr rtc)
RTC handling utility functions.
RTC::LightweightRTObject_ptr LightweightRTObject_ptr
Definition: ExecutionContextWorker.h:43
void push_back(CorbaSequence &seq, SequenceElement elem)
Push the new element back to the CORBA sequence.
Definition: CORBA_SeqUtil.h:175
RTComponent header.
PortConnectListeners m_portconnListeners
PortConnectListener holder.
Definition: RTObject.h:4900
Configuration implementation class.
Definition: SdoConfiguration.h:154
Definition: ComponentActionListener.h:225
Definition: ComponentActionListener.h:223
Definition: ComponentActionListener.h:65
void preOnActivated(UniqueId ec_id)
Definition: RTObject.h:4437
void postOnStartup(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4487
coil::Properties m_properties
Alive Status Flag.
Definition: RTObject.h:4798
Definition: ComponentActionListener.h:224
ExecutionContextActionListener ECActionListener
Definition: RTObject.h:3820
ExecutionContextActionListenerType
The types of ExecutionContextActionListener.
Definition: ComponentActionListener.h:483
PostComponentActionListenerType PostCompActionListenerType
Definition: RTObject.h:3592
void preOnInitialize(UniqueId ec_id)
Definition: RTObject.h:4417
bool m_writeAll
flag for writeAll()
Definition: RTObject.h:4834
ConfigurationSetListenerType
The types of ConfigurationSetListener.
Definition: ConfigurationListener.h:158
RTObject_var m_objref
Object reference.
Definition: RTObject.h:4708
Definition: ComponentActionListener.h:230
PortActionListener class.
Definition: ComponentActionListener.h:403
PreComponentActionListenerType PreCompActionListenerType
Definition: RTObject.h:3459
std::vector< OutPortBase * > m_outports
List of OutPortBase*.
Definition: RTObject.h:4735
Functor to find ExecutionContext.
Definition: RTObject.h:4978
Definition: ComponentActionListener.h:60
Definition: ComponentActionListener.h:63
port&#39;s internal action listener classes
ec_copy(ExecutionContextList &eclist)
Definition: RTObject.h:4957
RTC&#39;s Port administration class.
PostComponentActionListener class.
Definition: ComponentActionListener.h:283
bool removeSdoServiceConsumer(const char *id)
Remove Service Consumer.
void postOnDeactivated(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4502
void preOnFinalize(UniqueId ec_id)
Definition: RTObject.h:4422
ConfigurationParamListenerType
The types of ConnectorDataListener.
Definition: ConfigurationListener.h:43
Definition: ComponentActionListener.h:232
ExecutionContextActionListener class.
Definition: ComponentActionListener.h:510
void postOnRateChanged(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4532
void preOnDeactivated(UniqueId ec_id)
Definition: RTObject.h:4442
void preOnExecute(UniqueId ec_id)
Definition: RTObject.h:4462