174 static Manager* init(
int argc,
char** argv);
366 bool activateManager();
398 void runManager(
bool no_block =
false);
435 ReturnCode_t load(
const std::string& fname,
const std::string& initfunc);
456 void unload(
const char* fname);
492 std::vector<coil::Properties> getLoadedModules();
513 std::vector<coil::Properties> getLoadableModules();
565 std::vector<coil::Properties> getFactoryProfiles();
593 bool registerECFactory(
const char* name,
614 std::vector<std::string> getModulesFactories();
726 void cleanupComponents();
842 void deleteComponent(
const char* instance_name);
887 std::vector<RTObject_impl*> getComponents();
892 bool autoclean =
true);
898 bool autoclean =
true);
904 bool autoclean =
true);
910 bool autoclean =
true);
916 bool autoclean =
true);
950 CORBA::ORB_ptr theORB();
988 CORBA::ORB_ptr getORB();
1017 PortableServer::POA_ptr thePOA();
1018 #ifdef ORB_IS_OMNIORB 1019 PortableServer::POA_ptr theShortCutPOA();
1057 PortableServer::POA_ptr getPOA();
1058 #ifdef ORB_IS_OMNIORB 1059 PortableServer::POA_ptr getShortCutPOA();
1089 PortableServer::POAManager_ptr thePOAManager();
1129 PortableServer::POAManager_ptr getPOAManager();
1159 bool initLocalService();
1212 void initManager(
int argc,
char** argv);
1229 void shutdownManager();
1247 void shutdownOnNoRtcs();
1252 void initLogstreamFile();
1253 void initLogstreamPlugins();
1254 void initLogstreamOthers();
1295 void shutdownLogger();
1338 std::string createORBOptions();
1372 void createORBEndpointOption(std::string& opt,
coil::vstring& endpoint);
1445 void shutdownNaming();
1477 void shutdownComponents();
1527 bool procComponentArgs(
const char* comp_arg,
1570 bool procContextArgs(
const char* ec_args,
1619 bool initExecContext();
1636 bool initComposite();
1659 bool initFactories();
1661 void initCpuAffinity();
1677 void initPreConnection();
1692 void initPreActivation();
1707 void initPreCreation();
1720 void invokeInitProc();
1765 PortServiceList_var getPortsOnNameServers(std::string nsname, std::string kind);
1781 void connectDataPorts(PortService_ptr port, PortServiceList_var& target_ports);
1797 void connectServicePorts(PortService_ptr port, PortServiceList_var& target_ports);
1833 bool initManagerServant();
1919 std::string formatString(
const char* naming_format,
1930 void setEndpointProperty(CORBA::Object_ptr objref);
1939 void endpointPropertySwitch(
const std::string& ipver,
1940 bool& ip, std::vector<int>& ip_list);
1988 #ifdef ORB_IS_OMNIORB 1989 PortableServer::POA_var m_pShortCutPOA;
2111 : m_vendor(
""), m_category(
""), m_impleid(imple_id), m_version(
"")
2115 : m_vendor(prop[
"vendor"]),
2116 m_category(prop[
"category"]),
2117 m_impleid(prop[
"implementation_id"]),
2118 m_version(prop[
"version"])
2122 : m_vendor(factory->profile()[
"vendor"]),
2123 m_category(factory->profile()[
"category"]),
2124 m_impleid(factory->profile()[
"implementation_id"]),
2125 m_version(factory->profile()[
"version"])
2131 if (m_impleid.empty())
return false;
2135 if (m_impleid != prop[
"implementation_id"])
2137 if (!m_vendor.empty() && m_vendor != prop[
"vendor"])
2139 if (!m_category.empty() && m_category != prop[
"category"])
2141 if (!m_version.empty() && m_version != prop[
"version"])
2147 std::string m_vendor;
2148 std::string m_category;
2149 std::string m_impleid;
2150 std::string m_version;
2163 if (m_prop[
"implementation_id"] != prop[
"implementation_id"])
2167 if (!m_prop[
"vendor"].empty() &&
2168 m_prop[
"vendor"] != prop[
"vendor"]) {
return false; }
2169 if (!m_prop[
"category"].empty() &&
2170 m_prop[
"category"] != prop[
"category"]) {
return false; }
2171 if (!m_prop[
"version"].empty() &&
2172 m_prop[
"version"] != prop[
"version"]) {
return false; }
2204 : m_name(factory->name()) {};
2207 return m_name == factory->
name();
2231 std::vector<ExecutionContextBase*>
m_ecs;
2364 CORBA::ORB_ptr m_pORB;
2419 : m_manager(manager), m_waittime(waittime) {};
2486 Manager::instance().shutdown();
2533 #endif // RTC_MANAGER_H RTObject_impl *(* RtcNewFunc)(Manager *manager)
Definition: Factory.h:33
static Mutex mutex
唯一の Manager へのポインタに対する mutex
Definition: Manager.h:1966
LogStreamBuf & getLogStreamBuf()
ログバッファの取得
Definition: Manager.h:268
void(* ModuleInitProc)(Manager *manager)
Definition: Manager.h:59
Logger rtclog
ロガーストリーム
Definition: Manager.h:2068
std::vector< std::string > modlist
Definition: Manager.h:2240
virtual coil::Properties & profile()
コンポーネントプロファイルの取得
virtual int open(void *args)
ORB 活性化処理
Definition: Manager.h:2308
Term m_terminate
マネージャ終了処理用同期フラグ
Definition: Manager.h:2520
Definition: Manager.h:2200
unsigned int sleep(unsigned int seconds)
指定された秒間は処理を休止する
Definition: Time.h:54
log_streambuf テンプレートクラス
Definition: Logger.h:54
Manager * m_manager
Definition: Manager.h:2489
FactoryManager m_factory
ComponentManager.
Definition: Manager.h:2194
Mutex クラス
Definition: Mutex.h:40
RT component logger class.
void terminate()
終了処理
Definition: Manager.h:2434
Definition: Manager.h:2234
RTM::ManagerServant * m_mgrservant
ManagerServant へのポインタ
Definition: Manager.h:1842
RTC::ReturnCode_t activate(RTC::RTObject_ptr rtc, RTC::UniqueId ec_id=0)
RTCを指定した実行コンテキストでアクティベーションする
ManagerのCORBA化クラス
Definition: ManagerServant.h:63
FactoryPredicate(const char *imple_id)
Definition: Manager.h:2110
coil::TimeValue m_waittime
Definition: Manager.h:2490
ExecutionContext用基底クラス
Definition: ExecutionContextBase.h:369
std::string & getLogLevel()
コンフィグレーションのログレベルの取得
Definition: Manager.h:287
ModuleActionListener クラス
Definition: ManagerActionListener.h:191
RTコンポーネントクラス
Definition: RTObject.h:89
Definition: Manager.h:2083
Manager クラス
Definition: Manager.h:81
int waiting
Definition: Manager.h:2504
ECFactoryPredicate(const char *name)
Definition: Manager.h:2202
coil::Timer * m_timer
Timer Object.
Definition: Manager.h:2047
coil::Guard< coil::Mutex > Guard
Definition: LocalServiceAdmin.h:36
const std::string & getProperty(const std::string &key) const
指定されたキーを持つプロパティを、プロパティリストから探す
NamingManager * m_namingManager
NamingManager へのポインタ
Definition: Manager.h:2038
std::string m_name
Definition: Manager.h:2089
RtcLifecycleActionListener クラス
Definition: ManagerActionListener.h:353
TimeValue クラス
Definition: TimeValue.h:40
LocalServiceActionListener クラス
Definition: ManagerActionListener.h:714
ManagerActionListeners クラス
Definition: ManagerActionListener.h:965
OrbRunner(CORBA::ORB_ptr orb)
コンストラクタ
Definition: Manager.h:2282
virtual int svc(void)
ORB 開始処理
Definition: Manager.h:2331
std::vector< std::string > vstring
Definition: stringutil.h:45
coil::Properties & getConfig()
マネージャコンフィギュレーションの取得
Definition: Manager.h:306
static Manager * manager
唯一の Manager へのポインタ
Definition: Manager.h:1957
ECFactoryBase 抽象クラス
Definition: ECFactory.h:115
std::vector< std::filebuf * > m_logfiles
ログ出力ファイル
Definition: Manager.h:2077
Definition: Manager.h:2502
coil::Properties Properties
Definition: RTC.h:83
std::vector< ExecutionContextBase * > m_ecs
ExecutionContext リスト
Definition: Manager.h:2231
std::string m_name
Definition: Manager.h:2209
Definition: Manager.h:2522
LogStreamBuf m_logStreamBuf
ロガーバッファ
Definition: Manager.h:2059
Finalized m_finalized
Definition: Manager.h:2527
ObjectManager< const coil::Properties, FactoryBase, FactoryPredicate > FactoryManager
コンポーネントファクトリ
Definition: Manager.h:2185
OrbRunner クラス
Definition: Manager.h:2265
coil::Properties m_config
Manager の configuration を格納する Properties.
Definition: Manager.h:2020
CORBA::ORB_var m_pORB
ORB へのポインタ
Definition: Manager.h:1978
ObjectManager< const char *, ECFactoryBase, ECFactoryPredicate > ECFactoryManager
Definition: Manager.h:2213
Logger クラス
Definition: SystemLogger.h:99
FactoryPredicate(const coil::Properties &prop)
Definition: Manager.h:2114
LocalServiceBase *(* ECNewFunc)()
Definition: LocalServiceAdmin.h:34
Terminator(Manager *manager, double waittime=0)
コンストラクタ
Definition: Manager.h:2418
モジュールマネージャクラス
Definition: ModuleManager.h:74
ECFactoryPredicate(ECFactoryBase *factory)
Definition: Manager.h:2203
ModuleManager * m_module
ModuleManager へのポインタ
Definition: Manager.h:2029
virtual int close(unsigned long flags)
ORB 終了処理
Definition: Manager.h:2359
virtual int open(void *args)
終了処理活性化処理
Definition: Manager.h:2460
Definition: Manager.h:2153
Terminator * m_terminator
ORB 終了用ヘルパークラスへのポインタ
Definition: Manager.h:2500
Timerクラス
Definition: Timer.h:53
プロパティセットを表現するクラス
Definition: Properties.h:101
ExecutionContext Factory class.
std::vector< RTObject_impl * > comps
Definition: Manager.h:2525
FactoryBase 基底クラス
Definition: Factory.h:118
Task クラス
Definition: Task.h:39
component action listener class
FactoryPredicate(FactoryBase *factory)
Definition: Manager.h:2121
ObjectManager< std::string, RTObject_impl, InstanceName > ComponentManager
Definition: Manager.h:2092
void(* RtcDeleteFunc)(RTObject_impl *rtc)
Definition: Factory.h:34
ComponentManager m_compManager
コンポーネントマネージャ
Definition: Manager.h:2101
Mutex mutex
Definition: Manager.h:2524
NamingActionListener クラス
Definition: ManagerActionListener.h:556
bool operator()(FactoryBase *factory)
Definition: Manager.h:2128
Mutex mutex
Definition: Manager.h:2505
void(* ECDeleteFunc)(LocalServiceBase *ls)
Definition: LocalServiceAdmin.h:35
bool operator()(coil::Properties &prop)
Definition: Manager.h:2161
PortableServer::POA_var m_pPOA
POA へのポインタ
Definition: Manager.h:1987
Guard テンプレートクラス
Definition: Guard.h:41
Definition: Manager.h:2107
virtual const char * name()=0
生成対象ExecutionContext名称取得用純粋仮想関数
::RTM::ManagerActionListeners m_listeners
Definition: Manager.h:2529
Definition: ManagerActionListener.h:60
ECFactoryManager m_ecfactory
ExecutionContext マネージャ
Definition: Manager.h:2222
NamingServer 管理クラス
Definition: NamingManager.h:627
OrbRunner * m_runner
ORB ヘルパークラスへのポインタ
Definition: Manager.h:2373
bool operator()(ECFactoryBase *factory)
Definition: Manager.h:2205
RT-Middleware.
Definition: ListenerHolder.h:28
ModulePredicate(coil::Properties &prop)
Definition: Manager.h:2157
PortableServer::POAManager_var m_pPOAManager
POAManager へのポインタ
Definition: Manager.h:1999
Terminator クラス
Definition: Manager.h:2397
ModuleInitProc m_initProc
ユーザ初期化関数へのポインタ
Definition: Manager.h:2011
void operator()(FactoryBase *f)
Definition: Manager.h:2236
virtual int svc(void)
ORB,マネージャ終了処理
Definition: Manager.h:2483
RTObject_impl RtcBase
Definition: Manager.h:56
Common Object Interface Layer.
Definition: Affinity.h:28