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;
54 
90  : public virtual POA_OpenRTM::DataFlowComponent,
91  public virtual PortableServer::RefCountServantBase
92  {
93  public:
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 
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 
2281  void updateParameters(const char* config_set);
2282 
2316  bool addPort(PortBase& port);
2350  bool addPort(PortService_ptr port);
2384  bool addPort(CorbaPort& port);
2416  void registerPort(PortBase& port);
2448  void registerPort(PortService_ptr port);
2480  void registerPort(CorbaPort& port);
2481 
2510  bool addInPort(const char* name, InPortBase& inport);
2537  void registerInPort(const char* name, InPortBase& inport);
2538 
2567  bool addOutPort(const char* name, OutPortBase& outport);
2594  void registerOutPort(const char* name, OutPortBase& outport);
2595 
2617  bool removeInPort(InPortBase& port);
2618 
2640  bool removeOutPort(OutPortBase& port);
2641 
2663  bool removePort(PortBase& port);
2685  bool removePort(PortService_ptr port);
2707  bool removePort(CorbaPort& port);
2727  void deletePort(PortBase& port);
2747  void deletePort(PortService_ptr port);
2767  void deletePort(CorbaPort& port);
2768 
2788  void deletePortByName(const char* port_name);
2789 
2840  ExecutionContext_ptr getExecutionContext(RTC::UniqueId ec_id);
2841 
2894  double getExecutionRate(RTC::UniqueId ec_id);
2895 
2949  ReturnCode_t setExecutionRate(RTC::UniqueId ec_id, double rate);
2950 
3003  bool isOwnExecutionContext(RTC::UniqueId ec_id);
3004 
3043  ReturnCode_t deactivate(RTC::UniqueId ec_id);
3044 
3081  ReturnCode_t activate(RTC::UniqueId ec_id);
3082 
3117  ReturnCode_t reset(RTC::UniqueId ec_id);
3118 
3126  bool addSdoServiceProvider(const SDOPackage::ServiceProfile& prof,
3128 
3136  bool removeSdoServiceProvider(const char* id);
3137 
3145  bool addSdoServiceConsumer(const SDOPackage::ServiceProfile& prof);
3146 
3154  bool removeSdoServiceConsumer(const char* id);
3155 
3176  bool readAll();
3177 
3198  bool writeAll();
3199 
3234  void setReadAll(bool read=true, bool completion=false);
3235 
3270  void setWriteAll(bool write=true, bool completion=false);
3271 
3272 
3289  void finalizePorts();
3290 
3291 
3303  void finalizeContexts();
3304 
3305 
3380  void
3381  addPreComponentActionListener(PreComponentActionListenerType listener_type,
3382  PreComponentActionListener* listener,
3383  bool autoclean = true);
3384 
3385 
3386  template <class Listener>
3388  addPreComponentActionListener(PreCompActionListenerType listener_type,
3389  Listener& obj,
3390  void (Listener::*memfunc)(UniqueId ec_id))
3391  {
3392  class Noname
3394  {
3395  public:
3396  Noname(Listener& obj, void (Listener::*memfunc)(UniqueId))
3397  : m_obj(obj), m_memfunc(memfunc)
3398  {
3399  }
3400  void operator()(UniqueId ec_id)
3401  {
3402  (m_obj.*m_memfunc)(ec_id);
3403  }
3404  private:
3405  Listener& m_obj;
3406  typedef void (Listener::*Memfunc)(UniqueId ec_id);
3407  Memfunc m_memfunc;
3408  };
3409  Noname* listener(new Noname(obj, memfunc));
3410  addPreComponentActionListener(listener_type, listener, true);
3411  return listener;
3412  }
3413 
3433  void
3434  removePreComponentActionListener(
3435  PreComponentActionListenerType listener_type,
3436  PreComponentActionListener* listener);
3437 
3438 
3513  void
3514  addPostComponentActionListener(
3515  PostComponentActionListenerType listener_type,
3516  PostComponentActionListener* listener,
3517  bool autoclean = true);
3518 
3519  template <class Listener>
3521  addPostComponentActionListener(PostCompActionListenerType listener_type,
3522  Listener& obj,
3523  void (Listener::*memfunc)(UniqueId ec_id,
3524  ReturnCode_t ret))
3525  {
3526  class Noname
3528  {
3529  public:
3530  Noname(Listener& obj, void (Listener::*memfunc)(UniqueId, ReturnCode_t))
3531  : m_obj(obj), m_memfunc(memfunc)
3532  {
3533  }
3534  void operator()(UniqueId ec_id, ReturnCode_t ret)
3535  {
3536  (m_obj.*m_memfunc)(ec_id, ret);
3537  }
3538  private:
3539  Listener& m_obj;
3540  typedef void (Listener::*Memfunc)(UniqueId ec_id, ReturnCode_t ret);
3541  Memfunc m_memfunc;
3542  };
3543  Noname* listener(new Noname(obj, memfunc));
3544  addPostComponentActionListener(listener_type, listener, true);
3545  return listener;
3546  }
3547 
3567  void
3568  removePostComponentActionListener(
3569  PostComponentActionListenerType listener_type,
3570  PostComponentActionListener* listener);
3571 
3572 
3573 
3627  void
3628  addPortActionListener(PortActionListenerType listener_type,
3629  PortActionListener* listener,
3630  bool autoclean = true);
3631 
3632  template <class Listener>
3635  Listener& obj,
3636  void (Listener::*memfunc)(const RTC::PortProfile&))
3637  {
3638  class Noname
3639  : public PortActionListener
3640  {
3641  public:
3642  Noname(Listener& obj,
3643  void (Listener::*memfunc)(const RTC::PortProfile&))
3644  : m_obj(obj), m_memfunc(memfunc)
3645  {
3646  }
3647  void operator()(const RTC::PortProfile& pprofile)
3648  {
3649  (m_obj.*m_memfunc)(pprofile);
3650  }
3651  private:
3652  Listener& m_obj;
3653  typedef void (Listener::*Memfunc)(const RTC::PortProfile&);
3654  Memfunc m_memfunc;
3655  };
3656  Noname* listener(new Noname(obj, memfunc));
3657  addPortActionListener(listener_type, listener, true);
3658  return listener;
3659  }
3660 
3680  void
3681  removePortActionListener(PortActionListenerType listener_type,
3682  PortActionListener* listener);
3683 
3684 
3685 
3741  void addExecutionContextActionListener(ECActionListenerType listener_type,
3742  ECActionListener* listener,
3743  bool autoclean = true);
3744 
3745  template <class Listener>
3746  ECActionListener*
3747  addExecutionContextActionListener(ECActionListenerType listener_type,
3748  Listener& obj,
3749  void (Listener::*memfunc)(UniqueId))
3750  {
3751  class Noname
3752  : public ECActionListener
3753  {
3754  public:
3755  Noname(Listener& obj, void (Listener::*memfunc)(UniqueId))
3756  : m_obj(obj), m_memfunc(memfunc)
3757  {
3758  }
3759  void operator()(UniqueId ec_id)
3760  {
3761  (m_obj.*m_memfunc)(ec_id);
3762  }
3763  private:
3764  Listener& m_obj;
3765  typedef void (Listener::*Memfunc)(UniqueId);
3766  Memfunc m_memfunc;
3767  };
3768  Noname* listener(new Noname(obj, memfunc));
3769  addExecutionContextActionListener(listener_type, listener, true);
3770  return listener;
3771  }
3772 
3773 
3793  void
3794  removeExecutionContextActionListener(ECActionListenerType listener_type,
3795  ECActionListener* listener);
3796 
3797 
3852  void addPortConnectListener(PortConnectListenerType listener_type,
3853  PortConnectListener* listener,
3854  bool autoclean = true);
3855 
3856  template <class Listener>
3859  Listener& obj,
3860  void (Listener::*memfunc)(const char*,
3861  ConnectorProfile&))
3862  {
3863  class Noname
3864  : public PortConnectListener
3865  {
3866  public:
3867  Noname(Listener& obj,
3868  void (Listener::*memfunc)(const char*, ConnectorProfile&))
3869  : m_obj(obj), m_memfunc(memfunc)
3870  {
3871  }
3872  void operator()(const char* portname, ConnectorProfile& cprofile)
3873  {
3874  (m_obj.*m_memfunc)(portname, cprofile);
3875  }
3876  private:
3877  Listener& m_obj;
3878  typedef void (Listener::*Memfunc)(const char*, ConnectorProfile&);
3879  Memfunc m_memfunc;
3880  };
3881  Noname* listener(new Noname(obj, memfunc));
3882  addPortConnectListener(listener_type, listener, true);
3883  return listener;
3884  }
3885 
3886 
3906  void
3907  removePortConnectListener(PortConnectListenerType listener_type,
3908  PortConnectListener* listener);
3909 
3968  void addPortConnectRetListener(PortConnectRetListenerType listener_type,
3969  PortConnectRetListener* listener,
3970  bool autoclean = true);
3971 
3972  template <class Listener>
3975  Listener& obj,
3976  void (Listener::*memfunc)(const char*,
3977  ConnectorProfile&,
3978  ReturnCode_t))
3979  {
3980  class Noname
3981  : public PortConnectRetListener
3982  {
3983  public:
3984  Noname(Listener& obj,
3985  void (Listener::*memfunc)(const char*,
3986  ConnectorProfile&,
3987  ReturnCode_t))
3988  : m_obj(obj), m_memfunc(memfunc)
3989  {
3990  }
3991  void operator()(const char* portname,
3992  ConnectorProfile& cprofile,
3993  ReturnCode_t ret)
3994  {
3995  (m_obj.*m_memfunc)(portname, cprofile, ret);
3996  }
3997  private:
3998  Listener& m_obj;
3999  typedef void (Listener::*Memfunc)(const char* portname,
4000  ConnectorProfile& cprofile,
4001  ReturnCode_t ret);
4002  Memfunc m_memfunc;
4003  };
4004  Noname* listener(new Noname(obj, memfunc));
4005  addPortConnectRetListener(listener_type, listener, true);
4006  return listener;
4007  }
4008 
4009 
4029  void
4030  removePortConnectRetListener(PortConnectRetListenerType listener_type,
4031  PortConnectRetListener* listener);
4032 
4033 
4066  void addConfigurationParamListener(ConfigurationParamListenerType type,
4067  ConfigurationParamListener* listener,
4068  bool autoclean = true);
4069 
4070  template <class Listener>
4073  Listener& obj,
4074  void (Listener::*memfunc)(const char*,
4075  const char*))
4076  {
4077  class Noname
4079  {
4080  public:
4081  Noname(Listener& obj,
4082  void (Listener::*memfunc)(const char*, const char*))
4083  : m_obj(obj), m_memfunc(memfunc)
4084  {
4085  }
4086  void operator()(const char* config_set_name,
4087  const char* config_param_name)
4088  {
4089  (m_obj.*m_memfunc)(config_set_name, config_param_name);
4090  }
4091  private:
4092  Listener& m_obj;
4093  typedef void (Listener::*Memfunc)(const char*, const char*);
4094  Memfunc m_memfunc;
4095  };
4096  Noname* listener(new Noname(obj, memfunc));
4097  addConfigurationParamListener(listener_type, listener, true);
4098  return listener;
4099  }
4100 
4125  void removeConfigurationParamListener(ConfigurationParamListenerType type,
4126  ConfigurationParamListener* listener);
4127 
4159  void addConfigurationSetListener(ConfigurationSetListenerType type,
4160  ConfigurationSetListener* listener,
4161  bool autoclean = true);
4162 
4163  template <class Listener>
4166  Listener& obj,
4167  void (Listener::*memfunc)
4168  (const coil::Properties& config_set))
4169  {
4170  class Noname
4171  : public ConfigurationSetListener
4172  {
4173  public:
4174  Noname(Listener& obj,
4175  void (Listener::*memfunc)(const coil::Properties& config_set))
4176  : m_obj(obj), m_memfunc(memfunc)
4177  {
4178  }
4179  virtual void operator()(const coil::Properties& config_set)
4180  {
4181  (m_obj.*m_memfunc)(config_set);
4182  }
4183  private:
4184  Listener& m_obj;
4185  typedef void (Listener::*Memfunc)(const coil::Properties& config_set);
4186  Memfunc m_memfunc;
4187  };
4188  Noname* listener(new Noname(obj, memfunc));
4189  addConfigurationSetListener(listener_type, listener, true);
4190  return listener;
4191  }
4192 
4215  void removeConfigurationSetListener(ConfigurationSetListenerType type,
4216  ConfigurationSetListener* listener);
4217 
4252  void
4253  addConfigurationSetNameListener(ConfigurationSetNameListenerType type,
4254  ConfigurationSetNameListener* listener,
4255  bool autoclean = true);
4256 
4257  template <class Listener>
4260  Listener& obj,
4261  void (Listener::*memfunc)(const char*))
4262  {
4263  class Noname
4265  {
4266  public:
4267  Noname(Listener& obj, void (Listener::*memfunc)(const char*))
4268  : m_obj(obj), m_memfunc(memfunc)
4269  {
4270  }
4271  virtual void operator()(const char* config_set_name)
4272  {
4273  (m_obj.*m_memfunc)(config_set_name);
4274  }
4275  private:
4276  Listener& m_obj;
4277  typedef void (Listener::*Memfunc)(const char*);
4278  Memfunc m_memfunc;
4279  };
4280  Noname* listener(new Noname(obj, memfunc));
4281  addConfigurationSetNameListener(type, listener, true);
4282  return listener;
4283  }
4284 
4311  void
4312  removeConfigurationSetNameListener(ConfigurationSetNameListenerType type,
4313  ConfigurationSetNameListener* listener);
4314 
4315  protected:
4335  void shutdown();
4336 
4337  inline void preOnInitialize(UniqueId ec_id)
4338  {
4339  m_actionListeners.preaction_[PRE_ON_INITIALIZE].notify(ec_id);
4340  }
4341 
4342  inline void preOnFinalize(UniqueId ec_id)
4343  {
4344  m_actionListeners.preaction_[PRE_ON_FINALIZE].notify(ec_id);
4345  }
4346 
4347  inline void preOnStartup(UniqueId ec_id)
4348  {
4349  m_actionListeners.preaction_[PRE_ON_STARTUP].notify(ec_id);
4350  }
4351 
4352  inline void preOnShutdown(UniqueId ec_id)
4353  {
4354  m_actionListeners.preaction_[PRE_ON_SHUTDOWN].notify(ec_id);
4355  }
4356 
4357  inline void preOnActivated(UniqueId ec_id)
4358  {
4359  m_actionListeners.preaction_[PRE_ON_ACTIVATED].notify(ec_id);
4360  }
4361 
4362  inline void preOnDeactivated(UniqueId ec_id)
4363  {
4364  m_actionListeners.preaction_[PRE_ON_DEACTIVATED].notify(ec_id);
4365  }
4366 
4367  inline void preOnAborting(UniqueId ec_id)
4368  {
4369  m_actionListeners.preaction_[PRE_ON_ABORTING].notify(ec_id);
4370  }
4371 
4372  inline void preOnError(UniqueId ec_id)
4373  {
4374  m_actionListeners.preaction_[PRE_ON_ERROR].notify(ec_id);
4375  }
4376 
4377  inline void preOnReset(UniqueId ec_id)
4378  {
4379  m_actionListeners.preaction_[PRE_ON_RESET].notify(ec_id);
4380  }
4381 
4382  inline void preOnExecute(UniqueId ec_id)
4383  {
4384  m_actionListeners.preaction_[PRE_ON_EXECUTE].notify(ec_id);
4385  }
4386 
4387  inline void preOnStateUpdate(UniqueId ec_id)
4388  {
4389  m_actionListeners.preaction_[PRE_ON_STATE_UPDATE].notify(ec_id);
4390  }
4391 
4392  inline void preOnRateChanged(UniqueId ec_id)
4393  {
4394  m_actionListeners.preaction_[PRE_ON_RATE_CHANGED].notify(ec_id);
4395  }
4396 
4397  inline void postOnInitialize(UniqueId ec_id, ReturnCode_t ret)
4398  {
4399  m_actionListeners.postaction_[POST_ON_INITIALIZE].notify(ec_id, ret);
4400  }
4401 
4402  inline void postOnFinalize(UniqueId ec_id, ReturnCode_t ret)
4403  {
4404  m_actionListeners.postaction_[POST_ON_FINALIZE].notify(ec_id, ret);
4405  }
4406 
4407  inline void postOnStartup(UniqueId ec_id, ReturnCode_t ret)
4408  {
4409  m_actionListeners.postaction_[POST_ON_STARTUP].notify(ec_id, ret);
4410  }
4411 
4412  inline void postOnShutdown(UniqueId ec_id, ReturnCode_t ret)
4413  {
4414  m_actionListeners.postaction_[POST_ON_SHUTDOWN].notify(ec_id, ret);
4415  }
4416 
4417  inline void postOnActivated(UniqueId ec_id, ReturnCode_t ret)
4418  {
4419  m_actionListeners.postaction_[POST_ON_ACTIVATED].notify(ec_id, ret);
4420  }
4421 
4422  inline void postOnDeactivated(UniqueId ec_id, ReturnCode_t ret)
4423  {
4424  m_actionListeners.postaction_[POST_ON_DEACTIVATED].notify(ec_id, ret);
4425  }
4426 
4427  inline void postOnAborting(UniqueId ec_id, ReturnCode_t ret)
4428  {
4429  m_actionListeners.postaction_[POST_ON_ABORTING].notify(ec_id, ret);
4430  }
4431 
4432  inline void postOnError(UniqueId ec_id, ReturnCode_t ret)
4433  {
4434  m_actionListeners.postaction_[POST_ON_ERROR].notify(ec_id, ret);
4435  }
4436 
4437  inline void postOnReset(UniqueId ec_id, ReturnCode_t ret)
4438  {
4439  m_actionListeners.postaction_[POST_ON_RESET].notify(ec_id, ret);
4440  }
4441 
4442  inline void postOnExecute(UniqueId ec_id, ReturnCode_t ret)
4443  {
4444  m_actionListeners.postaction_[POST_ON_EXECUTE].notify(ec_id, ret);
4445  }
4446 
4447  inline void postOnStateUpdate(UniqueId ec_id, ReturnCode_t ret)
4448  {
4449  m_actionListeners.postaction_[POST_ON_STATE_UPDATE].notify(ec_id, ret);
4450  }
4451 
4452  inline void postOnRateChanged(UniqueId ec_id, ReturnCode_t ret)
4453  {
4454  m_actionListeners.postaction_[POST_ON_RATE_CHANGED].notify(ec_id, ret);
4455  }
4456 
4457  inline void onAddPort(const PortProfile& pprof)
4458  {
4459  m_actionListeners.portaction_[ADD_PORT].notify(pprof);
4460  }
4461 
4462  inline void onRemovePort(const PortProfile& pprof)
4463  {
4464  m_actionListeners.portaction_[REMOVE_PORT].notify(pprof);
4465  }
4466 
4467  inline void onAttachExecutionContext(UniqueId ec_id)
4468  {
4469  m_actionListeners.ecaction_[EC_ATTACHED].notify(ec_id);
4470  }
4471 
4472  inline void onDetachExecutionContext(UniqueId ec_id)
4473  {
4474  m_actionListeners.ecaction_[EC_DETACHED].notify(ec_id);
4475  }
4476 
4477  protected:
4485  mutable Logger rtclog;
4494 
4502  CORBA::ORB_var m_pORB;
4503 
4511  PortableServer::POA_var m_pPOA;
4512 
4513  //============================================================
4514  // SDO ´Ø·¸¤ÎÊÑ¿ô //============================================================ /*! * @if jp * @brief SDO ¤¬ÊÝ»ý¤¹¤ë organization ¤Î¥ê¥¹¥È * @else * @brief SDO owned organization list * @endif */ SDOPackage::OrganizationList m_sdoOwnedOrganizations; /*! * @if jp * @brief SDOService ¤Î¥×¥í¥Õ¥¡¥¤¥ë¥ê¥¹¥È¤«¤éid¤Ç¥µ¡¼¥Á¤¹¤ë¤¿¤á¤Î¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to find from SDOService Profile List by id * @endif */ struct svc_name { svc_name (const char* id) : m_id(id) {}; bool operator()(const SDOPackage::ServiceProfile& prof) { return m_id == std::string(prof.id); } std::string m_id; }; // struct svc_name /*! * @if jp * @brief SDO Configuration ¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿ * @else * @brief The pointer to the SDO Configuration Object * @endif */ SDOPackage::Configuration_impl* m_pSdoConfigImpl; /*! * @if jp * @brief SDO Configuration Interface ¤Ø¤Î¥Ý¥¤¥ó¥¿ * @else * @brief The pointer to the SDO Configuration Interface * @endif */ SDOPackage::Configuration_var m_pSdoConfig; /*! * @if jp * @brief SDO organization * @else * @brief SDO organization * @endif */ SDOPackage::OrganizationList m_sdoOrganizations; /*! * @if jp * @brief SDO Status * @else * @brief SDO Status * @endif */ SDOPackage::NVList m_sdoStatus; //============================================================ // RTC ´Ø·¸¤ÎÊÑ¿ô //============================================================ /*! * @if jp * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë * @else * @brief ComponentProfile * @endif */ ComponentProfile m_profile; /*! * @if jp * @brief ¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹ * @else * @brief Object reference * @endif */ RTObject_var m_objref; /*! * @if jp * @brief Port ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤Î¥ê¥¹¥È * @else * @brief List of Port Object reference * @endif */ PortAdmin m_portAdmin; /*! * @if jp * @brief InPortBase* ¤Î¥ê¥¹¥È * @else * @brief List of InPortBase* * @endif */ std::vector<InPortBase*> m_inports; /*! * @if jp * @brief OutPortBase* ¤Î¥ê¥¹¥È * @else * @brief List of OutPortBase* * @endif */ std::vector<OutPortBase*> m_outports; /*! * @if jp * @brief ¼«Ê¬¤¬owner¤ÎExecutionContextService ¤Î¥ê¥¹¥È * @else * @brief List of owned ExecutionContextService * @endif */ ExecutionContextServiceList m_ecMine; /*! * @if jp * @brief ExecutionContextBase ¤Î¥ê¥¹¥È * @else * @brief List of ExecutionContextBase * @endif */ std::vector<ExecutionContextBase*> m_eclist; /*! * @if jp * @brief »²²Ã¤·¤Æ¤¤¤ëExecutionContextService ¤Î¥ê¥¹¥È * @else * @brief List of participating ExecutionContextService * @endif */ ExecutionContextServiceList m_ecOther; /*! * @if jp * @brief Created ¾õÂ֥ե饰 * @else * @brief Created Status Flag * @endif */ bool m_created; /*! * @if jp * @brief RTC¤Î½ªÎ»¾õÂ֥ե饰 * @else * @brief RTC Finalize Status Flag * @endif */ bool m_exiting; /*! * @if jp * @brief Alive ¾õÂ֥ե饰 * @else * @brief Alive Status Flag * @endif */ // bool m_alive; /*! * @if jp * @brief RTC ¤Î¥×¥í¥Ñ¥Æ¥£ * @else * @brief RTC's Property * @endif */ coil::Properties m_properties; /*! * @if jp * @brief ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¾ðÊó´ÉÍý¥ª¥Ö¥¸¥§¥¯¥È * @else * @brief Configuration Administrator Object * @endif */ ConfigAdmin m_configsets; /*! * @if jp * @brief SDO Service ´ÉÍý¥ª¥Ö¥¸¥§¥¯¥È * @else * @brief SDO Service Administrator Object * @endif */ SdoServiceAdmin m_sdoservice; /*! * @if jp * @brief readAll()¸Æ½ÐÍѤΥե饰 * @else * @brief flag for readAll() * @endif */ bool m_readAll; /*! * @if jp * @brief writeAll()¸Æ½ÐÍѤΥե饰 * @else * @brief flag for writeAll() * @endif */ bool m_writeAll; /*! * @if jp * @brief readAll()ÍѤΥե饰 * * true:readAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤âºÇ¸å¤Þ¤Ç¼Â»Ü¤¹¤ë¡£ * false:readAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç½ªÎ»¡£ * * @else * @brief flag for readAll() * * true:Even if the error occurs during readAll(), it executes it to the * last minute. * false:End when error occurs during readAll(). * * @endif */ bool m_readAllCompletion; /*! * @if jp * @brief writeAll()ÍѤΥե饰 * * true:writeAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤âºÇ¸å¤Þ¤Ç¼Â»Ü¤¹¤ë¡£ * false:writeAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç½ªÎ»¡£ * * @else * @brief flag for writeAll() * * true:Even if the error occurs during writeAll(), it executes it to the * last minute. * false:End when error occurs during writeAll(). * * @endif */ bool m_writeAllCompletion; /*! * @if jp * @brief ComponentActionListener¥Û¥ë¥À * * ComponentActionListenr¤òÊÝ»ý¤¹¤ë¥Û¥ë¥À * * @else * @brief ComponentActionListener holder * * Holders of ComponentActionListeners * * @endif */ ComponentActionListeners m_actionListeners; /*! * @if jp * @brief PortConnectListener¥Û¥ë¥À * * PortConnectListenr¤òÊÝ»ý¤¹¤ë¥Û¥ë¥À * * @else * @brief PortConnectListener holder * * Holders of PortConnectListeners * * @endif */ PortConnectListeners m_portconnListeners; //------------------------------------------------------------ // Functor //------------------------------------------------------------ /*! * @if jp * @brief NVList ¸¡º÷ÍÑ¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to find NVList * @endif */ struct nv_name { nv_name(const char* name) : m_name(name) {}; bool operator()(const SDOPackage::NameValue& nv) { return m_name == std::string(nv.name); } std::string m_name; }; // struct nv_name /*! * @if jp * @brief ExecutionContext ¥³¥Ô¡¼¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to copy ExecutionContext * @endif */ struct ec_copy { ec_copy(ExecutionContextList& eclist) : m_eclist(eclist) { } void operator()(ExecutionContextService_ptr ecs) { if (!::CORBA::is_nil(ecs)) { CORBA_SeqUtil::push_back(m_eclist, ExecutionContext::_duplicate(ecs)); } } ExecutionContextList& m_eclist; }; // struct ec_copy /*! * @if jp * @brief ExecutionContext ¸¡º÷ÍÑ¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to find ExecutionContext * @endif */ struct ec_find { ec_find(ExecutionContext_ptr& ec) : m_ec(ExecutionContext::_duplicate(ec)) { } bool operator()(ExecutionContextService_ptr ecs) { try { if (!::CORBA::is_nil(ecs)) { ExecutionContext_var ec; ec = ExecutionContext::_narrow(ecs); return m_ec->_is_equivalent(ec); } } catch (...) { return false; } return false; } ExecutionContext_var m_ec; }; // struct ec_find // ExecutionContextAdminList m_execContextList; /*! * @if jp * @brief RTC Èó³èÀ­²½ÍÑ¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to deactivate RTC * @endif */ struct deactivate_comps { deactivate_comps(LightweightRTObject_ptr comp) : m_comp(RTC::LightweightRTObject::_duplicate(comp)) { } void operator()(ExecutionContextService_ptr ec) { if (!::CORBA::is_nil(ec) && !ec->_non_existent()) { ec->deactivate_component(RTC::LightweightRTObject::_duplicate(m_comp)); ec->stop(); } } LightweightRTObject_var m_comp; }; // struct deactivate_comps }; // class RTObject_impl }; // namespace RTC #ifdef WIN32 #pragma warning( default : 4290 ) #endif #endif // RTC_RTOBJECT
4515  //============================================================
4523  SDOPackage::OrganizationList m_sdoOwnedOrganizations;
4524 
4532  struct svc_name
4533  {
4534  svc_name (const char* id) : m_id(id) {};
4535  bool operator()(const SDOPackage::ServiceProfile& prof)
4536  {
4537  return m_id == std::string(prof.id);
4538  }
4539  std::string m_id;
4540  }; // struct svc_name
4541 
4550 
4558  SDOPackage::Configuration_var m_pSdoConfig;
4559 
4567  SDOPackage::OrganizationList m_sdoOrganizations;
4568 
4577 
4578  //============================================================
4579  // RTC ´Ø·¸¤ÎÊÑ¿ô //============================================================ /*! * @if jp * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë * @else * @brief ComponentProfile * @endif */ ComponentProfile m_profile; /*! * @if jp * @brief ¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹ * @else * @brief Object reference * @endif */ RTObject_var m_objref; /*! * @if jp * @brief Port ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤Î¥ê¥¹¥È * @else * @brief List of Port Object reference * @endif */ PortAdmin m_portAdmin; /*! * @if jp * @brief InPortBase* ¤Î¥ê¥¹¥È * @else * @brief List of InPortBase* * @endif */ std::vector<InPortBase*> m_inports; /*! * @if jp * @brief OutPortBase* ¤Î¥ê¥¹¥È * @else * @brief List of OutPortBase* * @endif */ std::vector<OutPortBase*> m_outports; /*! * @if jp * @brief ¼«Ê¬¤¬owner¤ÎExecutionContextService ¤Î¥ê¥¹¥È * @else * @brief List of owned ExecutionContextService * @endif */ ExecutionContextServiceList m_ecMine; /*! * @if jp * @brief ExecutionContextBase ¤Î¥ê¥¹¥È * @else * @brief List of ExecutionContextBase * @endif */ std::vector<ExecutionContextBase*> m_eclist; /*! * @if jp * @brief »²²Ã¤·¤Æ¤¤¤ëExecutionContextService ¤Î¥ê¥¹¥È * @else * @brief List of participating ExecutionContextService * @endif */ ExecutionContextServiceList m_ecOther; /*! * @if jp * @brief Created ¾õÂ֥ե饰 * @else * @brief Created Status Flag * @endif */ bool m_created; /*! * @if jp * @brief RTC¤Î½ªÎ»¾õÂ֥ե饰 * @else * @brief RTC Finalize Status Flag * @endif */ bool m_exiting; /*! * @if jp * @brief Alive ¾õÂ֥ե饰 * @else * @brief Alive Status Flag * @endif */ // bool m_alive; /*! * @if jp * @brief RTC ¤Î¥×¥í¥Ñ¥Æ¥£ * @else * @brief RTC's Property * @endif */ coil::Properties m_properties; /*! * @if jp * @brief ¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¾ðÊó´ÉÍý¥ª¥Ö¥¸¥§¥¯¥È * @else * @brief Configuration Administrator Object * @endif */ ConfigAdmin m_configsets; /*! * @if jp * @brief SDO Service ´ÉÍý¥ª¥Ö¥¸¥§¥¯¥È * @else * @brief SDO Service Administrator Object * @endif */ SdoServiceAdmin m_sdoservice; /*! * @if jp * @brief readAll()¸Æ½ÐÍѤΥե饰 * @else * @brief flag for readAll() * @endif */ bool m_readAll; /*! * @if jp * @brief writeAll()¸Æ½ÐÍѤΥե饰 * @else * @brief flag for writeAll() * @endif */ bool m_writeAll; /*! * @if jp * @brief readAll()ÍѤΥե饰 * * true:readAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤âºÇ¸å¤Þ¤Ç¼Â»Ü¤¹¤ë¡£ * false:readAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç½ªÎ»¡£ * * @else * @brief flag for readAll() * * true:Even if the error occurs during readAll(), it executes it to the * last minute. * false:End when error occurs during readAll(). * * @endif */ bool m_readAllCompletion; /*! * @if jp * @brief writeAll()ÍѤΥե饰 * * true:writeAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤âºÇ¸å¤Þ¤Ç¼Â»Ü¤¹¤ë¡£ * false:writeAll()¤ÎÅÓÃæ¤Ç¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç½ªÎ»¡£ * * @else * @brief flag for writeAll() * * true:Even if the error occurs during writeAll(), it executes it to the * last minute. * false:End when error occurs during writeAll(). * * @endif */ bool m_writeAllCompletion; /*! * @if jp * @brief ComponentActionListener¥Û¥ë¥À * * ComponentActionListenr¤òÊÝ»ý¤¹¤ë¥Û¥ë¥À * * @else * @brief ComponentActionListener holder * * Holders of ComponentActionListeners * * @endif */ ComponentActionListeners m_actionListeners; /*! * @if jp * @brief PortConnectListener¥Û¥ë¥À * * PortConnectListenr¤òÊÝ»ý¤¹¤ë¥Û¥ë¥À * * @else * @brief PortConnectListener holder * * Holders of PortConnectListeners * * @endif */ PortConnectListeners m_portconnListeners; //------------------------------------------------------------ // Functor //------------------------------------------------------------ /*! * @if jp * @brief NVList ¸¡º÷ÍÑ¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to find NVList * @endif */ struct nv_name { nv_name(const char* name) : m_name(name) {}; bool operator()(const SDOPackage::NameValue& nv) { return m_name == std::string(nv.name); } std::string m_name; }; // struct nv_name /*! * @if jp * @brief ExecutionContext ¥³¥Ô¡¼¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to copy ExecutionContext * @endif */ struct ec_copy { ec_copy(ExecutionContextList& eclist) : m_eclist(eclist) { } void operator()(ExecutionContextService_ptr ecs) { if (!::CORBA::is_nil(ecs)) { CORBA_SeqUtil::push_back(m_eclist, ExecutionContext::_duplicate(ecs)); } } ExecutionContextList& m_eclist; }; // struct ec_copy /*! * @if jp * @brief ExecutionContext ¸¡º÷ÍÑ¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to find ExecutionContext * @endif */ struct ec_find { ec_find(ExecutionContext_ptr& ec) : m_ec(ExecutionContext::_duplicate(ec)) { } bool operator()(ExecutionContextService_ptr ecs) { try { if (!::CORBA::is_nil(ecs)) { ExecutionContext_var ec; ec = ExecutionContext::_narrow(ecs); return m_ec->_is_equivalent(ec); } } catch (...) { return false; } return false; } ExecutionContext_var m_ec; }; // struct ec_find // ExecutionContextAdminList m_execContextList; /*! * @if jp * @brief RTC Èó³èÀ­²½ÍÑ¥Õ¥¡¥ó¥¯¥¿ * @else * @brief Functor to deactivate RTC * @endif */ struct deactivate_comps { deactivate_comps(LightweightRTObject_ptr comp) : m_comp(RTC::LightweightRTObject::_duplicate(comp)) { } void operator()(ExecutionContextService_ptr ec) { if (!::CORBA::is_nil(ec) && !ec->_non_existent()) { ec->deactivate_component(RTC::LightweightRTObject::_duplicate(m_comp)); ec->stop(); } } LightweightRTObject_var m_comp; }; // struct deactivate_comps }; // class RTObject_impl }; // namespace RTC #ifdef WIN32 #pragma warning( default : 4290 ) #endif #endif // RTC_RTOBJECT
4580  //============================================================
4588  ComponentProfile m_profile;
4589 
4597  RTObject_var m_objref;
4598 
4607 
4615  std::vector<InPortBase*> m_inports;
4616 
4624  std::vector<OutPortBase*> m_outports;
4625 
4633  ExecutionContextServiceList m_ecMine;
4634 
4642  std::vector<ExecutionContextBase*> m_eclist;
4643 
4651  ExecutionContextServiceList m_ecOther;
4652 
4661 
4670 
4678  // bool m_alive;
4679 
4688 
4697 
4706 
4715 
4724 
4742 
4760 
4775 
4790 
4791  //------------------------------------------------------------
4792  // Functor
4793  //------------------------------------------------------------
4801  struct nv_name
4802  {
4803  nv_name(const char* name) : m_name(name) {};
4804  bool operator()(const SDOPackage::NameValue& nv)
4805  {
4806  return m_name == std::string(nv.name);
4807  }
4808  std::string m_name;
4809  }; // struct nv_name
4810 
4818  struct ec_copy
4819  {
4821  : m_eclist(eclist)
4822  {
4823  }
4824  void operator()(ExecutionContextService_ptr ecs)
4825  {
4826  if (!::CORBA::is_nil(ecs))
4827  {
4828  CORBA_SeqUtil::push_back(m_eclist,
4829  ExecutionContext::_duplicate(ecs));
4830  }
4831  }
4833  }; // struct ec_copy
4841  struct ec_find
4842  {
4843  ec_find(ExecutionContext_ptr& ec)
4844  : m_ec(ExecutionContext::_duplicate(ec))
4845  {
4846  }
4847  bool operator()(ExecutionContextService_ptr ecs)
4848  {
4849  try
4850  {
4851  if (!::CORBA::is_nil(ecs))
4852  {
4853  ExecutionContext_var ec;
4854  ec = ExecutionContext::_narrow(ecs);
4855  return m_ec->_is_equivalent(ec);
4856  }
4857  }
4858  catch (...)
4859  {
4860  return false;
4861  }
4862  return false;
4863  }
4864  ExecutionContext_var m_ec;
4865 
4866  }; // struct ec_find
4867  // ExecutionContextAdminList m_execContextList;
4868 
4877  {
4878  deactivate_comps(LightweightRTObject_ptr comp)
4879  : m_comp(RTC::LightweightRTObject::_duplicate(comp))
4880  {
4881  }
4882  void operator()(ExecutionContextService_ptr ec)
4883  {
4884  if (!::CORBA::is_nil(ec) && !ec->_non_existent())
4885  {
4886 
4887  ec->deactivate_component(RTC::LightweightRTObject::_duplicate(m_comp));
4888  ec->stop();
4889  }
4890  }
4891  LightweightRTObject_var m_comp;
4892  }; // struct deactivate_comps
4893  }; // class RTObject_impl
4894 }; // namespace RTC
4895 
4896 #ifdef WIN32
4897 #pragma warning( default : 4290 )
4898 #endif
4899 
4900 #endif // RTC_RTOBJECT
ComponentProfile m_profile
ComponentProfile.
Definition: RTObject.h:4588
PortAdmin m_portAdmin
List of Port Object reference.
Definition: RTObject.h:4606
bool operator()(ExecutionContextService_ptr ecs)
Definition: RTObject.h:4847
PortConnectListenerType
The types of ConnectorDataListener.
const char * getVendor()
[local interface] Get vendor
Definition: RTObject.h:2074
Logger rtclog
Logger stream.
Definition: RTObject.h:4485
svc_name(const char *id)
Definition: RTObject.h:4534
RTC&#39;s Port base class.
void onAddPort(const PortProfile &pprof)
Definition: RTObject.h:4457
void postOnStateUpdate(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4447
void postOnReset(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4437
void preOnAborting(UniqueId ec_id)
Definition: RTObject.h:4367
std::vector< InPortBase * > m_inports
List of InPortBase*.
Definition: RTObject.h:4615
void onRemovePort(const PortProfile &pprof)
Definition: RTObject.h:4462
EXECUTION_HANDLE_TYPE_NATIVE ExecutionContextHandle_t
Definition: IRTC.h:63
PortConnectRetListener class.
const char * getCategory()
[local interface] Get category information
Definition: RTObject.h:2099
RT-Component.
PostComponentActionListenerType
The types of ConnectorDataListener.
PreComponentActionListener * addPreComponentActionListener(PreCompActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(UniqueId ec_id))
Definition: RTObject.h:3388
ExecutionContextServiceList m_ecOther
List of participating ExecutionContextService.
Definition: RTObject.h:4651
bool m_readAllCompletion
flag for readAll()
Definition: RTObject.h:4741
SDOPackage::Configuration_impl * m_pSdoConfigImpl
The pointer to the SDO Configuration Object.
Definition: RTObject.h:4549
void preOnShutdown(UniqueId ec_id)
Definition: RTObject.h:4352
component action listener class
bool stringTo(To &val, const char *str)
Convert the given std::string to object.
Definition: stringutil.h:597
ConfigurationSetListener * addConfigurationSetListener(ConfigurationSetListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const coil::Properties &config_set))
Definition: RTObject.h:4165
ECActionListener * addExecutionContextActionListener(ECActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(UniqueId))
Definition: RTObject.h:3747
RT component logger class.
deactivate_comps(LightweightRTObject_ptr comp)
Definition: RTObject.h:4878
SDOPackage::OrganizationList m_sdoOrganizations
SDO organization.
Definition: RTObject.h:4567
void onAttachExecutionContext(UniqueId ec_id)
Definition: RTObject.h:4467
ReturnCode_t
Definition: doil.h:53
std::vector< std::pair< std::string, std::string > > NVList
Definition: IRTC.h:67
CORBA::ORB_var m_pORB
The pointer to the ORB.
Definition: RTObject.h:4502
PortActionListenerType
The types of PortActionListener.
void postOnExecute(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4442
RTC::ReturnCode_t ret(RTC::Local::ReturnCode_t r)
Functor to find from SDOService Profile List by id.
Definition: RTObject.h:4532
bool m_exiting
RTC Finalize Status Flag.
Definition: RTObject.h:4669
RT-Component class.
Definition: RTObject.h:89
SDOPackage::Configuration_var m_pSdoConfig
The pointer to the SDO Configuration Interface.
Definition: RTObject.h:4558
ConfigurationSetListener class.
ConfigurationSetNameListener class.
ComponentActionListeners m_actionListeners
ComponentActionListener holder.
Definition: RTObject.h:4774
ConfigurationParamListener class.
Manager class.
Definition: Manager.h:80
Configuration Administration classes.
ConfigurationSetNameListenerType
The types of ConfigurationSetNameListener.
PreComponentActionListenerType
The types of ConnectorDataListener.
PortActionListener * addPortActionListener(PortActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const RTC::PortProfile &))
Definition: RTObject.h:3634
void postOnShutdown(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4412
PortConnectRetListener * addPortConnectRetListener(PortConnectRetListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const char *, ConnectorProfile &, ReturnCode_t))
Definition: RTObject.h:3974
ExecutionContextList & m_eclist
Definition: RTObject.h:4832
nv_name(const char *name)
Definition: RTObject.h:4803
PostComponentActionListener * addPostComponentActionListener(PostCompActionListenerType listener_type, Listener &obj, void(Listener::*memfunc)(UniqueId ec_id, ReturnCode_t ret))
Definition: RTObject.h:3521
ConfigurationParamListener * addConfigurationParamListener(ConfigurationParamListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const char *, const char *))
Definition: RTObject.h:4072
void postOnError(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4432
bool m_readAll
flag for readAll()
Definition: RTObject.h:4714
Manager * m_pManager
Manager object.
Definition: RTObject.h:4493
SdoServiceAdmin m_sdoservice
SDO Service Administrator Object.
Definition: RTObject.h:4705
bool m_created
Created Status Flag.
Definition: RTObject.h:4660
SDOPackage::NVList m_sdoStatus
SDO Status.
Definition: RTObject.h:4576
string outport
Definition: README_gen.py:115
void operator()(ExecutionContextService_ptr ecs)
Definition: RTObject.h:4824
void preOnRateChanged(UniqueId ec_id)
Definition: RTObject.h:4392
CorbaPort class.
PreComponentActionListener class.
PortableServer::POA_var m_pPOA
The pointer to the POA.
Definition: RTObject.h:4511
SDO Package.
void operator()(ExecutionContextService_ptr ec)
Definition: RTObject.h:4882
void postOnAborting(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4427
PreComponentActionListener PreCompActionListener
Adding PreComponentAction type listener.
Definition: RTObject.h:3378
SDO service administration class.
Functor to copy ExecutionContext.
Definition: RTObject.h:4818
const char * getTypeName()
[local interface] Get type name
Definition: RTObject.h:1998
PortConnectListener class.
std::vector< ExecutionContext * > ExecutionContextList
Definition: IRTC.h:69
void preOnError(UniqueId ec_id)
Definition: RTObject.h:4372
SDOPackage::OrganizationList m_sdoOwnedOrganizations
SDO owned organization list.
Definition: RTObject.h:4523
ExecutionContextActionListenerType ECActionListenerType
Adding ExecutionContextAction type listener.
Definition: RTObject.h:3739
string inport
Definition: README_gen.py:90
void onDetachExecutionContext(UniqueId ec_id)
Definition: RTObject.h:4472
ConfigurationSetNameListener * addConfigurationSetNameListener(ConfigurationSetNameListenerType type, Listener &obj, void(Listener::*memfunc)(const char *))
Definition: RTObject.h:4259
ExecutionContextHandle_t UniqueId
PortConnectListener * addPortConnectListener(PortConnectListenerType listener_type, Listener &obj, void(Listener::*memfunc)(const char *, ConnectorProfile &))
Definition: RTObject.h:3858
Functor to find NVList.
Definition: RTObject.h:4801
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.
#define RTC_TRACE(fmt)
std::vector< ExecutionContextBase * > m_eclist
List of ExecutionContextBase.
Definition: RTObject.h:4642
ComponentActionListeners class.
ExecutionContext_var m_ec
Definition: RTObject.h:4864
bool operator()(const SDOPackage::NameValue &nv)
Definition: RTObject.h:4804
ExecutionContextServiceList m_ecMine
List of owned ExecutionContextService.
Definition: RTObject.h:4633
bool m_writeAllCompletion
flag for writeAll()
Definition: RTObject.h:4759
const char * getDescription()
[local interface] GetDescription
Definition: RTObject.h:2023
PostComponentActionListener PostCompActionListener
Adding PostComponentAction type listener.
Definition: RTObject.h:3511
ConfigAdmin m_configsets
Configuration Administrator Object.
Definition: RTObject.h:4696
void preOnReset(UniqueId ec_id)
Definition: RTObject.h:4377
Functor to deactivate RTC.
Definition: RTObject.h:4876
LightweightRTObject_var m_comp
Definition: RTObject.h:4891
const char * getVersion()
[local interface] Get version information
Definition: RTObject.h:2049
const char * getInstanceName()
[local interface] Get instance name
Definition: RTObject.h:1952
prop
Organization::get_organization_property ();.
void postOnFinalize(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4402
RTC::Port implementation for InPort.
PortConnectRetListenerType
The types of PortConnectRetListenerType.
InPortBase base class.
void preOnStateUpdate(UniqueId ec_id)
Definition: RTObject.h:4387
Class represents a set of properties.
Definition: Properties.h:101
ec_find(ExecutionContext_ptr &ec)
Definition: RTObject.h:4843
void postOnActivated(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4417
void postOnInitialize(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4397
std::vector< IPortService * > PortServiceList
Definition: IPortService.h:39
bool operator()(const SDOPackage::ServiceProfile &prof)
Definition: RTObject.h:4535
void preOnStartup(UniqueId ec_id)
Definition: RTObject.h:4347
void push_back(CorbaSequence &seq, SequenceElement elem)
Push the new element back to the CORBA sequence.
RTComponent header.
PortConnectListeners m_portconnListeners
PortConnectListener holder.
Definition: RTObject.h:4789
Configuration implementation class.
void preOnActivated(UniqueId ec_id)
Definition: RTObject.h:4357
void postOnStartup(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4407
coil::Properties m_properties
Alive Status Flag.
Definition: RTObject.h:4687
ExecutionContextActionListener ECActionListener
Definition: RTObject.h:3740
ExecutionContextActionListenerType
The types of ExecutionContextActionListener.
PostComponentActionListenerType PostCompActionListenerType
Definition: RTObject.h:3512
void preOnInitialize(UniqueId ec_id)
Definition: RTObject.h:4337
bool m_writeAll
flag for writeAll()
Definition: RTObject.h:4723
ConfigurationSetListenerType
The types of ConfigurationSetListener.
RTObject_var m_objref
Object reference.
Definition: RTObject.h:4597
PortActionListener class.
PreComponentActionListenerType PreCompActionListenerType
Definition: RTObject.h:3379
std::vector< OutPortBase * > m_outports
List of OutPortBase*.
Definition: RTObject.h:4624
Functor to find ExecutionContext.
Definition: RTObject.h:4841
port&#39;s internal action listener classes
ec_copy(ExecutionContextList &eclist)
Definition: RTObject.h:4820
RTC&#39;s Port administration class.
PostComponentActionListener class.
void postOnDeactivated(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4422
void preOnFinalize(UniqueId ec_id)
Definition: RTObject.h:4342
ConfigurationParamListenerType
The types of ConnectorDataListener.
ExecutionContextActionListener class.
void postOnRateChanged(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4452
void preOnDeactivated(UniqueId ec_id)
Definition: RTObject.h:4362
void preOnExecute(UniqueId ec_id)
Definition: RTObject.h:4382


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Thu Jun 6 2019 19:26:00