424 void load(
const char* fname,
const char* initfunc);
445 void unload(
const char* fname);
917 PortableServer::POA_ptr
getPOA();
1697 : m_vendor(
""), m_category(
""), m_impleid(imple_id), m_version(
"")
1701 : m_vendor(prop[
"vendor"]),
1702 m_category(prop[
"category"]),
1703 m_impleid(prop[
"implementation_id"]),
1704 m_version(prop[
"version"])
1708 : m_vendor(factory->profile()[
"vendor"]),
1709 m_category(factory->profile()[
"category"]),
1710 m_impleid(factory->profile()[
"implementation_id"]),
1711 m_version(factory->profile()[
"version"])
1717 if (m_impleid.empty())
return false;
1721 if (m_impleid != prop[
"implementation_id"])
1723 if (!m_vendor.empty() && m_vendor != prop[
"vendor"])
1725 if (!m_category.empty() && m_category != prop[
"category"])
1727 if (!m_version.empty() && m_version != prop[
"version"])
1733 std::string m_vendor;
1734 std::string m_category;
1735 std::string m_impleid;
1736 std::string m_version;
1749 if (m_prop[
"implementation_id"] != prop[
"implementation_id"])
1753 if (!m_prop[
"vendor"].empty() &&
1754 m_prop[
"vendor"] != prop[
"vendor"]) {
return false; }
1755 if (!m_prop[
"category"].empty() &&
1756 m_prop[
"category"] != prop[
"category"]) {
return false; }
1757 if (!m_prop[
"version"].empty() &&
1758 m_prop[
"version"] != prop[
"version"]) {
return false; }
1790 :
m_name(factory->name()) {};
1817 std::vector<ExecutionContextBase*>
m_ecs;
1950 CORBA::ORB_ptr m_pORB;
2116 #endif // RTC_MANAGER_H
void(* RtcDeleteFunc)(RTObject_impl *rtc)
Definition: rtm/Factory.h:34
static Mutex mutex
The mutex of the pointer to the Manager.
Definition: Manager.h:1555
PortableServer::POAManager_ptr getPOAManager()
Get POAManager that Manager has.
LogStreamBuf & getLogStreamBuf()
Get the log buffer.
Definition: Manager.h:267
ExecutionContextBase * createContext(const char *ec_args)
Create Context.
std::string createORBOptions()
Create ORB command options.
Logger rtclog
Logger stream.
Definition: Manager.h:1654
bool procContextArgs(const char *ec_args, std::string &ec_id, coil::Properties &ec_conf)
Extracting ExecutionContext's name/properties from the given string.
std::vector< std::string > modlist
Definition: Manager.h:1826
ExecutionContextBase *(* ECNewFunc)()
Definition: ECFactory.h:29
void deleteComponent(RTObject_impl *comp)
Unregister RT-Components that have been registered to Manager.
virtual coil::Properties & profile()
Get the component profile.
virtual int open(void *args)
ORB activation processing.
Definition: Manager.h:1894
Term m_terminate
Synchronous flag for manager termination.
Definition: Manager.h:2103
Definition: Manager.h:1786
PortableServer::POA_ptr getPOA()
Get a pointer to RootPOA held by Manager.
log_streambuf template class
Definition: Logger.h:54
virtual void activate()
Create a thread.
Manager * m_manager
Definition: Manager.h:2073
FactoryManager m_factory
ComponentManager.
Definition: Manager.h:1780
Mutex class.
Definition: Mutex.h:40
void runManager(bool no_block=false)
Run the Manager.
RT component logger class.
void terminate()
Termination processing.
Definition: Manager.h:2019
bool initFactories()
Factories initialization.
void cleanupComponents()
This method deletes RT-Components.
Definition: Manager.h:1820
RTM::ManagerServant * m_mgrservant
The pointer to the ManagerServant.
Definition: Manager.h:1450
bool registerComponent(RTObject_impl *comp)
Register RT-Component directly without Factory.
RTObject_impl * getComponent(const char *instance_name)
Get RT-Component's pointer.
Manager CORBA class.
Definition: ManagerServant.h:63
FactoryPredicate(const char *imple_id)
Definition: Manager.h:1696
void shutdown()
Shutdown Manager.
A base class for ExecutionContext.
Definition: ExecutionContextBase.h:51
std::string & getLogLevel()
Get the log level of the configuration.
Definition: Manager.h:286
RT-Component class.
Definition: RTObject.h:89
Definition: Manager.h:1669
void terminate()
Terminate manager.
void load(const char *fname, const char *initfunc)
[CORBA interface] Load module
Manager class.
Definition: Manager.h:80
int waiting
Definition: Manager.h:2087
bool initExecContext()
ExecutionContextManager initialization.
ECFactoryPredicate(const char *name)
Definition: Manager.h:1788
CORBA::ORB_ptr getORB()
Get the pointer to ORB.
bool initComposite()
PeriodicECSharedComposite initialization.
coil::Timer * m_timer
Timer Object.
Definition: Manager.h:1633
const std::string & getProperty(const std::string &key) const
Search for the property with the specified key in this property.
NamingManager * m_namingManager
The pointer to the NamingManager.
Definition: Manager.h:1624
std::string m_name
Definition: Manager.h:1675
OrbRunner(CORBA::ORB_ptr orb)
Constructor.
Definition: Manager.h:1868
virtual int svc(void)
ORB start processing.
Definition: Manager.h:1917
std::vector< std::string > vstring
Definition: stringutil.h:37
coil::Properties & getConfig()
Get the manager configuration.
Definition: Manager.h:305
static Manager * manager
The pointer to the Manager.
Definition: Manager.h:1546
void configureComponent(RTObject_impl *comp, const coil::Properties &prop)
Configure RT-Component.
void(* ModuleInitProc)(Manager *manager)
Definition: Manager.h:58
ECFactoryBase abstract class.
Definition: ECFactory.h:115
std::vector< std::filebuf * > m_logfiles
Files for log output.
Definition: Manager.h:1663
Definition: Manager.h:2085
void notifyFinalized(RTObject_impl *comp)
This method deletes RT-Components.
coil::Properties Properties
Definition: RTC.h:83
std::vector< ExecutionContextBase * > m_ecs
ExecutionContext list.
Definition: Manager.h:1817
void shutdownNaming()
NamingManager finalization.
std::string m_name
Definition: Manager.h:1795
Definition: Manager.h:2105
LogStreamBuf m_logStreamBuf
Logger buffer.
Definition: Manager.h:1645
Finalized m_finalized
Definition: Manager.h:2110
void shutdownLogger()
System Logger finalization.
ObjectManager< const coil::Properties, FactoryBase, FactoryPredicate > FactoryManager
ComponentFactory.
Definition: Manager.h:1771
OrbRunner class.
Definition: Manager.h:1851
void initManager(int argc, char **argv)
Manager internal initialization.
coil::Properties m_config
Managaer's configuration Properties.
Definition: Manager.h:1606
CORBA::ORB_var m_pORB
The pointer to the ORB.
Definition: Manager.h:1567
std::vector< RTObject_impl * > getComponents()
Get all RT-Components registered in the Manager.
bool procComponentArgs(const char *comp_arg, coil::Properties &comp_id, coil::Properties &comp_conf)
Extracting component type/properties from the given string.
ObjectManager< const char *, ECFactoryBase, ECFactoryPredicate > ECFactoryManager
Definition: Manager.h:1799
InstanceName(RTObject_impl *comp)
void(* ECDeleteFunc)(ExecutionContextBase *ec)
Definition: ECFactory.h:30
void createORBEndpoints(coil::vstring &endpoints)
Create Endpoints.
bool unregisterComponent(RTObject_impl *comp)
Unregister RT-Components.
Manager()
Protected Constructor.
std::vector< std::string > getModulesFactories()
Get the list of all Factories.
Logger class.
Definition: SystemLogger.h:99
void join()
Wait for Manager's termination.
void shutdownManager()
Shutdown Manager.
FactoryPredicate(const coil::Properties &prop)
Definition: Manager.h:1700
bool activateManager()
Activate the Manager.
bool registerECFactory(const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
Register ExecutionContext Factory.
ModuleManager class.
Definition: ModuleManager.h:74
ECFactoryPredicate(ECFactoryBase *factory)
Definition: Manager.h:1789
ModuleManager * m_module
The pointer to the ModuleManager.
Definition: Manager.h:1615
virtual int close(unsigned long flags)
ORB close processing.
Definition: Manager.h:1945
virtual int open(void *args)
Termination processing activation.
Definition: Manager.h:2045
Definition: Manager.h:1739
Terminator * m_terminator
The pointer to ORB termination helper class.
Definition: Manager.h:2083
RTObject_impl * createComponent(const char *comp_args)
Create RT-Components.
void unloadAll()
Unload all modules.
Timer class.
Definition: Timer.h:53
bool mergeProperty(coil::Properties &prop, const char *file_name)
Merge property information.
Class represents a set of properties.
Definition: Properties.h:101
void unload(const char *fname)
Unload module.
void createORBEndpointOption(std::string &opt, coil::vstring &endpoint)
Create a command optional line of Endpoint of ORB.
ExecutionContext Factory class.
std::vector< RTObject_impl * > comps
Definition: Manager.h:2108
void setModuleInitProc(ModuleInitProc proc)
Set initial procedure.
bool initManagerServant()
ManagerServant initialization.
FactoryBase base class.
Definition: rtm/Factory.h:118
void shutdownOnNoRtcs()
Shutdown Manager.
bool initLogger()
System logger initialization.
bool initNaming()
NamingManager initialization.
Task class.
Definition: Task.h:39
FactoryPredicate(FactoryBase *factory)
Definition: Manager.h:1707
ObjectManager< std::string, RTObject_impl, InstanceName > ComponentManager
Definition: Manager.h:1678
ComponentManager m_compManager
ComponentManager.
Definition: Manager.h:1687
Mutex mutex
Definition: Manager.h:2107
bool operator()(FactoryBase *factory)
Definition: Manager.h:1714
bool operator()(RTObject_impl *comp)
void cleanupComponent(RTObject_impl *comp)
Unregister RT-Components.
Mutex mutex
Definition: Manager.h:2088
bool operator()(coil::Properties &prop)
Definition: Manager.h:1747
PortableServer::POA_var m_pPOA
The pointer to the POA.
Definition: Manager.h:1576
Guard template class.
Definition: Guard.h:41
Definition: Manager.h:1693
Terminator(Manager *manager)
Constructor.
Definition: Manager.h:2004
virtual const char * name()=0
Pure virtual function to get names of creation target ExecutionContext.
void shutdownORB()
ORB finalization.
ECFactoryManager m_ecfactory
ExecutionContext Manager.
Definition: Manager.h:1808
bool initTimer()
Timer initialization.
NamingServer management class.
Definition: NamingManager.h:353
std::string formatString(const char *naming_format, coil::Properties &prop)
Construct registration information when registering to Naming server.
OrbRunner * m_runner
The pointer to ORB helper class.
Definition: Manager.h:1959
bool registerFactory(coil::Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
Register RT-Component Factory.
void shutdownComponents()
NamingManager finalization.
bool operator()(ECFactoryBase *factory)
Definition: Manager.h:1791
static Manager * init(int argc, char **argv)
Initialize manager.
ModulePredicate(coil::Properties &prop)
Definition: Manager.h:1743
PortableServer::POAManager_var m_pPOAManager
The pointer to the POAManager.
Definition: Manager.h:1585
Terminator class.
Definition: Manager.h:1983
std::vector< coil::Properties > getLoadedModules()
Get a list of loaded modules.
ModuleInitProc m_initProc
User's initialization function's pointer.
Definition: Manager.h:1597
std::vector< coil::Properties > getLoadableModules()
Get a list of loadable modules.
void operator()(FactoryBase *f)
Definition: Manager.h:1822
RTObject_impl *(* RtcNewFunc)(Manager *manager)
Definition: rtm/Factory.h:33
virtual int svc(void)
ORB and manager's termination processing.
Definition: Manager.h:2068
RTObject_impl RtcBase
Definition: Manager.h:55
bool initORB()
CORBA ORB initialization.
static Manager & instance()
Get instance of the manager.
std::vector< coil::Properties > getFactoryProfiles()
Get profiles of factories.