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
唯一の Manager へのポインタに対する mutex
Definition: Manager.h:1555
PortableServer::POAManager_ptr getPOAManager()
Manager が持つ POAManager を取得する
LogStreamBuf & getLogStreamBuf()
ログバッファの取得
Definition: Manager.h:267
ExecutionContextBase * createContext(const char *ec_args)
Contextを生成する
std::string createORBOptions()
ORB のコマンドラインオプション作成
Logger rtclog
ロガーストリーム
Definition: Manager.h:1654
bool procContextArgs(const char *ec_args, std::string &ec_id, coil::Properties &ec_conf)
引数文字列からExecutionContext名・プロパティを抽出する
std::vector< std::string > modlist
Definition: Manager.h:1826
ExecutionContextBase *(* ECNewFunc)()
Definition: ECFactory.h:29
void deleteComponent(RTObject_impl *comp)
Manager に登録されているRTコンポーネントを削除する
virtual coil::Properties & profile()
コンポーネントプロファイルの取得
virtual int open(void *args)
ORB 活性化処理
Definition: Manager.h:1894
Term m_terminate
マネージャ終了処理用同期フラグ
Definition: Manager.h:2103
Definition: Manager.h:1786
PortableServer::POA_ptr getPOA()
Manager が持つ RootPOA のポインタを取得する
log_streambuf テンプレートクラス
Definition: Logger.h:54
virtual void activate()
スレッドを生成する
Manager * m_manager
Definition: Manager.h:2073
FactoryManager m_factory
ComponentManager.
Definition: Manager.h:1780
Mutex クラス
Definition: Mutex.h:40
void runManager(bool no_block=false)
Managerの実行
RT component logger class.
void terminate()
終了処理
Definition: Manager.h:2019
bool initFactories()
ファクトリの初期化
void cleanupComponents()
RTコンポーネントの削除する
Definition: Manager.h:1820
RTM::ManagerServant * m_mgrservant
ManagerServant へのポインタ
Definition: Manager.h:1450
bool registerComponent(RTObject_impl *comp)
RTコンポーネントを直接 Manager に登録する
RTObject_impl * getComponent(const char *instance_name)
Manager に登録されているRTコンポーネントを検索する
ManagerのCORBA化クラス
Definition: ManagerServant.h:63
FactoryPredicate(const char *imple_id)
Definition: Manager.h:1696
void shutdown()
マネージャ・シャットダウン
ExecutionContext用基底クラス
Definition: ExecutionContextBase.h:51
std::string & getLogLevel()
コンフィグレーションのログレベルの取得
Definition: Manager.h:286
RTコンポーネントクラス
Definition: RTObject.h:89
Definition: Manager.h:1669
void terminate()
マネージャ終了処理
void load(const char *fname, const char *initfunc)
[CORBA interface] モジュールのロード
Manager クラス
Definition: Manager.h:80
int waiting
Definition: Manager.h:2087
bool initExecContext()
ExecutionContextManager の初期化
ECFactoryPredicate(const char *name)
Definition: Manager.h:1788
CORBA::ORB_ptr getORB()
ORB のポインタを取得する
bool initComposite()
PeriodicECSharedComposite の初期化
coil::Timer * m_timer
Timer Object.
Definition: Manager.h:1633
const std::string & getProperty(const std::string &key) const
指定されたキーを持つプロパティを、プロパティリストから探す
NamingManager * m_namingManager
NamingManager へのポインタ
Definition: Manager.h:1624
std::string m_name
Definition: Manager.h:1675
OrbRunner(CORBA::ORB_ptr orb)
コンストラクタ
Definition: Manager.h:1868
virtual int svc(void)
ORB 開始処理
Definition: Manager.h:1917
std::vector< std::string > vstring
Definition: stringutil.h:37
coil::Properties & getConfig()
マネージャコンフィギュレーションの取得
Definition: Manager.h:305
static Manager * manager
唯一の Manager へのポインタ
Definition: Manager.h:1546
void configureComponent(RTObject_impl *comp, const coil::Properties &prop)
RTコンポーネントのコンフィギュレーション処理
void(* ModuleInitProc)(Manager *manager)
Definition: Manager.h:58
ECFactoryBase 抽象クラス
Definition: ECFactory.h:115
std::vector< std::filebuf * > m_logfiles
ログ出力ファイル
Definition: Manager.h:1663
Definition: Manager.h:2085
void notifyFinalized(RTObject_impl *comp)
RTコンポーネントの削除する
coil::Properties Properties
Definition: RTC.h:83
std::vector< ExecutionContextBase * > m_ecs
ExecutionContext リスト
Definition: Manager.h:1817
void shutdownNaming()
NamingManager の終了処理
std::string m_name
Definition: Manager.h:1795
Definition: Manager.h:2105
LogStreamBuf m_logStreamBuf
ロガーバッファ
Definition: Manager.h:1645
Finalized m_finalized
Definition: Manager.h:2110
void shutdownLogger()
System Logger の終了処理
ObjectManager< const coil::Properties, FactoryBase, FactoryPredicate > FactoryManager
コンポーネントファクトリ
Definition: Manager.h:1771
OrbRunner クラス
Definition: Manager.h:1851
void initManager(int argc, char **argv)
Manager の内部初期化処理
coil::Properties m_config
Manager の configuration を格納する Properties.
Definition: Manager.h:1606
CORBA::ORB_var m_pORB
ORB へのポインタ
Definition: Manager.h:1567
std::vector< RTObject_impl * > getComponents()
Manager に登録されている全RTコンポーネントを取得する
bool procComponentArgs(const char *comp_arg, coil::Properties &comp_id, coil::Properties &comp_conf)
引数文字列からコンポーネント型名・プロパティを抽出する
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)
エンドポイントの生成
bool unregisterComponent(RTObject_impl *comp)
RTコンポーネントの登録を解除する
Manager()
Protected コンストラクタ
std::vector< std::string > getModulesFactories()
ファクトリ全リストを取得する
Logger クラス
Definition: SystemLogger.h:99
void join()
マネージャ終了処理の待ち合わせ
void shutdownManager()
Manager の終了処理
FactoryPredicate(const coil::Properties &prop)
Definition: Manager.h:1700
bool activateManager()
Managerのアクティブ化
bool registerECFactory(const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
ExecutionContext用ファクトリを登録する
モジュールマネージャクラス
Definition: ModuleManager.h:74
ECFactoryPredicate(ECFactoryBase *factory)
Definition: Manager.h:1789
ModuleManager * m_module
ModuleManager へのポインタ
Definition: Manager.h:1615
virtual int close(unsigned long flags)
ORB 終了処理
Definition: Manager.h:1945
virtual int open(void *args)
終了処理活性化処理
Definition: Manager.h:2045
Definition: Manager.h:1739
Terminator * m_terminator
ORB 終了用ヘルパークラスへのポインタ
Definition: Manager.h:2083
RTObject_impl * createComponent(const char *comp_args)
RTコンポーネントを生成する
void unloadAll()
全モジュールのアンロード
Timerクラス
Definition: Timer.h:53
bool mergeProperty(coil::Properties &prop, const char *file_name)
プロパティ情報のマージ
プロパティセットを表現するクラス
Definition: Properties.h:101
void unload(const char *fname)
モジュールのアンロード
void createORBEndpointOption(std::string &opt, coil::vstring &endpoint)
ORB の Endpoint のコマンドラインオプション作成
ExecutionContext Factory class.
std::vector< RTObject_impl * > comps
Definition: Manager.h:2108
void setModuleInitProc(ModuleInitProc proc)
初期化プロシージャのセット
bool initManagerServant()
ManagerServant の初期化
FactoryBase 基底クラス
Definition: rtm/Factory.h:118
void shutdownOnNoRtcs()
Manager の終了処理
bool initLogger()
System logger の初期化
bool initNaming()
NamingManager の初期化
Task クラス
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
コンポーネントマネージャ
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)
RTコンポーネントの登録解除
Mutex mutex
Definition: Manager.h:2088
bool operator()(coil::Properties &prop)
Definition: Manager.h:1747
PortableServer::POA_var m_pPOA
POA へのポインタ
Definition: Manager.h:1576
Guard テンプレートクラス
Definition: Guard.h:41
Definition: Manager.h:1693
Terminator(Manager *manager)
コンストラクタ
Definition: Manager.h:2004
virtual const char * name()=0
生成対象ExecutionContext名称取得用純粋仮想関数
void shutdownORB()
ORB の終了処理
ECFactoryManager m_ecfactory
ExecutionContext マネージャ
Definition: Manager.h:1808
bool initTimer()
Timer の初期化
NamingServer 管理クラス
Definition: NamingManager.h:353
std::string formatString(const char *naming_format, coil::Properties &prop)
NamingServer に登録する際の登録情報を組み立てる
OrbRunner * m_runner
ORB ヘルパークラスへのポインタ
Definition: Manager.h:1959
bool registerFactory(coil::Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
RTコンポーネント用ファクトリを登録する
void shutdownComponents()
NamingManager に登録されている RTコンポーネントの終了処理
bool operator()(ECFactoryBase *factory)
Definition: Manager.h:1791
static Manager * init(int argc, char **argv)
マネージャの初期化
RT-Middleware.
Definition: Manager.h:38
ModulePredicate(coil::Properties &prop)
Definition: Manager.h:1743
PortableServer::POAManager_var m_pPOAManager
POAManager へのポインタ
Definition: Manager.h:1585
Terminator クラス
Definition: Manager.h:1983
std::vector< coil::Properties > getLoadedModules()
ロード済みのモジュールリストを取得する
ModuleInitProc m_initProc
ユーザ初期化関数へのポインタ
Definition: Manager.h:1597
std::vector< coil::Properties > getLoadableModules()
ロード可能なモジュールリストを取得する
void operator()(FactoryBase *f)
Definition: Manager.h:1822
RTObject_impl *(* RtcNewFunc)(Manager *manager)
Definition: rtm/Factory.h:33
virtual int svc(void)
ORB,マネージャ終了処理
Definition: Manager.h:2068
RTObject_impl RtcBase
Definition: Manager.h:55
bool initORB()
CORBA ORB の初期化処理
Common Object Interface Layer.
Definition: Allocator.h:27
static Manager & instance()
マネージャのインスタンスの取得
std::vector< coil::Properties > getFactoryProfiles()
ファクトリのプロファイルを取得