[openrtm-commit:01995] r2757 - trunk/OpenRTM-aist/src/lib/rtm

openrtm @ openrtm.org openrtm @ openrtm.org
2016年 7月 20日 (水) 16:35:32 JST


Author: n-ando
Date: 2016-07-20 16:35:32 +0900 (Wed, 20 Jul 2016)
New Revision: 2757

Modified:
   trunk/OpenRTM-aist/src/lib/rtm/CORBA_SeqUtil.h
   trunk/OpenRTM-aist/src/lib/rtm/CorbaNaming.cpp
   trunk/OpenRTM-aist/src/lib/rtm/CorbaPort.h
   trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrConsumer.cpp
   trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrProvider.cpp
   trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp
   trunk/OpenRTM-aist/src/lib/rtm/Manager.h
   trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
   trunk/OpenRTM-aist/src/lib/rtm/NamingManager.cpp
   trunk/OpenRTM-aist/src/lib/rtm/OutPortBase.cpp
   trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrConsumer.cpp
   trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrProvider.cpp
   trunk/OpenRTM-aist/src/lib/rtm/PortAdmin.cpp
   trunk/OpenRTM-aist/src/lib/rtm/RTObject.cpp
   trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp
Log:
[incompat,RELENG_1_2] Mananger::getORB(),getPOA,getPOAManager() behaviour has been changed, and new theORB(),thePOA(),thePOAManager operations have been added. For the details, see function reference document in the header. refs #3574

