00001 // -*- C++ -*- 00020 #ifndef RTM_MANAGERSERVANT_H 00021 #define RTM_MANAGERSERVANT_H 00022 00023 #include <iostream> 00024 #include <rtm/idl/ManagerSkel.h> 00025 #include <rtm/Manager.h> 00026 00027 namespace RTM 00028 { 00029 class ManagerServant 00030 : public virtual POA_RTM::Manager, 00031 public virtual PortableServer::RefCountServantBase 00032 { 00033 public: 00034 // standard constructor 00035 ManagerServant(); 00036 virtual ~ManagerServant(void); 00037 00038 RTC::ReturnCode_t load_module(const char* pathname, const char* initfunc); 00039 RTC::ReturnCode_t unload_module(const char* pathname); 00040 RTM::ModuleProfileList* get_loadable_modules(); 00041 RTM::ModuleProfileList* get_loaded_modules(); 00042 RTM::ModuleProfileList* get_factory_profiles(); 00043 RTC::RTObject_ptr create_component(const char* module_name); 00044 RTC::ReturnCode_t delete_component(const char* instance_name); 00045 RTC::RTCList* get_components(); 00046 RTC::ComponentProfileList* get_component_profiles(); 00047 RTM::ManagerProfile* get_profile(); 00048 RTM::NVList* get_configuration(); 00049 RTC::ReturnCode_t set_configuration(const char* name, const char* value); 00050 RTM::Manager_ptr get_owner(); 00051 RTM::Manager_ptr set_owner(RTM::Manager_ptr mgr); 00052 RTM::Manager_ptr get_child(); 00053 RTM::Manager_ptr set_child(RTM::Manager_ptr mgr); 00054 RTC::ReturnCode_t fork(); 00055 RTC::ReturnCode_t shutdown(); 00056 RTC::ReturnCode_t restart(); 00057 CORBA::Object_ptr get_service(const char* name); 00058 RTM::Manager_ptr getObjRef() const; 00059 00060 private: 00061 ::RTC::Manager& m_mgr; 00062 ::RTM::Manager_ptr m_objref; 00063 }; 00064 }; // namespace RTM 00065 #endif // RTM_MANAGERSERVANT_H