[openrtm-commit:02990] r3124 - in branches/RELENG_1_2/OpenRTM-aist: etc src/lib/coil/common src/lib/rtm

openrtm @ openrtm.org openrtm @ openrtm.org
2017年 12月 11日 (月) 12:23:55 JST


Author: n-ando
Date: 2017-12-11 12:23:55 +0900 (Mon, 11 Dec 2017)
New Revision: 3124

Modified:
   branches/RELENG_1_2/OpenRTM-aist/etc/rtc.conf.sample
   branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/Factory.h
   branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.cpp
   branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.h
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.cpp
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.h
   branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
Log:
merged changes from branches/FSM4RTC/OpenRTM-aist r2882-2887, 2891:
[incompat,->RELENG_1_2.->RELENG_2_0] isIPv4, isIPv6 functions have been added for Manager::setEndpointProperty(). refs #3836
[compat,->RELENG_1_2,->RELENG_2_0] Modification to avoid collision of EXTERN defined other files.
[incompat,->RELENG_1_2,->RELENG_2_0] isIPv4, isIPv6 functions have been added for Manager::setEndpointProperty(). refs #3836
[FSM4RTC,incompat,->RELENG_1_2,->RELENG_2_0] getEndpoints()  function has been added to obtain endpoints from objref . refs #3836
[FSM4RTC,incompat,->RELENG_1_2,->RELENG_2_0] setEndpointProperty() function has been added to set endpoints information ro corba.endpoints . refs #3836
[FSM4RTC,incompat,->RELENG_1_2,->RELENG_2_0] setEndpointProperty() function has been added, and corba.endpoint_property option as been added.. refs #3836
[FSM4RTC,incompat,->RELENG_1_2,->RELENG_2_0] setEndpointProperty() function has been added, and corba.endpoint_property option as been added. refs #3836


Modified: branches/RELENG_1_2/OpenRTM-aist/etc/rtc.conf.sample
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/etc/rtc.conf.sample	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/etc/rtc.conf.sample	2017-12-11 03:23:55 UTC (rev 3124)
@@ -90,7 +90,7 @@
 #   corba.endpoint: :9876        (use default addr and port 9876)
 #   corba.endpoint: myhost:9876  (use myhost and port 9876)
 #
-corba.endpoint:
+corba.endpoint: [obsolete]
 
 #
 # Multiple endpoint options (experimental)
@@ -103,7 +103,19 @@
 #   corba.endpoints: all
 #
 corba.endpoints:
+corba.endpoints_ipv4: [readonly]
+corba.endpoints_ipv6: [readonly]
 
+#
+# Specify what kind of IP addresses will be set to corba.endpoints
+#
+# Examples:
+# corba.endpoint_property: ipv4
+# corba.endpoint_property: ipv4, ipv6(0)
+# corba.endpoint_property: ipv6
+# corba.endpoint_property: ipv4(0,1), ipv6(2,3)
+#
+corba.endpoint_property:
 
 #
 # CORBA name server setting

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/Factory.h
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/Factory.h	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/Factory.h	2017-12-11 03:23:55 UTC (rev 3124)
@@ -38,7 +38,9 @@
 #   endif
 #else 
 #   define DLL_PLUGIN
+#ifndef EXTERN
 #   define EXTERN
+#endif // ifndef EXTERN
 #endif /* Windows */
 
 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.cpp
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.cpp	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.cpp	2017-12-11 03:23:55 UTC (rev 3124)
@@ -499,6 +499,65 @@
       return true;
     return false;
   }
