OpenRTM  1.0.0
構成 | Public メソッド | Static Public メソッド | Protected 型 | Protected メソッド | Protected 変数 | Static Protected 変数
クラス RTC::Manager

Manager クラス [詳細]

#include <Manager.h>

すべてのメンバ一覧

構成

struct  ECFactoryPredicate
class  FactoryPredicate
struct  Finalized
struct  InstanceName
struct  ModuleFactories
class  ModulePredicate
class  OrbRunner
 OrbRunner クラス [詳細]
struct  Term
class  Terminator
 Terminator クラス [詳細]

Public メソッド

void terminate ()
 マネージャ終了処理
void shutdown ()
 マネージャ・シャットダウン
void join ()
 マネージャ終了処理の待ち合わせ
LogStreamBufgetLogStreamBuf ()
 ログバッファの取得
std::string & getLogLevel ()
 コンフィグレーションのログレベルの取得
coil::PropertiesgetConfig ()
 マネージャコンフィギュレーションの取得
void setModuleInitProc (ModuleInitProc proc)
 初期化プロシージャのセット
bool activateManager ()
 Managerのアクティブ化
void runManager (bool no_block=false)
 Managerの実行
void load (const char *fname, const char *initfunc)
 [CORBA interface] モジュールのロード
void unload (const char *fname)
 モジュールのアンロード
void unloadAll ()
 全モジュールのアンロード
std::vector< coil::PropertiesgetLoadedModules ()
 ロード済みのモジュールリストを取得する
std::vector< coil::PropertiesgetLoadableModules ()
 ロード可能なモジュールリストを取得する
