jp.go.aist.rtm.RTC
クラス Manager

java.lang.Object
  上位を拡張 jp.go.aist.rtm.RTC.Manager

public class Manager
extends java.lang.Object

各コンポーネントの管理を行うクラスです。


コンストラクタの概要
Manager(Manager rhs)
          コピーコンストラクタです。
 
メソッドの概要
 boolean activateManager()
          Managerをアクティブ化します。
 boolean bindExecutionContext(RTObject_impl comp)
          指定したRTコンポーネントに、ExecutionContextをバインドします。
 void cleanupComponent(RTObject_impl comp)
          指定したRTコンポーネントを登録解除します。
 void clearModules()
          RTコンポーネントマネージャをクリアする。
 void clearModulesFactories()
          RTコンポーネントファクトリをクリアする。
 RTObject_impl createComponent(java.lang.String moduleName)
          RTコンポーネントを生成します。
 void deleteComponent(java.lang.String instanceName)
          Managerに登録されているRTコンポーネントを削除します。
 RTObject_impl getComponent(java.lang.String instanceName)
          Managerに登録されているRTコンポーネントを取得します。
 java.util.Vector<RTObject_impl> getComponents()
          Managerに登録されている全てのRTコンポーネントを取得します。
 Properties getConfig()
          マネージャのコンフィギュレーションを取得します。
 java.util.Vector<java.lang.String> getLoadableModules()
          ロード可能なモジュール名リストを取得します。
 java.util.Vector<java.lang.String> getLoadedModules()
          ロード済みのモジュール名リストを取得します。
 Logbuf getLogbuf()
          ログバッファを取得します。
 java.util.Vector<java.lang.String> getModulesFactories()
          すべてのRTコンポーネントファクトリのリストを取得します。
 org.omg.CORBA.ORB getORB()
          ORBを取得します。
 org.omg.PortableServer.POA getPOA()
          RootPOAを取得します。
 org.omg.PortableServer.POAManager getPOAManager()
          POAマネージャを取得します。
static Manager init(java.lang.String[] argv)
          初期化を行います。