+  bool isIPv4(const std::string& str)
+  {
+    for (size_t i(0); i < str.size(); ++i)
+      {
+        if (!((str[i] >= '0' && str[i] <= '9') ||
+              str[i] == '.' || str[i] == ':'))
+          { return false; }
+      }
+    coil::vstring tmp = coil::split(str, ":");
+    coil::vstring ipv4 = coil::split(str, ".");
+    if (ipv4.size() != 4) { return false; }
+    for (size_t i(0); i < ipv4.size(); ++i)
+      {
+        unsigned short int dec;
+        if (!coil::stringTo(dec, ipv4[i].c_str())) { return false; }
+        if (dec < 0 || dec > 255) { return false; }
+      }
+    return true;
+  }
+  bool isIPv6(const std::string& str)
+  {
+    // IPv6 address must be
+    // 1111:1111:1111:1111:1111:1111:1111:1111 (addr)
+    // [1111:1111:1111:1111:1111:1111:1111:1111]:11111 (addr, port)
+    for (size_t i(0); i < str.size(); ++i)
+      {
+        if (!((str[i] >= '0' && str[i] <= '9') ||
+             (str[i] >= 'a' && str[i] <= 'f') ||
+             (str[i] >= 'A' && str[i] <= 'F') ||
+              str[i] == ':' || str[i] == '[' || str[i] == ']'))
+          { return false; }
+      }
+    coil::vstring tmp = coil::split(str, "]:");
+    if (tmp.size() > 2) { return false; }
+    if (tmp.size() == 2)
+      {
+        if (tmp[0][0] != '[') { return false; }
+        tmp[0].erase(0, 1);
+      }
+    
+    coil::vstring ipv6 = coil::split(tmp[0], ":");
+    if (ipv6.size() > 8) { return false; }
+    for (size_t i(0); i < ipv6.size(); ++i)
+      {
+        try
+          {
+            if (ipv6[i].empty()) { continue; }
+            char* endptr = 0;
+            long int hexval = std::strtol(ipv6[i].c_str(), &endptr, 16);
+            if (errno == ERANGE) { return false; }
+            if (hexval < 0x0 || hexval > 0xFFFF) { return false; }
+          }
+        catch (...)
+          {
+            return false;
+          }
+      }
+    return true;
+  }
   
   /*!
    * @if jp

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.h
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.h	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/coil/common/stringutil.h	2017-12-11 03:23:55 UTC (rev 3124)
@@ -24,6 +24,9 @@
 #include <vector>
 #include <map>
 #include <sstream>
+#include <cassert>
+#include <errno.h>
+#include <cstdlib>
 
 #if defined (_MSC_VER) && (_MSC_VER <=1500) // VC2008(VC9.0) or before
 #else
@@ -43,13 +46,11 @@
   typedef std::map<std::string, std::string> mapstring;
   /*!
    * @if jp
-   * @brief string ¤«¤é wstring ¤Ø¤ÎÊÑ´¹
+   * @brief string ¤«¤Ewstring ¤Ø¤ÎÊÑ´¹
    *
-   * Í¿¤¨¤é¤ì¤¿ string ʸ»úÎó¤ò wstring ʸ»úÎó¤ËÊÑ´¹
+   * Í¿¤¨¤é¤E¿ string ʸ»úÎó¤Ewstring ʸ»úÎó¤ËÊÑ´¹
    *
-   * @param str std::string ·¿¤ÎÆþÎÏʸ»úÎó
-   * @return std::wstring ·¿¤Î½ÐÎÏʸ»úÎó
-   *
+   * @param str std::string ·¿¤ÎÆþÎÏʸ»ú΁E   * @return std::wstring ·¿¤Î½ÐÎÏʸ»ú΁E   *
    * @else
    * @brief string to wstring conversion
    *
@@ -64,13 +65,11 @@
 
   /*!
    * @if jp
-   * @brief wstring ¤«¤é string ¤Ø¤ÎÊÑ´¹
+   * @brief wstring ¤«¤Estring ¤Ø¤ÎÊÑ´¹
    *
-   * Í¿¤¨¤é¤ì¤¿ wstring ʸ»úÎó¤ò string ʸ»úÎó¤ËÊÑ´¹
+   * Í¿¤¨¤é¤E¿ wstring ʸ»úÎó¤Estring ʸ»úÎó¤ËÊÑ´¹
    *
-   * @param str std::wstring ·¿¤ÎÆþÎÏʸ»úÎó
-   * @return std::string ·¿¤Î½ÐÎÏʸ»úÎó
-   *
+   * @param str std::wstring ·¿¤ÎÆþÎÏʸ»ú΁E   * @return std::string ·¿¤Î½ÐÎÏʸ»ú΁E   *
    * @else
    * @brief wstring to string conversion
    *
@@ -87,10 +86,9 @@
    * @if jp
    * @brief Âçʸ»ú¤Ø¤ÎÊÑ´¹
    *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òÂçʸ»ú¤ËÊÑ´¹
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤òÂçʸ»ú¤ËÊÑ´¹
    *
-   * @param str ÆþÎÏʸ»úÎó
-   *
+   * @param str ÆþÎÏʸ»ú΁E   *
    * @else
    * @brief Uppercase String Transformation
    *
@@ -106,10 +104,9 @@
    * @if jp
    * @brief ¾®Ê¸»ú¤Ø¤ÎÊÑ´¹
    *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ò¾®Ê¸»ú¤ËÊÑ´¹
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ò¾®Ê¸»ú¤ËÊÑ´¹
    *
-   * @param str ÆþÎÏʸ»úÎó
-   *
+   * @param str ÆþÎÏʸ»ú΁E   *
    * @else
    * @brief Lowercase String Transformation
    *
@@ -123,17 +120,14 @@
 
   /*!
    * @if jp
-   * @brief ÆþÎÏ¥¹¥È¥ê¡¼¥à¤«¤é1¹ÔÆɤ߹þ¤à
-   *
-   * ÆþÎÏ¥¹¥È¥ê¡¼¥à¤«¤é1¹ÔÆɤ߹þ¤à¡£
-   * ÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¤Î²þ¹Ô¥³¡¼¥É¤ÏUNIX, Windows¤Î²þ¹Ô¥³¡¼¥É¤Î¤¤¤º¤ì¤«¡¢
+   * @brief ÆþÎÏ¥¹¥È¥ê¡¼¥à¤«¤E¹ÔÆɤ߹þ¤E   *
+   * ÆþÎÏ¥¹¥È¥ê¡¼¥à¤«¤E¹ÔÆɤ߹þ¤à¡£
+   * ÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¤Î²þ¹Ô¥³¡¼¥É¤ÏUNIX, Windows¤Î²þ¹Ô¥³¡¼¥É¤Î¤¤¤º¤E«¡¢
    * ¤â¤·¤¯¤Ïº®ºß¤·¤Æ¤¤¤Æ¤â¤è¤¤¡£
    *
-   * @param istr ÆþÎÏ¥¹¥È¥ê¡¼¥à
-   * @param line Æɤ߹þ¤ó¤Àʸ»úÎó¤ò³ÊǼ¤¹¤ëÊÑ¿ô
+   * @param istr ÆþÎÏ¥¹¥È¥ê¡¼¥E   * @param line Æɤ߹þ¤ó¤Àʸ»úÎó¤ò³ÊǼ¤¹¤EÑ¿E   *
+   * @return ²þ¹Ôʸ»ú¤ò½E¯Æɤ߹þ¤ó¤Àʸ»úÎó¤ÎŤµ
    *
-   * @return ²þ¹Ôʸ»ú¤ò½ü¤¯Æɤ߹þ¤ó¤Àʸ»úÎó¤ÎŤµ
-   *
    * @else
    * @brief Read a line from input stream
    *
@@ -151,15 +145,13 @@
   
   /*!
    * @if jp
-   * @brief ʸ»úÎ󤬥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤ë¤«È½ÃǤ¹¤ë
+   * @brief ʸ»úÎ󤬥¨¥¹¥±¡¼¥×¤µ¤EƤ¤¤E«È½ÃǤ¹¤E   *
+   * »ØÄꤵ¤E¿Ê¸»ú¤¬¥¨¥¹¥±¡¼¥×¤µ¤EƤ¤¤E«¤É¤¦¤«¤òȽÃǤ¹¤E£
    *
-   * »ØÄꤵ¤ì¤¿Ê¸»ú¤¬¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¡£
+   * @param str ¥¨¥¹¥±¡¼¥×¤µ¤EƤ¤¤E«¤É¤¦¤«È½ÃǤ¹¤E¸»ú¤ò´Þ¤àʸ»ú΁E   * @param pos ¥¨¥¹¥±¡¼¥×¤µ¤EƤ¤¤E«¤É¤¦¤«È½ÃǤ¹¤E¸»ú¤Î°ÌÃÖ
    *
-   * @param str ¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«È½ÃǤ¹¤ëʸ»ú¤ò´Þ¤àʸ»úÎó
-   * @param pos ¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«È½ÃǤ¹¤ëʸ»ú¤Î°ÌÃÖ
+   * @return »ØÄꤷ¤¿Ê¸»ú¤¬¥¨¥¹¥±¡¼¥×¤µ¤EƤ¤¤EÐ true, ¤½¤Eʳ°¤Ï false
    *
-   * @return »ØÄꤷ¤¿Ê¸»ú¤¬¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤ì¤Ð true, ¤½¤ì°Ê³°¤Ï false
-   *
    * @else
    * @brief Check whether the character is escaped or not
    *
@@ -176,19 +168,16 @@
   
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤ò¥¨¥¹¥±¡¼¥×¤¹¤ë
-   *
-   * ¼¡¤Îʸ»ú¤ò¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ËÊÑ´¹¤¹¤ë¡£<br>
+   * @brief ʸ»úÎó¤ò¥¨¥¹¥±¡¼¥×¤¹¤E   *
+   * ¼¡¤Îʸ»ú¤ò¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ËÊÑ´¹¤¹¤E£<br>
    * HT -> "\t" <br>
    * LF -> "\n" <br>
    * CR -> "\r" <br>
    * FF -> "\f" <br>
-   * ¥·¥ó¥°¥ë¥¯¥ª¡¼¥È¡¢¥À¥Ö¥ë¥¯¥ª¡¼¥È¤Ë¤Ä¤¤¤Æ¤Ï¤È¤¯¤Ë½èÍý¤Ï¤·¤Ê¤¤¡£
+   * ¥·¥ó¥°¥E¯¥ª¡¼¥È¡¢¥À¥Ö¥E¯¥ª¡¼¥È¤Ë¤Ä¤¤¤Æ¤Ï¤È¤¯¤Ë½èÍý¤Ï¤·¤Ê¤¤¡£
    *
-   * @param str ¥¨¥¹¥±¡¼¥×½èÍýÂоÝʸ»úÎó
-   *
-   * @return ¥¨¥¹¥±¡¼¥×½èÍý·ë²Ìʸ»úÎó
-   *
+   * @param str ¥¨¥¹¥±¡¼¥×½èÍýÂоÝʸ»ú΁E   *
+   * @return ¥¨¥¹¥±¡¼¥×½èÍý·EÌʸ»ú΁E   *
    * @else
    *
    * @brief Escape string
@@ -212,7 +201,7 @@
    * @if jp
    * @brief ʸ»úÎó¤Î¥¨¥¹¥±¡¼¥×¤òÌ᤹
    *
-   * ¼¡¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òʸ»ú¤ËÊÑ´¹¤¹¤ë¡£<br>
+   * ¼¡¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òʸ»ú¤ËÊÑ´¹¤¹¤E£<br>
    * "\t" -> HT <br>
    * "\n" -> LF <br>
    * "\r" -> CR <br>
@@ -219,12 +208,10 @@
    * "\f" -> FF <br>
    * "\"" -> "  <br>
    * "\'" -> '  <br>
-   * ¢¨¥¨¥¹¥±¡¼¥×½èÍý¤Î´°Á´¤ÊµÕÊÑ´¹¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢Ãí°Õ¤¬É¬Íס£
+   * ¢¨¥¨¥¹¥±¡¼¥×½èÍý¤Î´°Á´¤ÊµÕÊÑ´¹¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢ÃúÌÕ¤¬É¬Íס£
    *
-   * @param str ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍýÂоÝʸ»úÎó
-   *
-   * @return ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍý·ë²Ìʸ»úÎó
-   *
+   * @param str ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍýÂоÝʸ»ú΁E   *
+   * @return ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍý·EÌʸ»ú΁E   *
    * @else
    *
    * @brief Unescape string
@@ -248,13 +235,11 @@
 
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
-   *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+   * @brief ʸ»úÎó¤Î¶õÇòʸ»ú¤òºEE¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤Î¶õÇòʸ»ú¤òºEE¹¤E£
    * ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
    *
-   * @param str ¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
-   *
+   * @param str ¶õÇòʸ»úºEEèÍýʸ»ú΁E   *
    * @else
    * @brief Erase blank characters of string
    *
@@ -269,13 +254,11 @@
 
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤ÎÀèƬ¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
-   *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÀèƬ¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+   * @brief ʸ»úÎó¤ÎÀèƬ¤Î¶õÇòʸ»ú¤òºEE¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎÀèƬ¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE¹¤E£
    * ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
    *
-   * @param str ÀèƬ¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
-   *
+   * @param str ÀèƬ¶õÇòʸ»úºEEèÍýʸ»ú΁E   *
    * @else
    * @brief Erase the head blank characters of string
    *
@@ -290,13 +273,11 @@
   
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤ÎËöÈø¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
-   *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎËöÈø¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+   * @brief ʸ»úÎó¤ÎËöÈø¤Î¶õÇòʸ»ú¤òºEE¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎËöÈø¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE¹¤E£
    * ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
    *
-   * @param str ËöÈø¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
-   *
+   * @param str ËöÈø¶õÇòʸ»úºEEèÍýʸ»ú΁E   *
    * @else
    * @brief Erase the tail blank characters of string
    *
@@ -312,13 +293,11 @@
 
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤ÎÀèƬ¡¦ËöÈø¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
-   *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+   * @brief ʸ»úÎó¤ÎÀèƬ¡¦ËöÈø¤Î¶õÇòʸ»ú¤òºEE¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE¹¤E£
    * ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
    *
-   * @param str ÀèƬËöÈø¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
-   *
+   * @param str ÀèƬËöÈø¶õÇòʸ»úºEEèÍýʸ»ú΁E   *
    * @else
    * @brief Erase the head blank and the tail blank characters of string
    *
@@ -334,13 +313,11 @@
 
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤òÀµµ¬²½¤¹¤ë
+   * @brief ʸ»úÎó¤òÀµµ¬²½¤¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE·¡¢
+   * ±Ñ»ú¤ò¤¹¤Ù¤Æ¾®Ê¸»ú¤ËÊÑ´¹¤¹¤E£
    *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤·¡¢
-   * ±Ñ»ú¤ò¤¹¤Ù¤Æ¾®Ê¸»ú¤ËÊÑ´¹¤¹¤ë¡£
-   *
-   * @param str ½èÍýÂоÝʸ»úÎó
-   *
+   * @param str ½èÍýÂоÝʸ»ú΁E   *
    * @else
    * @brief Erase the head/tail blank and replace upper case to lower case
    *
@@ -357,14 +334,10 @@
   
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤òÃÖ¤­´¹¤¨¤ë
+   * @brief ʸ»úÎó¤òÃÖ¤­´¹¤¨¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ËÂФ·¤Æ¡¢»ØÄꤷ¤¿Ê¸»ú¤ÎÃÖ¤­´¹¤¨¤ò¹Ô¤¦¡£
    *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ËÂФ·¤Æ¡¢»ØÄꤷ¤¿Ê¸»ú¤ÎÃÖ¤­´¹¤¨¤ò¹Ô¤¦¡£
-   *
-   * @param str ÃÖ¤­´¹¤¨½èÍýÂоÝʸ»úÎó
-   * @param from ÃÖ´¹¸µÊ¸»ú
-   * @param to ÃÖ´¹Àèʸ»ú
-   *
+   * @param str ÃÖ¤­´¹¤¨½èÍýÂоÝʸ»ú΁E   * @param from ÃÖ´¹¸µÊ¸»E   * @param to ÃÖ´¹Àèʸ»E   *
    * @else
    * @brief Replace string
    *
@@ -381,14 +354,12 @@
   
   /*!
    * @if jp
-   * @brief ʸ»úÎó¤òʬ³äʸ»ú¤Çʬ³ä¤¹¤ë
-   * 
-   * ÀßÄꤵ¤ì¤¿Ê¸»úÎó¤òÍ¿¤¨¤é¤ì¤¿¥Ç¥ê¥ß¥¿¤Çʬ³ä¤¹¤ë¡£
+   * @brief ʸ»úÎó¤òʬ³äʸ»ú¤Çʬ³ä¤¹¤E   * 
+   * ÀßÄꤵ¤E¿Ê¸»úÎó¤òÍ¿¤¨¤é¤E¿¥Ç¥Eߥ¿¤Çʬ³ä¤¹¤E£
    *
-   * @param input ʬ³äÂоÝʸ»úÎó
-   * @param delimiter ʬ³äʸ»úÎó(¥Ç¥ê¥ß¥¿)
+   * @param input ʬ³äÂоÝʸ»ú΁E   * @param delimiter ʬ³äʸ»ú΁E¥Ç¥Eߥ¿)
    *
-   * @return ʸ»úÎóʬ³ä·ë²Ì¥ê¥¹¥È
+   * @return ʸ»úÎóʬ³ä·EÌ¥E¹¥È
    *
    * @else
    * @brief Split string by delimiter
@@ -408,17 +379,12 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òboolÃͤËÊÑ´¹¤¹¤ë
-   * 
-   * »ØÄꤵ¤ì¤¿Ê¸»úÎó¤ò¡¢trueɽ¸½Ê¸»úÎó¡¢falseɽ¸½Ê¸»úÎó¤ÈÈæ³Ó¤·¡¢¤½¤Î·ë²Ì¤ò
-   * boolÃͤȤ·¤ÆÊÖ¤¹¡£
-   * Èæ³Ó¤Î·ë²Ì¡¢trueɽ¸½Ê¸»úÎó¡¢falseɽ¸½Ê¸»úÎó¤Î¤É¤Á¤é¤È¤â°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢
-   * Í¿¤¨¤é¤ì¤¿¥Ç¥Õ¥©¥ë¥ÈÃͤòÊÖ¤¹¡£
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤òboolÃͤËÊÑ´¹¤¹¤E   * 
+   * »ØÄꤵ¤E¿Ê¸»úÎó¤ò¡¢trueɽ¸½Ê¸»úÎó¡¢falseɽ¸½Ê¸»úÎó¤ÈÈæ³Ó¤·¡¢¤½¤Î·E̤E   * boolÃͤȤ·¤ÆÊÖ¤¹¡£
+   * Èæ³Ó¤Î·EÌ¡¢trueɽ¸½Ê¸»úÎó¡¢falseɽ¸½Ê¸»úÎó¤Î¤É¤Á¤é¤È¤â°Eפ·¤Ê¤¤¾Eç¤Ï¡¢
+   * Í¿¤¨¤é¤E¿¥Ç¥Õ¥©¥EÈÃͤòÊÖ¤¹¡£
    *
-   * @param str ȽÃÇÂоÝʸ»úÎó
-   * @param yes trueɽ¸½Ê¸»úÎó
-   * @param no falseɽ¸½Ê¸»úÎó
-   * @param default_value ¥Ç¥Õ¥©¥ë¥ÈÃÍ(¥Ç¥Õ¥©¥ë¥ÈÃÍ:true)
+   * @param str ȽÃÇÂоÝʸ»ú΁E   * @param yes trueɽ¸½Ê¸»ú΁E   * @param no falseɽ¸½Ê¸»ú΁E   * @param default_value ¥Ç¥Õ¥©¥EÈÃÍ(¥Ç¥Õ¥©¥EÈÃÍ:true)
    * @else
    * @brief Convert given string into bool value
    * 
@@ -438,14 +404,12 @@
               bool default_value = true);
   /*!
    * @if jp
-   * @brief ʸ»úÎó¥ê¥¹¥ÈÃæ¤Ë¤¢¤ëʸ»úÎ󤬴ޤޤì¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
-   * 
-   * Âè1°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥ê¥¹¥È¤ò¡¢Âè2°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
-   * ¤½¤Îʸ»úÎó¤¬Âè1°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤ì¤ë¤«¤òȽÃǤ¹¤ë¡£
+   * @brief ʸ»úÎó¥E¹¥ÈÃæ¤Ë¤¢¤E¸»úÎ󤬴ޤޤEE«¤É¤¦¤«¤òȽÃǤ¹¤E   * 
+   * E°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥E¹¥È¤ò¡¢ÂE°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
+   * ¤½¤Îʸ»úÎó¤¬ÂE°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤EE«¤òȽÃǤ¹¤E£
    *
-   * @param list Âоݥꥹ¥È
-   * @param value õº÷ʸ»úÎó
-   * @return true: ´Þ¤Þ¤ì¤ë¡¢false: ´Þ¤Þ¤ì¤Ê¤¤
+   * @param list ÂоݥE¹¥È
+   * @param value õº÷ʸ»ú΁E   * @return true: ´Þ¤Þ¤EE¢false: ´Þ¤Þ¤Eʤ¤
    *
    * @else
    * @brief Include if a string is included in string list
@@ -464,14 +428,11 @@
 
   /*!
    * @if jp
-   * @brief ʸ»úÎó¥ê¥¹¥ÈÃæ¤Ë¤¢¤ëʸ»úÎ󤬴ޤޤì¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
-   * 
-   * Âè1°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥ê¥¹¥È¤ò¡¢Âè2°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
-   * ¤½¤Îʸ»úÎó¤¬Âè1°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤ì¤ë¤«¤òȽÃǤ¹¤ë¡£
+   * @brief ʸ»úÎó¥E¹¥ÈÃæ¤Ë¤¢¤E¸»úÎ󤬴ޤޤEE«¤É¤¦¤«¤òȽÃǤ¹¤E   * 
+   * E°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥E¹¥È¤ò¡¢ÂE°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
+   * ¤½¤Îʸ»úÎó¤¬ÂE°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤EE«¤òȽÃǤ¹¤E£
    *
-   * @param list ÂоÝʸ»úÎó
-   * @param value õº÷ʸ»úÎó
-   * @return true: ´Þ¤Þ¤ì¤ë¡¢false: ´Þ¤Þ¤ì¤Ê¤¤
+   * @param list ÂоÝʸ»ú΁E   * @param value õº÷ʸ»ú΁E   * @return true: ´Þ¤Þ¤EE¢false: ´Þ¤Þ¤Eʤ¤
    *
    * @else
    * @brief Include if a string is included in string list
@@ -490,18 +451,16 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬ÀäÂХѥ¹¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬ÀäÂХѥ¹¤«¤É¤¦¤«¤òȽÃǤ¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬ÀäÂХѥ¹É½¸½¤Ç¤¢¤E«¤É¤¦¤«¤òȽÃǤ¹¤E£
+   * ʸ»úÎ󤬰ʲ¼¤Î¾Eç¤Ë¤ÏÀäÂХѥ¹¤È¤·¤ÆȽÃǤ¹¤E£
+   *  - ÀèƬʸ»ú¤¬'/' (UNIX¤Î¾EE
+   *  - ÀèƬ£³Ê¸»ú¤¬¥¢¥EÕ¥¡¥Ù¥Ã¥È¡Ü'/'¡Ü'\\' (Windows¤Î¾EE
+   *  - ÀèƬ£²Ê¸»ú¤¬'\\\\' (Windows¥Í¥Ã¥È¥E¼¥¯¥Ñ¥¹¤Î¾EE
    *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬ÀäÂХѥ¹É½¸½¤Ç¤¢¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¡£
-   * ʸ»úÎ󤬰ʲ¼¤Î¾ì¹ç¤Ë¤ÏÀäÂХѥ¹¤È¤·¤ÆȽÃǤ¹¤ë¡£
-   *  - ÀèƬʸ»ú¤¬'/' (UNIX¤Î¾ì¹ç)
-   *  - ÀèƬ£³Ê¸»ú¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡Ü'/'¡Ü'\\' (Windows¤Î¾ì¹ç)
-   *  - ÀèƬ£²Ê¸»ú¤¬'\\\\' (Windows¥Í¥Ã¥È¥ï¡¼¥¯¥Ñ¥¹¤Î¾ì¹ç)
+   * @param str ȽāEоÝʸ»ú΁E   *
+   * @return ÀäÂХѥ¹È½ÄEEÌ
    *
-   * @param str ȽÄêÂоÝʸ»úÎó
-   *
-   * @return ÀäÂХѥ¹È½Äê·ë²Ì
-   *
    * @else
    * @brief Investigate whether the given string is absolute path or not
    *
@@ -521,16 +480,14 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬URL¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬URL¤«¤É¤¦¤«¤òȽÃǤ¹¤E   *
+   * Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬URLɽ¸½¤«¤É¤¦¤«¤òȽÃǤ¹¤E£
+   * Í¿¤¨¤é¤E¿Ê¸»úÎóÃæ¤Ë¡¢'://'¤È¤¤¤¦Ê¸»úÎ󤬴ޤޤEƤ¤¤EEç¤Ë¤Ï
+   * URLɽ¸½¤È¤·¤ÆȽÃǤ¹¤E£
    *
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬URLɽ¸½¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¡£
-   * Í¿¤¨¤é¤ì¤¿Ê¸»úÎóÃæ¤Ë¡¢'://'¤È¤¤¤¦Ê¸»úÎ󤬴ޤޤì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï
-   * URLɽ¸½¤È¤·¤ÆȽÃǤ¹¤ë¡£
+   * @param str ȽāEоÝʸ»ú΁E   *
+   * @return URLȽāEEÌ
    *
-   * @param str ȽÄêÂоÝʸ»úÎó
-   *
-   * @return URLȽÄê·ë²Ì
-   *
    * @else
    * @brief Investigate whether the given string is URL or not
    *
@@ -545,7 +502,8 @@
    * @endif
    */
   bool isURL(const std::string& str);