bool registerFactory (coil::Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
 RTコンポーネント用ファクトリを登録する
std::vector< coil::PropertiesgetFactoryProfiles ()
 ファクトリのプロファイルを取得
bool registerECFactory (const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
 ExecutionContext用ファクトリを登録する
std::vector< std::string > getModulesFactories ()
 ファクトリ全リストを取得する
RTObject_implcreateComponent (const char *comp_args)
 RTコンポーネントを生成する
ExecutionContextBasecreateContext (const char *ec_args)
 Contextを生成する
void cleanupComponent (RTObject_impl *comp)
 RTコンポーネントの登録解除
void cleanupComponents ()
 RTコンポーネントの削除する
void notifyFinalized (RTObject_impl *comp)
 RTコンポーネントの削除する
bool registerComponent (RTObject_impl *comp)
 RTコンポーネントを直接 Manager に登録する
bool unregisterComponent (RTObject_impl *comp)
 RTコンポーネントの登録を解除する
void deleteComponent (RTObject_impl *comp)
 Manager に登録されているRTコンポーネントを削除する
void deleteComponent (const char *instance_name)
 Manager に登録されているRTコンポーネントを削除する
RTObject_implgetComponent (const char *instance_name)
 Manager に登録されているRTコンポーネントを検索する
std::vector< RTObject_impl * > getComponents ()
 Manager に登録されている全RTコンポーネントを取得する
CORBA::ORB_ptr getORB ()
 ORB のポインタを取得する
PortableServer::POA_ptr getPOA ()
 Manager が持つ RootPOA のポインタを取得する
PortableServer::POAManager_ptr getPOAManager ()
 Manager が持つ POAManager を取得する

Static Public メソッド

static Managerinit (int argc, char **argv)
 マネージャの初期化
static Managerinstance ()
 マネージャのインスタンスの取得

Protected 型

typedef ObjectManager
< std::string, RTObject_impl,
InstanceName
ComponentManager
typedef ObjectManager< const
coil::Properties, FactoryBase,
FactoryPredicate
FactoryManager
 コンポーネントファクトリ
typedef ObjectManager< const
char *, ECFactoryBase,
ECFactoryPredicate
ECFactoryManager

Protected メソッド

 Manager ()
 Manager (const Manager &manager)
 Protected コピーコンストラクタ
void initManager (int argc, char **argv)
 Manager の内部初期化処理
void shutdownManager ()
 Manager の終了処理
void shutdownOnNoRtcs ()
 Manager の終了処理
bool initLogger ()
 System logger の初期化
void shutdownLogger ()
 System Logger の終了処理
bool initORB ()
 CORBA ORB の初期化処理
std::string createORBOptions ()
 ORB のコマンドラインオプション作成
void createORBEndpoints (coil::vstring &endpoints)
 エンドポイントの生成
void createORBEndpointOption (std::string &opt, coil::vstring &endpoint)
 ORB の Endpoint のコマンドラインオプション作成
void shutdownORB ()
 ORB の終了処理
bool initNaming ()
 NamingManager の初期化
void shutdownNaming ()
 NamingManager の終了処理
void shutdownComponents ()
 NamingManager に登録されている RTコンポーネントの終了処理
bool procComponentArgs (const char *comp_arg, coil::Properties &comp_id, coil::Properties &comp_conf)
 引数文字列からコンポーネント型名・プロパティを抽出する
bool procContextArgs (const char *ec_args, std::string &ec_id, coil::Properties &ec_conf)
 引数文字列からExecutionContext名・プロパティを抽出する
void configureComponent (RTObject_impl *comp, const coil::Properties &prop)
 RTコンポーネントのコンフィギュレーション処理
bool initExecContext ()
 ExecutionContextManager の初期化
bool initComposite ()
 PeriodicECSharedComposite の初期化
bool initFactories ()
 ファクトリの初期化
bool initTimer ()
 Timer の初期化
bool initManagerServant ()
 ManagerServant の初期化
bool mergeProperty (coil::Properties &prop, const char *file_name)
 プロパティ情報のマージ
std::string formatString (const char *naming_format, coil::Properties &prop)
 NamingServer に登録する際の登録情報を組み立てる

Protected 変数

RTM::ManagerServantm_mgrservant
 ManagerServant へのポインタ
CORBA::ORB_var m_pORB
 ORB へのポインタ
PortableServer::POA_var m_pPOA
 POA へのポインタ
PortableServer::POAManager_var m_pPOAManager
 POAManager へのポインタ
ModuleInitProc m_initProc
 ユーザ初期化関数へのポインタ
coil::Properties m_config
 Manager の configuration を格納する Properties.
ModuleManagerm_module
 ModuleManager へのポインタ
NamingManagerm_namingManager
 NamingManager へのポインタ
coil::Timerm_timer
 Timer Object.
LogStreamBuf m_logStreamBuf
 ロガーバッファ
Logger rtclog
 ロガーストリーム
std::vector< std::filebuf * > m_logfiles
 ログ出力ファイル
ComponentManager m_compManager
 コンポーネントマネージャ
FactoryManager m_factory
 ComponentManager.
ECFactoryManager m_ecfactory
 ExecutionContext マネージャ
std::vector
< ExecutionContextBase * > 
m_ecs
 ExecutionContext リスト
OrbRunnerm_runner
 ORB ヘルパークラスへのポインタ
Terminatorm_terminator
 ORB 終了用ヘルパークラスへのポインタ
Term m_terminate
 マネージャ終了処理用同期フラグ
Finalized m_finalized

Static Protected 変数

static Managermanager
 唯一の Manager へのポインタ
static Mutex mutex
 唯一の Manager へのポインタに対する mutex

説明

Manager クラス

コンポーネントなど各種の情報管理を行うマネージャクラス。

から:
0.2.0

型定義

コンポーネントファクトリ


コンストラクタとデストラクタ

RTC::Manager::Manager ( ) [protected]

Protected コンストラクタ

RTC::Manager::Manager ( const Manager manager) [protected]

Protected コピーコンストラクタ

Protected コピーコンストラクタ

引数:
managerコピー元マネージャオブジェクト

関数

Managerのアクティブ化

このオペレーションは以下の処理を行う

  • CORBA POAManager のアクティブ化
  • マネージャCORBAオブジェクトのアクティブ化
  • Manager のオブジェクト参照の登録

このオペレーションは、マネージャの初期化後、runManager() の前に呼ぶ必要がある。

戻り値:
処理結果(アクティブ化成功:true、失敗:false)

RTコンポーネントの登録解除

指定したRTコンポーネントのインスタンスをネーミングサービスから 登録解除する。

引数:
comp登録解除対象RTコンポーネント

RTコンポーネントの削除する

notifyFinalized()によって登録されたRTコンポーネントを削除する。

void RTC::Manager::configureComponent ( RTObject_impl comp,
const coil::Properties prop 
) [protected]

RTコンポーネントのコンフィギュレーション処理

RTコンポーネントの型およびインスタンス毎に記載されたプロパティファイルの 情報を読み込み、コンポーネントに設定する。 また、各コンポーネントの NamingService 登録時の名称を取得し、設定する。

引数:
compコンフィギュレーション対象RTコンポーネント
RTObject_impl* RTC::Manager::createComponent ( const char *  comp_args)

RTコンポーネントを生成する

指定したRTコンポーネントのインスタンスを登録されたFactory経由 で生成する。

生成されるコンポーネントの各種プロファイルは以下の優先順位で 設定される。

  1. createComponent() の引数で与えられたプロファイル
  2. rtc.confで指定された外部ファイルで与えられたプロファイル --# category.instance_name.config_file --# category.component_type.config_file
  3. コードに埋め込まれたプロファイル

インスタンス生成が成功した場合、併せて以下の処理を実行する。

  • 外部ファイルで設定したコンフィギュレーション情報の読み込み,設定
  • ExecutionContextのバインド,動作開始
  • ネーミングサービスへの登録
引数:
comp_args生成対象RTコンポーネントIDおよびコンフィギュレー ション引数。フォーマットは大きく分けて "id" と "configuration" 部分が存在する。

comp_args: [id]?[configuration] id は必須、configurationはオプション id: RTC:[vendor]:[category]:[implementation_id]:[version] RTC は固定かつ必須 vendor, category, version はオプション implementation_id は必須 オプションを省略する場合でも ":" は省略不可 configuration: [key0]=[value0]&[key1]=[value1]&[key2]=[value2]..... RTCが持つPropertiesの値をすべて上書きすることができる。 key=value の形式で記述し、"&" で区切る

例えば、 RTC:jp.go.aist:example:ConfigSample:1.0?conf.default.str_param0=munya RTC::example:ConfigSample:?conf.default.int_param0=100

戻り値:
生成したRTコンポーネントのインスタンス

Contextを生成する

戻り値:
生成したConetextのインスタンス
void RTC::Manager::createORBEndpointOption ( std::string &  opt,
coil::vstring endpoint 
) [protected]

ORB の Endpoint のコマンドラインオプション作成

引数:
optコマンドラインオプション
endpointエンドポイントリスト
void RTC::Manager::createORBEndpoints ( coil::vstring endpoints) [protected]

エンドポイントの生成

コンフィグレーションからエンドポイントを生成する。

引数:
endpointsエンドポイントリスト
std::string RTC::Manager::createORBOptions ( ) [protected]

ORB のコマンドラインオプション作成

コンフィギュレーション情報に設定された内容から ORB の起動時オプションを作成する。

戻り値:
ORB 起動時オプション

Manager に登録されているRTコンポーネントを削除する

マネージャに登録されているRTコンポーネントを削除する。 指定されたRTコンポーネントをネーミングサービスから削除し、 RTコンポーネント自体を終了させるとともに、インスタンスを解放する。

引数:
comp削除対象RTコンポーネントのインスタンス
void RTC::Manager::deleteComponent ( const char *  instance_name)

Manager に登録されているRTコンポーネントを削除する

マネージャに登録されているRTコンポーネントを削除する。 指定されたRTコンポーネントをネーミングサービスから削除し、 RTコンポーネント自体を終了させるとともに、インスタンスを解放する。

引数:
instance_name削除対象RTコンポーネントのインスタンス名
std::string RTC::Manager::formatString ( const char *  naming_format,
coil::Properties prop 
) [protected]

NamingServer に登録する際の登録情報を組み立てる

指定された書式とプロパティ情報を基に NameServer に登録する際の情報を 組み立てる。 各書式指定用文字の意味は以下のとおり

  • % : コンテキストの区切り
  • n : インスタンス名称
  • t : 型名
  • m : 型名
  • v : バージョン
  • V : ベンダー
  • c : カテゴリ
  • h : ホスト名
  • M : マネージャ名
  • p : プロセスID
引数:
naming_formatNamingService 登録情報書式指定
prop使用するプロパティ情報
戻り値:
指定書式変換結果
RTObject_impl* RTC::Manager::getComponent ( const char *  instance_name)

Manager に登録されているRTコンポーネントを検索する

Manager に登録されているRTコンポーネントを指定した名称で検索し、 合致するコンポーネントを取得する。

引数:
instance_name検索対象RTコンポーネントの名称
戻り値:
名称が一致するRTコンポーネントのインスタンス

Manager に登録されている全RTコンポーネントを取得する

Manager に登録されているRTコンポーネントの全インスタンスを取得する。

戻り値:
全RTコンポーネントのインスタンスリスト

マネージャコンフィギュレーションの取得

マネージャに設定したコンフィギュレーションを取得する。

戻り値:
マネージャのコンフィギュレーション

参照先 m_config.

ファクトリのプロファイルを取得

ファクトリのプロファイルを取得する。

戻り値:
ファクトリのプロファイル

ロード可能なモジュールリストを取得する

ロード可能モジュールのリストを取得する。 (現在はModuleManager側で未実装)

戻り値:
ロード可能モジュール リスト

ロード済みのモジュールリストを取得する

現在マネージャにロードされているモジュールのリストを取得する。

戻り値:
ロード済みモジュールリスト
std::string& RTC::Manager::getLogLevel ( ) [inline]

コンフィグレーションのログレベルの取得

コンフィグレーションのログレベルを取得する。

戻り値:
コンフィギュレーションのログレベル

参照先 m_config.

ログバッファの取得

マネージャに設定したログバッファを取得する。

戻り値:
マネージャに設定したログバッファ

参照先 m_logStreamBuf.

std::vector<std::string> RTC::Manager::getModulesFactories ( )

ファクトリ全リストを取得する

登録されているファクトリの全リストを取得する。

戻り値:
登録ファクトリ リスト
CORBA::ORB_ptr RTC::Manager::getORB ( )

ORB のポインタを取得する

Manager に設定された ORB のポインタを取得する。

戻り値:
ORB オブジェクト

参照元 CORBA_SeqUtil::refToVstring().

PortableServer::POA_ptr RTC::Manager::getPOA ( )

Manager が持つ RootPOA のポインタを取得する

Manager に設定された RootPOA へのポインタを取得する。

戻り値:
RootPOAオブジェクト
PortableServer::POAManager_ptr RTC::Manager::getPOAManager ( )

Manager が持つ POAManager を取得する

Manager に設定された POAMAnager を取得する。

戻り値:
POAマネージャ
static Manager* RTC::Manager::init ( int  argc,
char **  argv 
) [static]

マネージャの初期化

マネージャを初期化する static メンバ関数。 マネージャをコマンドライン引数を与えて初期化する。 マネージャを使用する場合は、必ずこの初期化メンバ関数 init() を 呼ばなければならない。 マネージャのインスタンスを取得する方法として、init(), instance() の 2つの static メンバ関数が用意されているが、初期化はinit()でしか 行われないため、Manager の生存期間の一番最初にはinit()を呼ぶ必要がある。

※マネージャの初期化処理

  • initManager: 引数処理、configファイルの読み込み、サブシステム初期化
  • initLogger: Logger初期化
  • initORB: ORB 初期化
  • initNaming: NamingService 初期化
  • initExecutionContext: ExecutionContext factory 初期化
  • initTimer: Timer 初期化
引数:
argcコマンドライン引数の数
argvコマンドライン引数
戻り値:
Manager の唯一のインスタンスの参照
bool RTC::Manager::initComposite ( ) [protected]

PeriodicECSharedComposite の初期化

戻り値:
PeriodicECSharedComposite 初期化処理実行結果 (初期化成功:true、初期化失敗:false)
bool RTC::Manager::initExecContext ( ) [protected]

ExecutionContextManager の初期化

使用する各 ExecutionContext の初期化処理を実行し、各 ExecutionContext 生成用 Factory を ExecutionContextManager に登録する。

戻り値:
ExecutionContextManager 初期化処理実行結果 (初期化成功:true、初期化失敗:false)
bool RTC::Manager::initFactories ( ) [protected]

ファクトリの初期化

バッファ、スレッド、パブリッシャ、プロバイダ、コンシューマの ファクトリを初期化する。

戻り値:
ファクトリ初期化処理実行結果 (初期化成功:true、初期化失敗:false)
bool RTC::Manager::initLogger ( ) [protected]

System logger の初期化

System logger の初期化を実行する。 コンフィギュレーションファイルに設定された情報に基づき、 ロガーの初期化,設定を実行する。

戻り値:
初期化実行結果(初期化成功:true、初期化失敗:false)
void RTC::Manager::initManager ( int  argc,
char **  argv 
) [protected]

Manager の内部初期化処理

Manager の内部初期化処理を実行する。

  • Manager コンフィギュレーションの設定
  • ログ出力ファイルの設定
  • 終了処理用スレッドの生成
  • タイマ用スレッドの生成(タイマ使用時)
引数:
argcコマンドライン引数の数
argvコマンドライン引数
bool RTC::Manager::initManagerServant ( ) [protected]

ManagerServant の初期化

戻り値:
Timer 初期化処理実行結果(初期化成功:true、初期化失敗:false)
bool RTC::Manager::initNaming ( ) [protected]

NamingManager の初期化

NamingManager の初期化処理を実行する。 ただし、NamingManager を使用しないようにプロパティ情報に設定されている 場合には何もしない。 NamingManager を使用する場合、プロパティ情報に設定されている デフォルト NamingServer を登録する。 また、定期的に情報を更新するように設定されている場合には、指定された周期 で自動更新を行うためのタイマを起動するとともに、更新用メソッドをタイマに 登録する。

戻り値:
初期化処理結果(初期化成功:true、初期化失敗:false)
bool RTC::Manager::initORB ( ) [protected]

CORBA ORB の初期化処理

引数により与えられた設定を元にORBを初期化する。

戻り値:
ORB 初期化処理結果(初期化成功:true、初期化失敗:false)
bool RTC::Manager::initTimer ( ) [protected]

Timer の初期化

使用する各 Timer の初期化処理を実行する。 (現状の実装では何もしない)

戻り値:
Timer 初期化処理実行結果(初期化成功:true、初期化失敗:false)
static Manager& RTC::Manager::instance ( ) [static]

マネージャのインスタンスの取得

マネージャのインスタンスを取得する static メンバ関数。 この関数を呼ぶ前に、必ずこの初期化メンバ関数 init() が呼ばれている 必要がある。

戻り値:
Manager の唯一のインスタンスの参照

参照元 CORBA_SeqUtil::refToVstring(), と RTC::Manager::Terminator::svc().

マネージャ終了処理の待ち合わせ

同期を取るため、マネージャ終了処理の待ち合わせを行う。

void RTC::Manager::load ( const char *  fname,
const char *  initfunc 
)

[CORBA interface] モジュールのロード

指定したコンポーネントのモジュールをロードするとともに、 指定した初期化関数を実行する。

引数:
fnameモジュールファイル名
initfunc初期化関数名
bool RTC::Manager::mergeProperty ( coil::Properties prop,
const char *  file_name 
) [protected]

プロパティ情報のマージ

指定されたファイル内に設定されているプロパティ情報をロードし、 既存の設定済みプロパティとマージする。

引数:
propマージ対象プロパティ
file_nameプロパティ情報が記述されているファイル名
戻り値:
マージ処理実行結果(マージ成功:true、マージ失敗:false)

RTコンポーネントの削除する

削除するRTコンポーネントを登録する。 登録されたRTコンポーネントは cleanupComponents() で削除される。

引数:
削除するRTコンポーネント
bool RTC::Manager::procComponentArgs ( const char *  comp_arg,
coil::Properties comp_id,
coil::Properties comp_conf 
) [protected]

引数文字列からコンポーネント型名・プロパティを抽出する

文字列からコンポーネント型とコンポーネントのプロパティを抽出する。 与えられる文字列のフォーマットは RTC の ID とコンフィギュレーショ ンからなる

[RTC type]?[key(0)]=[val(0)]&[key(1)]=[val(1)]&...&[key(n)]=[val(n)]

である。なお、RTC type は implementation_id のみ、もしくは、下記 の RTC ID 形式

RTC:[vendor]:[category]:[impl_id]:[version]

を受け付ける。戻り値である、comp_id は、 "vendor", "category", "implementation_id", "version" のキーを持つ Properties 型のオブジェクトとして返される。 comp_conf には "?" 以下に記述されるコンポーネントに与えるプロパティ が Properties 型のオブジェクトとして返される。

戻り値:
comp_arg にコンポーネント型が含まれていない場合false
引数:
comp_arg処理すべき文字列
comp_id抽出されたコンポーネントの型名
comp_conf抽出されたコンポーネントのプロパティ
bool RTC::Manager::procContextArgs ( const char *  ec_args,
std::string &  ec_id,
coil::Properties ec_conf 
) [protected]

引数文字列からExecutionContext名・プロパティを抽出する

文字列からExecutionContext名とプロパティを抽出する。 与えられる文字列のフォーマットは RTC の ID とコンフィギュレーショ ンからなる

[ExecutionContext名]?[key(0)]=[val(0)]&[key(1)]=[val(1)]&...&[key(n)]=[val(n)]

である。

ec_conf には "?" 以下に記述されるコンポーネントに与えるプロパティ が Properties 型のオブジェクトとして返される。

戻り値:
ec_args にExecutionContext名が含まれていない場合false
引数:
ec_args処理すべき文字列
ec_id抽出されたExecutionContext名
ec_conf抽出されたExecutionContextのプロパティ

RTコンポーネントを直接 Manager に登録する

指定したRTコンポーネントのインスタンスを ファクトリ経由ではなく直接マネージャに登録する。

引数:
comp登録対象RTコンポーネントのインスタンス
戻り値:
登録処理結果(登録成功:true、失敗:false)
bool RTC::Manager::registerECFactory ( const char *  name,
ECNewFunc  new_func,
ECDeleteFunc  delete_func 
)

ExecutionContext用ファクトリを登録する

ExecutionContextのインスタンスを生成するための Factoryを登録する。

引数:
name生成対象ExecutionContext名称
new_funcExecutionContext生成用関数
delete_funcExecutionContext破棄用関数
戻り値:
登録処理結果(登録成功:true、失敗:false)
bool RTC::Manager::registerFactory ( coil::Properties profile,
RtcNewFunc  new_func,
RtcDeleteFunc  delete_func 
)

RTコンポーネント用ファクトリを登録する

RTコンポーネントのインスタンスを生成するための Factoryを登録する。

引数:
profileRTコンポーネント プロファイル
new_funcRTコンポーネント生成用関数
delete_funcRTコンポーネント破棄用関数
戻り値:
登録処理結果(登録成功:true、失敗:false)
void RTC::Manager::runManager ( bool  no_block = false)

Managerの実行

このオペレーションはマネージャのメインループを実行する。 このメインループ内では、CORBA ORBのイベントループ等が 処理される。デフォルトでは、このオペレーションはブロックし、 Manager::destroy() が呼ばれるまで処理を戻さない。 引数 no_block が true に設定されている場合は、内部でイベントループ を処理するスレッドを起動し、ブロックせずに処理を戻す。

引数:
no_blockfalse: ブロッキングモード, true: ノンブロッキングモード

初期化プロシージャのセット

このオペレーションはユーザが行うモジュール等の初期化プロシージャ を設定する。ここで設定されたプロシージャは、マネージャが初期化され、 アクティブ化された後、適切なタイミングで実行される。

引数:
proc初期化プロシージャの関数ポインタ

マネージャ・シャットダウン

マネージャの終了処理を実行する。 ORB終了後、同期を取って終了する。

参照元 RTC::Manager::Terminator::svc().

void RTC::Manager::shutdownComponents ( ) [protected]

NamingManager に登録されている RTコンポーネントの終了処理

NamingManager に登録されているRTコンポーネントのリストを取得し、 全コンポーネントを終了する。

void RTC::Manager::shutdownLogger ( ) [protected]

System Logger の終了処理

System Loggerの終了処理を実行する。 バッファ内に保持されているログ情報が存在する場合には、 強制的にログファイルに出力し、ログファイルを閉じる。

void RTC::Manager::shutdownManager ( ) [protected]

Manager の終了処理

Manager を終了する (ただし,現在は未実装)

void RTC::Manager::shutdownNaming ( ) [protected]

NamingManager の終了処理

NamingManager を終了する。 登録されている全要素をアンバインドし、終了する。

void RTC::Manager::shutdownOnNoRtcs ( ) [protected]

Manager の終了処理

configuration の "manager.shutdown_on_nortcs" YES で、 コンポーネントが登録されていない場合 Manager を終了する。

void RTC::Manager::shutdownORB ( ) [protected]

ORB の終了処理

ORB の終了処理を実行する。 実行待ちの処理が存在する場合には、その処理が終了するまで待つ。 実際の終了処理では、POA Managerを非活性化し、 ORB のシャットダウンを実行 する。

マネージャ終了処理

マネージャの終了処理を実行する。

void RTC::Manager::unload ( const char *  fname)

モジュールのアンロード

モジュールをアンロードする

引数:
fnameモジュールのファイル名

全モジュールのアンロード

モジュールをすべてアンロードする

RTコンポーネントの登録を解除する

指定したRTコンポーネントの登録を解除する。

引数:
comp登録解除対象RTコンポーネントのインスタンス
戻り値:
登録解除処理結果(解除成功:true、解除失敗:false)

変数

コンポーネントマネージャ

Manager の configuration を格納する Properties.

参照元 getConfig(), と getLogLevel().

ExecutionContext マネージャ

std::vector<ExecutionContextBase*> RTC::Manager::m_ecs [protected]

ExecutionContext リスト

ComponentManager.

ユーザ初期化関数へのポインタ

std::vector<std::filebuf*> RTC::Manager::m_logfiles [protected]

ログ出力ファイル

ロガーバッファ

参照元 getLogStreamBuf().

ManagerServant へのポインタ

ModuleManager へのポインタ

NamingManager へのポインタ

CORBA::ORB_var RTC::Manager::m_pORB [protected]

ORB へのポインタ

PortableServer::POA_var RTC::Manager::m_pPOA [protected]

POA へのポインタ

PortableServer::POAManager_var RTC::Manager::m_pPOAManager [protected]

POAManager へのポインタ

ORB ヘルパークラスへのポインタ

マネージャ終了処理用同期フラグ

マネージャ終了の待ち合せ処理で同期を取るためのフラグ。

ORB 終了用ヘルパークラスへのポインタ

Timer Object.

Manager* RTC::Manager::manager [static, protected]

唯一の Manager へのポインタ

Mutex RTC::Manager::mutex [static, protected]

唯一の Manager へのポインタに対する mutex

ロガーストリーム