[openrtm-commit:02984] r3118 - in trunk/OpenRTM-aist: etc src/lib/coil/common src/lib/rtm
openrtm @ openrtm.org
openrtm @ openrtm.org
2017年 12月 11日 (月) 09:30:28 JST
Author: n-ando
Date: 2017-12-11 09:30:28 +0900 (Mon, 11 Dec 2017)
New Revision: 3118
Modified:
trunk/OpenRTM-aist/etc/rtc.conf.sample
trunk/OpenRTM-aist/src/lib/coil/common/Factory.h
trunk/OpenRTM-aist/src/lib/coil/common/stringutil.cpp
trunk/OpenRTM-aist/src/lib/coil/common/stringutil.h
trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp
trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h
trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp
trunk/OpenRTM-aist/src/lib/rtm/Manager.h
trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
Log:
merged changes from branches/FSM4RTC/OpenRTM-aist r2882-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: trunk/OpenRTM-aist/etc/rtc.conf.sample
===================================================================
--- trunk/OpenRTM-aist/etc/rtc.conf.sample 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/etc/rtc.conf.sample 2017-12-11 00:30:28 UTC (rev 3118)
@@ -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: trunk/OpenRTM-aist/src/lib/coil/common/Factory.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/coil/common/Factory.h 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/coil/common/Factory.h 2017-12-11 00:30:28 UTC (rev 3118)
@@ -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: trunk/OpenRTM-aist/src/lib/coil/common/stringutil.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/coil/common/stringutil.cpp 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/coil/common/stringutil.cpp 2017-12-11 00:30:28 UTC (rev 3118)
@@ -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: trunk/OpenRTM-aist/src/lib/coil/common/stringutil.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/coil/common/stringutil.h 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/coil/common/stringutil.h 2017-12-11 00:30:28 UTC (rev 3118)
@@ -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
#elif defined(VXWORKS_66) && !defined(__RTP__)
@@ -44,13 +47,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
*
@@ -65,13 +66,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
*
@@ -88,10 +87,9 @@
* @if jp
* @brief Âçʸ»ú¤Ø¤ÎÊÑ´¹
*
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤òÂçʸ»ú¤ËÊÑ´¹
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤òÂçʸ»ú¤ËÊÑ´¹
*
- * @param str ÆþÎÏʸ»úÎó
- *
+ * @param str ÆþÎÏʸ»úÎE *
* @else
* @brief Uppercase String Transformation
*
@@ -107,10 +105,9 @@
* @if jp
* @brief ¾®Ê¸»ú¤Ø¤ÎÊÑ´¹
*
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ò¾®Ê¸»ú¤ËÊÑ´¹
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ò¾®Ê¸»ú¤ËÊÑ´¹
*
- * @param str ÆþÎÏʸ»úÎó
- *
+ * @param str ÆþÎÏʸ»úÎE *
* @else
* @brief Lowercase String Transformation
*
@@ -124,17 +121,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
*
@@ -152,15 +146,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
*
@@ -177,19 +169,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
@@ -213,7 +202,7 @@
* @if jp
* @brief ʸ»úÎó¤Î¥¨¥¹¥±¡¼¥×¤òÌ᤹
*
- * ¼¡¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òʸ»ú¤ËÊÑ´¹¤¹¤ë¡£<br>
+ * ¼¡¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òʸ»ú¤ËÊÑ´¹¤¹¤E£<br>
* "\t" -> HT <br>
* "\n" -> LF <br>
* "\r" -> CR <br>
@@ -220,12 +209,10 @@
* "\f" -> FF <br>
* "\"" -> " <br>
* "\'" -> ' <br>
- * ¢¨¥¨¥¹¥±¡¼¥×½èÍý¤Î´°Á´¤ÊµÕÊÑ´¹¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢Ãí°Õ¤¬É¬Íס£
+ * ¢¨¥¨¥¹¥±¡¼¥×½èÍý¤Î´°Á´¤ÊµÕÊÑ´¹¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢ÃúÌÕ¤¬É¬Íס£
*
- * @param str ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍýÂоÝʸ»úÎó
- *
- * @return ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍý·ë²Ìʸ»úÎó
- *
+ * @param str ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍýÂоÝʸ»úÎE *
+ * @return ¥¢¥ó¥¨¥¹¥±¡¼¥×½èÍý·EÌʸ»úÎE *
* @else
*
* @brief Unescape string
@@ -249,13 +236,11 @@
/*!
* @if jp
- * @brief ʸ»úÎó¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
- *
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+ * @brief ʸ»úÎó¤Î¶õÇòʸ»ú¤òºEE¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤Î¶õÇòʸ»ú¤òºEE¹¤E£
* ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
*
- * @param str ¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
- *
+ * @param str ¶õÇòʸ»úºEEèÍýʸ»úÎE *
* @else
* @brief Erase blank characters of string
*
@@ -270,13 +255,11 @@
/*!
* @if jp
- * @brief ʸ»úÎó¤ÎÀèƬ¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
- *
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÀèƬ¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+ * @brief ʸ»úÎó¤ÎÀèƬ¤Î¶õÇòʸ»ú¤òºEE¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎÀèƬ¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE¹¤E£
* ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
*
- * @param str ÀèƬ¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
- *
+ * @param str ÀèƬ¶õÇòʸ»úºEEèÍýʸ»úÎE *
* @else
* @brief Erase the head blank characters of string
*
@@ -291,13 +274,11 @@
/*!
* @if jp
- * @brief ʸ»úÎó¤ÎËöÈø¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
- *
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎËöÈø¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+ * @brief ʸ»úÎó¤ÎËöÈø¤Î¶õÇòʸ»ú¤òºEE¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎËöÈø¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE¹¤E£
* ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
*
- * @param str ËöÈø¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
- *
+ * @param str ËöÈø¶õÇòʸ»úºEEèÍýʸ»úÎE *
* @else
* @brief Erase the tail blank characters of string
*
@@ -313,13 +294,11 @@
/*!
* @if jp
- * @brief ʸ»úÎó¤ÎÀèƬ¡¦ËöÈø¤Î¶õÇòʸ»ú¤òºï½ü¤¹¤ë
- *
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤¹¤ë¡£
+ * @brief ʸ»úÎó¤ÎÀèƬ¡¦ËöÈø¤Î¶õÇòʸ»ú¤òºEE¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE¹¤E£
* ¶õÇòʸ»ú¤È¤·¤Æ°·¤¦¤Î¤Ï' '(¥¹¥Ú¡¼¥¹)¤È'\\t'(¥¿¥Ö)¡£
*
- * @param str ÀèƬËöÈø¶õÇòʸ»úºï½ü½èÍýʸ»úÎó
- *
+ * @param str ÀèƬËöÈø¶õÇòʸ»úºEEèÍýʸ»úÎE *
* @else
* @brief Erase the head blank and the tail blank characters of string
*
@@ -335,13 +314,11 @@
/*!
* @if jp
- * @brief ʸ»úÎó¤òÀµµ¬²½¤¹¤ë
+ * @brief ʸ»úÎó¤òÀµµ¬²½¤¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤EõÇòʸ»ú¤òºEE·¡¢
+ * ±Ñ»ú¤ò¤¹¤Ù¤Æ¾®Ê¸»ú¤ËÊÑ´¹¤¹¤E£
*
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎÀèƬ¤ª¤è¤ÓËöÈø¤Ë¸ºß¤¹¤ë¶õÇòʸ»ú¤òºï½ü¤·¡¢
- * ±Ñ»ú¤ò¤¹¤Ù¤Æ¾®Ê¸»ú¤ËÊÑ´¹¤¹¤ë¡£
- *
- * @param str ½èÍýÂоÝʸ»úÎó
- *
+ * @param str ½èÍýÂоÝʸ»úÎE *
* @else
* @brief Erase the head/tail blank and replace upper case to lower case
*
@@ -358,14 +335,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
*
@@ -382,14 +355,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
@@ -409,17 +380,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
*
@@ -439,14 +405,12 @@
bool default_value = true);
/*!
* @if jp
- * @brief ʸ»úÎó¥ê¥¹¥ÈÃæ¤Ë¤¢¤ëʸ»úÎ󤬴ޤޤì¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
- *
- * Âè1°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥ê¥¹¥È¤ò¡¢Âè2°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
- * ¤½¤Îʸ»úÎó¤¬Âè1°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤ì¤ë¤«¤òȽÃǤ¹¤ë¡£
+ * @brief ʸ»úÎó¥E¹¥ÈÃæ¤Ë¤¢¤E¸»úÎ󤬴ޤޤEE«¤É¤¦¤«¤òȽÃǤ¹¤E *
+ * ÂE°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥E¹¥È¤ò¡¢ÂE°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
+ * ¤½¤Îʸ»úÎó¤¬ÂE°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤EE«¤òȽÃǤ¹¤E£
*
- * @param list Âоݥꥹ¥È
- * @param value õº÷ʸ»úÎó
- * @return true: ´Þ¤Þ¤ì¤ë¡¢false: ´Þ¤Þ¤ì¤Ê¤¤
+ * @param list ÂоݥE¹¥È
+ * @param value õº÷ʸ»úÎE * @return true: ´Þ¤Þ¤EE¢false: ´Þ¤Þ¤Eʤ¤
*
* @else
* @brief Include if a string is included in string list
@@ -465,14 +429,11 @@
/*!
* @if jp
- * @brief ʸ»úÎó¥ê¥¹¥ÈÃæ¤Ë¤¢¤ëʸ»úÎ󤬴ޤޤì¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
- *
- * Âè1°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥ê¥¹¥È¤ò¡¢Âè2°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
- * ¤½¤Îʸ»úÎó¤¬Âè1°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤ì¤ë¤«¤òȽÃǤ¹¤ë¡£
+ * @brief ʸ»úÎó¥E¹¥ÈÃæ¤Ë¤¢¤E¸»úÎ󤬴ޤޤEE«¤É¤¦¤«¤òȽÃǤ¹¤E *
+ * ÂE°ú¿ô¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Î¥E¹¥È¤ò¡¢ÂE°ú¿ô¤Ëõº÷ÂоÝʸ»úÎó¤ò»ØÄꤷ¡¢
+ * ¤½¤Îʸ»úÎó¤¬ÂE°ú¿ô¤ÎÃæ¤Ë´Þ¤Þ¤EE«¤òȽÃǤ¹¤E£
*
- * @param list ÂоÝʸ»úÎó
- * @param value õº÷ʸ»úÎó
- * @return true: ´Þ¤Þ¤ì¤ë¡¢false: ´Þ¤Þ¤ì¤Ê¤¤
+ * @param list ÂоÝʸ»úÎE * @param value õº÷ʸ»úÎE * @return true: ´Þ¤Þ¤EE¢false: ´Þ¤Þ¤Eʤ¤
*
* @else
* @brief Include if a string is included in string list
@@ -491,18 +452,16 @@
/*!
* @if jp
- * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬ÀäÂХѥ¹¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
+ * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬ÀäÂХѥ¹¤«¤É¤¦¤«¤òȽÃǤ¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬ÀäÂХѥ¹É½¸½¤Ç¤¢¤E«¤É¤¦¤«¤òȽÃǤ¹¤E£
+ * ʸ»úÎ󤬰ʲ¼¤Î¾Eç¤Ë¤ÏÀäÂХѥ¹¤È¤·¤ÆȽÃǤ¹¤E£
+ * - ÀèƬʸ»ú¤¬'/' (UNIX¤Î¾EE
+ * - ÀèƬ£³Ê¸»ú¤¬¥¢¥EÕ¥¡¥Ù¥Ã¥È¡Ü'/'¡Ü'\\' (Windows¤Î¾EE
+ * - ÀèƬ£²Ê¸»ú¤¬'\\\\' (Windows¥Í¥Ã¥È¥E¼¥¯¥Ñ¥¹¤Î¾EE
*
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬ÀäÂХѥ¹É½¸½¤Ç¤¢¤ë¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¡£
- * ʸ»úÎ󤬰ʲ¼¤Î¾ì¹ç¤Ë¤ÏÀäÂХѥ¹¤È¤·¤ÆȽÃǤ¹¤ë¡£
- * - ÀèƬʸ»ú¤¬'/' (UNIX¤Î¾ì¹ç)
- * - ÀèƬ£³Ê¸»ú¤¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡Ü'/'¡Ü'\\' (Windows¤Î¾ì¹ç)
- * - ÀèƬ£²Ê¸»ú¤¬'\\\\' (Windows¥Í¥Ã¥È¥ï¡¼¥¯¥Ñ¥¹¤Î¾ì¹ç)
+ * @param str ȽÄEоÝʸ»úÎE *
+ * @return ÀäÂХѥ¹È½ÄEEÌ
*
- * @param str ȽÄêÂоÝʸ»úÎó
- *
- * @return ÀäÂХѥ¹È½Äê·ë²Ì
- *
* @else
* @brief Investigate whether the given string is absolute path or not
*
@@ -522,16 +481,14 @@
/*!
* @if jp
- * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬URL¤«¤É¤¦¤«¤òȽÃǤ¹¤ë
+ * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬URL¤«¤É¤¦¤«¤òȽÃǤ¹¤E *
+ * Í¿¤¨¤é¤E¿Ê¸»úÎó¤¬URLɽ¸½¤«¤É¤¦¤«¤òȽÃǤ¹¤E£
+ * Í¿¤¨¤é¤E¿Ê¸»úÎóÃæ¤Ë¡¢'://'¤È¤¤¤¦Ê¸»úÎ󤬴ޤޤEƤ¤¤EEç¤Ë¤Ï
+ * URLɽ¸½¤È¤·¤ÆȽÃǤ¹¤E£
*
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤¬URLɽ¸½¤«¤É¤¦¤«¤òȽÃǤ¹¤ë¡£
- * Í¿¤¨¤é¤ì¤¿Ê¸»úÎóÃæ¤Ë¡¢'://'¤È¤¤¤¦Ê¸»úÎ󤬴ޤޤì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï
- * URLɽ¸½¤È¤·¤ÆȽÃǤ¹¤ë¡£
+ * @param str ȽÄEоÝʸ»úÎE *
+ * @return URLȽÄEEÌ
*
- * @param str ȽÄêÂоÝʸ»úÎó
- *
- * @return URLȽÄê·ë²Ì
- *
* @else
* @brief Investigate whether the given string is URL or not
*
@@ -546,6 +503,8 @@
* @endif
*/
bool isURL(const std::string& str);
+ bool isIPv4(const std::string& str);
+ bool isIPv6(const std::string& str);
/*!
* @if jp
@@ -553,12 +512,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
@@ -581,21 +539,20 @@
/*!
* @if jp
- * @brief Í¿¤¨¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤òstd::string¤ËÊÑ´¹
+ * @brief Í¿¤¨¤é¤E¿std::string¤ò¥ª¥Ö¥¸¥§¥¯¥È¤ËÊÑ´¹
*
- * °ú¿ô¤Ç»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤òʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£
+ * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¤ò»ØÄꤵ¤E¿¥ª¥Ö¥¸¥§¥¯¥È¤ËÊÑ´¹¤¹¤E£
*
- * @param n ÊÑ´¹Âоݥª¥Ö¥¸¥§¥¯¥È
+ * @param val ÊÑ´¹À襪¥Ö¥¸¥§¥¯¥È
+ * @param str ÊÑ´¹¸µÊ¸»úÎE *
+ * @return true: À®¸E false: ¼ºÇÔ
*
- * @return ʸ»úÎóÊÑ´¹·ë²Ì
- *
* @else
- * @brief Convert the given object to std::string
+ * @brief Convert the given std::string to object.
*
- * Convert the object specified by the argument to string.
+ * Convert string given by the argument to specified object.
*
* @param n The target object for conversion
- *
* @return String conversion result
*
* @endif
@@ -610,15 +567,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.
*
@@ -644,15 +600,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.
*
@@ -670,19 +624,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
*
@@ -705,15 +656,13 @@
/*!
* @if jp
- * @brief ¥Ý¥¤¥ó¥¿¤ò16¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤ë
+ * @brief ¥Ý¥¤¥ó¥¿¤E6¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤E *
+ * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¤E6¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤E£ÊÑ´¹¤µ¤E¿Ê¸»úÎó¤Î
+ * ÀèƬ¤Ë¤Ï "0x" ¤¬Éղ䵤EE£
*
- * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ò16¿Ê¿ôʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î
- * ÀèƬ¤Ë¤Ï "0x" ¤¬Éղ䵤ì¤ë¡£
- *
* @param ptr ¥Ý¥¤¥ó¥¿
*
- * @return 16¿Ê¿ôʸ»úÎó
- *
+ * @return 16¿Ê¿ôʸ»úÎE *
* @else
* @brief Converting a pointer to hexadecimal string
*
@@ -741,14 +690,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
@@ -781,14 +728,13 @@
/*!
* @if jp
- * @brief Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤«¤é½ÅÊ£¤òºï½ü
+ * @brief Í¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤«¤é½ÅÊ£¤òºEE *
+ * °ú¿ô¤ÇÍ¿¤¨¤é¤E¿Ê¸»úÎó¥E¹¥È¤«¤é½ÅÊ£¤òºEE·¤¿¥E¹¥È¤òºûÜ®¤¹¤E£
*
- * °ú¿ô¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸»úÎó¥ê¥¹¥È¤«¤é½ÅÊ£¤òºï½ü¤·¤¿¥ê¥¹¥È¤òºîÀ®¤¹¤ë¡£
+ * @param sv ³Îǧ¸µÊ¸»úÎó¥E¹¥È
*
- * @param sv ³Îǧ¸µÊ¸»úÎó¥ê¥¹¥È
+ * @return ½ÅÊ£ºEEèÍý·EÌ¥E¹¥È
*
- * @return ½ÅÊ£ºï½ü½èÍý·ë²Ì¥ê¥¹¥È
- *
* @else
* @brief Eliminate duplication from the given string list
*
@@ -805,16 +751,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 Àܳ¤µ¤EE¸»úÎó¤Î´Ö¤Îʸ»E(¥Ç¥Õ¥©¥EÈ: ", ")
*
- * @return CSVÊÑ´¹·ë²Ìʸ»úÎó
- *
+ * @return CSVÊÑ´¹·EÌʸ»úÎE *
* @else
* @brief Create CSV file from the given string list
*
@@ -833,15 +778,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
*
@@ -859,14 +803,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: trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.cpp 2017-12-11 00:30:28 UTC (rev 3118)
@@ -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
@@ -48,8 +48,7 @@
/*!
* @if jp
- * @brief IOR ʸ»úÎó¤òIOR¹½Â¤ÂΤØÊÑ´¹¤¹¤ë
- * @else
+ * @brief IOR ʸ»úÎó¤òIOR¹½Â¤ÂΤØÊÑ´¹¤¹¤E * @else
* @brief Convert from IOR string to IOR structure
* @endif
*/
@@ -116,8 +115,7 @@
/*!
* @if jp
- * @brief IOR¹½Â¤ÂΤòIORʸ»úÎó¤ØÊÑ´¹¤¹¤ë
- * @else
+ * @brief IOR¹½Â¤ÂΤòIORʸ»úÎó¤ØÊÑ´¹¤¹¤E * @else
* @brief Convert from IOR structure to IOR string
* @endif
*/
@@ -178,8 +176,7 @@
/*!
* @if jp
- * @brief IORÆâ¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¤òÃÖ´¹¤¹¤ë
- * @else
+ * @brief IORÆâ¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¤òÃÖ´¹¤¹¤E * @else
* @brief Replace endpoint address in IOR entry
* @endif
*/
@@ -223,7 +220,7 @@
/*!
* @if jp
- * @brief IORʸ»úÎ󤫤é¾ðÊó¤òÃê½Ð¤·¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Îʸ»úÎó¤È¤·¤ÆÊÖ¤¹
+ * @brief IORʸ»úÎ󤫤é¾ðÊó¤òÃEФ·¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Îʸ»úÎó¤È¤·¤ÆÊÖ¤¹
* @else
* @brief Extracts information from IOR string and returns formatted string
* @endif
@@ -265,20 +262,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)
@@ -292,9 +285,70 @@
return retstr.str();
}
-
#if !defined(ORB_IS_RTORB) && !defined(ORB_IS_ORBEXPRESS) && !defined(ORB_IS_TAO)
+ std::vector<IIOP::Address> getEndpoints(IOP::IOR& ior)
+ {
//------------------------------------------------------------
+#ifndef ORB_IS_RTORB
+ 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;
+ }
+#endif // !ORB_IS_RTORB, !ORB_IS_ORBEXPRESS, !ORB_IS_TAO
+
+#ifndef ORB_IS_RTORB
+ //------------------------------------------------------------
// static functions
static void print_key(std::stringstream& sstr, OctetUSequence& key)
Modified: trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/rtm/CORBA_IORUtil.h 2017-12-11 00:30:28 UTC (rev 3118)
@@ -85,5 +85,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: trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp 2017-12-11 00:30:28 UTC (rev 3118)
@@ -873,7 +873,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",
@@ -898,6 +900,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]);
@@ -906,15 +922,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;
@@ -1999,7 +2007,6 @@
return true;
}
-
bool Manager::initManagerServant()
{
RTC_TRACE(("Manager::initManagerServant()"));
@@ -2008,6 +2015,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"], ","));
@@ -2025,10 +2036,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
@@ -2457,5 +2468,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: trunk/OpenRTM-aist/src/lib/rtm/Manager.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/Manager.h 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/rtm/Manager.h 2017-12-11 00:30:28 UTC (rev 3118)
@@ -1768,7 +1768,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: trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp 2017-12-10 22:41:30 UTC (rev 3117)
+++ trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp 2017-12-11 00:30:28 UTC (rev 3118)
@@ -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
*/
@@ -212,8 +209,7 @@
/*!
* @if jp
- * @brief ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
- * @else
+ * @brief ¥ú½¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥EÎ¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E * @else
* @brief Getting loaded module profiles
* @endig
*/
@@ -270,8 +266,7 @@
/*!
* @if jp
- * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
- * @else
+ * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E * @else
* @brief Getting component factory profiles
* @endig
*/
@@ -328,8 +323,7 @@
/*!
* @if jp
- * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë
- * @else
+ * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤E * @else
* @brief Creating an RT-Component
* @endig
*/
@@ -391,8 +385,7 @@
/*!
* @if jp
- * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë
- * @else
+ * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºEE¹¤E * @else
* @brief Deleting an RT-Component
* @endig
*/
@@ -420,8 +413,7 @@
/*!
* @if jp
- * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
- * @else
+ * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥E¹¥È¤ò¼èÆÀ¤¹¤E * @else
* @brief Getting RT-Component list running on this manager
* @endig
*/
@@ -474,8 +466,7 @@
/*!
* @if jp
- * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
- * @else
+ * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥úÁÕ¥¡¥¤¥EÎ¥E¹¥È¤ò¼èÆÀ¤¹¤E * @else
* @brief Getting RT-Component's profile list running on this manager
* @endig
*/
@@ -529,8 +520,7 @@
// manager ´ðËÜ
/*!
* @if jp
- * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
- * @else
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥×¥úÁÕ¥¡¥¤¥Eò¼èÆÀ¤¹¤E * @else
* @brief Getting this manager's profile.
* @endig
*/
@@ -545,8 +535,7 @@
/*!
* @if jp
- * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤ò¼èÆÀ¤¹¤ë
- * @else
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥E¼¥·¥ç¥ó¤ò¼èÆÀ¤¹¤E * @else
* @brief Getting this manager's configuration.
* @endig
*/
@@ -567,8 +556,7 @@
/*!
* @if jp
- * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤òÀßÄꤹ¤ë
- * @else
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥E¼¥·¥ç¥ó¤òÀßÄꤹ¤E * @else
* @brief Setting manager's configuration
* @endig
*/
@@ -633,8 +621,7 @@
/*!
* @if jp
- * @brief ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
- * @else
+ * @brief ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÎºEE * @else
* @brief Removing a master manager
* @endig
*/
@@ -660,7 +647,7 @@
/*!
* @if jp
- * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
+ * @brief ¥¹¥E¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
* @else
* @brief Getting slave managers
* @endig
@@ -675,7 +662,7 @@
/*!
* @if jp
- * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
+ * @brief ¥¹¥E¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
* @else
* @brief Getting a slave manager
* @endig
@@ -701,8 +688,7 @@
/*!
* @if jp
- * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
- * @else
+ * @brief ¥¹¥E¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎºEE * @else
* @brief Removing a slave manager
* @endig
*/
@@ -726,8 +712,7 @@
/*!
* @if jp
- * @brief ¥×¥í¥»¥¹¤Î¥³¥Ô¡¼¤òÀ¸À®¤¹¤ë
- * @else
+ * @brief ¥×¥úÁ»¥¹¤Î¥³¥Ô¡¼¤òÀ¸À®¤¹¤E * @else
* @brief The copy of the process is generated.
* @endif
*/
@@ -740,8 +725,7 @@
/*!
* @if jp
- * @brief shutdown¤¹¤ë
- * @else
+ * @brief shutdown¤¹¤E * @else
* @brief This method shutdowns RTC.
* @endif
*/
@@ -753,7 +737,7 @@
/*!
* @if jp
- * @brief ºÆµ¯Æ°¤¹¤ë¡£
+ * @brief ºÆµ¯Æ°¤¹¤E£
* @else
* @brief This method restarts RTC.
* @endif
@@ -766,7 +750,7 @@
/*!
* @if jp
- * @brief »ØÄê̾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ
+ * @brief »ØÄE¾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥EÕ¥¡¥E󥹤ò¼èÆÀ
* @else
* @brief Obtain specific RTObject reference by name
* @endig
@@ -821,7 +805,7 @@
/*!
* @if jp
- * @brief RTC¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ¤¹¤ë¡£
+ * @brief RTC¤Î¥EÕ¥¡¥E󥹤ò¼èÆÀ¤¹¤E£
* @else
* @brief Get the reference of RTC.
* @endif
@@ -835,7 +819,7 @@
// Local functions
/*!
* @if jp
- * @brief Manager¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ¤¹¤ë¡£
+ * @brief Manager¤Î¥EÕ¥¡¥E󥹤ò¼èÆÀ¤¹¤E£
* @else
* @brief Get the reference of Manager.
* @endif
@@ -910,7 +894,7 @@
/*!
* @if jp
- * @brief Manager¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¸¡º÷¤¹¤ë¡£
+ * @brief Manager¤Î¥EÕ¥¡¥E󥹤ò¸¡º÷¤¹¤E£
* @else
* @brief Find the reference of Manager.
* @endif
@@ -972,7 +956,7 @@
/*!
* @if jp
- * @brief »ØÄê̾¤Î¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
+ * @brief »ØÄE¾¤Î¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
* @else
* @brief Obtain Manager's reference by name
* @endif
@@ -997,7 +981,7 @@
/*!
* @if jp
- * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥ê¥¹¥È¤«¤é»ØÄê̾¤ò»ý¤Ä¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¤Î¥E¹¥È¤«¤é»ØÄE¾¤ò»ý¤Ä¥Þ¥Í¡¼¥¸¥ã¤ò¼èÆÀ
* @else
* @brief Obtain Manager's reference by name
* @endif
@@ -1037,8 +1021,7 @@
/*!
* @if jp
- * @brief »ØÄê¤Î¥Þ¥Í¡¼¥¸¥ã¤ÇRTC¤òµ¯Æ°¤¹¤ë
- * @else
+ * @brief »ØÄê¤Î¥Þ¥Í¡¼¥¸¥ã¤ÇRTC¤òµ¯Æ°¤¹¤E * @else
* @brief Launch RTC on specified manager
* @endif
*/
@@ -1135,8 +1118,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