-
+  bool isIPv4(const std::string& str);
+  bool isIPv6(const std::string& str);
   /*!
    * @if jp
    * @brief URL¥Ñ¥é¥á¡¼¥¿¤òmapstring¤Ëʬ²ò¤·¤ÆÊÖ¤¹
@@ -552,12 +510,11 @@
    *
    * URL¥Ñ¥é¥á¡¼¥¿É½¸½ something?key0=value0&key1=value1.... ¤Î¤¦¤Á
    * '?' °Ê¹ß¤ÎÉôʬ¤òʬ²ò¤·¤Æ¡¢std::map<std::string, std::string> ·Á¼°
-   * ¤ËÊÑ´¹¤¹¤ë¡£Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òº¸¤«¤é¥µ¡¼¥Á¤·¡¢'?' ¤è¤ê±¦Â¦¤ÎÉôʬ¤Ë
-   * ¤Ä¤¤¤Æ²òÀϤò¹Ô¤¦¡£'&'¤Çʬ³ä¤·¡¢º¸¤«¤é '=' ¤ò¸¡º÷¤·¡¢ºÇ½é¤Î '=' ¤Î
-   * ±¦ÊդȺ¸ÊÕ¤ò¤½¤ì¤¾¤ì¡¢key ¤È value ¤È¤·¤Æ map ¤Ë³ÊǼ¤¹¤ë¡£
+   * ¤ËÊÑ´¹¤¹¤E£Í¿¤¨¤é¤E¿Ê¸»úÎó¤òº¸¤«¤é¥µ¡¼¥Á¤·¡¢'?' ¤è¤E¦Â¦¤ÎÉôʬ¤Ë
+   * ¤Ä¤¤¤Æ²òÀϤò¹Ô¤¦¡£'&'¤Çʬ³ä¤·¡¢º¸¤«¤E'=' ¤ò¸¡º÷¤·¡¢ºÇ½é¤Î '=' ¤Î
+   * ±¦ÊդȺ¸ÊÕ¤ò¤½¤E¾¤E¢key ¤È value ¤È¤·¤Æ map ¤Ë³ÊǼ¤¹¤E£
    *
-   * @param str ʬ²òÂоÝʸ»úÎó
-   * @return mapstring ·¿¤Î key/value¥Ç¡¼¥¿
+   * @param str ʬ²òÂоÝʸ»ú΁E   * @return mapstring ·¿¤Î key/value¥Ç¡¼¥¿
    *
    * @else
    * @brief Investigate whether the given string is URL or not
@@ -580,13 +537,13 @@
 
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤òstd::string¤ËÊÑ´¹
+   * @brief Í¿¤¨¤é¤E¿¥ª¥Ö¥¸¥§¥¯¥È¤òstd::string¤ËÊÑ´¹
    *
-   * °ú¿ô¤Ç»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤òʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£
+   * °ú¿ô¤Ç»ØÄꤵ¤E¿¥ª¥Ö¥¸¥§¥¯¥È¤òʸ»úÎó¤ËÊÑ´¹¤¹¤E£
    *
    * @param n ÊÑ´¹Âоݥª¥Ö¥¸¥§¥¯¥È
    *
-   * @return ʸ»úÎóÊÑ´¹·ë²Ì
+   * @return ʸ»úÎóÊÑ´¹·EÌ
    *
    * @else
    * @brief Convert the given object to std::string
@@ -609,15 +566,14 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿std::string¤ò¥ª¥Ö¥¸¥§¥¯¥È¤ËÊÑ´¹
+   * @brief Í¿¤¨¤é¤E¿std::string¤ò¥ª¥Ö¥¸¥§¥¯¥È¤ËÊÑ´¹
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ò»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ËÊÑ´¹¤¹¤ë¡£
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¤ò»ØÄꤵ¤E¿¥ª¥Ö¥¸¥§¥¯¥È¤ËÊÑ´¹¤¹¤E£
    *
    * @param val ÊÑ´¹À襪¥Ö¥¸¥§¥¯¥È
-   * @param str ÊÑ´¹¸µÊ¸»úÎó
+   * @param str ÊÑ´¹¸µÊ¸»ú΁E   *
+   * @return true: À®¸E false: ¼ºÇÔ
    *
-   * @return true: À®¸ù, false: ¼ºÇÔ
-   *
    * @else
    * @brief Convert the given std::string to object.
    *
@@ -643,15 +599,13 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òstd::string¤ËÊÑ´¹
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤òstd::string¤ËÊÑ´¹
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òstd::string¤ËÊÑ´¹¤¹¤ë¡£
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¤òstd::string¤ËÊÑ´¹¤¹¤E£
    *
-   * @param val ÊÑ´¹Àèʸ»úÎó
-   * @param str ÊÑ´¹¸µÊ¸»úÎó
+   * @param val ÊÑ´¹Àèʸ»ú΁E   * @param str ÊÑ´¹¸µÊ¸»ú΁E   *
+   * @return true: À®¸E false: ¼ºÇÔ
    *
-   * @return true: À®¸ù, false: ¼ºÇÔ
-   *
    * @else
    * @brief Convert the given string to std::string.
    *
@@ -669,19 +623,16 @@
 
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òbool¤ËÊÑ´¹
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤òbool¤ËÊÑ´¹
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òbool¤ËÊÑ´¹¤¹¤ë¡£true/false ¤ò»ØÄꤹ¤ë¤¿¤á
-   * ¤Ë°Ê²¼¤Îʸ»úÎ󤬻ÈÍѲÄǽ¡£Âçʸ»ú¤È¾®Ê¸»ú¤Î¶èÊ̤Ϥʤ¤¡£
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¤òbool¤ËÊÑ´¹¤¹¤E£true/false ¤ò»ØÄꤹ¤E¿¤E   * ¤Ë°Ê²¼¤Îʸ»úÎ󤬻ÈÍѲÄǽ¡£Âçʸ»ú¤È¾®Ê¸»ú¤Î¶èÊ̤Ϥʤ¤¡£
    *
    * - true: 1, true, yes, on
    * - true: 0, false, no, off
    *
-   * @param val ÊÑ´¹Àèʸ»úÎó
-   * @param str ÊÑ´¹¸µÊ¸»úÎó
+   * @param val ÊÑ´¹Àèʸ»ú΁E   * @param str ÊÑ´¹¸µÊ¸»ú΁E   *
+   * @return true: À®¸E false: ¼ºÇÔ
    *
-   * @return true: À®¸ù, false: ¼ºÇÔ
-   *
    * @else
    * @brief Convert the given string to bool
    *
@@ -693,7 +644,7 @@
    * - true: 0, false, no, off
    *
    * @param val String of conversion destination
-   * @param str String of conversion source
+   * @param val String of conversion destination
    *
    * @return true: successful, false: failed
    *
@@ -704,15 +655,13 @@
 
   /*!
    * @if jp
-   * @brief ¥Ý¥¤¥ó¥¿¤ò16¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤ë
+   * @brief ¥Ý¥¤¥ó¥¿¤E6¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤E   *
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¤E6¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤E£ÊÑ´¹¤µ¤E¿Ê¸»úÎó¤Î
+   * ÀèƬ¤Ë¤Ï "0x" ¤¬Éղ䵤EE£
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ò16¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î
-   * ÀèƬ¤Ë¤Ï "0x" ¤¬Éղ䵤ì¤ë¡£
-   *
    * @param ptr ¥Ý¥¤¥ó¥¿
    *
-   * @return 16¿Ê¿ôʸ»úÎó
-   *
+   * @return 16¿Ê¿ôʸ»ú΁E   *
    * @else
    * @brief Converting a pointer to hexadecimal string
    *
@@ -736,14 +685,12 @@
 
   /*!
    * @if jp
-   * @brief 16¿Ê¿ôʸ»úÎó¤ò¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤¹¤ë
+   * @brief 16¿Ê¿ôʸ»úÎó¤ò¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤¹¤E   *
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿16¿Ê¿ôʸ»úÎó¤òʸ»úÎó¤ò¤ËÊÑ´¹¤¹¤E£Ê¸»úÎó¤Î
+   * ÀèƬ¤Ë¤Ï "0x" ¤¬Éղ䵤EƤ¤¤EÙ¤­¤Ç¤¢¤E£
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿16¿Ê¿ôʸ»úÎó¤òʸ»úÎó¤ò¤ËÊÑ´¹¤¹¤ë¡£Ê¸»úÎó¤Î
-   * ÀèƬ¤Ë¤Ï "0x" ¤¬Éղ䵤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¢¤ë¡£
-   *
    * @param ptr ¥Ý¥¤¥ó¥¿
-   * @param str 16¿Ê¿ôʸ»úÎó
-   * @return ÊÑ´¹¤¬À®¸ù¤·¤¿¤é true¡¢¤½¤ì°Ê³°¤Ï false
+   * @param str 16¿Ê¿ôʸ»ú΁E   * @return ÊÑ´¹¤¬À®¸ù¤·¤¿¤Etrue¡¢¤½¤Eʳ°¤Ï false
    *
    * @else
    * @brief Converting hexadecimal string to a pointer
@@ -772,14 +719,13 @@
 
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤«¤é½ÅÊ£¤òºï½ü
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤«¤é½ÅÊ£¤òºEE   *
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤«¤é½ÅÊ£¤òºEE·¤¿¥E¹¥È¤òºûÜ®¤¹¤E£
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤«¤é½ÅÊ£¤òºï½ü¤·¤¿¥ê¥¹¥È¤òºîÀ®¤¹¤ë¡£
+   * @param sv ³Îǧ¸µÊ¸»úÎó¥E¹¥È
    *
-   * @param sv ³Îǧ¸µÊ¸»úÎó¥ê¥¹¥È
+   * @return ½ÅÊ£ºEEèÍý·EÌ¥E¹¥È
    *
-   * @return ½ÅÊ£ºï½ü½èÍý·ë²Ì¥ê¥¹¥È
-   *
    * @else
    * @brief Eliminate duplication from the given string list
    *
@@ -796,16 +742,15 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤«¤éCSV¤òÀ¸À®
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤«¤éCSV¤òÀ¸À®
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤Î³ÆÍ×ÁǤòʤ٤¿CSV¤òÀ¸À®¤¹¤ë¡£
-   * ʸ»úÎó¥ê¥¹¥È¤¬¶õ¤Î¾ì¹ç¤Ë¤Ï¶õÇòʸ»ú¤òÊÖ¤¹¡£
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤Î³ÆÍ×ÁǤòʤ٤¿CSV¤òÀ¸À®¤¹¤E£
+   * ʸ»úÎó¥E¹¥È¤¬¶õ¤Î¾Eç¤Ë¤Ï¶õÇòʸ»ú¤òÊÖ¤¹¡£
    *
-   * @param sv CSVÊÑ´¹ÂоÝʸ»úÎó¥ê¥¹¥È
-   * @param delimiter Àܳ¤µ¤ì¤ëʸ»úÎó¤Î´Ö¤Îʸ»ú (¥Ç¥Õ¥©¥ë¥È: ", ")
+   * @param sv CSVÊÑ´¹ÂоÝʸ»úÎó¥E¹¥È
+   * @param delimiter Àܳ¤µ¤EE¸»úÎó¤Î´Ö¤Îʸ»E(¥Ç¥Õ¥©¥EÈ: ", ")
    *
-   * @return CSVÊÑ´¹·ë²Ìʸ»úÎó
-   *
+   * @return CSVÊÑ´¹·EÌʸ»ú΁E   *
    * @else
    * @brief Create CSV file from the given string list
    *
@@ -824,15 +769,14 @@
   
   /*!
    * @if jp
-   * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤ò°ú¿ô¥ê¥¹¥È¤ËÊÑ´¹
+   * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤ò°ú¿ô¥E¹¥È¤ËÊÑ´¹
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤Î³ÆÍ×ÁÇËöÈø¤Ë'\\0'¤ò²Ã¤¨¡¢°ú¿ô¥ê¥¹¥È
-   * ¤ËÊÑ´¹¤¹¤ë¡£
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤Î³ÆÍ×ÁÇËöÈø¤Ë'\\0'¤ò²Ã¤¨¡¢°ú¿ô¥E¹¥È
+   * ¤ËÊÑ´¹¤¹¤E£
    *
-   * @param args ÊÑ´¹ÂоÝʸ»úÎó¥ê¥¹¥È
+   * @param args ÊÑ´¹ÂоÝʸ»úÎó¥E¹¥È
    *
-   * @return °ú¿ôÊÑ´¹·ë²Ìʸ»úÎó
-   *
+   * @return °ú¿ôÊÑ´¹·EÌʸ»ú΁E   *
    * @else
    * @brief Convert the given string list into the argument list
    *
@@ -850,14 +794,13 @@
 
   /*!
    * @if jp
-   * @brief »ØÄꤵ¤ì¤¿½ñ¼°¤ËÊÑ´¹
+   * @brief »ØÄꤵ¤E¿½ñ¼°¤ËÊÑ´¹
    *
-   * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿½ñ¼°¤ËÊÑ´¹¤·¤ÆÊÖ¤¹¡£
+   * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿½ñ¼°¤ËÊÑ´¹¤·¤ÆÊÖ¤¹¡£
    *
    * @param fmt ½ñ¼°
    *
-   * @return ÊÑ´¹·ë²Ìʸ»úÎó
-   *
+   * @return ÊÑ´¹·EÌʸ»ú΁E   *
    * @else
    * @brief Convert it into a format given with an argumen
    *

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp	2017-12-11 03:23:55 UTC (rev 3124)
@@ -5,7 +5,7 @@
  * @date $Date: 2007-12-31 03:06:24 $
  * @author Noriaki Ando <n-ando at aist.go.jp>
  *
- * Copyright (C) 2010
+ * Copyright (C) 2010-2016
  *     Intelligent Systems Research Institute,
  *     National Institute of
  *         Advanced Industrial Science and Technology (AIST), Japan
@@ -47,8 +47,7 @@
 
   /*!
    * @if jp
-   * @brief IOR ʸ»úÎó¤òIOR¹½Â¤ÂΤØÊÑ´¹¤¹¤ë
-   * @else
+   * @brief IOR ʸ»úÎó¤òIOR¹½Â¤ÂΤØÊÑ´¹¤¹¤E   * @else
    * @brief Convert from IOR string to IOR structure
    * @endif
    */
