Public メソッド | |
| def | __init__ |
| コピーコンストラクタ | |
| def | init |
| マネージャの初期化 | |
| def | instance |
| マネージャのインスタンスの取得 | |
| def | terminate |
| マネージャ終了処理 | |
| def | shutdown |
| マネージャ・シャットダウン | |
| def | join |
| マネージャ終了処理の待ち合わせ | |
| def | setModuleInitProc |
| 初期化プロシージャのセット | |
| def | activateManager |
| Managerのアクティブ化 | |
| def | runManager |
| Managerの実行 | |
| def | load |
| [CORBA interface] モジュールのロード | |
| def | unload |
| モジュールのアンロード | |
| def | unloadAll |
| 全モジュールのアンロード | |
| def | getLoadedModules |
| ロード済みのモジュールリストを取得する | |
| def | getLoadableModules |
| ロード可能なモジュールリストを取得する | |
| def | registerFactory |
| RTコンポーネント用ファクトリを登録する | |
| def | registerECFactory |
| ExecutionContext用ファクトリを登録する | |
| def | getModulesFactories |
| ファクトリ全リストを取得する | |
| def | createComponent |
| RTコンポーネントを生成する | |
| def | registerComponent |
| RTコンポーネントを直接 Manager に登録する | |
| def | unregisterComponent |
| RTコンポーネントの登録を解除する | |
| def | bindExecutionContext |
| RTコンポーネントにExecutionContextをバインドする | |
| def | deleteComponent |
| Manager に登録されているRTコンポーネントを削除する(未実装) | |
| def | getComponent |
| Manager に登録されているRTコンポーネントを検索する | |
| def | getComponents |
| Manager に登録されている全RTコンポーネントを取得する | |
| def | getORB |
| ORB のポインタを取得する | |
| def | getPOA |
| Manager が持つ RootPOA のポインタを取得する | |
| def | getPOAManager |
| Manager が持つ POAManager を取得する | |
| def | initManager |
| Manager の内部初期化処理 | |
| def | shutdownManager |
| Manager の終了処理(未実装) | |
| def | initLogger |
| System logger の初期化 | |
| def | shutdownLogger |
| System Logger の終了処理(未実装) | |
| def | initORB |
| CORBA ORB の初期化処理 | |
| def | createORBOptions |
| ORB のコマンドラインオプション作成 | |
| def | shutdownORB |
| ORB の終了処理 | |
| def | initNaming |
| NamingManager の初期化 | |
| def | shutdownNaming |
| NamingManager の終了処理 | |
| def | initExecContext |
| ExecutionContextManager の初期化 | |
| def | initTimer |
| Timer の初期化 | |
| def | shutdownComponents |
| NamingManager に登録されている全コンポーネントの終了処理 | |
| def | cleanupComponent |
| RTコンポーネントの登録解除 | |
| def | configureComponent |
| RTコンポーネントのコンフィギュレーション処理 | |
| def | mergeProperty |
| プロパティ情報のマージ | |
| def | formatString |
| NamingServer に登録する際の登録情報を組み立てる | |
| def | getLogbuf |
| ログバッファの取得 | |
| def | getConfig |
| マネージャコンフィギュレーションの取得 | |
データ構造 | |
| class | FactoryPredicate |
| コンポーネントファクトリ検索用ファンクタ [詳細] | |
| class | InstanceName |
| ObjectManager 検索用ファンクタ [詳細] | |
| class | OrbRunner |
| OrbRunner クラス [詳細] | |
| class | Term |
| Term クラス [詳細] | |
| class | Terminator |
| Terminator クラス [詳細] | |
コンポーネントなど各種の情報管理を行うマネージャクラス。
Manager.py の 132 行で定義されています。
| def __init__ | ( | self, | ||
_manager = None | ||||
| ) |
| def init | ( | argv | ) |
マネージャの初期化
マネージャを初期化する static 関数。 マネージャをコマンドライン引数を与えて初期化する。 マネージャを使用する場合は、必ずこの初期化メンバ関数 init() を 呼ばなければならない。 マネージャのインスタンスを取得する方法として、init(), instance() の 2つの static 関数が用意されているが、初期化はinit()でしか行われないため、 Manager の生存期間の一番最初にはinit()を呼ぶ必要がある。
※マネージャの初期化処理
| argv | コマンドライン引数 |
Manager.py の 205 行で定義されています。
| def instance | ( | ) |
マネージャのインスタンスの取得
マネージャのインスタンスを取得する static 関数。 この関数を呼ぶ前に、必ずこの初期化関数 init() が呼ばれている必要がある。
Manager.py の 245 行で定義されています。
| def terminate | ( | self | ) |
| def shutdown | ( | self | ) |
| def join | ( | self | ) |
| def setModuleInitProc | ( | self, | ||
| proc | ||||
| ) |
初期化プロシージャのセット
このオペレーションはユーザが行うモジュール等の初期化プロシージャ を設定する。ここで設定されたプロシージャは、マネージャが初期化され、 アクティブ化された後、適切なタイミングで実行される。
| self | ||
| proc | 初期化プロシージャの関数ポインタ |
Manager.py の 357 行で定義されています。
| def activateManager | ( | self | ) |
Managerのアクティブ化
このオペレーションは以下の処理を行う
このオペレーションは、マネージャの初期化後、runManager() の前に呼ぶ必要がある。
| self |
Manager.py の 392 行で定義されています。
| def runManager | ( | self, | ||
no_block = None | ||||
| ) |
Managerの実行
このオペレーションはマネージャのメインループを実行する。 このメインループ内では、CORBA ORBのイベントループ等が 処理される。デフォルトでは、このオペレーションはブロックし、 Manager::destroy() が呼ばれるまで処理を戻さない。 引数 no_block が true に設定されている場合は、内部でイベントループ を処理するスレッドを起動し、ブロックせずに処理を戻す。
| self | ||
| no_block | false: ブロッキングモード, true: ノンブロッキングモード |
Manager.py の 436 行で定義されています。
| def load | ( | self, | ||
| fname, | ||||
| initfunc | ||||
| ) |
[CORBA interface] モジュールのロード
指定したコンポーネントのモジュールをロードするとともに、 指定した初期化関数を実行する。
| self | ||
| fname | モジュールファイル名 | |
| initfunc | 初期化関数名 |
Manager.py の 474 行で定義されています。
| def unload | ( | self, | ||
| fname | ||||
| ) |
| def unloadAll | ( | self | ) |
| def getLoadedModules | ( | self | ) |
ロード済みのモジュールリストを取得する
現在マネージャにロードされているモジュールのリストを取得する。
| self |
Manager.py の 540 行で定義されています。
| def getLoadableModules | ( | self | ) |
ロード可能なモジュールリストを取得する
ロード可能モジュールのリストを取得する。 (現在はModuleManager側で未実装)
| self |
Manager.py の 559 行で定義されています。
| def registerFactory | ( | self, | ||
| profile, | ||||
| new_func, | ||||
| delete_func | ||||
| ) |
RTコンポーネント用ファクトリを登録する
RTコンポーネントのインスタンスを生成するための Factoryを登録する。
| self | ||
| profile | RTコンポーネント プロファイル | |
| new_func | RTコンポーネント生成用関数 | |
| delete_func | RTコンポーネント破棄用関数 |
Manager.py の 585 行で定義されています。
| def registerECFactory | ( | self, | ||
| name, | ||||
| new_func, | ||||
| delete_func | ||||
| ) |
ExecutionContext用ファクトリを登録する
ExecutionContextのインスタンスを生成するためのFactoryを登録する。
| self | ||
| name | 生成対象ExecutionContext名称 | |
| new_func | ExecutionContext生成用関数 | |
| delete_func | ExecutionContext破棄用関数 |
Manager.py の 611 行で定義されています。
| def getModulesFactories | ( | self | ) |
| def createComponent | ( | self, | ||
| module_name | ||||
| ) |
RTコンポーネントを生成する
指定したRTコンポーネントのインスタンスを登録されたFactory経由で生成する。 インスタンス生成が成功した場合、併せて以下の処理を実行する。
| self | ||
| module_name | 生成対象RTコンポーネント名称 |
Manager.py の 666 行で定義されています。
| def registerComponent | ( | self, | ||
| comp | ||||
| ) |
RTコンポーネントを直接 Manager に登録する
指定したRTコンポーネントのインスタンスをファクトリ経由ではなく 直接マネージャに登録する。
| self | ||
| comp | 登録対象RTコンポーネントのインスタンス |
Manager.py の 704 行で定義されています。
| def unregisterComponent | ( | self, | ||
| comp | ||||
| ) |
RTコンポーネントの登録を解除する
指定したRTコンポーネントの登録を解除する。
| self | ||
| comp | 登録解除対象RTコンポーネントのインスタンス |
Manager.py の 731 行で定義されています。
| def bindExecutionContext | ( | self, | ||
| comp | ||||
| ) |
RTコンポーネントにExecutionContextをバインドする
指定したRTコンポーネントにExecutionContextをバインドする。 バインドするExecutionContextの型はプロパティ・ファイルの "exec_cxt.periodic.type"属性によって指定する。
| self | ||
| comp | バインド対象RTコンポーネントのインスタンス |
Manager.py の 759 行で定義されています。
| def deleteComponent | ( | self, | ||
| instance_name | ||||
| ) |
Manager に登録されているRTコンポーネントを削除する(未実装)
マネージャに登録されているRTコンポーネントを削除する。
| self | ||
| instance_name | 削除対象RTコンポーネントのインスタンス名 |
Manager.py の 794 行で定義されています。
| def getComponent | ( | self, | ||
| instance_name | ||||
| ) |
Manager に登録されているRTコンポーネントを検索する
Manager に登録されているRTコンポーネントを指定した名称で検索し、 合致するコンポーネントを取得する。
| self | ||
| instance_name | 検索対象RTコンポーネントの名称 |
Manager.py の 813 行で定義されています。
| def getComponents | ( | self | ) |
Manager に登録されている全RTコンポーネントを取得する
Manager に登録されているRTコンポーネントの全インスタンスを取得する。
| self |
Manager.py の 831 行で定義されています。
| def getORB | ( | self | ) |
| def getPOA | ( | self | ) |
Manager が持つ RootPOA のポインタを取得する
Manager に設定された RootPOA へのポインタを取得する。
| self |
Manager.py の 871 行で定義されています。
| def getPOAManager | ( | self | ) |
Manager が持つ POAManager を取得する
Manager に設定された POAMAnager を取得する。
| self |
Manager.py の 889 行で定義されています。
| def initManager | ( | self, | ||
| argv | ||||
| ) |
Manager の内部初期化処理
Manager の内部初期化処理を実行する。
| self | ||
| argv | コマンドライン引数 |
Manager.py の 915 行で定義されています。
| def shutdownManager | ( | self | ) |
| def initLogger | ( | self | ) |
System logger の初期化
System logger の初期化を実行する。 コンフィギュレーションファイルに設定された情報に基づき、 ロガーの初期化,設定を実行する。
| self |
Manager.py の 972 行で定義されています。
| def shutdownLogger | ( | self | ) |
| def initORB | ( | self | ) |
CORBA ORB の初期化処理
設定情報を元にORBを初期化する。
| self |
Manager.py の 1030 行で定義されています。
| def createORBOptions | ( | self | ) |
ORB のコマンドラインオプション作成
コンフィギュレーション情報に設定された内容から ORB の起動時オプションを作成する。
| self |
Manager.py の 1067 行で定義されています。
| def shutdownORB | ( | self | ) |
ORB の終了処理
ORB の終了処理を実行する。 実行待ちの処理が存在する場合には、その処理が終了するまで待つ。 実際の終了処理では、POA Managerを非活性化し、 ORB のシャットダウンを実行 する。
| self |
Manager.py の 1098 行で定義されています。
| def initNaming | ( | self | ) |
NamingManager の初期化
NamingManager の初期化処理を実行する。 ただし、 NamingManager を使用しないようにプロパティ情報に設定されている 場合には何もしない。 NamingManager を使用する場合、プロパティ情報に設定されている デフォルト NamingServer を登録する。 また、定期的に情報を更新するように設定されている場合には、指定された周期 で自動更新を行うためのタイマを起動するとともに、更新用メソッドをタイマに 登録する。
| self |
Manager.py の 1159 行で定義されています。
| def shutdownNaming | ( | self | ) |
NamingManager の終了処理
NamingManager を終了する。 登録されている全要素をアンバインドし、終了する。
| self |
Manager.py の 1198 行で定義されています。
| def initExecContext | ( | self | ) |
ExecutionContextManager の初期化
使用する各 ExecutionContext の初期化処理を実行し、各 ExecutionContext 生成用 Factory を ExecutionContextManager に登録する。
| self |
Manager.py の 1218 行で定義されています。
| def initTimer | ( | self | ) |
Timer の初期化
使用する各 Timer の初期化処理を実行する。 (現状の実装では何もしない)
| self |
Manager.py の 1239 行で定義されています。
| def shutdownComponents | ( | self | ) |
NamingManager に登録されている全コンポーネントの終了処理
NamingManager に登録されているRTコンポーネントおよび ExecutionContext の リストを取得し、全コンポーネントを終了する。
| self |
Manager.py の 1255 行で定義されています。
| def cleanupComponent | ( | self, | ||
| comp | ||||
| ) |
RTコンポーネントの登録解除
指定したRTコンポーネントのインスタンスをネーミングサービスから 登録解除する。
| self | ||
| comp | 登録解除対象RTコンポーネント |
Manager.py の 1288 行で定義されています。
| def configureComponent | ( | self, | ||
| comp | ||||
| ) |
RTコンポーネントのコンフィギュレーション処理
RTコンポーネントの型およびインスタンス毎に記載されたプロパティファイルの 情報を読み込み、コンポーネントに設定する。 また、各コンポーネントの NamingService 登録時の名称を取得し、設定する。
| self | ||
| comp | コンフィギュレーション対象RTコンポーネント |
Manager.py の 1307 行で定義されています。
| def mergeProperty | ( | self, | ||
| prop, | ||||
| file_name | ||||
| ) |
プロパティ情報のマージ
指定されたファイル内に設定されているプロパティ情報をロードし、 既存の設定済みプロパティとマージする。
| self | ||
| prop | マージ対象プロパティ | |
| file_name | プロパティ情報が記述されているファイル名 |
Manager.py の 1367 行で定義されています。
| def formatString | ( | self, | ||
| naming_format, | ||||
| prop | ||||
| ) |
NamingServer に登録する際の登録情報を組み立てる
指定された書式とプロパティ情報を基に NameServer に登録する際の情報を 組み立てる。 各書式指定用文字の意味は以下のとおり
| self | ||
| naming_format | NamingService 登録情報書式指定 | |
| prop | 使用するプロパティ情報 |
Manager.py の 1412 行で定義されています。
| def getLogbuf | ( | self | ) |
| def getConfig | ( | self | ) |
マネージャコンフィギュレーションの取得
マネージャに設定したコンフィギュレーションを取得する。
| self |
Manager.py の 1472 行で定義されています。
1.5.4