Modified: trunk/OpenRTM-aist/src/lib/rtm/CORBA_SeqUtil.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/CORBA_SeqUtil.h	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/CORBA_SeqUtil.h	2016-07-20 07:35:32 UTC (rev 2757)
@@ -413,7 +413,7 @@
   coil::vstring refToVstring(const CorbaRefSequence& objlist)
   {
     coil::vstring iorlist;
-    CORBA::ORB_ptr orb = ::RTC::Manager::instance().getORB();
+    CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
 
     for (CORBA::ULong i(0), len(objlist.length()); i < len; ++i)
       {

Modified: trunk/OpenRTM-aist/src/lib/rtm/CorbaNaming.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/CorbaNaming.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/CorbaNaming.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -49,7 +49,7 @@
    * @endif
    */
   CorbaNaming::CorbaNaming(CORBA::ORB_ptr orb, const char* name_server)
-    : m_varORB(CORBA::ORB::_duplicate(orb)), m_nameServer(name_server),
+    : m_varORB(orb), m_nameServer(name_server),
       m_rootContext(CosNaming::NamingContextExt::_nil()),
       m_blLength(100)
   {
@@ -57,13 +57,13 @@
     m_nameServer = "corbaloc::" + m_nameServer + "/NameService";
     try
       {
-	obj = m_varORB->string_to_object(m_nameServer.c_str());
-	m_rootContext = CosNaming::NamingContextExt::_narrow(obj);
-	if (CORBA::is_nil(m_rootContext)) throw std::bad_alloc();
+        obj = m_varORB->string_to_object(m_nameServer.c_str());
+        m_rootContext = CosNaming::NamingContextExt::_narrow(obj);
+        if (CORBA::is_nil(m_rootContext)) throw std::bad_alloc();
       }
     catch(...)
       {
-	throw std::bad_alloc();
+        throw std::bad_alloc();
       }
   }
   
@@ -106,16 +106,16 @@
    * @endif
    */
   void CorbaNaming::bind(const CosNaming::Name& name, CORBA::Object_ptr obj,
-			 const bool force)
+                         const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
   {
     try
       {
-	m_rootContext->bind(name, obj);
+        m_rootContext->bind(name, obj);
       }
     catch (NotFound& e)
       {
-	force ? bindRecursive(m_rootContext, name, obj) : throw e;
+        force ? bindRecursive(m_rootContext, name, obj) : throw e;
       }
     catch (CannotProceed& e)
       {
@@ -135,7 +135,7 @@
    * @endif
    */
   void CorbaNaming::bindByString(const char* string_name, CORBA::Object_ptr obj,
-				 const bool force)
+                                 const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
   {
     this->bind(toName(string_name), obj, force);
@@ -149,8 +149,8 @@
    * @endif
    */
   void CorbaNaming::bindRecursive(CosNaming::NamingContext_ptr context,
-				  const CosNaming::Name& name,
-				  CORBA::Object_ptr obj)
+                                  const CosNaming::Name& name,
+                                  CORBA::Object_ptr obj)
     throw (SystemException, CannotProceed, InvalidName, AlreadyBound)
   {
     CORBA::ULong len(name.length());
@@ -159,18 +159,18 @@
     
     for (CORBA::ULong i = 0; i < len; ++i)
       {
-	if (i == (len - 1))
-	  { // this operation may throw AlreadyBound, 
-	    cxt->bind(subName(name, i, i), obj);
-	    return;
-	  }
-	else
-	  { // If the context is not a NamingContext, CannotProceed is thrown
-	    if (isNamingContext(cxt))
-	      cxt = bindOrResolveContext(cxt, subName(name, i, i));
-	    else
-	      throw CannotProceed(cxt, subName(name, i));
-	  }
+        if (i == (len - 1))
+          { // this operation may throw AlreadyBound, 
+            cxt->bind(subName(name, i, i), obj);
+            return;
+          }
+        else
+          { // If the context is not a NamingContext, CannotProceed is thrown
+            if (isNamingContext(cxt))
+              cxt = bindOrResolveContext(cxt, subName(name, i, i));
+            else
+              throw CannotProceed(cxt, subName(name, i));
+          }
       }
     return;
   }
@@ -213,8 +213,8 @@
    * @endif
    */
   void CorbaNaming::rebindByString(const char* string_name,
-				   CORBA::Object_ptr obj,
-				   const bool force)
+                                   CORBA::Object_ptr obj,
+                                   const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName)
   {
     rebind(toName(string_name), obj, force);
@@ -228,8 +228,8 @@
    * @endif
    */
   void CorbaNaming::rebindRecursive(CosNaming::NamingContext_ptr context,
-				    const CosNaming::Name& name,
-				    CORBA::Object_ptr obj)
+                                    const CosNaming::Name& name,
+                                    CORBA::Object_ptr obj)
     throw (SystemException, CannotProceed, InvalidName)
   {
     CORBA::ULong len(name.length());
@@ -238,30 +238,30 @@
     
     for (CORBA::ULong i = 0; i < len; ++i)
       {
-	if (i == (len - 1))
-	  {
-	    cxt->rebind(subName(name, i, i), obj);
-	    return;
-	  }
-	else
-	  { // If the context is not a NamingContext, CannotProceed is thrown
-	    if (isNamingContext(cxt))
-	      {
-		try
-		  {
-		    cxt = cxt->bind_new_context(subName(name, i, i));
-		  }
-		catch (AlreadyBound& e)
-		  {
-		    (void)(e);
-		    cxt = CosNaming::
-		      NamingContextExt::
-		      _narrow(cxt->resolve(subName(name, i, i)));
-		  }
-	      }
-	    else
-	      throw CannotProceed(cxt, subName(name, i));
-	  }
+        if (i == (len - 1))
+          {
+            cxt->rebind(subName(name, i, i), obj);
+            return;
+          }
+        else
+          { // If the context is not a NamingContext, CannotProceed is thrown
+            if (isNamingContext(cxt))
+              {
+                try
+                  {
+                    cxt = cxt->bind_new_context(subName(name, i, i));
+                  }
+                catch (AlreadyBound& e)
+                  {
+                    (void)(e);
+                    cxt = CosNaming::
+                      NamingContextExt::
+                      _narrow(cxt->resolve(subName(name, i, i)));
+                  }
+              }
+            else
+              throw CannotProceed(cxt, subName(name, i));
+          }
       }
     return;
   }
@@ -274,8 +274,8 @@
    * @endif
    */
   void CorbaNaming::bindContext(const CosNaming::Name& name,
-				CosNaming::NamingContext_ptr name_cxt,
-				const bool force)
+                                CosNaming::NamingContext_ptr name_cxt,
+                                const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
   {
     bind(name, name_cxt, force);
@@ -289,8 +289,8 @@
    * @endif
    */
   void CorbaNaming::bindContext(const char* string_name,
-				CosNaming::NamingContext_ptr name_cxt,
-				const bool force)
+                                CosNaming::NamingContext_ptr name_cxt,
+                                const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
   {
     bindContext(toName(string_name), name_cxt, force);
@@ -305,8 +305,8 @@
    */
   void
   CorbaNaming::bindContextRecursive(CosNaming::NamingContext_ptr context,
-				    const CosNaming::Name& name,
-				    CosNaming::NamingContext_ptr name_cxt)
+                                    const CosNaming::Name& name,
+                                    CosNaming::NamingContext_ptr name_cxt)
   {
     bindRecursive(context, name, name_cxt);
     return;
@@ -320,8 +320,8 @@
    * @endif
    */
   void CorbaNaming::rebindContext(const CosNaming::Name& name,
-				  CosNaming::NamingContext_ptr name_cxt,
-				  const bool force)
+                                  CosNaming::NamingContext_ptr name_cxt,
+                                  const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName)
   {
     rebind(name, name_cxt, force);
@@ -336,8 +336,8 @@
    * @endif
    */
   void CorbaNaming::rebindContext(const char* string_name,
-				  CosNaming::NamingContext_ptr name_cxt,
-				  const bool force)
+                                  CosNaming::NamingContext_ptr name_cxt,
+                                  const bool force)
     throw (SystemException, NotFound, CannotProceed, InvalidName)
   {
     rebindContext(toName(string_name), name_cxt, force);
@@ -352,8 +352,8 @@
    */
   void
   CorbaNaming::rebindContextRecursive(CosNaming::NamingContext_ptr context,
-				      const CosNaming::Name& name,
-				      CosNaming::NamingContext_ptr name_cxt)
+                                      const CosNaming::Name& name,
+                                      CosNaming::NamingContext_ptr name_cxt)
   {
     rebindRecursive(context, name, name_cxt);
     return;
@@ -505,31 +505,31 @@
     
     while (cont)
       {
-	CORBA::ULong len(bl->length());
-	
-	for (CORBA::ULong i = 0; i < len; ++i)
-	  {
-	    if (bl[i].binding_type == CosNaming::ncontext)
-	      {	// If Object is context, destroy recursive.
-		CosNaming::NamingContext_var next_context;
-		next_context = CosNaming::NamingContext::
-		  _narrow(context->resolve(bl[i].binding_name));
-		
-		// Recursive function call
-		destroyRecursive(next_context); // +++ Recursive call +++
-		context->unbind(bl[i].binding_name);
-		next_context->destroy();
-	      }
-	    else if (bl[i].binding_type == CosNaming::nobject)
-	      {	// If Object is object, unbind it.
-		context->unbind(bl[i].binding_name);
-	      }
-	    else assert(0); // never comes here
-	  }
-	
-	// no more binding -> do-while loop will be finished
-	if (CORBA::is_nil(bi)) cont = false;
-	else bi->next_n(m_blLength, bl);
+        CORBA::ULong len(bl->length());
+        
+        for (CORBA::ULong i = 0; i < len; ++i)
+          {
+            if (bl[i].binding_type == CosNaming::ncontext)
+              {	// If Object is context, destroy recursive.
+                CosNaming::NamingContext_var next_context;
+                next_context = CosNaming::NamingContext::
+                  _narrow(context->resolve(bl[i].binding_name));
+                
+                // Recursive function call
+                destroyRecursive(next_context); // +++ Recursive call +++
+                context->unbind(bl[i].binding_name);
+                next_context->destroy();
+              }
+            else if (bl[i].binding_type == CosNaming::nobject)
+              {	// If Object is object, unbind it.
+                context->unbind(bl[i].binding_name);
+              }
+            else assert(0); // never comes here
+          }
+        
+        // no more binding -> do-while loop will be finished
+        if (CORBA::is_nil(bi)) cont = false;
+        else bi->next_n(m_blLength, bl);
       }
     
     if (!CORBA::is_nil(bi)) bi->destroy();
@@ -706,24 +706,24 @@
     // Insert id and kind to name components
     for (CORBA::ULong i = 0; i < nc_length; ++i)
       {
-	std::string::size_type pos;
-	pos = name_comps[i].find_last_of(".");
-	if (pos != name_comps[i].npos)
-	  {
-	    name[i].id   = 
-	      CORBA::string_dup(name_comps[i].substr(0, pos).c_str());
-	    name[i].kind = 
-	      CORBA::string_dup(name_comps[i].substr(pos + 1).c_str());
-	  }
-	else
-	  {
-	    name[i].id   = CORBA::string_dup(name_comps[i].c_str());
+        std::string::size_type pos;
+        pos = name_comps[i].find_last_of(".");
+        if (pos != name_comps[i].npos)
+          {
+            name[i].id   = 
+              CORBA::string_dup(name_comps[i].substr(0, pos).c_str());
+            name[i].kind = 
+              CORBA::string_dup(name_comps[i].substr(pos + 1).c_str());
+          }
+        else
+          {
+            name[i].id   = CORBA::string_dup(name_comps[i].c_str());
 #ifndef ORB_IS_RTORB
-	    name[i].kind = "";
+            name[i].kind = "";
 #else // ORB_IS_RTORB
-	    name[i].kind = (char*)"";
+            name[i].kind = (char*)"";
 #endif // ORB_IS_RTORB
-	  }
+          }
       }
     return name;
   }
@@ -766,18 +766,18 @@
    */
   CORBA::Object_ptr
   CorbaNaming::bindOrResolve(CosNaming::NamingContext_ptr context,
-			     const CosNaming::Name& name,
-			     CORBA::Object_ptr obj)
+                             const CosNaming::Name& name,
+                             CORBA::Object_ptr obj)
   {
     try
       {
-	context->bind(name, obj);
-	return obj;
+        context->bind(name, obj);
+        return obj;
       }
     catch (AlreadyBound& e)
       {
-	(void)(e);
-	return context->resolve(name);
+        (void)(e);
+        return context->resolve(name);
       }
     return CORBA::Object::_nil();
   }
@@ -791,8 +791,8 @@
    */
   CosNaming::NamingContext_ptr
   CorbaNaming::bindOrResolveContext(CosNaming::NamingContext_ptr context,
-				    const CosNaming::Name& name,
-				    CosNaming::NamingContext_ptr new_context)
+                                    const CosNaming::Name& name,
+                                    CosNaming::NamingContext_ptr new_context)
   {
     return CosNaming::NamingContext
       ::_narrow(bindOrResolve(context, name, new_context));
@@ -807,7 +807,7 @@
    */
   CosNaming::NamingContext_ptr
   CorbaNaming::bindOrResolveContext(CosNaming::NamingContext_ptr context,
-				    const CosNaming::Name& name)
+                                    const CosNaming::Name& name)
   {
     return bindOrResolveContext(context, name, newContext());
   }
@@ -882,8 +882,8 @@
    * @endif
    */
   CosNaming::Name CorbaNaming::subName(const CosNaming::Name& name,
-				       CORBA::Long begin,
-				       CORBA::Long end)
+                                       CORBA::Long begin,
+                                       CORBA::Long end)
   {
     if (end < 0) end = name.length() - 1;
     
@@ -891,17 +891,17 @@
     CORBA::ULong sub_len(end - (begin - 1));
     if (sub_len > 0)
       {
-	sub_name.length(sub_len);
+        sub_name.length(sub_len);
       }
     else
       {
-	sub_name.length(0);
-	return sub_name;
+        sub_name.length(0);
+        return sub_name;
       }
     
     for (CORBA::ULong i = 0; i < sub_len; ++i)
       {
-	sub_name[i] = name[begin + i];
+        sub_name[i] = name[begin + i];
       }
     return sub_name;
   }
@@ -917,31 +917,31 @@
    * @endif
    */
   void CorbaNaming::nameToString(const CosNaming::Name& name,
-				 char* string_name,
-				 CORBA::ULong slen)
+                                 char* string_name,
+                                 CORBA::ULong slen)
   {
     char* s = string_name;
     for (CORBA::ULong i = 0; i < name.length(); ++i)
       {
-	// Copy id to string_name
-	for (const char* id = name[i].id; *id != '\0'; ++id)
-	  {
-	    if (*id == '/' || *id == '.' || *id == '\\') *s++ = '\\';
-	    *s++ = *id;
-	  }
-	// '.' if there is a kind, or no id
-	if (((const char*)(name[i].id  ))[0] == '\0' || 
-	    ((const char*)(name[i].kind))[0] != '\0')
-	  *s++ = '.';
-	// Copy kind to string_name
-	for (const char* kind = name[i].kind; *kind != '\0'; ++kind)
-	  {
-	    if (*kind == '/' || *kind == '.' || *kind == '\\')
-	      *s++ = '\\';
-	    *s++ = *kind;
-	  }
-	// The end of string_name will be overwritten by '\0'
-	*s++ = '/';
+        // Copy id to string_name
+        for (const char* id = name[i].id; *id != '\0'; ++id)
+          {
+            if (*id == '/' || *id == '.' || *id == '\\') *s++ = '\\';
+            *s++ = *id;
+          }
+        // '.' if there is a kind, or no id
+        if (((const char*)(name[i].id  ))[0] == '\0' || 
+            ((const char*)(name[i].kind))[0] != '\0')
+          *s++ = '.';
+        // Copy kind to string_name
+        for (const char* kind = name[i].kind; *kind != '\0'; ++kind)
+          {
+            if (*kind == '/' || *kind == '.' || *kind == '\\')
+              *s++ = '\\';
+            *s++ = *kind;
+          }
+        // The end of string_name will be overwritten by '\0'
+        *s++ = '/';
       }
     string_name[slen-1] = '\0';
   }