@@ -114,8 +113,7 @@
 #endif // ORB_IS_ORBEXPRESS
   /*!
    * @if jp
-   * @brief IOR¹½Â¤ÂΤòIORʸ»úÎó¤ØÊÑ´¹¤¹¤ë
-   * @else
+   * @brief IOR¹½Â¤ÂΤòIORʸ»úÎó¤ØÊÑ´¹¤¹¤E   * @else
    * @brief Convert from IOR structure to IOR string 
    * @endif
    */
@@ -175,8 +173,7 @@
 #endif // ORB_IS_ORBEXPRESS
   /*!
    * @if jp
-   * @brief IORÆâ¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¤òÃÖ´¹¤¹¤ë
-   * @else
+   * @brief IORÆâ¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¤òÃÖ´¹¤¹¤E   * @else
    * @brief Replace endpoint address in IOR entry
    * @endif
    */
@@ -220,7 +217,7 @@
 
   /*!
    * @if jp
-   * @brief IORʸ»úÎ󤫤é¾ðÊó¤òÃê½Ð¤·¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Îʸ»úÎó¤È¤·¤ÆÊÖ¤¹
+   * @brief IORʸ»úÎ󤫤é¾ðÊó¤òÁEФ·¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Îʸ»úÎó¤È¤·¤ÆÊÖ¤¹
    * @else
    * @brief Extracts information from IOR string and returns formatted string
    * @endif
@@ -262,20 +259,16 @@
             
             retstr << std::endl;
           }
-        else if (ior.profiles[count].tag == IOP::TAG_MULTIPLE_COMPONENTS)
           {
             
             retstr << "Multiple Component Profile ";
             IIOP::ProfileBody pBody;
-            IIOP::unmarshalMultiComponentProfile(ior.profiles[count],
                                                  pBody.components);
             print_tagged_components(retstr, pBody.components);
             
             retstr << std::endl;
             
-          }
         else
-          {
             retstr << "Unrecognised profile tag: 0x"
                    << std::hex
                    << (unsigned)(ior.profiles[count].tag)
@@ -290,7 +283,67 @@
   }
 
 
+  std::vector<IIOP::Address> getEndpoints(IOP::IOR& ior)
+  {
 #if !defined(ORB_IS_RTORB) && !defined(ORB_IS_ORBEXPRESS) && !defined(ORB_IS_TAO)
+    std::vector<IIOP::Address> addr;
+    if (ior.profiles.length() == 0 && strlen(ior.type_id) == 0)
+      {
+        std::cerr << "IOR is a nil object reference." << std::endl;
+        return addr;
+      }
+
+    for (CORBA::ULong i(0); i < ior.profiles.length(); ++i)
+      {
+        if (ior.profiles[i].tag == IOP::TAG_INTERNET_IOP)
+          {
+            IIOP::ProfileBody pBody;
+            IIOP::unmarshalProfile(ior.profiles[i], pBody);
+            addr.push_back(pBody.address);
+            extractAddrs(pBody.components, addr);
+          }
+        else if (ior.profiles[i].tag == IOP::TAG_MULTIPLE_COMPONENTS)
+          {
+            IIOP::ProfileBody pBody;
+            IIOP::unmarshalMultiComponentProfile(ior.profiles[i],
+                                                 pBody.components);
+            extractAddrs(pBody.components, addr);
+          }
+        else
+          {
+            std::cerr << "Unrecognised profile tag: 0x"
+                     << std::hex << (unsigned)(ior.profiles[i].tag)
+                     << std::dec << std::endl;
+          }
+      }
+#else // ORB_IS_RTORB
+    retstr << "RtORB does't support formatIORinfo() function." << std::endl;
+#endif // ORB_IS_RTORB
+    return addr;
+  }
+
+  void extractAddrs(IOP::MultipleComponentProfile& comp,
+                    std::vector<IIOP::Address>& addr)
+  {
+#ifndef ORB_IS_RTORB
+    for (CORBA::ULong i(0); i < comp.length(); ++i)
+      {
+        if (comp[i].tag == IOP::TAG_ALTERNATE_IIOP_ADDRESS)
+          {
+            cdrEncapsulationStream e(comp[i].component_data.get_buffer(),
+                                     comp[i].component_data.length(), 1);
+            IIOP::Address v;
+            v.host = e.unmarshalRawString();
+            v.port <<= e;
+            addr.push_back(v);
+          }
+      }
+#else // ORB_IS_RTORB
+#endif // ORB_IS_RTORB
+    return;
+  }
+
+#ifndef ORB_IS_RTORB
   //------------------------------------------------------------
   // static functions
 

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h	2017-12-11 03:23:55 UTC (rev 3124)
@@ -79,5 +79,11 @@
    */
   std::string formatIORinfo(const char* iorstr);
 
