[openrtm-commit:03090] r3175 - trunk/OpenRTM-aist/src/lib/rtm

openrtm @ openrtm.org openrtm @ openrtm.org
2018年 1月 21日 (日) 14:39:30 JST


Author: miyamoto
Date: 2018-01-21 14:39:30 +0900 (Sun, 21 Jan 2018)
New Revision: 3175

Modified:
   trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
Log:
[compat, bugfix, TAO] fixed bug.

Modified: trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2018-01-19 09:18:53 UTC (rev 3174)
+++ trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2018-01-21 05:39:30 UTC (rev 3175)
@@ -862,12 +862,9 @@
       {
         //Ppreparing INS POA
         CORBA::Object_var obj;
+#ifndef ORB_IS_TAO
 #ifndef ORB_IS_RTORB
-#ifndef ORB_IS_TAO
-        obj = m_mgr.theORB()->resolve_initial_references("omniINSPOA");
-#else
-        obj = m_mgr.theORB()->resolve_initial_references("RootPOA");
-#endif
+		obj = m_mgr.theORB()->resolve_initial_references("omniINSPOA");
 #else // ROB_IS_RTORB
         obj = m_mgr.theORB()->resolve_initial_references((char*)"omniINSPOA");
 #endif // ORB_IS_RTORB
@@ -900,6 +897,30 @@
         std::string iorstr((const char*)ior);
         RTC_DEBUG(("Manager's IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
+#else
+		obj = m_mgr.theORB()->resolve_initial_references("IORTable");
+		IORTable::Table_var adapter = IORTable::Table::_narrow(obj.in());
+
+		// Create readable object ID
+		coil::Properties config(m_mgr.getConfig());
+
+		RTC_DEBUG(("Creating named manager: %s",
+			config["manager.name"].c_str()));
+
+
+		// Object activation
+		RTC_DEBUG(("Activating manager with id(%s)", config["manager.name"].c_str()));
+		CORBA::String_var ior = m_mgr.theORB()->object_to_string(_this());
+		adapter->bind("udpprovider", ior.in());
+
+		// Set m_objref 
+		m_objref = _this();
+
+
+		std::string iorstr((const char*)ior);
+		RTC_DEBUG(("Manager's IOR information:\n %s",
+			CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
+#endif
       }
     catch (...)
       {



More information about the openrtm-commit mailing list