@@ -959,27 +959,27 @@
     
     for (CORBA::ULong i = 0; i < name.length(); ++i)
       {
-	// Count string length of id(s)
-	for (const char* id = name[i].id; *id; ++id)
-	  {
-	    // Escape character '/', '.', '\' will convert to "\/", "\.", "\\".
-	    if (*id == '/' || *id == '.' || *id == '\\') slen++;
-	    slen++;
-	  }
-	// If kind exists, space for '.' is counted
-	if (((const char*)(name[i].id  ))[0] == '\0' || 
-	    ((const char*)(name[i].kind))[0] != '\0')
-	  {
-	    slen++;
-	  }
-	// Count string length of kind(s)
-	for (const char* kind = name[i].kind; *kind; kind++)
-	  {
-	    if (*kind == '/' || *kind == '.' || *kind == '\\') slen++;
-	    slen++;
-	  }
-	// Space for '/' or '\0'
-	slen++;
+        // Count string length of id(s)
+        for (const char* id = name[i].id; *id; ++id)
+          {
+            // Escape character '/', '.', '\' will convert to "\/", "\.", "\\".
+            if (*id == '/' || *id == '.' || *id == '\\') slen++;
+            slen++;
+          }
+        // If kind exists, space for '.' is counted
+        if (((const char*)(name[i].id  ))[0] == '\0' || 
+            ((const char*)(name[i].kind))[0] != '\0')
+          {
+            slen++;
+          }
+        // Count string length of kind(s)
+        for (const char* kind = name[i].kind; *kind; kind++)
+          {
+            if (*kind == '/' || *kind == '.' || *kind == '\\') slen++;
+            slen++;
+          }
+        // Space for '/' or '\0'
+        slen++;
       }
     return slen;
   }