+  std::vector<IIOP::Address> getEndpoints(IOP::IOR& ior);
+
+  void extractAddrs(IOP::MultipleComponentProfile& components,
+                    std::vector<IIOP::Address>& addr);
+
+
 }; // namespace CORBA_IORUtil
 #endif // CORBA_IORUTIL_H

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.cpp
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.cpp	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.cpp	2017-12-11 03:23:55 UTC (rev 3124)
@@ -865,7 +865,9 @@
       "os.version",
       "os.arch",
       "os.hostname",
-      "corba.endpoint",
+      "corba.endpoints",
+      "corba.endpoints_ipv4",
+      "corba.endpoints_ipv6",
       "corba.id",
       "exec_cxt.periodic.type",
       "exec_cxt.periodic.rate",
@@ -887,6 +889,20 @@
       ""
     };
 
+    RTObject_impl* comp;
+    comp = factory->create(this);
+    if (comp == NULL)
+      {
+        RTC_ERROR(("RTC creation failed: %s",
+                   comp_id["implementation_id"].c_str()));
+        return NULL;
+      }
+
+    if (m_config.getProperty("corba.endpoints_ipv4") == "")
+      {
+        setEndpointProperty(comp->getObjRef());
+      }
+
     for (int i(0); inherit_prop[i][0] != '\0'; ++i)
       {
         const char* key(inherit_prop[i]);
@@ -895,15 +911,7 @@
             prop[key] = m_config[key];
           }
       }
