|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.go.aist.rtm.RTC.Manager
public class Manager
各コンポーネントの管理を行うクラスです.
入れ子のクラスの概要 | |
---|---|
(package private) class |
Manager.cleanupComponentsClass
|
(package private) class |
Manager.ECFactoryPredicate
ECFactory検索用ヘルパークラスです。 |
protected class |
Manager.FactoryPredicate
Factory検索用ヘルパークラスです。 |
protected class |
Manager.Finalized
|
protected class |
Manager.InstanceName
Object検索用ヘルパークラスです。 |
protected class |
Manager.OrbRunner
ORB実行用ヘルパークラスです。 |
(package private) class |
Manager.shutdownOnNoRtcsClass
|
protected class |
Manager.Terminator
終了処理用ヘルパークラスです。 |
フィールドの概要 | |
---|---|
(package private) Manager.cleanupComponentsClass |
m_cleanupComponents
|
protected ObjectManager<java.lang.String,RTObject_impl> |
m_compManager
Component Manager |
protected Properties |
m_config
Managerコンフィギュレーション |
protected ObjectManager<java.lang.String,java.lang.Object> |
m_ecfactory
ExecutionContext Factory |
protected java.util.Vector<ExecutionContextBase> |
m_ecs
ExecutionContext |
protected ObjectManager<java.lang.String,FactoryBase> |
m_factory
Component Factory Manager |
(package private) Manager.Finalized |
m_finalized
|
protected ModuleInitProc |
m_initProc
ユーザコンポーネント初期化プロシジャオブジェクト |
(package private) ManagerServant |
m_mgrservant
ManagerServant |
protected ModuleManager |
m_module
Module Manager |
protected NamingManager |
m_namingManager
Naming Manager |
protected CorbaObjectManager |
m_objManager
CORBA Object Manager |
protected org.omg.CORBA.ORB |
m_pORB
ORB |
protected org.omg.PortableServer.POA |
m_pPOA
POA |
protected org.omg.PortableServer.POAManager |
m_pPOAManager
POAManager |
protected Manager.OrbRunner |
m_runner
ORB Runner |
(package private) Manager.shutdownOnNoRtcsClass |
m_shutdownOnNoRtcs
|
protected int |
m_terminate_waiting
Terminator用カウンタ |
protected Manager.Terminator |
m_terminator
Terminator |
protected Timer |
m_timer
Timer |
protected static Manager |
manager
唯一のManagerインスタンスです。 |
protected static java.lang.String |
manager_mutex
Manager用ミューテックス変数です。 |
protected Logbuf |
rtcout
ロガーストリーム |
コンストラクタの概要 | |
---|---|
protected |
Manager()
コンストラクタです。 |
|
Manager(Manager rhs)
コピーコンストラクタです。 |
メソッドの概要 | |
---|---|
boolean |
activateManager()
Managerのアクティブ化 {@.ja 初期化後に runManager() 呼び出しに先立ってこのメソッドを 呼び出す必要があります。 |
protected boolean |
bindManagerServant()
bindManagerServant |
void |
cleanupComponent(RTObject_impl comp)
指定したRTコンポーネントを登録解除します。 |
void |
clearModules()
RTコンポーネントマネージャをクリアする。 |
void |
clearModulesFactories()
RTコンポーネントファクトリをクリアする。 |
protected void |
configureComponent(RTObject_impl comp,
Properties prop)
RTコンポーネントのコンフィギュレーション処理 {@.ja RTコンポーネントの型およびインスタンス毎に 記載されたプロパティファイルの 情報を読み込み、コンポーネントに設定する。 |
RTObject_impl |
createComponent(java.lang.String comp_args)
RTコンポーネントを生成する {@.ja 指定したRTコンポーネントのインスタンスを登録されたFactory経由 で生成する。 |
ExecutionContextBase |
createContext(java.lang.String ec_args)
createContext |
protected void |
createORBEndpointOption(java.lang.String opt,
java.util.Vector<java.lang.String> endpoints)
ORB の Endpoint のコマンドラインオプション作成 |
protected void |
createORBEndpoints(java.util.Vector<java.lang.String> endpoints)
エンドポイントの生成 コンフィグレーションからエンドポイントを生成する。 |
protected java.lang.String |
createORBOptions()
ORBのコマンドラインオプションを生成します。 |
protected java.util.Properties |
createORBProperties()
プロパティの生成. |
void |
deleteComponent(RTObject_impl comp)
Manager に登録されているRTコンポーネントを削除する {@.ja マネージャに登録されているRTコンポーネントを削除する。 |
void |
deleteComponent(java.lang.String instanceName)
Manager に登録されているRTコンポーネントを削除する {@.ja マネージャに登録されているRTコンポーネントを削除する。 |
protected java.lang.String |
formatString(java.lang.String namingFormat,
Properties properties)
指定されたPropertiesオブジェクトの内容を、指定された書式に従って文字列として出力します。 |
RTObject_impl |
getComponent(java.lang.String instanceName)
Managerに登録されているRTコンポーネントを取得します。 |
java.util.Vector<RTObject_impl> |
getComponents()
Managerに登録されている全てのRTコンポーネントを取得します。 |
Properties |
getConfig()
マネージャのコンフィギュレーションを取得します。 |
java.util.Vector<Properties> |
getFactoryProfiles()
getFactoryProfiles |
java.util.Vector<Properties> |
getLoadableModules()
ロード可能なモジュール名リストを取得します。 |
java.util.Vector<Properties> |
getLoadedModules()
ロード済みのモジュール名リストを取得します。 |
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)
初期化を行います。 |
protected boolean |
initComposite()
intiComposite |
protected boolean |
initExecContext()
ExecutionContextを初期化します。 |
protected boolean |
initFactories()
intiFactories |
protected boolean |
initLogger()
System loggerを初期化します。 |
protected void |
initManager(java.lang.String[] argv)
Manager の内部初期化処理 {@.ja Manager の内部初期化処理を実行する。 |
protected boolean |
initManagerServant()
ManagerServant の初期化 |
protected boolean |
initNaming()
NamingManagerを初期化します。 |
protected boolean |
initORB()
CORBA ORB の初期化処理 引数により与えられた設定を元にORBを初期化する。 |
protected boolean |
initTimer()
Timerを初期化します。 |
static Manager |
instance()
Managerオブジェクトを取得します。 |
void |
join()
Manager終了処理の待ち合わせを行います。 |
java.lang.String |
load(java.lang.String moduleFileName,
java.lang.String initFunc)
[CORBA interface] モジュールのロード コンポーネントのモジュールをロードして、 初期化メソッドを実行します。 |
protected boolean |
mergeProperty(Properties properties,
java.lang.String fileName)
プロパティファイルを読み込んで、指定されたPropertiesオブジェクトに設定します。 |
void |
notifyFinalized(RTObject_impl comp)
RTコンポーネントの削除する |
boolean |
procComponentArgs(java.lang.String comp_arg,
Properties comp_id,
Properties comp_conf)
procComponentArgs |
boolean |
procContextArgs(java.lang.String ec_args,
java.lang.StringBuffer ec_id,
Properties ec_conf)
procContextArgs |
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オブジェクトを終了します。 |
protected void |
shutdownComponents()
ネーミングサービスに登録されているコンポーネントの終了処理を行います。 |
protected void |
shutdownLogger()
System Loggerの終了処理を行います。 |
protected void |
shutdownManager()
Manager の終了処理 Manager を終了する |
protected void |
shutdownNaming()
NamingManagerの終了処理を行います。 |
protected void |
shutdownORB()
ORBの終了処理を行います。 |
void |
terminate()
Managerの終了処理を行います。 |
void |
unload(java.lang.String moduleFileName)
モジュールをアンロードします。 |
void |
unloadAll()
すべてのモジュールをアンロードします。 |
boolean |
unregisterComponent(RTObject_impl comp)
指定したRTコンポーネントを登録解除します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
Manager.cleanupComponentsClass m_cleanupComponents
Manager.shutdownOnNoRtcsClass m_shutdownOnNoRtcs
ManagerServant m_mgrservant
protected static Manager manager
唯一のManagerインスタンスです。
protected static java.lang.String manager_mutex
Manager用ミューテックス変数です。
protected org.omg.CORBA.ORB m_pORB
ORB
protected org.omg.PortableServer.POA m_pPOA
POA
protected org.omg.PortableServer.POAManager m_pPOAManager
POAManager
protected ModuleInitProc m_initProc
ユーザコンポーネント初期化プロシジャオブジェクト
protected Properties m_config
Managerコンフィギュレーション
protected ModuleManager m_module
Module Manager
protected NamingManager m_namingManager
Naming Manager
protected CorbaObjectManager m_objManager
CORBA Object Manager
protected Timer m_timer
Timer
protected Logbuf rtcout
ロガーストリーム
protected ObjectManager<java.lang.String,RTObject_impl> m_compManager
Component Manager
protected ObjectManager<java.lang.String,FactoryBase> m_factory
Component Factory Manager
protected ObjectManager<java.lang.String,java.lang.Object> m_ecfactory
ExecutionContext Factory
protected java.util.Vector<ExecutionContextBase> m_ecs
ExecutionContext
protected Manager.OrbRunner m_runner
ORB Runner
protected Manager.Terminator m_terminator
Terminator
protected int m_terminate_waiting
Terminator用カウンタ
Manager.Finalized m_finalized
コンストラクタの詳細 |
---|
protected Manager()
コンストラクタです。
Protected コンストラクタ
public Manager(Manager rhs)
コピーコンストラクタです。
rhs
- コピー元のManagerオブジェクトメソッドの詳細 |
---|
public static Manager init(java.lang.String[] argv)
初期化を行います。Managerを使用する場合には、必ず本メソッドを呼ぶ必要があります。
コマンドライン引数を与えて初期化を行います。Managerオブジェクトを取得する方法としては、
init(), instance()の2メソッドがありますが、初期化はinit()でのみ行われるため、
Managerオブジェクトの生存期間の最初にinit()メソッドを呼び出す必要があります。
argv
- コマンドライン引数の配列public static Manager instance()
Managerオブジェクトを取得します。
public void terminate()
Managerの終了処理を行います。
public void shutdown()
Managerオブジェクトを終了します。 ORBの終了後,同期を取って終了します。
public void join()
Manager終了処理の待ち合わせを行います。
public Properties getConfig()
マネージャのコンフィギュレーションを取得します。
public void setModuleInitProc(ModuleInitProc initProc)
初期化プロシジャコールバックインタフェースを設定します。 マネージャが初期化されてアクティブ化された後に、 設定されたコールバックインタフェースが呼び出されます。
initProc
- コールバックインタフェースpublic boolean activateManager()
初期化後に runManager() 呼び出しに先立ってこのメソッドを 呼び出す必要があります。 このオペレーションは以下の処理を行う - CORBA POAManager のアクティブ化 - マネージャCORBAオブジェクトのアクティブ化 - Manager のオブジェクト参照の登録 このオペレーションは、マネージャの初期化後、runManager() の前に呼ぶ必要がある。
public void runManager()
Managerのメインループを実行します。本メソッドは、runManager(false)の呼び出しと同等です。
public void runManager(boolean noBlocking)
Managerのメインループを実行します。
このメインループ内では、CORBA ORBのイベントループなどが処理されます。
ブロッキングモードで起動された場合は、Manager#destroy()メソッドが呼び出されるまで、
本runManager()メソッドは処理を戻しません。
非ブロッキングモードで起動された場合は、内部でイベントループを別スレッドで開始後、
ブロックせずに処理を戻します。
noBlocking
- 非ブロッキングモードの場合はtrue、ブロッキングモードの場合はfalsepublic java.lang.String load(java.lang.String moduleFileName, java.lang.String initFunc)
コンポーネントのモジュールをロードして、 初期化メソッドを実行します。
moduleFileName
- モジュールファイル名
initFunc
- 初期化メソッド名
public void unload(java.lang.String moduleFileName) throws java.lang.Exception
モジュールをアンロードします。
moduleFileName
- モジュールファイル名
java.lang.Exception
public void unloadAll()
すべてのモジュールをアンロードします。
public java.util.Vector<Properties> getLoadedModules()
ロード済みのモジュール名リストを取得します。
public java.util.Vector<Properties> getLoadableModules()
ロード可能なモジュール名リストを取得します。
public boolean registerFactory(Properties profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
RTコンポーネントファクトリを登録します。
profile
- コンポーネントプロファイルnew_func
- コンポーネント生成オブジェクトdelete_func
- コンポーネント削除オブジェクト
public java.util.Vector<Properties> getFactoryProfiles()
getFactoryProfiles
public boolean registerECFactory(java.lang.String name)
ExecutionContextファクトリを登録します。
name
- ExecutionContext名称
public java.util.Vector<java.lang.String> getModulesFactories()
すべてのRTコンポーネントファクトリのリストを取得します。
public void clearModulesFactories()
RTコンポーネントファクトリをクリアする。
public void clearModules()
RTコンポーネントマネージャをクリアする。
public RTObject_impl createComponent(java.lang.String comp_args)
指定したRTコンポーネントのインスタンスを登録されたFactory経由 で生成する。 生成されるコンポーネントの各種プロファイルは以下の優先順位で 設定される。 -# createComponent() の引数で与えられたプロファイル -# rtc.confで指定された外部ファイルで与えられたプロファイル --# category.instance_name.config_file --# category.component_type.config_file -# コードに埋め込まれたプロファイル インスタンス生成が成功した場合、併せて以下の処理を実行する。 - 外部ファイルで設定したコンフィギュレーション情報の読み込み,設定 - 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
public void cleanupComponent(RTObject_impl comp)
指定したRTコンポーネントを登録解除します。
comp
- 登録解除するRTコンポーネントオブジェクトpublic void notifyFinalized(RTObject_impl comp)
削除するRTコンポーネントを登録する。 登録されたRTコンポーネントは cleanupComponents() で削除される。
comp
- 削除するRTコンポーネント
public boolean procComponentArgs(java.lang.String comp_arg, Properties comp_id, Properties comp_conf)
procComponentArgs
comp_arg
- Stringcomp_id
- Propertiescomp_conf
- Propertie
public boolean registerComponent(RTObject_impl comp)
RTコンポーネントを、直接にManagerに登録します。
comp
- 登録対象のRTコンポーネントオブジェクト
public boolean unregisterComponent(RTObject_impl comp)
指定したRTコンポーネントを登録解除します。
comp
- 登録解除するRTコンポーネントオブジェクトpublic ExecutionContextBase createContext(java.lang.String ec_args)
createContext
ec_args
- String
public boolean procContextArgs(java.lang.String ec_args, java.lang.StringBuffer ec_id, Properties ec_conf)
procContextArgs
ec_args
- Stringec_id
- StringBufferec_conf
- Properties
public void deleteComponent(RTObject_impl comp)
マネージャに登録されているRTコンポーネントを削除する。 指定されたRTコンポーネントをネーミングサービスから削除し、 RTコンポーネント自体を終了させるとともに、インスタンスを解放する。
comp
- 削除対象RTコンポーネントのインスタンス
public void deleteComponent(java.lang.String instanceName)
マネージャに登録されているRTコンポーネントを削除する。 指定されたRTコンポーネントをネーミングサービスから削除し、 RTコンポーネント自体を終了させるとともに、インスタンスを解放する。
instanceName
- 削除対象RTコンポーネントのインスタンス名
public RTObject_impl getComponent(java.lang.String instanceName)
Managerに登録されているRTコンポーネントを取得します。
※未実装
instanceName
- 取得対象RTコンポーネント名
public java.util.Vector<RTObject_impl> getComponents()
Managerに登録されている全てのRTコンポーネントを取得します。
public org.omg.CORBA.ORB getORB()
ORBを取得します。
public org.omg.PortableServer.POA getPOA()
RootPOAを取得します。
public org.omg.PortableServer.POAManager getPOAManager()
POAマネージャを取得します。
protected void initManager(java.lang.String[] argv) throws java.lang.Exception
Manager の内部初期化処理を実行する。
argv
- コマンドライン引数
java.lang.Exception
protected void shutdownManager()
Manager を終了する
protected boolean initLogger()
System loggerを初期化します。
protected void shutdownLogger()
System Loggerの終了処理を行います。
protected boolean initORB()
引数により与えられた設定を元にORBを初期化する。
protected java.lang.String createORBOptions()
コンフィギュレーション情報に設定された内容から ORB の起動時オプションを作成する。
protected void createORBEndpoints(java.util.Vector<java.lang.String> endpoints)
コンフィグレーションからエンドポイントを生成する。
endpoints
- エンドポイントリスト
protected void createORBEndpointOption(java.lang.String opt, java.util.Vector<java.lang.String> endpoints)
opt
- コマンドラインオプション
endpoints
- エンドポイントリスト
protected java.util.Properties createORBProperties()
protected void shutdownORB()
ORBの終了処理を行います。
protected boolean initNaming()
NamingManagerを初期化します。
protected void shutdownNaming()
NamingManagerの終了処理を行います。
protected void shutdownComponents()
ネーミングサービスに登録されているコンポーネントの終了処理を行います。
protected void configureComponent(RTObject_impl comp, Properties prop)
RTコンポーネントの型およびインスタンス毎に 記載されたプロパティファイルの 情報を読み込み、コンポーネントに設定する。 また、各コンポーネントの NamingService 登録時の名称を取得し、設定する。
comp
- コンフィギュレーション対象RTコンポーネント
protected boolean initExecContext()
ExecutionContextを初期化します。
protected boolean initComposite()
intiComposite
protected boolean initFactories()
intiFactories
protected boolean initTimer()
Timerを初期化します。
protected boolean initManagerServant()
protected boolean bindManagerServant()
bindManagerServant
protected boolean mergeProperty(Properties properties, java.lang.String fileName)
プロパティファイルを読み込んで、指定されたPropertiesオブジェクトに設定します。
properties
- 設定対象のPropertiesオブジェクトfileName
- プロパティファイル名
protected java.lang.String formatString(java.lang.String namingFormat, Properties properties)
指定されたPropertiesオブジェクトの内容を、指定された書式に従って文字列として出力します。
namingFormat
- 書式指定properties
- 出力対象となるPropertiesオブジェクト
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |