クラス 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 ()
 Protected コンストラクタ.
 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 コンストラクタ.

Protected コンストラクタ

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

Protected コピーコンストラクタ.

Protected コピーコンストラクタ

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

関数

bool RTC::Manager::activateManager (  ) 

Managerのアクティブ化.

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

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

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

戻り値:
処理結果(アクティブ化成功:true、失敗:false)
void RTC::Manager::cleanupComponent ( RTObject_impl comp  ) 

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

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

引数:
comp 登録解除対象RTコンポーネント
void RTC::Manager::cleanupComponents (  ) 

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コンポーネントのインスタンス
ExecutionContextBase* RTC::Manager::createContext ( const char *  ec_args  ) 

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 起動時オプション
void RTC::Manager::deleteComponent ( const char *  instance_name  ) 

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

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

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

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

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

引数:
comp 削除対象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_format NamingService 登録情報書式指定
prop 使用するプロパティ情報
戻り値:
指定書式変換結果
RTObject_impl* RTC::Manager::getComponent ( const char *  instance_name  ) 

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

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

引数:
instance_name 検索対象RTコンポーネントの名称
戻り値:
名称が一致するRTコンポーネントのインスタンス
std::vector<RTObject_impl*> RTC::Manager::getComponents (  ) 

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

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

戻り値:
全RTコンポーネントのインスタンスリスト
coil::Properties& RTC::Manager::getConfig (  )  [inline]

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

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

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

参照先 m_config.

std::vector<coil::Properties> RTC::Manager::getFactoryProfiles (  ) 

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

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

戻り値:
ファクトリのプロファイル
std::vector<coil::Properties> RTC::Manager::getLoadableModules (  ) 

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

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

戻り値:
ロード可能モジュール リスト
std::vector<coil::Properties> RTC::Manager::getLoadedModules (  ) 

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

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

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

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

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

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

参照先 m_config.

LogStreamBuf& RTC::Manager::getLogStreamBuf (  )  [inline]

ログバッファの取得

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

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

参照先 m_logStreamBuf.

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

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

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

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

ORB のポインタを取得する.

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

戻り値:
ORB オブジェクト
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::join (  ) 

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

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

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)
void RTC::Manager::notifyFinalized ( RTObject_impl comp  ) 

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のプロパティ
bool RTC::Manager::registerComponent ( RTObject_impl comp  ) 

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_func ExecutionContext生成用関数
delete_func ExecutionContext破棄用関数
戻り値:
登録処理結果(登録成功:true、失敗:false)
bool RTC::Manager::registerFactory ( coil::Properties profile,
RtcNewFunc  new_func,
RtcDeleteFunc  delete_func 
)

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

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

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

Managerの実行.

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

引数:
no_block false: ブロッキングモード, true: ノンブロッキングモード
void RTC::Manager::setModuleInitProc ( ModuleInitProc  proc  ) 

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

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

引数:
proc 初期化プロシージャの関数ポインタ
void RTC::Manager::shutdown (  ) 

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

マネージャの終了処理を実行する。 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::terminate (  ) 

マネージャ終了処理

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

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

モジュールのアンロード

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

引数:
fname モジュールのファイル名
void RTC::Manager::unloadAll (  ) 

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

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

bool RTC::Manager::unregisterComponent ( RTObject_impl comp  ) 

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

ロガーストリーム

OpenRTMに対してThu May 24 23:25:19 2012に生成されました。  doxygen 1.6.3