-      
-    RTObject_impl* comp;
-    comp = factory->create(this);
-    if (comp == NULL)
-      {
-	RTC_ERROR(("RTC creation failed: %s",
-                   comp_id["implementation_id"].c_str()));
-	return NULL;
-      }
+
     RTC_TRACE(("RTC created: %s", comp_id["implementation_id"].c_str()));
     m_listeners.rtclifecycle_.postCreate(comp);
     prop << comp_prop;
@@ -1974,7 +1982,6 @@
     return true;
   }
 
-
   bool Manager::initManagerServant()
   {
     RTC_TRACE(("Manager::initManagerServant()"));
@@ -1983,6 +1990,10 @@
         return true;
       }
     m_mgrservant = new ::RTM::ManagerServant();
+    if (m_config.getProperty("corba.endpoints_ipv4") == "")
+      {
+        setEndpointProperty(m_mgrservant->getObjRef());
+      }
     coil::Properties& prop(m_config.getNode("manager"));
     std::vector<std::string> names(coil::split(prop["naming_formats"], ","));
 
@@ -2000,10 +2011,10 @@
       {
         otherref.close();
         std::ofstream reffile(m_config["manager.refstring_path"].c_str());
-	RTM::Manager_var mgr_v(RTM::Manager::
+        RTM::Manager_var mgr_v(RTM::Manager::
                                _duplicate(m_mgrservant->getObjRef()));
         CORBA::String_var str_var = m_pORB->object_to_string(mgr_v);
-	reffile << str_var;
+        reffile << str_var;
         reffile.close();
       }
     else
@@ -2432,5 +2443,114 @@
       }
     return str;
   }