@@ -992,8 +992,8 @@
    * @endif
    */
   unsigned int CorbaNaming::split(const std::string& input,
-				  const std::string& delimiter,
-				  std::vector<std::string>& results)
+                                  const std::string& delimiter,
+                                  std::vector<std::string>& results)
   {
     typedef std::string::size_type size;
     size delim_size = delimiter.size();
@@ -1005,26 +1005,26 @@
     while (1)
       {
       REFIND:
-	found_pos = input.find(delimiter, begin_pos);
-	if (found_pos == std::string::npos) 
-	  {
-	    results.push_back(input.substr(pre_pos));
-	    break;
-	  }
-	if ('\\' == input.at(found_pos - 1))
-	  {
-	    begin_pos = found_pos + delim_size;
-	    goto REFIND;
-	  }
-	
-	substr_size = found_pos - pre_pos;
-	
-	if (substr_size > 0)
-	  {
-	    results.push_back(input.substr(pre_pos, substr_size));
-	  }
-	begin_pos = found_pos + delim_size;
-	pre_pos   = found_pos + delim_size;
+        found_pos = input.find(delimiter, begin_pos);
+        if (found_pos == std::string::npos) 
+          {
+            results.push_back(input.substr(pre_pos));
+            break;
+          }
+        if ('\\' == input.at(found_pos - 1))
+          {
+            begin_pos = found_pos + delim_size;
+            goto REFIND;
+          }
+        
+        substr_size = found_pos - pre_pos;
+        
+        if (substr_size > 0)
+          {
+            results.push_back(input.substr(pre_pos, substr_size));
+          }
+        begin_pos = found_pos + delim_size;
+        pre_pos   = found_pos + delim_size;
       }
     return results.size();
   }

