ManagerServant.h
Go to the documentation of this file.
1 // -*- C++ -*-
20 #ifndef RTM_MANAGERSERVANT_H
21 #define RTM_MANAGERSERVANT_H
22 
23 #include <iostream>
24 #include <coil/Mutex.h>
25 #include <coil/Guard.h>
26 #include <rtm/idl/ManagerSkel.h>
27 #include <rtm/Manager.h>
28 #include <rtm/SystemLogger.h>
29 
45 namespace RTM
46 {
64  : public virtual POA_RTM::Manager,
65  public virtual PortableServer::RefCountServantBase
66  {
67  public:
81  // standard constructor
83 
95  virtual ~ManagerServant(void);
96 
121  RTC::ReturnCode_t load_module(const char* pathname, const char* initfunc);
122 
142  RTC::ReturnCode_t unload_module(const char* pathname);
143 
161  RTM::ModuleProfileList* get_loadable_modules();
162 
180  RTM::ModuleProfileList* get_loaded_modules();
181 
182  // component ��Ϣ
202  RTM::ModuleProfileList* get_factory_profiles();
203 
222  RTC::RTObject_ptr create_component(const char* module_name);
223 
242  RTC::ReturnCode_t delete_component(const char* instance_name);
243 
262 
282  RTC::ComponentProfileList* get_component_profiles();
283 
284  // manager ���� /*! * @if jp * @brief �ޥ͡�����Υץ��ե������������� * * ���������ޥ͡�����Υץ��ե������������롣 * * @return �ޥ͡�����ץ��ե����� * * @else * @brief Getting this manager's profile. * * This operation returns this manager's profile. * * @return Manager's profile * * @endif */ RTM::ManagerProfile* get_profile(); /*! * @if jp * @brief �ޥ͡�����Υ���ե�����졼������������� * * ���������ޥ͡�����Υ���ե�����졼������������롣 * * @return �ޥ͡����㥳��ե�����졼����� * * @else * @brief Getting this manager's configuration. * * This operation returns this manager's configuration. * * @return Manager's configuration * * @endif */ RTM::NVList* get_configuration(); /*! * @if jp * @brief �ޥ͡�����Υ���ե�����졼���������ꤹ�� * * ���������ޥ͡�����Υ���ե�����졼���������ꤹ�롣 * * @param name ���åȤ��륳��ե�����졼�����Υ���̾ * @param value ���åȤ��륳��ե�����졼�������� * @return �꥿���󥳡��� * * @else * @brief Setting manager's configuration * * This operation sets managers configuration. * * @param name A configuration key name to be set * @param value A configuration value to be set * @return Return code * * @endif */ RTC::ReturnCode_t set_configuration(const char* name, const char* value); /*! * @if jp * @brief �ޥ͡����㤬�ޥ��������ɤ��� * * ���δؿ��ϥޥ͡����㤬�ޥ��������ɤ������֤���True�ʤ�С������� * �͡�����ϥޥ������Ǥ��ꡢ����ʳ��� False ���֤��� * * @return �ޥ������ޥ͡����㤫�ɤ�����bool�� * * @else * @brief Whether this manager is master or not * * It returns "True" if this manager is a master, and it returns * "False" in other cases. * * @return A boolean value that means it is master or not. * * @endif */ ::CORBA::Boolean is_master(); /*! * @if jp * @brief �ޥ������ޥ͡�����μ��� * * ���Υޥ͡����㤬���졼�֥ޥ͡�����ξ�硢�ޥ������ȤʤäƤ���� * �͡�����Υꥹ�Ȥ��֤������Υޥ͡����㤬�ޥ������ξ�硢���Υꥹ * �Ȥ��֤롣 * * @return �ޥ������ޥ͡�����Υꥹ�� * * @else * @brief Getting master managers * * This operation returns master manager list if this manager is * slave. If this manager is master, an empty sequence would be * returned. * * @return Master manager list * * @endif */ RTM::ManagerList* get_master_managers(); /*! * @if jp * @brief �ޥ������ޥ͡�������ɲ� * * ���Υޥ͡�����Υޥ����Ȥ��ƥޥ͡���������ɲä��롣����ͤˤϡ� * �����ޥ͡��������ɲä��줿�ޥ������ޥ͡�������̤����ˡ��� * ��ID���֤���롣���Υޥ͡����㤬�ޥ����ξ�硢����ID�ǻ��ꤵ�줿 * �ޥ������ޥ͡�������֤���ID�ǻ��ꤵ�줿�ޥ������ޥ͡����㤬�ʤ� * ��硢nil���֥������Ȥ��֤롣 * * @return �ޥ������ޥ͡����� * * @else * @brief Getting a master manager * * This operation returns a master manager with specified id. If * the manager with the specified id does not exist, nil object * reference would be returned. * * @return A master manager * * @endif */ RTC::ReturnCode_t add_master_manager(RTM::Manager_ptr mgr); /*! * @if jp * @brief �ޥ������ޥ͡�����κ�� * * ���Υޥ͡����㤬�ݻ�����ޥ����Τ��������ꤵ�줿��Τ������롣 * * @param mgr �ޥ������ޥ͡����� * @return ReturnCode_t * * @else * @brief Removing a master manager * * This operation removes a master manager from this manager. * * @param mgr A master manager * @return ReturnCode_t * * @endif */ RTC::ReturnCode_t remove_master_manager(RTM::Manager_ptr mgr); /*! * @if jp * @brief ���졼�֥ޥ͡�����μ��� * * ���Υޥ͡����㤬���졼�֥ޥ͡�����ξ�硢���졼�֤ȤʤäƤ���� * �͡�����Υꥹ�Ȥ��֤������Υޥ͡����㤬���졼�֤ξ�硢���Υꥹ * �Ȥ��֤롣 * * @return ���졼�֥ޥ͡�����Υꥹ�� * * @else * @brief Getting slave managers * * This operation returns slave manager list if this manager is * slave. If this manager is slave, an empty sequence would be * returned. * * @return Slave manager list * * @endif */ RTM::ManagerList* get_slave_managers(); /*! * @if jp * @brief ���졼�֥ޥ͡�������ɲ� * * ���Υޥ͡�����Υޥ����Ȥ��ƥޥ͡���������ɲä��롣 * * @param mgr ���졼�֥ޥ͡����� * @return ReturnCode_t * * @else * @brief Getting a slave manager * * This operation add a slave manager to this manager. * * @param mgr A slave manager * @return ReturnCode_t * * @endif */ RTC::ReturnCode_t add_slave_manager(RTM::Manager_ptr mgr); /*! * @if jp * @brief ���졼�֥ޥ͡�����κ�� * * ���Υޥ͡����㤬�ݻ�����ޥ����Τ��������ꤵ�줿��Τ������롣 * * @param mgr ���졼�֥ޥ͡����� * @return ReturnCode_t * * @else * @brief Removing a slave manager * * This operation removes a slave manager from this manager. * * @param mgr A slave manager * @return ReturnCode_t * * @endif */ RTC::ReturnCode_t remove_slave_manager(RTM::Manager_ptr mgr); /*! * @if jp * @brief �ץ������Υ��ԡ����������� * @return ReturnCode_t * @else * @brief The copy of the process is generated. * @return ReturnCode_t * @endif */ RTC::ReturnCode_t fork(); /*! * @if jp * @brief shutdown���� * @return ReturnCode_t * @else * @brief This method shutdowns RTC. * @return ReturnCode_t * @endif */ RTC::ReturnCode_t shutdown(); /*! * @if jp * @brief �Ƶ�ư���롣 * @return ReturnCode_t * @else * @brief This method restarts RTC. * @return ReturnCode_t * @endif */ RTC::ReturnCode_t restart(); /*! * @if jp * @brief RTC�Υ�ե���󥹤�������롣 * @return RTC�Υ�ե���� * @else * @brief Get the reference of RTC. * @return RTC reference * @endif */ CORBA::Object_ptr get_service(const char* name); /*! * @if jp * @brief Manager�Υ�ե���󥹤�������롣 * @return Manager�Υ�ե���� * @else * @brief Get the reference of Manager. * @return Manager reference * @endif */ RTM::Manager_ptr getObjRef() const; /*! * @if jp * @brief INSManager������ * @return * @else ����:true, ����:false * @brief Generate INSManager. * @return Successful:true, Failed:false * @endif */ bool createINSManager(); /*! * @if jp * @brief Manager�Υ�ե���󥹤򸡺����롣 * @return Manager�Υ�ե���� * @else * @brief Find the reference of Manager. * @return Manager reference * @endif */ RTM::Manager_ptr findManager(const char* host_port); private: typedef coil::Guard<coil::Mutex> Guard; /*! * @if jp * @brief ���������֥������� * @else * @brief Logger object * @endif */ ::RTC::Logger rtclog; /*! * @if jp * @brief RTC::Manager�ؤλ��� * @else * @brief Reference to the RTC::Manager * @endif */ ::RTC::Manager& m_mgr; /*! * @if jp * @brief ManagerServant�Υ��֥������ȥ�ե���� * @else * @brief An object reference of ManagerServant * @endif */ ::RTM::Manager_var m_objref; /*! * @if jp * @brief �ޥ����ޥ͡�����Υꥹ�� * @else * @brief List of master managers * @endif */ ::RTM::ManagerList m_masters; /*! * @if jp * @brief m_masters �� Mutex * @else * @brief Mutex of m_masters * @endif */ ::coil::Mutex m_masterMutex; /*! * @if jp * @brief ���졼�֥ޥ͡�����Υꥹ�� * @else * @brief List of slave managers * @endif */ ::RTM::ManagerList m_slaves; /*! * @if jp * @brief m_slaves �� Mutex * @else * @brief Mutex of m_slaves * @endif */ ::coil::Mutex m_slaveMutex; /*! * @if jp * @brief �ޥ������ɤ����Υե饰 * @else * @brief Flag if this is master * @endif */ CORBA::Boolean m_isMaster; /*! * @if jp * @brief Manager_var ���������ɤ����Υե��󥯥� * @else * @brief Functor to inspect if Manster_var is equivalent * @endif */ class is_equiv { RTM::Manager_var m_mgr; public: is_equiv(RTM::Manager_ptr mgr) : m_mgr(RTM::Manager::_duplicate(mgr)) {} bool operator()(RTM::Manager_ptr mgr) { return m_mgr->_is_equivalent(mgr); } }; }; }; // namespace RTM #endif // RTM_MANAGERSERVANT_H
302  RTM::ManagerProfile* get_profile();
303 
322 
344  RTC::ReturnCode_t set_configuration(const char* name, const char* value);
345 
365  ::CORBA::Boolean is_master();
366 
388  RTM::ManagerList* get_master_managers();
389 
413  RTC::ReturnCode_t add_master_manager(RTM::Manager_ptr mgr);
414 
434  RTC::ReturnCode_t remove_master_manager(RTM::Manager_ptr mgr);
435 
457  RTM::ManagerList* get_slave_managers();
458 
478  RTC::ReturnCode_t add_slave_manager(RTM::Manager_ptr mgr);
479 
499  RTC::ReturnCode_t remove_slave_manager(RTM::Manager_ptr mgr);
500 
501 
502 
533 
543  CORBA::Object_ptr get_service(const char* name);
544 
554  RTM::Manager_ptr getObjRef() const;
555 
565  bool createINSManager();
566 
576  RTM::Manager_ptr findManager(const char* host_port);
577 
578  private:
588 
597 
605  ::RTM::Manager_var m_objref;
606 
614  ::RTM::ManagerList m_masters;
615 
624 
632  ::RTM::ManagerList m_slaves;
633 
642 
650  CORBA::Boolean m_isMaster;
651 
659  class is_equiv
660  {
661  RTM::Manager_var m_mgr;
662  public:
663  is_equiv(RTM::Manager_ptr mgr)
664  : m_mgr(RTM::Manager::_duplicate(mgr)) {}
665  bool operator()(RTM::Manager_ptr mgr)
666  {
667  return m_mgr->_is_equivalent(mgr);
668  }
669  };
670 
671  };
672 }; // namespace RTM
673 #endif // RTM_MANAGERSERVANT_H
Functor to inspect if Manster_var is equivalent.
RTM::ManagerList * get_slave_managers()
Getting slave managers.
bool createINSManager()
Generate INSManager.
Mutex class.
RT component logger class.
ReturnCode_t
Definition: doil.h:53
std::vector< std::pair< std::string, std::string > > NVList
Definition: IRTC.h:67
CORBA::Object_ptr get_service(const char *name)
Get the reference of RTC.
RTC::ReturnCode_t shutdown()
This method shutdowns RTC.
Manager class.
Definition: Manager.h:80
RTM::NVList * get_configuration()
Getting this manager&#39;s configuration.
::RTM::ManagerList m_slaves
List of slave managers.
RTC::RTObject_ptr create_component(const char *module_name)
Creating an RT-Component.
bool operator()(RTM::Manager_ptr mgr)
RTM::ManagerList * get_master_managers()
Getting master managers.
RTComponent manager class.
RTM::Manager_ptr findManager(const char *host_port)
Find the reference of Manager.
virtual ~ManagerServant(void)
Virtual destructor.
RTC::ReturnCode_t remove_slave_manager(RTM::Manager_ptr mgr)
Removing a slave manager.
RTC::ReturnCode_t set_configuration(const char *name, const char *value)
Setting manager&#39;s configuration.
::coil::Mutex m_masterMutex
Mutex of m_masters.
RTC::ReturnCode_t delete_component(const char *instance_name)
Deleting an RT-Component.
::RTC::Manager & m_mgr
Reference to the RTC::Manager.
RTC::ReturnCode_t load_module(const char *pathname, const char *initfunc)
Loading a module.
RTC::ReturnCode_t remove_master_manager(RTM::Manager_ptr mgr)
Removing a master manager.
::RTM::ManagerList m_masters
List of master managers.
RTC::ReturnCode_t restart()
This method restarts RTC.
RTM::ModuleProfileList * get_loaded_modules()
Getting loaded module profiles.
Logger class.
Definition: SystemLogger.h:99
RTC::ReturnCode_t unload_module(const char *pathname)
Unloading a module.
RTC::ReturnCode_t add_master_manager(RTM::Manager_ptr mgr)
Getting a master manager.
is_equiv(RTM::Manager_ptr mgr)
::RTC::Logger rtclog
Logger object.
RTM::ManagerProfile * get_profile()
Getting this manager&#39;s profile.
::CORBA::Boolean is_master()
Whether this manager is master or not.
RTM::Manager_ptr getObjRef() const
Get the reference of Manager.
RTM::ModuleProfileList * get_factory_profiles()
Getting component factory profiles.
CORBA::Boolean m_isMaster
Flag if this is master.
RTC::RTCList * get_components()
Getting RT-Component list running on this manager.
std::vector< IRTObject * > RTCList
::RTM::Manager_var m_objref
An object reference of ManagerServant.
RTC::ComponentProfileList * get_component_profiles()
Getting RT-Component&#39;s profile list running on this manager.
ManagerServant()
Constructor.
coil::Guard< coil::Mutex > Guard
::coil::Mutex m_slaveMutex
Mutex of m_slaves.
RTM::ModuleProfileList * get_loadable_modules()
Getting loadable module profiles.
RTC::ReturnCode_t add_slave_manager(RTM::Manager_ptr mgr)
Getting a slave manager.
RT-Middleware.
Definition: Manager.h:38
RTC::ReturnCode_t fork()
The copy of the process is generated.


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Mon Jun 10 2019 14:07:53