-  
+
+  /*!
+   * @if jp
+   * @brief corba.endpoints ¤Ë¥¨¥ó¥É¥Ý¥¤¥ó¥È¾ðÊó¤òÀßÄꤹ¤ë
+   * @else
+   * @brief Setting endpoint info from corba.endpoints
+   * @endif
+   */
+  void Manager::setEndpointProperty(CORBA::Object_ptr objref)
+  {
+    RTC_TRACE(("sedEndpointProperty()"));
+    if (CORBA::is_nil(objref))
+      {
+        RTC_WARN(("Object reference is nil."));
+        return;
+      }
+
+    bool ipv4, ipv6;
+    std::vector<int> ipv4_list, ipv6_list;
+    endpointPropertySwitch("ipv4", ipv4, ipv4_list);
+    endpointPropertySwitch("ipv6", ipv6, ipv6_list);
+
+    CORBA::String_var iorstr = theORB()->object_to_string(objref);
+    IOP::IOR ior;
+    CORBA_IORUtil::toIOR(iorstr, ior);
+    std::vector<IIOP::Address> endpoints;
+    endpoints = CORBA_IORUtil::getEndpoints(ior);
+
+    coil::vstring epstr, epstr_ipv4, epstr_ipv6;
+    size_t ipv4_count(0), ipv6_count(0);
+
+    coil::vstring addrs;
+    for (size_t i(0); i < endpoints.size(); ++i)
+      {
+        std::string addr(endpoints[i].host);
+        if (ipv4 && coil::isIPv4(addr))
+          {
+            std::string tmp(addr + ":" + coil::otos(endpoints[i].port));
+            if (ipv4_list.size() == 0 ||
+                std::find(ipv4_list.begin(), ipv4_list.end(), ipv4_count)
+                != ipv4_list.end())
+              {
+                epstr.push_back(tmp);
+                epstr_ipv4.push_back(tmp);
+              }
+            ipv4_count += 1;
+          }
+        if (ipv6 && coil::isIPv6(addr))
+          {
+            std::string tmp("[" + addr + "]:" + coil::otos(endpoints[i].port));
+            if (ipv6_list.size() == 0 ||
+                std::find(ipv6_list.begin(), ipv6_list.end(), ipv6_count)
+                != ipv6_list.end())
+              {
+                epstr.push_back(tmp);
+                epstr_ipv6.push_back(tmp);
+              }
+            ipv6_count += 1;
+          }
+      }
+    m_config.setProperty("corba.endpoints", coil::flatten(epstr));
+    m_config.setProperty("corba.endpoints_ipv4", coil::flatten(epstr_ipv4));
+    m_config.setProperty("corba.endpoints_ipv6", coil::flatten(epstr_ipv6));
+  }
+
+  /*!
+   * @if jp
+   * @brief corba.endpoint_property ¤«¤é¥ª¥×¥·¥ç¥ó¾ðÊó¤ò¼èÆÀ¤¹¤ë
+   * @else
+   * @brief Getting option info from corba.endpoint_property
+   * @endif
+   */
+  void Manager::endpointPropertySwitch(const std::string& ipver,
+                                       bool& ip, std::vector<int>& ip_list)
+  {
+    ip = false; ip_list.resize(0);
+
+    std::string ep_prop;
+    ep_prop = m_config.getProperty("corba.endpoint_property", "ipv4");
+    coil::toLower(ep_prop);
+
+    std::string::size_type pos = ep_prop.find(ipver);
+    if (pos == std::string::npos) { return; }
+
+    ip = true;
+    pos += ipver.size();
+    if (pos >= ep_prop.size() || ep_prop[pos] != '(') { return; }
+    std::string::size_type par_begin, par_end;
+    par_begin = pos;
+    ++pos;
+    while (pos < ep_prop.size())
+      {
+        if (ep_prop[pos] == ')') { break; }
+        ++pos;
+      }
+    par_end = pos;
+
+    std::string list_num(ep_prop.substr(par_begin + 1, par_end - 1));
+    coil::vstring nums = coil::split(list_num, ",");
+    for (size_t i(0); i < nums.size(); ++i)
+      {
+        int n;
+        if (coil::stringTo(n, nums[i].c_str()))
+          {
+            ip_list.push_back(n);
+          }
+      }
+    return;
+  }
+
 };

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.h
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.h	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/Manager.h	2017-12-11 03:23:55 UTC (rev 3124)
@@ -1764,7 +1764,24 @@
     std::string formatString(const char* naming_format,
 			     coil::Properties& prop);
 
+    /*!
+     * @if jp
+     * @brief corba.endpoints ¤Ë¥¨¥ó¥É¥Ý¥¤¥ó¥È¾ðÊó¤òÀßÄꤹ¤ë
+     * @else
+     * @brief Setting endpoint info from corba.endpoints
+     * @endif
+     */
+    void setEndpointProperty(CORBA::Object_ptr objref);
 
