[openrtm-commit:01803] r793 - trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC

openrtm @ openrtm.org openrtm @ openrtm.org
2016年 3月 5日 (土) 16:07:22 JST


Author: win-ei
Date: 2016-03-05 16:07:22 +0900 (Sat, 05 Mar 2016)
New Revision: 793

Modified:
   trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/NamingManager.java
Log:
NamingManager can register a reference of Port to naming service. refs #3391

Modified: trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/NamingManager.java
===================================================================
--- trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/NamingManager.java	2016-03-05 06:08:59 UTC (rev 792)
+++ trunk/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/NamingManager.java	2016-03-05 07:07:22 UTC (rev 793)
@@ -314,6 +314,7 @@
             }
             unregisterCompName(name);
             unregisterMgrName(name);
+            unregisterPortName(name);
         }
     }
 
@@ -351,9 +352,20 @@
                 unbindObject(names.elementAt(i));
             }
         }
+        synchronized (m_portNames) {
+            Vector<String> names = new Vector<String>();
+            // unbindObject modifiy m_portNames
+            for (int i=0, len=m_portNames.size(); i < len; ++i) {
+                names.add(m_portNames.elementAt(i).name);
+            }
+            for (int i=0; i < names.size(); ++i) {
+                unbindObject(names.elementAt(i));
+            }
+        }
     }
 
     /**
+     *
      * {@.ja バインドされている全てのオブジェクトを取得。}
      * {@.en Get all bound objects}
      * 
@@ -374,6 +386,15 @@
         return comps;
     }
 
+    /**
+     *
+     * {@.ja 登録したネームサービスのリストを取得する}
+     * {@.en Get the list of registered NameServices.}
+     *
+     * @return 
+     *   {@.ja ネームサービスのリスト}
+     *   {@.en List of NameService}
+     */
     public Vector<NamingService> getNameServices() {
         return m_names;
     }
@@ -583,7 +604,24 @@
         return;
     }
 
+    /**
+     * {@.ja NameServer に登録するポートの設定解除}
+     * {@.en releases setting in the port registered with NameServer.}
+     *
+     * @param name 
+     *   {@.ja 設定解除対象ポートの名称}
+     *   {@.en portname)
+     *
+     */
     protected void unregisterPortName(final String name) {
+        int len = m_portNames.size();
+        for( int intIdx=0; intIdx < len; ++intIdx ) {
+            if( m_portNames.elementAt(intIdx).name.equals(name)) {
+                m_portNames.remove(m_portNames.elementAt(intIdx));
+                return;
+            }
+        }
+        return;
     }
     /**
      * {@.ja NameServer に登録するManagerServantの設定解除。}



More information about the openrtm-commit mailing list