[openrtm-commit:02967] r3103 - in branches/RELENG_1_2/OpenRTM-aist: src/lib/rtm src/lib/rtm/idl utils/rtcd
openrtm @ openrtm.org
openrtm @ openrtm.org
2017年 12月 10日 (日) 14:59:28 JST
Author: n-ando
Date: 2017-12-10 14:59:28 +0900 (Sun, 10 Dec 2017)
New Revision: 3103
Added:
branches/RELENG_1_2/OpenRTM-aist/utils/rtcd/systemd/
Modified:
branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/idl/Manager.idl
Log:
merged changes from trunk/OpenRTM-aist 2991-2993 during 2017-05:
[compat,bugfix,->RELENG_1_2] c_str() has been added to std::string.
[compat,install,->RELENG_1_2] Systemd startup configuration file has been added.
[compat,document,->RELENG_1_2] Manager.idl (Manager servant) interface has been detailed documented.
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-10 00:14:39 UTC (rev 3102)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp 2017-12-10 05:59:28 UTC (rev 3103)
@@ -859,7 +859,7 @@
#endif // ORB_IS_RTORB
// Object activation
- RTC_DEBUG(("Activating manager with id(%s)", config["manager.name"]));
+ RTC_DEBUG(("Activating manager with id(%s)", config["manager.name"].c_str()));
poa->activate_object_with_id(id.in(), this);
CORBA::Object_var mgrobj = poa->id_to_reference(id);
@@ -1031,7 +1031,7 @@
// detect languange
std::string lang = param["language"];
if (lang.empty()) { lang = "C++"; }
- RTC_INFO(("Specified manager's language: %s", lang));
+ RTC_INFO(("Specified manager's language: %s", lang.c_str()));
RTM::Manager_var mgrobj = findManagerByName(mgrstr);
if (CORBA::is_nil(mgrobj))
@@ -1136,7 +1136,7 @@
// detect languange
std::string lang = param["language"];
if (lang.empty()) { lang = "C++"; }
- RTC_INFO(("Specified manager's language: %s", lang));
+ RTC_INFO(("Specified manager's language: %s", lang.c_str()));
// find manager
RTM::Manager_var mgrobj = findManager(mgrstr);
Modified: branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/idl/Manager.idl
===================================================================
--- branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/idl/Manager.idl 2017-12-10 00:14:39 UTC (rev 3102)
+++ branches/RELENG_1_2/OpenRTM-aist/src/lib/rtm/idl/Manager.idl 2017-12-10 05:59:28 UTC (rev 3103)
@@ -5,9 +5,7 @@
* @date $Date: 2005-05-12 09:06:18 $
* @author Noriaki Ando <n-ando at aist.go.jp>
*
- * Copyright (C) 2003-2005
- * Task-intelligence Research Group,
- * Intelligent Systems Research Institute,
+ * Copyright (C) 2003-2017
* National Institute of
* Advanced Industrial Science and Technology (AIST), Japan
* All rights reserved.
@@ -45,6 +43,69 @@
interface Manager;
typedef sequence<Manager> ManagerList;
+ /*!
+ * @if jp
+ * @interface Manager
+ *
+ * RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤Î´ÉÍý¤Ê¤É¤ò¹Ô¤¦Manager¤Ø¤Î³°Éô¥¤
+ * ¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡£¼ç¤¿¤ëµ¡Ç½¤È¤·¤Æ¤Ï¡¢°Ê²¼¤Î¤â¤Î¤¬¤¢¤ë¡£
+ *
+ * - RTC¤Î¥í¡¼¥À¥Ö¥ë¥â¥¸¥å¡¼¥ë¤ÎÁàºî
+ * - ¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É
+ * - ¥â¥¸¥å¡¼¥ë¤Î¥¢¥ó¥í¡¼¥É
+ * - ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë°ìÍ÷¤Î¼èÆÀ
+ * - ¥í¡¼¥ÉºÑ¤ß¥â¥¸¥å¡¼¥ë°ìÍ÷¤Î¼èÆÀ
+ * - ¥í¡¼¥ÉºÑ¤ß¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë°ìÍ÷¤Î¼èÆÀ
+ * - RTC¤Ë´Ø¤¹¤ëÁàºî
+ * - ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ¸À®
+ * - ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Îºï½ü
+ * - ¥¤¥ó¥¹¥¿¥ó¥¹²½ºÑ¤ß¤ÎRTC°ìÍ÷¤Î¼èÆÀ
+ * - ¥¤¥ó¥¹¥¿¥ó¥¹²½ºÑ¤ß¤ÎRTC¤Î¥×¥í¥Õ¥¡¥¤¥ë°ìÍ÷¤Î¼èÆÀ
+ * - ̾Á°¤Ë¤è¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¼èÆÀ
+ * - ¥Þ¥Í¡¼¥¸¥ã¤Ë´Ø¤¹¤ëÁàºî
+ * - ¥Þ¥Í¡¼¥¸¥ã¤Î¥×¥í¥Õ¥¡¥¤¥ë¾ðÊó¤Î¼èÆÀ
+ * - ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¾ðÊó¤Î¼èÆÀ
+ * - ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¾ðÊó¤ÎÀßÄê
+ * - ¥Þ¥Í¡¼¥¸¥ã¤¬¥Þ¥¹¥¿¡¼¤«¤É¤¦¤«
+ * - ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
+ * - ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
+ * - ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
+ * - ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
+ * - ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
+ * - ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
+ * - ¥µ¡¼¥Ó¥¹¤Î¼èÆÀ
+ * - ¥×¥í¥»¥¹Áàºî
+ * - ¥Õ¥©¡¼¥¯
+ * - ¥·¥ã¥Ã¥È¥À¥¦¥ó
+ * - ¥ê¥¹¥¿¡¼¥È
+ *
+ * ¥Þ¥Í¡¼¥¸¥ã¤Ë¤Ï¡¢Æ±°ì¥Î¡¼¥ÉÆâ¤Ç¸¶Â§1¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼
+ * ¥¸¥ã¤È¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Î´ÉÍý²¼¤Ë0¸Ä°Ê¾å¸ºß¤¹¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼
+ * ¥¸¥ã¤¬Â¸ºß¤¹¤ë¡£
+ *
+ * ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÏÄ̾¥Ç¡¼¥â¥ó¡¦¥µ¡¼¥Ó¥¹¤Ê¤É¤È¤·¤Æ¾ïÃó¤·¡¢¥Î¡¼
+ * ¥É¤ÎOS²ÔƯÃæ¤Ï¸¶Â§¤È¤·¤Æ¾ï¤ËÆ°ºî¤·Â³¤±¤ë¡£¤Þ¤¿¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
+ * ¤Ï¼«¿È¤ÎÆâÉô¤ËRTC¤òÀ¸À®¡¦¥Û¥¹¥È¤»¤º¡¢RTC¤ÎÀ¸À®¤Ï¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
+ * ¤Ë°ÍÍꤹ¤ë¡£°ÍÍꤹ¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤ë¤â¤Î¤Ç
+ * ¤â¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤¬¿·µ¬¤Ëµ¯Æ°¤·¤Æ¤â¤è¤¤¡£¤É¤Á¤é¤ÎÊýË¡¤ÇRTC¤ò
+ * À¸À®¤¹¤ë¤«¤Ï¡¢create_component() ¤Î°ú¿ô¤Ë¤Æ»ØÄꤹ¤ë¡£¤Ê¤ª¡¢¥¹¥ì¡¼
+ * ¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÏÄ̾1¤Ä°Ê¾å¤ÎRTC¤ò¥Û¥¹¥È¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢
+ * RTC¤ò¥Û¥¹¥È¤·¤Æ¤¤¤Ê¤¤¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¼«Æ°½ªÎ»¤¹¤ë¡£
+ * ÀßÄê¹àÌÜ¡§
+ * - manager.shutdown_on_nortcs: YES
+ * - manager.shutdown_auto: YES
+ *
+ * <pre>
+ * 1 0..* 1 1..*
+ * [ master ]<>----------[ slave ]<>----------[ RTC ]
+ *
+ * </pre>
+ *
+ * @else
+ * @interface
+ *
+ * @endif
+ */
interface Manager
{
// module ´ØÏ¢
@@ -53,7 +114,10 @@
* @brief ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë
*
* Åö³º¥Þ¥Í¡¼¥¸¥ã¤Ë»ØÄꤵ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¡¢»ØÄꤵ¤ì¤¿½é´ü²½
- * ´Ø¿ô¤Ç½é´ü²½¤ò¹Ô¤¦¡£
+ * ´Ø¿ô¤Ç½é´ü²½¤ò¹Ô¤¦¡£Ç¤°Õ¤Î¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë (.so, .dll)
+ * ¤ò¥í¡¼¥É²Äǽ¤Ç¤¢¤ê¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ë¸Â
+ * ¤é¤Ê¤¤¡£Ä̾RTC¤ÎÀ¸À®»þ¤Ï¼«Æ°Åª¤Ë¥í¡¼¥É¥Ñ¥¹¾å¤ò¶¦Í¥ª¥Ö¥¸¥§¥¯
+ * ¥È¥Õ¥¡¥¤¥ë¤òõº÷¤¹¤ë¤¿¤á¡¢¤³¤ÎÁàºî¤ò¸Æ¤Ó½Ð¤¹É¬ÍפϤʤ¤¡£
*
* @param pathname ¥â¥¸¥å¡¼¥ë¤Ø¤Î¥Ñ¥¹
* @param initfunc ¥â¥¸¥å¡¼¥ë¤Î½é´ü²½´Ø¿ô
@@ -63,7 +127,12 @@
* @brief Loading a module
*
* This operation loads a specified loadable module¡¢and perform
- * initialization with the specified function.
+ * initialization with the specified function. Any kind of shared
+ * objects (.so, .dll) not only RT-Component's shared object can
+ * be loadable. Usually, you do not need to call this operation to
+ * create RT-Components, because RTC creation operation
+ * automatically search RTC's loadable module in the specified
+ * load path.
*
* @param pathname A path to a loading module.
* @param initfunc Module initialization function.
@@ -77,7 +146,13 @@
* @if jp
* @brief ¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë
*
- * Åö³º¥Þ¥Í¡¼¥¸¥ã¤Ë»ØÄꤵ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¡£
+ * Åö³º¥Þ¥Í¡¼¥¸¥ã¤Ë»ØÄꤵ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¡£¸½ºß¤Î¤È¤³
+ * ¤í¡¢OpenRTM-aist¤Î¥â¥¸¥å¡¼¥ë¥í¡¼¥Éµ¡Ç½¤Ï¡¢¥í¡¼¥É¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë
+ * ¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥«¥¦¥ó¥È´ÉÍýÅù¤Ï¹Ô¤ï¤ì
+ * ¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢°Â°×¤Ë¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¤È¡¢¥á¥â¥ê¥¢¥¯¥»¥¹
+ * °ãÈ¿¤ò°ú¤µ¯¤³¤¹¶²¤ì¤¬¤¢¤ë¡£¤¿¤À¡¢Â¿¤¯¤ÎưŪ¥é¥¤¥Ö¥é¥ê¤Î¥¢¥ó¥í¡¼
+ * ¥É¤Î¼ÂÁõ¤Ç¤Ï¡¢¼ÂºÝ¤Ë¥á¥â¥ê¾å¤«¤é¥¢¥ó¥í¡¼¥É¤µ¤ì¤Ê¤¤¥±¡¼¥¹¤¬Â¿¤¯¡¢
+ * ¤·¤¿¤¬¤Ã¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¸Æ¤Ó½Ð¤¹¤³¤È¤ò¿ä¾©¤·¤Ê¤¤¡£
*
* @param pathname ¥â¥¸¥å¡¼¥ë¤Ø¤Î¥Ñ¥¹
* @return ¥ê¥¿¡¼¥ó¥³¡¼¥É
@@ -85,7 +160,13 @@
* @else
* @brief Unloading a module
*
- * This operation unloads a specified loadable module.
+ * This operation unloads a specified loadable module. Currently
+ * since OpenRTM-aist's module load function does not manage
+ * object reference count which is created from the loaded shared
+ * object, unloading might cause segmentation fault. However, most
+ * of unload function implementation actually does not unload
+ * shared object from memory space, and it is not recommended to
+ * call this operation in actual use.
*
* @param pathname A path to a loading module.
* @return The return code.
@@ -98,17 +179,112 @@
* @if jp
* @brief ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
*
- * ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£
+ * ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£¥í¡¼¥É²Äǽ¤ÊRT¥³
+ * ¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Ï¡¢¤¢¤é¤«¤¸¤áÀßÄꤵ¤ì¤¿¥â
+ * ¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹¤ËÂФ·¤Æ¡¢¥×¥í¥Õ¥¡¥¤¥ë¼èÆÀ¥³¥Þ¥ó¥É¤òÊÌ¥×¥í¥»¥¹
+ * ¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤Ç¼èÆÀ¤¹¤ë¡£¥×¥í¥Õ¥¡¥¤¥ë¼èÆÀÂоݤȤʤë¸À¸ì¤Î¼ïÎà¤Ï¡¢
*
- * @return ¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë
+ * - manager.supported_language: C++, Python, Java
*
+ * ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¡£¤³¤³¤Ç»ØÄꤵ¤ì¤¿¸À¸ì¤ËÂФ·¤Æ¡¢°Ê²¼¤Î¥×¥í¥Ñ¥Æ¥£
+ * ¤Ç¸À¸ìËè¤Î¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹¡¢¥×¥í¥Õ¥¡¥¤¥ë¼èÆÀ¥³¥Þ¥ó¥É¡¢¥â¥¸¥å¡¼
+ * ¥ë³ÈÄ¥»Ò¤¬»ØÄꤵ¤ì¤ë¡£
+ *
+ * - manager.modules.<¸À¸ì>.load_paths: ./ (¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹)
+ * - manager.modules.<¸À¸ì>.profile_cmd: rtcprofÅù¥³¥Þ¥ó¥É̾
+ * - manager.modules.<¸À¸ì>.suffixes: ¥â¥¸¥å¡¼¥ë³ÈÄ¥»Ò
+ *
+ * Î㤨¤Ð¡¢C++ ¸À¸ì¤Î¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥×¥í¥Ñ¥Æ¥£¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¡£
+ *
+ * - manager.modules.C++.load_paths: ./ (¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹)
+ * - manager.modules.C++.profile_cmd: rtcprof
+ * - manager.modules.C++.suffixes: so (Linux¤Î¾ì¹ç), dll (Windows¤Î¾ì¹ç)
+ *
+ * ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¾åµ¤ÇÀßÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¸À¸ì (Windows¤Ç¤Ï
+ * ¤¹¤Ù¤Æ¤ÎVC¤Î¥Ð¡¼¥¸¥ç¥ó¤â´Þ¤à) ¤Î¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹¤¬¤¢¤é¤«¤¸¤á
+ * ÀßÄꤵ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£ ¤³¤Îºî¶È¤Ï¡¢¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó
+ * ½Ð¤µ¤ì¤¿¥Þ¥Í¡¼¥¸¥ã (Ä̾ï¤Ï¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã) ¾å¤Ç¤Î¤ß¼Â¹Ô¤µ¤ì¡¢
+ * ÇÛ²¼¤Ë¤¢¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ãÅù¤ËºÆµ¢Åª¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
+ *
+ * @return ¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë¡£¤Ê¤ª¡¢¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë¤Ï°Ê
+ * ²¼¤Î¤è¤¦¤ÊÆâÍƤò»ý¤ÄKey-Value·Á¼°¤Î¥ê¥¹¥È¤ÇÊÖ¤µ¤ì¤ë¡£
+ * <pre>
+ * implementation_id: ConfigSample
+ * type_name: ConfigSample
+ * description: Configuration example component
+ * version: 1.0
+ * vendor: Noriaki Ando, AIST
+ * category: example
+ * activity_type: DataFlowComponent
+ * max_instance: 10
+ * language: C++
+ * lang_type: compile
+ * conf.default.int_param0: 0
+ * conf.default.int_param1: 1
+ * conf.default.double_param0: 0.11
+ * conf.default.double_param1: 9.9
+ * conf.default.str_param0: hoge
+ * conf.default.str_param1: dara
+ * conf.default.vector_param0: 0.0,1.0,2.0,3.0,4.0
+ * </pre>
+ *
* @else
* @brief Getting loadable module profiles
*
- * This operation returns loadable module profiles.
+ * This operation returns loadable module profiles. Loadable
+ * profiles of RT-Components can be obtained by executing profile
+ * obtain commands (ex. rtcprof) into the module load paths that
+ * is specified in the properties. The target kinds of language to
+ * be obtained component profiles are specified the following
+ * property.
*
- * @return A module profile list.
+ * - manager.supported_language: C++, Python, Java
*
+ * For each those languages, module load paths, profile obtain
+ * command and module suffixes are specified in following
+ * properties.
+ *
+ * - manager.modules.<lang>.load_paths: ./ (load paths)
+ * - manager.modules.<lang>.profile_cmd: rtcprof command name
+ * - manager.modules.<lang>.suffixes: module extentions
+ *
+ * For example, the following properties are specified in default
+ * for C++ language.
+ *
+ * - manager.modules.C++.load_paths: ./ (module load pathds)
+ * - manager.modules.C++.profile_cmd: rtcprof
+ * - manager.modules.C++.suffixes: so (for Linux), dll (for Windows)
+ *
+ * The master manager need to be configured module load paths for
+ * all languages (and for all versions of VC in case of Windows)
+ * specified above. This process is performed in only a manager
+ * (master manager in general) in which this operation is called,
+ * and it is not recursively called to slave managers which are
+ * managed by this manager.
+ *
+ * @return A module profile list. The module profiles list
+ * includes zero or more the following Key-Value format
+ * RTC profile.
+ * <pre>
+ * implementation_id: ConfigSample
+ * type_name: ConfigSample
+ * description: Configuration example component
+ * version: 1.0
+ * vendor: Noriaki Ando, AIST
+ * category: example
+ * activity_type: DataFlowComponent
+ * max_instance: 10
+ * language: C++
+ * lang_type: compile
+ * conf.default.int_param0: 0
+ * conf.default.int_param1: 1
+ * conf.default.double_param0: 0.11
+ * conf.default.double_param1: 9.9
+ * conf.default.str_param0: hoge
+ * conf.default.str_param1: dara
+ * conf.default.vector_param0: 0.0,1.0,2.0,3.0,4.0
+ * </pre>
+ *
* @endig
*/
ModuleProfileList get_loadable_modules();
@@ -117,7 +293,10 @@
* @if jp
* @brief ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
*
- * ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£
+ * ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç
+ * ¥ó¤Ç¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤âƱ¤¸¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬ºÆµ¢Åª¤Ë
+ * ¸Æ¤Ó½Ð¤µ¤ì¡¢ÇÛ²¼¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Þ¥Í¡¼¥¸¥ã¤¬¥í¡¼¥É¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
+ * ¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤òÊÖ¤¹¡£
*
* @return ¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë
*
@@ -138,7 +317,10 @@
* @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
*
* ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¤¦¤Á¡¢RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥â¥¸¥å¡¼¥ë¤¬»ý¤Ä
- * ¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¡£
+ * ¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¡£¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ç
+ * ¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤âƱ¤¸¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬ºÆµ¢Åª¤Ë¸Æ¤Ó
+ * ½Ð¤µ¤ì¡¢ÇÛ²¼¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Þ¥Í¡¼¥¸¥ã¤¬ÊÝͤ¹¤ëRT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î
+ * ¥×¥í¥Õ¥¡¥¤¥ë¤òÊÖ¤¹¡£
*
* @return ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¥ê¥¹¥È
*
@@ -158,8 +340,75 @@
* @if jp
* @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë
*
- * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë¡£
+ * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂÐ
+ * ¤·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
+ * ¤ËÂФ·¤Æ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ¸À®¤ò°ÍÍꤹ¤ë¡£°ÍÍêÂоݤȤʤ륹¥ì¡¼¥Ö¥Þ
+ * ¥Í¡¼¥¸¥ã¤Ï¡¢create_component() ¤Î°ú¿ôÆâ¥Ñ¥é¥á¡¼¥¿ manager_name
+ * ¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¥Þ¥Í¡¼¥¸¥ã¤¬ÇÛ²¼¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Þ¥Í¡¼¥¸¥ã¤ËÂÐ
+ * ¤·¤Æ¡¢create_component() ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ÇÀ¸À®¡¢manager_name ¤Ç»Ø
+ * Äꤵ¤ì¤¿¥Þ¥Í¡¼¥¸¥ã¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¿·µ¬¤Ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤òµ¯Æ°¤·
+ * ¤Æ¤«¤é¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë¡£
*
+ * - manager_name¤Ç»ØÄꤵ¤ì¤¿¥¹¥ì¡¼¥Ö¤¬Â¸ºß¤¹¤ë¾ì¹ç
+ * <pre>
+ * (maanger_name = servo)
+ * [ app ] [ master ] [ slave ] [ RTC ]
+ * | create_comp() | | .
+ * |---------------->| | .
+ * | manager_name = |--, search | .
+ * | servo | | slaves | .
+ * | |<-' | .
+ * | | create_comp() | .
+ * | |---------------->| .
+ * | | |--, .
+ * | | | |createComp() .
+ * | | |<-' .
+ * | | |.....create...> .
+ * | | | |
+ * | | | |
+ * </pre>
+ *
+ * - manager_name¤Ç»ØÄꤵ¤ì¤¿¥¹¥ì¡¼¥Ö¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç
+ * <pre>
+ * [ app ] [ master ] [ slave ] [ RTC ]
+ * | create_comp() | . .
+ * |---------------->| . .
+ * | manager_name = |--, search . .
+ * | controller | | slaves . .
+ * | |<-' . .
+ * | | launch proc . .
+ * | |---------------->| .
+ * | | create_comp() | .
+ * | |---------------->| .
+ * | | |--, .
+ * | | | |createComp() .
+ * | | |<-' .
+ * | | |.....create...> .
+ * | | | |
+ * | | | |
+ * </pre>
+ *
+ * »ØÄê¥Ñ¥é¥á¡¼¥¿
+ * - manager_name: ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òµ¯Æ°¤¹¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã̾
+ * - ̾Á°»ØÄê: <manager_name>
+ * - ¥¢¥É¥ì¥¹»ØÄê: <hostname>:<port>
+ * - language: µ¯Æ°ÂоݤΥ³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¼ÂÁõ¸À¸ì
+ *
+ * @param module_name À¸À®ÂоÝRT¥³¥ó¥Ý¡¼¥Í¥ó¥ÈID¤ª¤è¤Ó¥³¥ó¥Õ¥£¥®¥å
+ * ¥ì¡¼¥·¥ç¥ó°ú¿ô¡£¥Õ¥©¡¼¥Þ¥Ã¥È¤ÏÂ礤¯Ê¬¤±¤Æ
+ * "id" ¤È "configuration" Éôʬ¤¬Â¸ºß¤¹¤ë¡£
+ *
+ * comp_args: [id]?[configuration]
+ * id ¤Ïɬ¿Ü¡¢configuration¤Ï¥ª¥×¥·¥ç¥ó
+ * id: RTC:[vendor]:[category]:[implementation_id]:[version]
+ * RTC ¤Ï¸ÇÄ꤫¤Äɬ¿Ü
+ * vendor, category, version ¤Ï¥ª¥×¥·¥ç¥ó
+ * implementation_id ¤Ïɬ¿Ü
+ * ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¾ì¹ç¤Ç¤â ":" ¤Ï¾ÊάÉÔ²Ä
+ * configuration: [key0]=[value0]&[key1]=[value1]&[key2]=[value2].....
+ * RTC¤¬»ý¤ÄProperties¤ÎÃͤò¤¹¤Ù¤Æ¾å½ñ¤¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+ * key=value ¤Î·Á¼°¤Çµ½Ò¤·¡¢"&" ¤Ç¶èÀÚ¤ë
+ *
* @return À¸À®¤µ¤ì¤¿RT¥³¥ó¥Ý¡¼¥Í¥ó¥È
*
* @else
@@ -178,7 +427,11 @@
* @if jp
* @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë
*
- * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë¡£
+ * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂÐ
+ * ¤·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢ÇÛ²¼¤Î¥¹¥ì¡¼¥Ö¥³¥ó¥Ý¡¼
+ * ¥Í¥ó¥È¾å¤ÎÅö³º¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë¡£¤¿¤À¤·¡¢Ä̾ï¤ÏÂоݥ³¥ó¥Ý¡¼
+ * ¥Í¥ó¥È¤ËÂФ·¤Æ exit() ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç RTC ¤ò½ªÎ»
+ * ¤µ¤»¤ëÊýË¡¤ò¿ä¾©¤¹¤ë¡£
*
* @return ¥ê¥¿¡¼¥ó¥³¡¼¥É
*
@@ -198,7 +451,11 @@
* @if jp
* @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
*
- * ¸½ºßÅö³º¥Þ¥Í¡¼¥¸¥ã¾å¤Çµ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£
+ * ¸½ºßÅö³º¥Þ¥Í¡¼¥¸¥ã¾å¤Çµ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£¥Þ¥¹
+ * ¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢ÇÛ²¼
+ * ¤Î¥¹¥ì¡¼¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¾å¤Ç¼Â¹ÔÃæ¤ÎRTC¤Î¥ê¥¹¥È¤ò¼ý½¸¤·¤ÆÊÖ¤¹¡£
+ * ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¼«¿È¤¬´ÉÍý¤¹¤ëµ¯
+ * Æ°Ãæ¤ÎRTC¤Î¥ê¥¹¥È¤Î¤ß¤òÊÖ¤¹¡£
*
* @return RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È
*
@@ -218,7 +475,11 @@
* @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
*
* ¸½ºßÅö³º¥Þ¥Í¡¼¥¸¥ã¾å¤Çµ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹
- * ¥È¤òÊÖ¤¹¡£
+ * ¥È¤òÊÖ¤¹¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ
+ * ¤ì¤¿¾ì¹ç¡¢ÇÛ²¼¤Î¥¹¥ì¡¼¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¾å¤Ç¼Â¹ÔÃæ¤ÎRTC¤Î¥×¥í¥Õ¥¡
+ * ¥¤¥ë¥ê¥¹¥È¤ò¼ý½¸¤·¤ÆÊÖ¤¹¡£¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿
+ * ¾ì¹ç¤Ë¤Ï¡¢¼«¿È¤¬´ÉÍý¤¹¤ëµ¯Æ°Ãæ¤ÎRTC¤Î¥×¥í¥Õ¥¡¥¤¥ë¥ê¥¹¥È¤Î¤ß¤òÊÖ
+ * ¤¹¡£
*
* @return RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È
*
@@ -234,6 +495,27 @@
*/
RTC::ComponentProfileList get_component_profiles();
+ /*!
+ * @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);
+
// manager ´ðËÜ
/*!
* @if jp
@@ -323,7 +605,10 @@
*
* ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¾ì¹ç¡¢¥Þ¥¹¥¿¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¥Þ
* ¥Í¡¼¥¸¥ã¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬¥Þ¥¹¥¿¡¼¤Î¾ì¹ç¡¢¶õ¤Î¥ê¥¹
- * ¥È¤¬Ê֤롣
+ * ¥È¤¬Ê֤롣¸¶Â§¤È¤·¤Æ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï1¤Ä¤Î¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
+ * ¤ÎÇÛ²¼¤È¤Ê¤ë¤¬¡¢¼ÂÁõ¾å¤Ï¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÏÍ£°ì¤È¤Ê¤ë¤è¤¦¤ÊÀ©Ìó
+ * ¤Ï¤Ê¤¯¡¢add_master_manager() ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ë¤è¤êÊ£¿ô¤Î¥Þ¥¹¥¿¡¼
+ * ¥Þ¥Í¡¼¥¸¥ã¤òÅÐÏ¿¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£
*
* @return ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Î¥ê¥¹¥È
*
@@ -346,6 +631,46 @@
*
* ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤Î¥Þ¥¹¥¿¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¤ò°ì¤ÄÄɲ乤롣
*
+ * ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤È¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î´Ø·¸¤Ï¡¢°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ë¡¢
+ * °ì¤Ä¤Î¥Î¡¼¥É (node: 1¤Ä¤ÎÆÈΩ¤·¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤¢¤ê¥Û¥¹¥È) ¤ËÂÐ
+ * ¤·¤Æ¡¢1¤Ä¤Î¥Þ¥¹¥¿¡¼ (master) ¥Þ¥Í¡¼¥¸¥ã¤¬Âбþ¤¹¤ë¡£1¤Ä¤Î¥Þ¥¹¥¿¡¼
+ * ¥Þ¥Í¡¼¥¸¥ã¤Î²¼¤Ë¤Ï0¸Ä°Ê¾å¤Î¥¹¥ì¡¼¥Ö (slave) ¥Þ¥Í¡¼¥¸¥ã¤¬Â¸ºß¤·¡¢
+ * RTC¤Ï1¤Ä¤Î¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ë°¤¹¤ë¡£¤Ê¤ª¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï
+ * Ä̾1¤Ä°Ê¾å¤ÎRTC¤ò¥Û¥¹¥È¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢RTC¤ò¥Û¥¹
+ * ¥È¤·¤Æ¤¤¤Ê¤¤¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¼«Æ°½ªÎ»¤¹¤ë¡£
+ *
+ * <pre>
+ * 1 1 1 0..* 1 1..*
+ * [ node ]<>--------[ master ]<>--------[ slave ]<>--------[ RTC ]
+ *
+ * </pre>
+ *
+ * ¥Þ¥¹¥¿¡¼¤È¥¹¥ì¡¼¥Ö¤Î´Ø·¸¤Ï¡¢add/remove_master_manager(),
+ * add_remove_slave_manager() ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¹½À®¤µ¤ì¤ë¡£¤³
+ * ¤ì¤é¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¸¶Â§¤È¤·¤Æ¡¢¤¹¤Ù¤Æ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤«¤é¥¢
+ * ¥¯¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Ï¸¶Â§¤È¤·¤Æ¡¢
+ * corbaloc://localhost:2810/manager ¤Ë¤è¤ê¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç
+ * ¤¤ë°ìÊý¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î»²¾È¤òÃΤë°ìÈÌŪÊýË¡¤Ï¤Ê¤¤¡£¥¹¥ì¡¼
+ * ¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢µ¯Æ°»þ¤Ë¥í¡¼¥«¥ë¤Î¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òõ¤·¤Æ¡¢Æâ
+ * ÉôŪ¤Ë¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òÄɲ乤ë
+ * ¤È¤È¤â¤Ë¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢add_slabe_manager() ¤ò¸Æ¤Ó
+ * ½Ð¤·¤Æ¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬ÇÛ²¼¤ËÆþ¤Ã
+ * ¤¿¤³¤È¤òÃΤ餻¤ë¡£
+ *
+ * <pre>
+ * [ master ] [ slave ]
+ * | |
+ * | |--, find master
+ * | | | by corbaloc:
+ * | |<-'
+ * | |
+ * | |--,
+ * | | | add_master_manager()
+ * | add_slave_manager(own_ref)|<-'
+ * |<--------------------------|
+ * | |
+ * </pre>
+ *
* @param mgr ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
* @return ReturnCode_t
*
@@ -366,7 +691,25 @@
* @brief ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
*
* ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬ÊÝ»ý¤¹¤ë¥Þ¥¹¥¿¤Î¤¦¤Á¡¢»ØÄꤵ¤ì¤¿¤â¤Î¤òºï½ü¤¹¤ë¡£
+ * Ä̾盧¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬½ªÎ»¤¹¤ëºÝ¤Ë¡¢¼«¿È
+ * ¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¤Þ¤¿¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¼«¿È¤¬¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼
+ * ¥¸¥ã¤ÎÇÛ²¼¤«¤é³°¤ì¤ë¤³¤È¤ò remove_slave_manager() ¤Ë¤è¤ê¡¢¥Þ¥¹¥¿¡¼
+ * ¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤ÆÄÌÃΤ¹¤ë¡£
*
+ * <pre>
+ * [ master ] [ slave ]
+ * | |
+ * | |--, shutdown
+ * | | | slave manager
+ * | |<-'
+ * | |
+ * | |--,
+ * | | | remove_master_manager()
+ * | remove_slave_manager(own_ref) |<-'
+ * |<------------------------------|
+ * | |
+ * </pre>
+ *
* @param mgr ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
* @return ReturnCode_t
*
@@ -404,12 +747,32 @@
* @endig
*/
ManagerList get_slave_managers();
+
/*!
* @if jp
* @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
*
- * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤Î¥Þ¥¹¥¿¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¤ò°ì¤ÄÄɲ乤롣
+ * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤Î¥Þ¥¹¥¿¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¤ò°ì¤ÄÄɲ乤롣Ä̾¥¹¥ì¡¼
+ * ¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢µ¯Æ°»þ¤Ë¥í¡¼¥«¥ë¤Î¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òõ¤·¤Æ¡¢Æâ
+ * ÉôŪ¤Ë¡¢add_master_manager() ¤ò¸Æ¤Ó½Ð¤·¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òÄÉ
+ * ²Ã¤¹¤ë¤È¤È¤â¤Ë¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢¤³¤Î
+ * add_slave_manager() ¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢¥¹
+ * ¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬ÇÛ²¼¤ËÆþ¤Ã¤¿¤³¤È¤òÃΤ餻¤ë¡£
*
+ * <pre>
+ * [ master ] [ slave ]
+ * | |
+ * | |--, find master
+ * | | | by corbaloc:
+ * | |<-'
+ * | |
+ * | |--,
+ * | | | add_master_manager()
+ * | add_slave_manager(own_ref)|<-'
+ * |<--------------------------|
+ * | |
+ * </pre>
+ *
* @param mgr ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
* @return ReturnCode_t
*
@@ -417,7 +780,7 @@
* @brief Getting a slave manager
*
* This operation add a slave manager to this manager.
- *
+ *
* @param mgr A slave manager
* @return ReturnCode_t
*
@@ -430,7 +793,26 @@
* @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
*
* ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬ÊÝ»ý¤¹¤ë¥Þ¥¹¥¿¤Î¤¦¤Á¡¢»ØÄꤵ¤ì¤¿¤â¤Î¤òºï½ü¤¹¤ë¡£
+ * Ä̾盧¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬½ªÎ»¤¹¤ëºÝ¤Ë¡¢¼«¿È
+ * ¤ËÂФ·¤Æ remove_master_manager() ¤ò¸Æ¤Ó½Ð¤·¤¿¸å¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼
+ * ¥¸¥ã¼«¿È¤¬¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÎÇÛ²¼¤«¤é³°¤ì¤ë¤³¤È¤òÃΤ餻¤ë¤¿¤á¤Î¡¢
+ * ¤³¤Î remove_slave_manager() ¤ò¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¸Æ¤Ö¤³¤È
+ * ¤ÇÄÌÃΤ¹¤ë¡£
*
+ * <pre>
+ * [ master ] [ slave ]
+ * | |
+ * | |--, shutdown
+ * | | | slave manager
+ * | |<-'
+ * | |
+ * | |--,
+ * | | | remove_master_manager()
+ * | remove_slave_manager(own_ref) |<-'
+ * |<------------------------------|
+ * | |
+ * </pre>
+ *
* @param mgr ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
* @return ReturnCode_t
*
@@ -438,44 +820,78 @@
* @brief Removing a slave manager
*
* This operation removes a slave manager from this manager.
- *
+ *
* @param mgr A slave manager
- * @return ReturnCode_t
+ * @return ReturnCode_t
*
* @endig
*/
RTC::ReturnCode_t remove_slave_manager(in Manager mgr);
+ // ¥×¥í¥»¥¹Áàºî´Ø·¸
+ /*!
+ * @if jp
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¥×¥í¥»¥¹¤òfork¤¹¤ë
+ *
+ * @return Return Code
+ *
+ * @else
+ * @brief fork the manager process
+ *
+ * @return Return Code
+ *
+ * @endig
+ */
RTC::ReturnCode_t fork();
+
+ /*!
+ * @if jp
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¥×¥í¥»¥¹¤òshutdown¤¹¤ë
+ *
+ * @return Return Code
+ *
+ * @else
+ * @brief shutdown the manager process
+ *
+ * @return Return Code
+ *
+ * @endig
+ */
RTC::ReturnCode_t shutdown();
+
+ /*!
+ * @if jp
+ * @brief ¥Þ¥Í¡¼¥¸¥ã¥×¥í¥»¥¹¤òºÆµ¯Æ°¤¹¤ë
+ *
+ * @return Return Code
+ *
+ * @else
+ * @brief restart maanger process
+ *
+ * @return Return Code
+ *
+ * @endig
+ */
RTC::ReturnCode_t restart();
-
- /*!
+ /*!
* @if jp
- * @brief »ØÄê̾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ
+ * @brief ¥µ¡¼¥Ó¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤¹¤ë
*
- *
+ * »ÅÍÍ̤³ÎÄê
*
- * @param name RTC̾
- * @return RTC¥ê¥¹¥È
+ * @return Return Code
*
* @else
- * @brief
+ * @brief obtaining the object reference of a service
*
+ * @return Return Code
*
- *
- * @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();
};
-
}; // end of namespace RTM
#endif // __MANAGER_IDL__
More information about the openrtm-commit
mailing list