+    /*!
+     * @if jp
+     * @brief corba.endpoint_property ¤«¤é¥ª¥×¥·¥ç¥ó¾ðÊó¤ò¼èÆÀ¤¹¤ë
+     * @else
+     * @brief Getting option info from corba.endpoint_property
+     * @endif
+     */
+    void endpointPropertySwitch(const std::string& ipver,
+                                bool& ip, std::vector<int>& ip_list);
     
     //============================================================
     // protected ÊÑ¿ô

Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2017-12-11 00:52:14 UTC (rev 3123)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2017-12-11 03:23:55 UTC (rev 3124)
@@ -121,8 +121,7 @@
   
   /*!
    * @if jp
-   * @brief ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë
-   * @else
+   * @brief ¥â¥¸¥å¡¼¥Eò¥ú½¼¥É¤¹¤E   * @else
    * @brief Loading a module
    * @endig
    */
@@ -138,8 +137,7 @@
   
   /*!
    * @if jp
-   * @brief ¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë
-   * @else
+   * @brief ¥â¥¸¥å¡¼¥Eò¥¢¥ó¥ú½¼¥É¤¹¤E   * @else
    * @brief Unloading a module
    * @endig
    */  
@@ -154,8 +152,7 @@
   
   /*!
    * @if jp
-   * @brief ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief ¥ú½¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥EÎ¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E   * @else
    * @brief Getting loadable module profiles
    * @endig
    */
@@ -208,8 +205,7 @@
   
   /*!
    * @if jp
-   * @brief ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief ¥ú½¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥EÎ¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E   * @else
    * @brief Getting loaded module profiles
    * @endig
    */
@@ -262,8 +258,7 @@
   
   /*!
    * @if jp
-   * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E   * @else
    * @brief Getting component factory profiles
    * @endig
    */
@@ -316,8 +311,7 @@
   
   /*!
    * @if jp
-   * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë
-   * @else
+   * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤E   * @else
    * @brief Creating an RT-Component
    * @endig
    */
@@ -379,8 +373,7 @@
   
   /*!
    * @if jp
-   * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë
-   * @else
+   * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºEE¹¤E   * @else
    * @brief Deleting an RT-Component
    * @endig
    */
@@ -408,8 +401,7 @@
   
   /*!
    * @if jp
-   * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥E¹¥È¤ò¼èÆÀ¤¹¤E   * @else
    * @brief Getting RT-Component list running on this manager
    * @endig
    */
@@ -458,8 +450,7 @@
   
   /*!
    * @if jp
-   * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥úÁÕ¥¡¥¤¥EÎ¥E¹¥È¤ò¼èÆÀ¤¹¤E   * @else
    * @brief Getting RT-Component's profile list running on this manager
    * @endig
    */  
@@ -509,8 +500,7 @@
   // manager ´ðËÜ
   /*!
    * @if jp
-   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E   * @else
    * @brief Getting this manager's profile.
    * @endig
    */
@@ -525,8 +515,7 @@
   
   /*!
    * @if jp
-   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤ò¼èÆÀ¤¹¤ë
-   * @else
+   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥E¼¥·¥ç¥ó¤ò¼èÆÀ¤¹¤E   * @else
    * @brief Getting this manager's configuration.
    * @endig
    */
@@ -547,8 +536,7 @@
   
   /*!
    * @if jp
-   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤òÀßÄꤹ¤ë
-   * @else
+   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥E¼¥·¥ç¥ó¤òÀßÄꤹ¤E   * @else
    * @brief Setting manager's configuration
    * @endig
    */
@@ -613,8 +601,7 @@
   
   /*!
    * @if jp
-   * @brief ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
-   * @else
+   * @brief ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÎºEE   * @else
    * @brief Removing a master manager
    * @endig
    */
@@ -640,7 +627,7 @@
   
   /*!
    * @if jp
-   * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
+   * @brief ¥¹¥E¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
    * @else
    * @brief Getting slave managers
    * @endig
@@ -655,7 +642,7 @@
 
   /*!
    * @if jp
-   * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
+   * @brief ¥¹¥E¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
    * @else
    * @brief Getting a slave manager
    * @endig
@@ -681,8 +668,7 @@
   
   /*!
    * @if jp
-   * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
-   * @else
+   * @brief ¥¹¥E¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎºEE   * @else
    * @brief Removing a slave manager
    * @endig
    */
@@ -706,8 +692,7 @@
   
   /*!
    * @if jp
-   * @brief ¥×¥í¥»¥¹¤Î¥³¥Ô¡¼¤òÀ¸À®¤¹¤ë
-   * @else
+   * @brief ¥×¥úÁ»¥¹¤Î¥³¥Ô¡¼¤òÀ¸À®¤¹¤E   * @else
    * @brief The copy of the process is generated.
    * @endif
    */
@@ -720,8 +705,7 @@
 
   /*!
    * @if jp
-   * @brief shutdown¤¹¤ë
-   * @else
+   * @brief shutdown¤¹¤E   * @else
    * @brief This method shutdowns RTC.
    * @endif
    */
@@ -733,7 +717,7 @@
 
   /*!
    * @if jp
-   * @brief ºÆµ¯Æ°¤¹¤ë¡£
+   * @brief ºÆµ¯Æ°¤¹¤E£
    * @else
    * @brief This method restarts RTC.
    * @endif
@@ -746,7 +730,7 @@
 
   /*!
    * @if jp
-   * @brief »ØÄê̾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ
+   * @brief »ØāE¾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥EÕ¥¡¥E󥹤ò¼èÆÀ
    * @else
    * @brief Obtain specific RTObject reference by name
    * @endig
@@ -801,7 +785,7 @@
 
   /*!
    * @if jp
-   * @brief RTC¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ¤¹¤ë¡£
+   * @brief RTC¤Î¥EÕ¥¡¥E󥹤ò¼èÆÀ¤¹¤E£
    * @else
    * @brief Get the reference of RTC.
    * @endif
@@ -815,7 +799,7 @@
   // Local functions
   /*!
    * @if jp
-   * @brief Manager¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ¤¹¤ë¡£
+   * @brief Manager¤Î¥EÕ¥¡¥E󥹤ò¼èÆÀ¤¹¤E£
    * @else
    * @brief Get the reference of Manager. 
    * @endif
@@ -882,7 +866,7 @@
 
   /*!
    * @if jp
-   * @brief Manager¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¸¡º÷¤¹¤ë¡£
+   * @brief Manager¤Î¥EÕ¥¡¥E󥹤ò¸¡º÷¤¹¤E£
    * @else
    * @brief Find the reference of Manager. 
    * @endif
@@ -940,7 +924,7 @@
 
   /*!
    * @if jp
-   * @brief »ØÄê̾¤Î¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
+   * @brief »ØāE¾¤Î¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
    * @else
    * @brief Obtain Manager's reference by name
    * @endif
@@ -965,7 +949,7 @@
   
   /*!
    * @if jp
-   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥ê¥¹¥È¤«¤é»ØÄê̾¤ò»ý¤Ä¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
+   * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥E¹¥È¤«¤é»ØāE¾¤ò»ý¤Ä¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
    * @else
    * @brief Obtain Manager's reference by name
    * @endif
@@ -1005,8 +989,7 @@
 
   /*!
    * @if jp
-   * @brief »ØÄê¤Î¥Þ¥Í¡¼¥¸¥ã¤ÇRTC¤òµ¯Æ°¤¹¤ë
-   * @else
+   * @brief »ØÄê¤Î¥Þ¥Í¡¼¥¸¥ã¤ÇRTC¤òµ¯Æ°¤¹¤E   * @else
    * @brief Launch RTC on specified manager
    * @endif
    */
@@ -1103,8 +1086,7 @@
   
   /*
    * @if jp
-   * @brief »ØÄꥢ¥É¥ì¥¹¤Î¥Þ¥Í¡¼¥¸¥ã¤ÇRTC¤òµ¯Æ°¤¹¤ë
-   * @else
+   * @brief »ØāE¢¥É¥E¹¤Î¥Þ¥Í¡¼¥¸¥ã¤ÇRTC¤òµ¯Æ°¤¹¤E   * @else
    * @brief Launch a RTC on the specified IP/Port address manager
    * @endif
    */



More information about the openrtm-commit mailing list