[openrtm-commit:01870] r804 - in trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC: idl src/jp/go/aist/rtm/RTC
openrtm @ openrtm.org
openrtm @ openrtm.org
2016年 3月 22日 (火) 19:02:06 JST
Author: win-ei
Date: 2016-03-22 19:02:06 +0900 (Tue, 22 Mar 2016)
New Revision: 804
Modified:
trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/idl/Manager.idl
trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/ManagerServant.java
Log:
Added string_to_component() to NamingManager. ref #3396
Modified: trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/idl/Manager.idl
===================================================================
--- trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/idl/Manager.idl 2016-03-22 07:45:51 UTC (rev 803)
+++ trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/idl/Manager.idl 2016-03-22 10:02:06 UTC (rev 804)
@@ -47,22 +47,22 @@
interface Manager
{
- // module ÖA
+ // module 関連
/*!
* @if jp
- * @brief W
[ð[h·é
+ * @brief モジュールをロードする
*
- * Y}l[WÉwè³ê½W
[ð[hµAwè³ê½ú»
- * ÖÅú»ðs¤B
+ * 当該マネージャに指定されたモジュールをロードし、指定された初期化
+ * 関数で初期化を行う。
*
- * @param pathname W
[ÖÌpX
- * @param initfunc W
[Ìú»Ö
- * @return ^[R[h
+ * @param pathname モジュールへのパス
+ * @param initfunc モジュールの初期化関数
+ * @return リターンコード
*
* @else
* @brief Loading a module
*
- * This operation loads a specified loadable moduleAand perform
+ * This operation loads a specified loadable module、and perform
* initialization with the specified function.
*
* @param pathname A path to a loading module.
@@ -75,12 +75,12 @@
/*!
* @if jp
- * @brief W
[ðA[h·é
+ * @brief モジュールをアンロードする
*
- * Y}l[WÉwè³ê½W
[ðA[h·éB
+ * 当該マネージャに指定されたモジュールをアンロードする。
*
- * @param pathname W
[ÖÌpX
- * @return ^[R[h
+ * @param pathname モジュールへのパス
+ * @return リターンコード
*
* @else
* @brief Unloading a module
@@ -96,11 +96,11 @@
/*!
* @if jp
- * @brief [hÂ\ÈW
[Ìvt@Cðæ¾·é
+ * @brief ロード可能なモジュールのプロファイルを取得する
*
- * [hÂ\ÈW
[Ìvt@Cðæ¾·éB
+ * ロード可能なモジュールのプロファイルを取得する。
*
- * @return W
[vt@C
+ * @return モジュールプロファイル
*
* @else
* @brief Getting loadable module profiles
@@ -115,11 +115,11 @@
/*!
* @if jp
- * @brief [hÏÝÌW
[Ìvt@Cðæ¾·é
+ * @brief ロード済みのモジュールのプロファイルを取得する
*
- * [hÏÝÌW
[Ìvt@Cðæ¾·éB
+ * ロード済みのモジュールのプロファイルを取得する。
*
- * @return W
[vt@C
+ * @return モジュールプロファイル
*
* @else
* @brief Getting loaded module profiles
@@ -132,15 +132,15 @@
*/
ModuleProfileList get_loaded_modules();
- // component ÖA
+ // component 関連
/*!
* @if jp
- * @brief R|[lgt@NgÌvt@Cðæ¾·é
+ * @brief コンポーネントファクトリのプロファイルを取得する
*
- * [hÏÝÌW
[̤¿ARTR|[lgÌW
[ªÂ
- * t@NgÌvt@CÌXgðæ¾·éB
+ * ロード済みのモジュールのうち、RTコンポーネントのモジュールが持つ
+ * ファクトリのプロファイルのリストを取得する。
*
- * @return R|[lgt@NgÌvt@CXg
+ * @return コンポーネントファクトリのプロファイルリスト
*
* @else
* @brief Getting component factory profiles
@@ -156,11 +156,11 @@
/*!
* @if jp
- * @brief R|[lg𶬷é
+ * @brief コンポーネントを生成する
*
- * øÉwè³ê½R|[lg𶬷éB
+ * 引数に指定されたコンポーネントを生成する。
*
- * @return ¶¬³ê½RTR|[lg
+ * @return 生成されたRTコンポーネント
*
* @else
* @brief Creating an RT-Component
@@ -176,11 +176,11 @@
/*!
* @if jp
- * @brief R|[lgðí·é
+ * @brief コンポーネントを削除する
*
- * øÉwè³ê½R|[lgðí·éB
+ * 引数に指定されたコンポーネントを削除する。
*
- * @return ^[R[h
+ * @return リターンコード
*
* @else
* @brief Deleting an RT-Component
@@ -196,11 +196,11 @@
/*!
* @if jp
- * @brief N®ÌR|[lgÌXgðæ¾·é
+ * @brief 起動中のコンポーネントのリストを取得する
*
- * »ÝY}l[WãÅN®ÌR|[lgÌXgðÔ·B
+ * 現在当該マネージャ上で起動中のコンポーネントのリストを返す。
*
- * @return RTR|[lgÌXg
+ * @return RTコンポーネントのリスト
*
* @else
* @brief Getting RT-Component list running on this manager
@@ -215,12 +215,12 @@
/*!
* @if jp
- * @brief N®ÌR|[lgvt@CÌXgðæ¾·é
+ * @brief 起動中のコンポーネントプロファイルのリストを取得する
*
- * »ÝY}l[WãÅN®ÌR|[lgÌvt@CÌX
- * gðÔ·B
+ * 現在当該マネージャ上で起動中のコンポーネントのプロファイルのリス
+ * トを返す。
*
- * @return RTR|[lgvt@CÌXg
+ * @return RTコンポーネントプロファイルのリスト
*
* @else
* @brief Getting RT-Component's profile list running on this manager
@@ -234,14 +234,14 @@
*/
RTC::ComponentProfileList get_component_profiles();
- // manager î{
+ // manager 基本
/*!
* @if jp
- * @brief }l[WÌvt@Cðæ¾·é
+ * @brief マネージャのプロファイルを取得する
*
- * »ÝY}l[WÌvt@Cðæ¾·éB
+ * 現在当該マネージャのプロファイルを取得する。
*
- * @return }l[Wvt@C
+ * @return マネージャプロファイル
*
* @else
* @brief Getting this manager's profile.
@@ -256,11 +256,11 @@
/*!
* @if jp
- * @brief }l[WÌRtBM
[Vðæ¾·é
+ * @brief マネージャのコンフィギュレーションを取得する
*
- * »ÝY}l[WÌRtBM
[Vðæ¾·éB
+ * 現在当該マネージャのコンフィギュレーションを取得する。
*
- * @return }l[WRtBM
[V
+ * @return マネージャコンフィギュレーション
*
* @else
* @brief Getting this manager's configuration.
@@ -275,13 +275,13 @@
/*!
* @if jp
- * @brief }l[WÌRtBM
[VðÝè·é
+ * @brief マネージャのコンフィギュレーションを設定する
*
- * »ÝY}l[WÌRtBM
[VðÝè·éB
+ * 現在当該マネージャのコンフィギュレーションを設定する。
*
- * @param name Zbg·éRtBM
[VÌL[¼
- * @param value Zbg·éRtBM
[VÌl
- * @return ^[R[h
+ * @param name セットするコンフィギュレーションのキー名
+ * @param value セットするコンフィギュレーションの値
+ * @return リターンコード
*
* @else
* @brief Setting manager's configuration
@@ -298,12 +298,12 @@
/*!
* @if jp
- * @brief }l[Wª}X^[©Ç¤©
+ * @brief マネージャがマスターかどうか
*
- * ±ÌÖÍ}l[Wª}X^[©Ç¤©ðÔ·BTrueÈçÎAY}
- * l[WÍ}X^[Å èA»êÈOÍ False ðÔ·B
+ * この関数はマネージャがマスターかどうかを返す。Trueならば、当該マ
+ * ネージャはマスターであり、それ以外は False を返す。
*
- * @return }X^[}l[W©Ç¤©Ìbooll
+ * @return マスターマネージャかどうかのbool値
*
* @else
* @brief Whether this manager is master or not
@@ -319,13 +319,13 @@
/*!
* @if jp
- * @brief }X^[}l[WÌæ¾
+ * @brief マスターマネージャの取得
*
- * ±Ì}l[WªX[u}l[WÌêA}X^[ÆÈÁÄ¢é}
- * l[WÌXgðÔ·B±Ì}l[Wª}X^[ÌêAóÌX
- * gªÔéB
+ * このマネージャがスレーブマネージャの場合、マスターとなっているマ
+ * ネージャのリストを返す。このマネージャがマスターの場合、空のリス
+ * トが返る。
*
- * @return }X^[}l[WÌXg
+ * @return マスターマネージャのリスト
*
* @else
* @brief Getting master managers
@@ -342,11 +342,11 @@
/*!
* @if jp
- * @brief }X^[}l[WÌÇÁ
+ * @brief マスターマネージャの追加
*
- * ±Ì}l[WÌ}X^ƵÄ}l[WðêÂÇÁ·éB
+ * このマネージャのマスタとしてマネージャを一つ追加する。
*
- * @param mgr }X^[}l[W
+ * @param mgr マスターマネージャ
* @return ReturnCode_t
*
* @else
@@ -363,11 +363,11 @@
/*!
* @if jp
- * @brief }X^[}l[WÌí
+ * @brief マスターマネージャの削除
*
- * ±Ì}l[WªÛ·é}X^̤¿Awè³ê½àÌðí·éB
+ * このマネージャが保持するマスタのうち、指定されたものを削除する。
*
- * @param mgr }X^[}l[W
+ * @param mgr マスターマネージャ
* @return ReturnCode_t
*
* @else
@@ -384,13 +384,13 @@
/*!
* @if jp
- * @brief X[u}l[WÌæ¾
+ * @brief スレーブマネージャの取得
*
- * ±Ì}l[WªX[u}l[WÌêAX[uÆÈÁÄ¢é}
- * l[WÌXgðÔ·B±Ì}l[WªX[uÌêAóÌX
- * gªÔéB
+ * このマネージャがスレーブマネージャの場合、スレーブとなっているマ
+ * ネージャのリストを返す。このマネージャがスレーブの場合、空のリス
+ * トが返る。
*
- * @return X[u}l[WÌXg
+ * @return スレーブマネージャのリスト
*
* @else
* @brief Getting slave managers
@@ -406,11 +406,11 @@
ManagerList get_slave_managers();
/*!
* @if jp
- * @brief X[u}l[WÌÇÁ
+ * @brief スレーブマネージャの追加
*
- * ±Ì}l[WÌ}X^ƵÄ}l[WðêÂÇÁ·éB
+ * このマネージャのマスタとしてマネージャを一つ追加する。
*
- * @param mgr X[u}l[W
+ * @param mgr スレーブマネージャ
* @return ReturnCode_t
*
* @else
@@ -427,11 +427,11 @@
/*!
* @if jp
- * @brief X[u}l[WÌí
+ * @brief スレーブマネージャの削除
*
- * ±Ì}l[WªÛ·é}X^̤¿Awè³ê½àÌðí·éB
+ * このマネージャが保持するマスタのうち、指定されたものを削除する。
*
- * @param mgr X[u}l[W
+ * @param mgr スレーブマネージャ
* @return ReturnCode_t
*
* @else
@@ -450,6 +450,28 @@
RTC::ReturnCode_t shutdown();
RTC::ReturnCode_t restart();
+
+ /*!
+ * @if jp
+ * @brief 指定名のRTCオブジェクトリファレンスを取得
+ *
+ *
+ *
+ * @param name RTC名
+ * @return RTCリスト
+ *
+ * @else
+ * @brief
+ *
+ *
+ *
+ * @param name name
+ * @return list of RTC
+ *
+ * @endig
+ */
+ RTC::RTCList get_components_by_name(in string name);
+
Object get_service(in string name);
// ServiceProfileList get_service_profiles();
};
Modified: trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/ManagerServant.java
===================================================================
--- trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/ManagerServant.java 2016-03-22 07:45:51 UTC (rev 803)
+++ trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/ManagerServant.java 2016-03-22 10:02:06 UTC (rev 804)
@@ -1,6 +1,7 @@
package jp.go.aist.rtm.RTC;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Vector;
@@ -1240,6 +1241,55 @@
*/
}
/**
+ * {@.ja æå®åã®RTCãåå¾}
+ * {@.en Get RTC Object.}
+ *
+ * @param name
+ * {@.ja RTCå}
+ * {@.en RTC name}
+ *
+ * @return
+ * {@.ja RTCList}
+ * {@.en RTCList}
+ *
+ * RTCList get_components_by_name(string name)
+ *
+ */
+ public RTObject[] get_components_by_name(String name){
+ rtcout.println(Logbuf.TRACE, "get_components_by_name()");
+ Vector<RTObject_impl> rtcs = m_mgr.getComponents();
+ ArrayList<RTObject> crtcs = new ArrayList<RTObject>();
+ name.trim();
+ String[] rtc_name = name.split("/");
+ Iterator<RTObject_impl> iterator = rtcs.iterator();
+ while (iterator.hasNext()) {
+ RTObject_impl rtc = iterator.next();
+ if(rtc_name.length == 1){
+ if(rtc.getInstanceName().equals(rtc_name[0])){
+ crtcs.add(rtc.getObjRef());
+ }
+ }
+ else{
+ if(rtc_name[0].equals("*")){
+ if(rtc.getInstanceName().equals(rtc_name[1])){
+ crtcs.add(rtc.getObjRef());
+ }
+ }
+ else{
+ if(rtc.getCategory().equals(rtc_name[0])){
+ if(rtc.getInstanceName().equals(rtc_name[1])){
+ crtcs.add(rtc.getObjRef());
+ }
+ }
+ }
+ }
+ }
+
+ RTObject[] arr
+ = (RTObject[])crtcs.toArray(new RTObject[0]);
+ return arr;
+ }
+ /**
* <p></p>
*/
private jp.go.aist.rtm.RTC.Manager m_mgr;
More information about the openrtm-commit
mailing list