static Manager instance()
          Managerオブジェクトを取得します。
 void join()
          Manager終了処理の待ち合わせを行います。
 void load(java.lang.String moduleFileName, java.lang.String initFunc)
          コンポーネントのモジュールをロードして、初期化メソッドを実行します。
 boolean registerComponent(RTObject_impl comp)
          RTコンポーネントを、直接にManagerに登録します。
 boolean registerECFactory(java.lang.String name)
          ExecutionContextファクトリを登録します。
 boolean registerFactory(Properties profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
          RTコンポーネントファクトリを登録します。
 void runManager()
          Managerのメインループを実行します。
 void runManager(boolean noBlocking)
          Managerのメインループを実行します。
 void setModuleInitProc(ModuleInitProc initProc)
          初期化プロシジャコールバックインタフェースを設定します。
 void shutdown()
          Managerオブジェクトを終了します。
 void terminate()
          Managerの終了処理を行います。
 void unload(java.lang.String moduleFileName)
          モジュールをアンロードします。
 void unloadAll()
          すべてのモジュールをアンロードします。
 boolean unregisterComponent(RTObject_impl comp)
          指定したRTコンポーネントを登録解除します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Manager

public Manager(Manager rhs)

コピーコンストラクタです。

パラメータ:
コピー元のManagerオブジェクト -
メソッドの詳細

init

public static Manager init(java.lang.String[] argv)

初期化を行います。Managerを使用する場合には、必ず本メソッドを呼ぶ必要があります。
コマンドライン引数を与えて初期化を行います。Managerオブジェクトを取得する方法としては、 init(), instance()の2メソッドがありますが、初期化はinit()でのみ行われるため、 Managerオブジェクトの生存期間の最初にinit()メソッドを呼び出す必要があります。

パラメータ:
argv - コマンドライン引数の配列

instance

public static Manager instance()

Managerオブジェクトを取得します。 本メソッドの呼び出しに先立っては、必ずinit()が呼び出し済みでなければなりません。

戻り値:
Managerオブジェクト

terminate

public void terminate()

Managerの終了処理を行います。


shutdown

public void shutdown()

Managerオブジェクトを終了します。 ORBの終了後,同期を取って終了します。


join

public void join()

Manager終了処理の待ち合わせを行います。


getLogbuf

public Logbuf getLogbuf()

ログバッファを取得します。

  * @return ログバッファ


getConfig

public Properties getConfig()

マネージャのコンフィギュレーションを取得します。

  * @return マネージャコンフィギュレーション


setModuleInitProc

public void setModuleInitProc(ModuleInitProc initProc)

初期化プロシジャコールバックインタフェースを設定します。 マネージャが初期化されてアクティブ化された後に、 設定されたコールバックインタフェースが呼び出されます。

パラメータ:
initProc - コールバックインタフェース

activateManager

public boolean activateManager()

Managerをアクティブ化します。 初期化後にrunManager()呼び出しに先立ってこのメソッドを呼び出す必要があります。

具体的には以下の処理が行われます。

  1. CORBA POAManagerのアクティブ化
  2. Manager CORBAオブジェクトのアクティブ化
  3. ManagerへのCORBAオブジェクト参照の登録

戻り値:
正常にアクティブ化できた場合はtrueを、さもなくばfalseを返します。

runManager

public void runManager()

Managerのメインループを実行します。本メソッドは、runManager(false)の呼び出しと同等です。


runManager

public void runManager(boolean noBlocking)

Managerのメインループを実行します。 このメインループ内では、CORBA ORBのイベントループなどが処理されます。
ブロッキングモードで起動された場合は、Manager#destroy()メソッドが呼び出されるまで、 本runManager()メソッドは処理を戻しません。
非ブロッキングモードで起動された場合は、内部でイベントループを別スレッドで開始後、 ブロックせずに処理を戻します。

パラメータ:
noBlocking - 非ブロッキングモードの場合はtrue、ブロッキングモードの場合はfalse

load

public void load(java.lang.String moduleFileName,
                 java.lang.String initFunc)

コンポーネントのモジュールをロードして、初期化メソッドを実行します。

パラメータ:
moduleFileName - モジュールファイル名
initFunc - 初期化メソッド名

unload

public void unload(java.lang.String moduleFileName)

モジュールをアンロードします。

パラメータ:
moduleFileName - モジュールファイル名

unloadAll

public void unloadAll()

すべてのモジュールをアンロードします。


getLoadedModules

public java.util.Vector<java.lang.String> getLoadedModules()

ロード済みのモジュール名リストを取得します。

  * @return ロード済みモジュール名リスト


getLoadableModules

public java.util.Vector<java.lang.String> getLoadableModules()

ロード可能なモジュール名リストを取得します。

  * @return ロード可能モジュール名リスト


registerFactory

public boolean registerFactory(Properties profile,
                               RtcNewFunc new_func,
                               RtcDeleteFunc delete_func)

RTコンポーネントファクトリを登録します。

パラメータ:
profile - コンポーネントプロファイル
new_func - コンポーネント生成オブジェクト
delete_func - コンポーネント削除オブジェクト   * @return 登録に成功した場合はtrueを、さもなくばfalseを返します。

registerECFactory

public boolean registerECFactory(java.lang.String name)

ExecutionContextファクトリを登録します。

パラメータ:
name - ExecutionContext名称
戻り値:
登録に成功した場合はtrueを、さもなくばfalseを返します。

getModulesFactories

public java.util.Vector<java.lang.String> getModulesFactories()

すべてのRTコンポーネントファクトリのリストを取得します。

戻り値:
すべてのRTコンポーネントファクトリのリスト

clearModulesFactories

public void clearModulesFactories()

RTコンポーネントファクトリをクリアする。


clearModules

public void clearModules()

RTコンポーネントマネージャをクリアする。


createComponent

public RTObject_impl createComponent(java.lang.String moduleName)

RTコンポーネントを生成します。

パラメータ:
moduleName - モジュール名
戻り値:
生成されたRTコンポーネントオブジェクト

cleanupComponent

public void cleanupComponent(RTObject_impl comp)

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

パラメータ:
comp - 登録解除するRTコンポーネントオブジェクト

registerComponent

public boolean registerComponent(RTObject_impl comp)

RTコンポーネントを、直接にManagerに登録します。

パラメータ:
comp - 登録対象のRTコンポーネントオブジェクト
戻り値:
正常に登録できた場合はtrueを、さもなくばfalseを返します。

unregisterComponent

public boolean unregisterComponent(RTObject_impl comp)

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

パラメータ:
comp - 登録解除するRTコンポーネントオブジェクト

bindExecutionContext

public boolean bindExecutionContext(RTObject_impl comp)

指定したRTコンポーネントに、ExecutionContextをバインドします。

パラメータ:
comp - バインド対象のRTコンポーネントオブジェクト
戻り値:
正常にバインドできた場合はtrueを、さもなくばfalseを返します。

deleteComponent

public void deleteComponent(java.lang.String instanceName)

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

※未実装

パラメータ:
instanceName - 削除対象のRTコンポーネント名

getComponent

public RTObject_impl getComponent(java.lang.String instanceName)

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

※未実装

パラメータ:
instanceName - 取得対象RTコンポーネント名
戻り値:
対象RTコンポーネントオブジェクト

getComponents

public java.util.Vector<RTObject_impl> getComponents()

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

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

getORB

public org.omg.CORBA.ORB getORB()

ORBを取得します。

戻り値:
ORBオブジェクト

getPOA

public org.omg.PortableServer.POA getPOA()

RootPOAを取得します。

戻り値:
RootPOAオブジェクト

getPOAManager

public org.omg.PortableServer.POAManager getPOAManager()

POAマネージャを取得します。

戻り値:
POAマネージャ