Modified: trunk/OpenRTM-aist/src/lib/rtm/CorbaPort.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/CorbaPort.h	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/CorbaPort.h	2016-07-20 07:35:32 UTC (rev 2757)
@@ -1226,29 +1226,30 @@
           m_ior()
       {  
 #ifndef ORB_IS_RTORB
-        m_oid = Manager::instance().getPOA()->servant_to_id(m_servant);
+        PortableServer::POA_var poa = ::RTC::Manager::instance().getPOA();
+        m_oid = poa->servant_to_id(m_servant);
         try
           {
-            Manager::instance().
-              getPOA()->activate_object_with_id(m_oid, m_servant);
+            poa->activate_object_with_id(m_oid, m_servant);
           }
         catch(...)
           {
             ;
           }
         CORBA::Object_var obj;
-        obj = Manager::instance().getPOA()->id_to_reference(m_oid);
-        CORBA::ORB_ptr orb = Manager::instance().getORB();
+        obj = poa->id_to_reference(m_oid);
+        CORBA::ORB_var orb = Manager::instance().getORB();
         CORBA::String_var ior_var = orb->object_to_string(obj);
         m_ior = ior_var;
         deactivate();
 #else // ORB_IS_RTORB
         // why RtORB does not activate object by __this()
         // and does not deactivate at the end of ctor?
-        m_oid = Manager::instance().getPOA()->servant_to_id(m_servant);
+        PortableServer::POA_var poa = ::RTC::Manager::instance().getPOA();
+        m_oid = poa->servant_to_id(m_servant);
         CORBA::Object_var obj;
         obj = CORBA::Object_var(m_servant->__this());
-        CORBA::ORB_ptr orb = Manager::instance().getORB();
+        CORBA::ORB_var orb = Manager::instance().getORB();
         CORBA::String_var ior_var = orb->object_to_string(obj);
         m_ior = ior_var;
 #endif // ORB_IS_RTORB
@@ -1266,8 +1267,8 @@
       {
         try
           {
-            Manager::instance().
-              getPOA()->activate_object_with_id(m_oid, m_servant);
+            ::RTC::Manager::instance().
+              thePOA()->activate_object_with_id(m_oid, m_servant);
           }
         catch(const ::PortableServer::POA::ServantAlreadyActive &)
           {
@@ -1282,7 +1283,7 @@
       {
         try
           {
-            Manager::instance().getPOA()->deactivate_object(m_oid);
+            ::RTC::Manager::instance().thePOA()->deactivate_object(m_oid);
           }
         catch(...)
           {
@@ -1333,7 +1334,7 @@
       bool setObject(const char* ior)
       {
         m_ior = ior;
-        CORBA::ORB_ptr orb = ::RTC::Manager::instance().getORB();
+        CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
         CORBA::Object_var obj = orb->string_to_object(ior);
         if (CORBA::is_nil(obj))
           {

Modified: trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrConsumer.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrConsumer.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrConsumer.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -178,7 +178,7 @@
         return false;
       }
     
-    CORBA::ORB_ptr orb = RTC::Manager::instance().getORB();
+    CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
     CORBA::Object_var obj = orb->string_to_object(ior);
     
     if (CORBA::is_nil(obj))
@@ -263,7 +263,7 @@
         return false;
       }
     
-    CORBA::ORB_ptr orb = RTC::Manager::instance().getORB();
+    CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
     CORBA::Object_var var = orb->string_to_object(ior);
     if (!(_ptr()->_is_equivalent(var)))
       {

Modified: trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrProvider.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrProvider.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/InPortCorbaCdrProvider.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -42,7 +42,7 @@
     m_objref = this->_this();
     
     // set InPort's reference
-    CORBA::ORB_ptr orb = ::RTC::Manager::instance().getORB();
+    CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
     CORBA::String_var ior = orb->object_to_string(m_objref.in());
     CORBA_SeqUtil::
       push_back(m_properties,

Modified: trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/Manager.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -49,7 +49,7 @@
 //static sig_atomic_t g_mgrActive = true;
 extern "C" void handler (int)
 {
-  RTC::Manager::instance().terminate();
+  ::RTC::Manager::instance().terminate();
 }
 
 namespace RTC
@@ -252,12 +252,12 @@
     
     try
       {
-        if(CORBA::is_nil(this->getPOAManager()))
+        if(CORBA::is_nil(this->thePOAManager()))
         {
           RTC_ERROR(("Could not get POA manager."));
           return false;
         }
-	this->getPOAManager()->activate();
+        this->thePOAManager()->activate();
         RTC_TRACE(("POA Manager activated."));
       }
     catch (...)
@@ -1107,41 +1107,78 @@
   //============================================================
   /*!
    * @if jp
-   * @brief ORB のポインタを取得する
+   * @brief ORB のポインタを取得する (所有権保持)
    * @else
-   * @brief Get the pointer to the ORB
+   * @brief Get the pointer to the ORB (ownership retained)
    * @endif
    */
+  CORBA::ORB_ptr Manager::theORB()
+  {
+    RTC_TRACE(("Manager::theORB()"));
+    return m_pORB.in();
+  }
+  /*!
+   * @if jp
+   * @brief ORB のポインタを取得する (所有権複製)
+   * @else
+   * @brief Get the pointer to the ORB (ownership duplicated)
+   * @endif
+   */
   CORBA::ORB_ptr Manager::getORB()
   {
     RTC_TRACE(("Manager::getORB()"));
-    return m_pORB;
+    return CORBA::ORB::_duplicate(m_pORB);
   }
   
   /*!
    * @if jp
-   * @brief Manager が持つ RootPOA のポインタを取得する
+   * @brief Manager が持つ RootPOA のポインタを取得する (所有権保持)
    * @else
-   * @brief Get the pointer to the RootPOA 
+   * @brief Get the pointer to the RootPOA (ownership retained)
    * @endif
    */
+  PortableServer::POA_ptr Manager::thePOA()
+  {
+    RTC_TRACE(("Manager::thePOA()"));
+    return m_pPOA.in();
+  }
+  /*!
+   * @if jp
+   * @brief Manager が持つ RootPOA のポインタを取得する (所有権複製)
+   * @else
+   * @brief Get the pointer to the RootPOA (ownership duplicated)
+   * @endif
+   */
   PortableServer::POA_ptr Manager::getPOA()
   {
     RTC_TRACE(("Manager::getPOA()"));
-    return m_pPOA;
+    return PortableServer::POA::_duplicate(m_pPOA);
   }
   
   /*!
    * @if jp
-   * @brief Manager が持つ POAManager を取得する
+   * @brief Manager が持つ POAManager を取得する (所有権保持)
    * @else
-   * @brief Get the pointer to the POAManager 
+   * @brief Get the pointer to the POAManager (ownership retained)
    * @endif
    */
+  PortableServer::POAManager_ptr Manager::thePOAManager()
+  {
+    RTC_TRACE(("Manager::thePOAManager()"));
+    return m_pPOAManager.in();
+  }
+  
+  /*!
+   * @if jp
+   * @brief Manager が持つ POAManager を取得する (所有権複製)
+   * @else
+   * @brief Get the pointer to the POAManager (ownership duplicated)
+   * @endif
+   */
   PortableServer::POAManager_ptr Manager::getPOAManager()
   {
     RTC_TRACE(("Manager::getPOAManager()"));
-    return m_pPOAManager;
+    return PortableServer::POAManager::_duplicate(m_pPOAManager);
   }
   
   //============================================================

Modified: trunk/OpenRTM-aist/src/lib/rtm/Manager.h
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/Manager.h	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/Manager.h	2016-07-20 07:35:32 UTC (rev 2757)
@@ -1,4 +1,4 @@
-// -*- C++ -*-
+/// -*- C++ -*-
 /*!
  * @file Manager.h
  * @brief RTComponent manager class
@@ -913,59 +913,203 @@
     //============================================================
     /*!
      * @if jp
-     * @brief ORB のポインタを取得する
+     * @brief ORB のポインタを取得する (所有権保持)
      *
-     * Manager に設定された ORB のポインタを取得する。
+     * Manager に設定された ORB のポインタを取得する。所有権は保持され
+     * たままである。_var型で受ける場合は getORB() を用いること。この関
+     * 数は以下のようにORBのオペレーションを直接呼ぶ場合に利用する。
      *
+     * Manager::instance().theORB()->string_to_object(<IOR string>);
+     *
      * @return ORB オブジェクト
      *
      * @else
-     * @brief Get the pointer to ORB
+     * @brief Get the pointer to ORB (ownership retained)
      *
-     * Get the pointer to ORB that has been set to Manager.
+     * Get the pointer to ORB that has been set to Manager. The
+     * ownership of ORB is retained. If the returned value is assigned
+     * to _var variable, getORB() operation must be used. This
+     * operation is provided for the following use.
      *
+     * Manager::instance().theORB()->string_to_object(<IOR string>);
+     *
      * @return ORB object
      *
      * @endif
      */
+    CORBA::ORB_ptr theORB();
+
+    /*!
+     * @if jp
+     * @brief ORB のポインタを取得する (所有権複製)
+     *
+     * Manager に設定された ORB のポインタを取得する。所有権はコピーさ
+     * れ(リファレンスカウントが1増加する。)、受け取った側でも所有権
+     * を獲得する。したがって、使用後にはリファレンスを解放する必要があ
+     * る。通常は以下のように戻り値を _var 型変数で受け取り、自動的に解
+     * 放させる方法が推奨される。
+     *
+     * {
+     *   CORBA::ORB_var orb = Manager::instance().getORB();
+     *   orb->string_to_object(<IOR string>);
+     * } // ORB's reference in orb is released here.
+     *
+     * @return ORB オブジェクト
+     *
+     * @else
+     * @brief Get the pointer to ORB (ownership duplicated)
+     *
+     * Get the pointer to ORB that has been set to Manager. The
+     * ownership is copied (the reference count is incremented.),
+     * calling side also obtains reference ownership. The obtained
+     * reference must be released after use. Usually it is recommended
+     * that return value are assigned to _var type variables are
+     * wonership would be released automatically.
+     *
+     * {
+     *   CORBA::ORB_var orb = Manager::instance().getORB();
+     *   orb->string_to_object(<IOR string>);
+     * } // ORB's reference in orb is released here.
+     *
+     * @return ORB object
+     *
+     * @endif
+     */
     CORBA::ORB_ptr getORB();
-    
+
     /*!
      * @if jp
-     * @brief Manager が持つ RootPOA のポインタを取得する
+     * @brief Manager が持つ RootPOA のポインタを取得する (所有権保持)
      *
-     * Manager に設定された RootPOA へのポインタを取得する。
+     * Manager に設定された RootPOA へのポインタを取得する。所有権は保持され
+     * たままである。_var型で受ける場合は getPOA() を用いること。この関
+     * 数は以下のようにPOAのオペレーションを直接呼ぶ場合に利用する。
      *
+     * Manager::instance().getPOA()->servant_to_id(m_servant);
+     *
      * @return RootPOAオブジェクト
      *
      * @else
      * @brief Get a pointer to RootPOA held by Manager
      *
-     * Get the pointer to RootPOA that has been set to Manager.
+     * Get the pointer to RootPOA that has been set to Manager. The
+     * ownership of POA is retained. If the returned value is assigned
+     * to _var variable, getPOA() operation must be used. This
+     * operation is provided for the following use.
      *
+     * Manager::instance().getPOA()->servant_to_id(m_servant);
+     *
      * @return RootPOA object
      *
      * @endif
      */
+
+    PortableServer::POA_ptr thePOA();
+    /*!
+     * @if jp
+     * @brief Manager が持つ RootPOA のポインタを取得する (所有権複製)
+     *
+     * Manager に設定された RootPOA へのポインタを取得する。所有権はコ
+     * ピーされ(リファレンスカウントが1増加する。)、受け取った側でも
+     * 所有権を獲得する。したがって、使用後にはリファレンスを解放する必
+     * 要がある。通常は以下のように戻り値を _var 型変数で受け取り、自動
+     * 的に解放させる方法が推奨される。
+     *
+     * {
+     *   PortableServer::POA_var poa = Manager::instance().getPOA();;
+     *   poa->servant_to_id(m_servant);
+     * } // POA's reference in orb is released here.
+     *
+     * @return RootPOAオブジェクト
+     *
+     * @else
+     * @brief Get a pointer to RootPOA held by Manager
+     *
+     * Get the pointer to RootPOA that has been set to Manager. The
+     * ownership is copied (the reference count is incremented.),
+     * calling side also obtains reference ownership. The obtained
+     * reference must be released after use. Usually it is recommended
+     * that return value are assigned to _var type variables are
+     * wonership would be released automatically.
+     *
+     * {
+     *   PortableServer::POA_var poa = Manager::instance().getPOA();;
+     *   poa->servant_to_id(m_servant);
+     * } // POA's reference in orb is released here.
+     *
+     * @return RootPOA object
+     *
+     * @endif
+     */
     PortableServer::POA_ptr getPOA();
-    
+
     /*!
      * @if jp
-     * @brief Manager が持つ POAManager を取得する
+     * @brief Manager が持つ POAManager を取得する (所有権保持)
      *
-     * Manager に設定された POAMAnager を取得する。
+     * Manager に設定された POAMAnager を取得する。所有権は保持され
+     * たままである。_var型で受ける場合は getORB() を用いること。この関
+     * 数は以下のようにORBのオペレーションを直接呼ぶ場合に利用する。
      *
+     * Manager::instance().thePOAManager()->activate();
+     *
      * @return POAマネージャ
      *
      * @else
-     * @brief Get POAManager that Manager has
+     * @brief Get POAManager that Manager has (ownership retained)
      *
-     * Get POAMAnager that has been set to Manager.
+     * Get POAMAnager that has been set to Manager. The ownership of
+     * POAManager is retained. If the returned value is assigned to
+     * _var variable, getPOAManager() operation must be used. This
+     * operation is provided for the following use.
      *
+     * Manager::instance().thePOAManager()->activate();
+     *
      * @return POA manager
      *
      * @endif
      */
+
+    PortableServer::POAManager_ptr thePOAManager();
+    /*!
+     * @if jp
+     * @brief Manager が持つ POAManager を取得する (所有権複製)
+     *
+     * Manager に設定された POAMAnager を取得する。所有権はコピーさ
+     * れ(リファレンスカウントが1増加する。)、受け取った側でも所有権
+     * を獲得する。したがって、使用後にはリファレンスを解放する必要があ
+     * る。通常は以下のように戻り値を _var 型変数で受け取り、自動的に解
+     * 放させる方法が推奨される。
+     *
+     * {
+     *   PortableServer::POAManager_var poam;
+     *   poam = = Manager::instance().getPOAManager();
+     *   poam->activate();
+     * } // POAManager's reference in orb is released here.
+     *
+     *
+     * @return POAマネージャ
+     *
+     * @else
+     * @brief Get POAManager that Manager has (ownership duplicated)
+     *
+     * Get POAMAnager that has been set to Manager. The
+     * ownership is copied (the reference count is incremented.),
+     * calling side also obtains reference ownership. The obtained
+     * reference must be released after use. Usually it is recommended
+     * that return value are assigned to _var type variables are
+     * wonership would be released automatically.
+     *
+     * {
+     *   PortableServer::POAManager_var poam;
+     *   poam = = Manager::instance().getPOAManager();
+     *   poam->activate();
+     * } // POAManager's reference in orb is released here.
+     *
+     * @return POA manager
+     *
+     * @endif
+     */
     PortableServer::POAManager_ptr getPOAManager();
     
     //============================================================

Modified: trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/ManagerServant.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -780,9 +780,9 @@
         //Ppreparing INS POA
         CORBA::Object_var obj;
 #ifndef ORB_IS_RTORB
-        obj = m_mgr.getORB()->resolve_initial_references("omniINSPOA");
+        obj = m_mgr.theORB()->resolve_initial_references("omniINSPOA");
 #else // ROB_IS_RTORB
-        obj = m_mgr.getORB()->resolve_initial_references((char*)"omniINSPOA");
+        obj = m_mgr.theORB()->resolve_initial_references((char*)"omniINSPOA");
 #endif // ORB_IS_RTORB
         PortableServer::POA_ptr poa = PortableServer::POA::_narrow(obj);
         poa->the_POAManager()->activate();
@@ -805,7 +805,7 @@
         m_objref = ::RTM::Manager::_narrow(mgrobj);
 
         CORBA::String_var ior;
-        ior = m_mgr.getORB()->
+        ior = m_mgr.theORB()->
           object_to_string(RTM::Manager::_duplicate(m_objref));
         std::string iorstr((const char*)ior);
         RTC_DEBUG(("Manager's IOR information:\n %s",
@@ -835,7 +835,7 @@
         RTC_DEBUG(("corbaloc: %s", mgrloc.c_str()));
 
         CORBA::Object_var mobj;
-        mobj = m_mgr.getORB()->string_to_object(mgrloc.c_str());
+        mobj = m_mgr.theORB()->string_to_object(mgrloc.c_str());
 #ifndef ORB_IS_RTORB
         RTM::Manager_var mgr = ::RTM::Manager::_narrow(mobj);
 #else // ORB_IS_RTORB
@@ -851,7 +851,7 @@
 #endif // ORB_IS_RTORB
 
         CORBA::String_var ior;
-        ior = m_mgr.getORB()->object_to_string(RTM::Manager::_duplicate(mgr));
+        ior = m_mgr.theORB()->object_to_string(RTM::Manager::_duplicate(mgr));
         std::string iorstr((const char*)ior);
         RTC_DEBUG(("Manager's IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));

Modified: trunk/OpenRTM-aist/src/lib/rtm/NamingManager.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/NamingManager.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/NamingManager.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -77,14 +77,14 @@
       {
         CORBA::Object_var obj(RTObject::_duplicate(rtobj->getObjRef()));
         CORBA::String_var ior;
-        ior = RTC::Manager::instance().getORB()->object_to_string(obj.in());
+        CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
+        ior = orb->object_to_string(obj.in());
         std::string iorstr((const char*)ior);
 
         RTC_DEBUG(("Original IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
         CORBA_IORUtil::replaceEndpoint(iorstr, m_endpoint);
-        CORBA::Object_var newobj = RTC::Manager::instance().
-          getORB()->string_to_object(iorstr.c_str());
+        CORBA::Object_var newobj = orb->string_to_object(iorstr.c_str());
 
         RTC_DEBUG(("Modified IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
@@ -108,14 +108,14 @@
       {
         CORBA::Object_var obj(PortService::_duplicate(port->getPortRef()));
         CORBA::String_var ior;
-        ior = RTC::Manager::instance().getORB()->object_to_string(obj.in());
+        CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
+        ior = orb->object_to_string(obj.in());
         std::string iorstr((const char*)ior);
 
         RTC_DEBUG(("Original IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
         CORBA_IORUtil::replaceEndpoint(iorstr, m_endpoint);
-        CORBA::Object_var newobj = RTC::Manager::instance().
-          getORB()->string_to_object(iorstr.c_str());
+        CORBA::Object_var newobj = orb->string_to_object(iorstr.c_str());
 
         RTC_DEBUG(("Modified IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
@@ -139,14 +139,14 @@
       {
         CORBA::Object_var obj(RTM::Manager::_duplicate(mgr->getObjRef()));
         CORBA::String_var ior;
-        ior = RTC::Manager::instance().getORB()->object_to_string(obj.in());
+        CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
+        ior = orb->object_to_string(obj.in());
         std::string iorstr((const char*)ior);
 
         RTC_DEBUG(("Original IOR information:\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
         CORBA_IORUtil::replaceEndpoint(iorstr, m_endpoint);
-        CORBA::Object_var newobj = RTC::Manager::instance().
-          getORB()->string_to_object(iorstr.c_str());
+        CORBA::Object_var newobj = orb->string_to_object(iorstr.c_str());
 
         RTC_DEBUG(("Modified IOR information]\n %s",
                    CORBA_IORUtil::formatIORinfo(iorstr.c_str()).c_str()));
@@ -444,30 +444,29 @@
    * @endif
    */
   NamingBase* NamingManager::createNamingObj(const char* method,
-					     const char* name_server)
+                                             const char* name_server)
   {
     RTC_TRACE(("createNamingObj(method = %s, nameserver = %s",
                method, name_server));
     std::string m(method);
     if (m == "corba")
       {
-	try
-	  {
-	    NamingBase* name;
-            CORBA::ORB_var orb;
-            orb = CORBA::ORB::_duplicate(m_manager->getORB());
-	    name = new NamingOnCorba(orb.in(), name_server);
-	    if (name == NULL) return NULL;
-	    RTC_INFO(("NameServer connection succeeded: %s/%s",		\
-		      method, name_server));
-	    return name;
-	  }
-	catch (...)
-	  {
-	    RTC_INFO(("NameServer connection failed: %s/%s",		\
-		      method, name_server));
-	    return NULL;
-	  }
+        try
+          {
+            NamingBase* name;
+            CORBA::ORB_var orb = m_manager->getORB();
+            name = new NamingOnCorba(orb.in(), name_server);
+            if (name == NULL) return NULL;
+            RTC_INFO(("NameServer connection succeeded: %s/%s", \
+                      method, name_server));
+            return name;
+          }
+        catch (...)
+          {
+            RTC_INFO(("NameServer connection failed: %s/%s",    \
+                      method, name_server));
+            return NULL;
+          }
       }
     return NULL;
   }

Modified: trunk/OpenRTM-aist/src/lib/rtm/OutPortBase.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/OutPortBase.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/OutPortBase.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -1065,7 +1065,7 @@
   OutPortBase::getLocalInPort(const ConnectorInfo& profile)
   {
     RTC_DEBUG(("Trying direct port connection."));
-    CORBA::ORB_var orb = RTC::Manager::instance().getORB();
+    CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
     RTC_DEBUG(("Current connector profile: name=%s, id=%s",
                profile.name.c_str(), profile.id.c_str()));
     // finding peer port object
@@ -1077,7 +1077,7 @@
         RTC_DEBUG(("Peer port found: %s.", profile.ports[i].c_str()));
         try
           {
-            PortableServer::POA_var poa = RTC::Manager::instance().getPOA();
+            PortableServer::POA_var poa = ::RTC::Manager::instance().getPOA();
             InPortBase* inport = dynamic_cast<InPortBase*>
               (poa->reference_to_servant(obj));
             RTC_DEBUG(("InPortBase servant pointer is obtained."));

Modified: trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrConsumer.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrConsumer.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrConsumer.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -162,7 +162,7 @@
         const char* ior;
         properties[index].value >>= ior;
 
-        CORBA::ORB_ptr orb = ::RTC::Manager::instance().getORB();
+        CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
         CORBA::Object_var var = orb->string_to_object(ior);
         bool ret(setObject(var.in()));
         if (ret)
@@ -203,7 +203,7 @@
     if (properties[index].value >>= ior)
       {
         RTC_DEBUG(("dataport.corba_cdr.outport_ior found."));
-        CORBA::ORB_ptr orb = RTC::Manager::instance().getORB();
+        CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
         CORBA::Object_var var = orb->string_to_object(ior);
         if (_ptr()->_is_equivalent(var))
           {

Modified: trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrProvider.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrProvider.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/OutPortCorbaCdrProvider.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -42,7 +42,7 @@
     m_objref = this->_this();
     
     // set outPort's reference
-    CORBA::ORB_ptr orb = ::RTC::Manager::instance().getORB();
+    CORBA::ORB_var orb = ::RTC::Manager::instance().getORB();
     CORBA::String_var ior = orb->object_to_string(m_objref.in());
 #ifndef ORB_IS_RTORB
     CORBA_SeqUtil::

Modified: trunk/OpenRTM-aist/src/lib/rtm/PortAdmin.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/PortAdmin.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/PortAdmin.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -92,8 +92,8 @@
    * @endif
    */
   PortAdmin::PortAdmin(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa)
-    : m_pORB(CORBA::ORB::_duplicate(orb)),
-      m_pPOA(PortableServer::POA::_duplicate(poa)),
+    : m_pORB(orb),
+      m_pPOA(poa),
       rtclog("portadmin")
   {
   }

Modified: trunk/OpenRTM-aist/src/lib/rtm/RTObject.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/RTObject.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/RTObject.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -63,8 +63,8 @@
    */
   RTObject_impl::RTObject_impl(Manager* manager)
     : m_pManager(manager),
-      m_pORB(CORBA::ORB::_duplicate(manager->getORB())),
-      m_pPOA(PortableServer::POA::_duplicate(manager->getPOA())),
+      m_pORB(manager->getORB()),
+      m_pPOA(manager->getPOA()),
       m_portAdmin(manager->getORB(), manager->getPOA()),
       m_created(true), m_exiting(false),
       m_properties(default_conf), m_configsets(m_properties.getNode("conf")),

Modified: trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp	2016-07-19 04:25:30 UTC (rev 2756)
+++ trunk/OpenRTM-aist/src/lib/rtm/RTObjectStateMachine.cpp	2016-07-20 07:35:32 UTC (rev 2757)
@@ -160,7 +160,7 @@
     m_caVar = RTC::ComponentAction::_narrow(comp);
     if (CORBA::is_nil(m_caVar)) { return; }
     m_ca = true;
-    PortableServer::POA_ptr poa = RTC::Manager::instance().getPOA();
+    PortableServer::POA_var poa = ::RTC::Manager::instance().getPOA();
     try
       {
         m_rtobjPtr =



More information about the openrtm-commit mailing list