summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrehberger <frehberger@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-02-22 05:03:49 +0000
committerfrehberger <frehberger@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-02-22 05:03:49 +0000
commita7340e77bb4752f24951c8168c78cfe78269295f (patch)
treed693e5b8ef1f3d323de243c6d9c7eb73e07349da
parent7bc3518311d32879946449057bb981bfa338c722 (diff)
downloadATCD-a7340e77bb4752f24951c8168c78cfe78269295f.tar.gz
ChangeLogTag: Wed Feb 22 04:45:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
-rw-r--r--TAO/ChangeLog13
-rw-r--r--TAO/tao/ORB_Core.cpp12
-rw-r--r--TAO/tao/ORB_Table.h26
-rw-r--r--TAO/tao/ORB_Table.inl6
-rw-r--r--TAO/tao/Stub.i2
5 files changed, 40 insertions, 19 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 7c441a1390d..352704569ac 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,16 @@
+Wed Feb 22 04:45:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+ * tao/ORB_Core.cpp:
+ Fixing TAO_ORB_Core_Auto_Ptr assignment
+
+ * tao/ORB_Table.{h,inl}:
+ Fixing namespace-ing for TAO_ORB_Core.
+
+ * tao/Stub.i:
+ Fixing TAO_ORB_Core declaration
+
+ Together all these changes are related to previous commit for
+ bugzilla bugs #1741 / #2134; #2289; #1493; #2130.
+
Tue Feb 21 19:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.{h,cpp}:
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index e9c63667e3c..16eb4f60a59 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -1819,12 +1819,14 @@ TAO_ORB_Core::create_object (TAO_Stub *stub)
TAO::ORB_Table::iterator const end = table->end ();
for (TAO::ORB_Table::iterator i = table->begin (); i != end; ++i)
{
- TAO_ORB_Core * const other_core = (*i).second.core ();
+ ::TAO_ORB_Core * const other_core = (*i).second.core ();
if (this->is_collocation_enabled (other_core,
mprofile))
{
- collocated_orb_core = other_core->_incr_refcnt();
+ other_core->_incr_refcnt();
+ TAO_ORB_Core_Auto_Ptr tmp_auto_ptr (other_core);
+ collocated_orb_core = tmp_auto_ptr;
break;
}
}
@@ -1898,7 +1900,9 @@ TAO_ORB_Core::initialize_object_i (TAO_Stub *stub,
if (this->is_collocation_enabled (other_core,
mprofile))
{
- collocated_orb_core = other_core->_incr_refcnt ();
+ other_core->_incr_refcnt ();
+ TAO_ORB_Core_Auto_Ptr tmp_auto_ptr (other_core);
+ collocated_orb_core = tmp_auto_ptr;
break;
}
}
@@ -1907,7 +1911,7 @@ TAO_ORB_Core::initialize_object_i (TAO_Stub *stub,
if (collocated_orb_core.get ())
{
TAO_Adapter_Registry *ar =
- collocated_orb_core->get ()->adapter_registry ();
+ collocated_orb_core.get ()->adapter_registry ();
retval = ar->initialize_collocated_object (stub);
}
diff --git a/TAO/tao/ORB_Table.h b/TAO/tao/ORB_Table.h
index 6bc28cc7efb..4675891373f 100644
--- a/TAO/tao/ORB_Table.h
+++ b/TAO/tao/ORB_Table.h
@@ -25,10 +25,12 @@
#include "tao/orbconf.h"
#include "tao/CORBA_String.h"
+#include "tao/ORB_Core.h"
#include "ace/Array_Map.h"
#include "ace/Thread_Mutex.h"
+
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
// Forward declarations.
@@ -61,7 +63,7 @@ namespace TAO
*/
class TAO_Export ORB_Table
{
- friend class TAO_ORB_Core;
+ friend class ::TAO_ORB_Core;
public:
/// Constructor
@@ -86,7 +88,7 @@ namespace TAO
//@{
iterator begin (void);
iterator end (void);
- int bind (const char *orb_id, TAO_ORB_Core *orb_core);
+ int bind (const char *orb_id, ::TAO_ORB_Core *orb_core);
/// Return @c TAO_ORB_Core corresponding to ORB with given @a
/// orb_id.
@@ -94,16 +96,16 @@ namespace TAO
* @note The caller must decrease the reference count on the
* returned ORB_Core, i.e. the callers "owns" it.
*/
- TAO_ORB_Core* find (const char *orb_id);
+ ::TAO_ORB_Core* find (const char *orb_id);
int unbind (const char *orb_id);
//@}
- TAO_ORB_Core * const * get_orbs (size_t& num_orbs);
+ ::TAO_ORB_Core * const * get_orbs (size_t& num_orbs);
/// Obtain the first ORB for the @c ORB_Core_instance()
/// implementation.
- TAO_ORB_Core * first_orb (void);
+ ::TAO_ORB_Core * first_orb (void);
/// Return a unique instance
static ORB_Table * instance (void);
@@ -127,7 +129,7 @@ namespace TAO
/// Return @c TAO_ORB_Core corresponding to ORB with given @a
/// orb_id. (underlying unlocked implementation).
- TAO_ORB_Core * find_i (char const * orb_id);
+ ::TAO_ORB_Core * find_i (char const * orb_id);
/// Update our list of orbs
/**
@@ -138,7 +140,7 @@ namespace TAO
private:
/// Lock used to synchronize access to the internal state.
- TAO_SYNCH_MUTEX lock_;
+ ::TAO_SYNCH_MUTEX lock_;
/// Variable to check if the first ORB decides not to be the
/// default.
@@ -148,13 +150,13 @@ namespace TAO
Table table_;
/// The first ORB created by the user
- TAO_ORB_Core * first_orb_;
+ ::TAO_ORB_Core * first_orb_;
/// List of orbs for get_orbs call
/**
* @todo ORB_Table::orbs_ appears to be unused. Remove it?
*/
- TAO_ORB_Core ** orbs_;
+ ::TAO_ORB_Core ** orbs_;
/// Number of ORBs in the table.
size_t num_orbs_;
@@ -178,7 +180,7 @@ namespace TAO
ORB_Core_Ref_Counter (void);
/// Constructor.
- ORB_Core_Ref_Counter (TAO_ORB_Core * core);
+ ORB_Core_Ref_Counter (::TAO_ORB_Core * core);
/// Destructor.
~ORB_Core_Ref_Counter (void);
@@ -190,11 +192,11 @@ namespace TAO
void operator= (ORB_Core_Ref_Counter const & rhs);
/// ORB_Core pointer accessor.
- TAO_ORB_Core * core (void) const { return this->core_; }
+ ::TAO_ORB_Core * core (void) const { return this->core_; }
private:
- TAO_ORB_Core * core_;
+ ::TAO_ORB_Core * core_;
};
diff --git a/TAO/tao/ORB_Table.inl b/TAO/tao/ORB_Table.inl
index ddedd35a049..b3145b1f2e0 100644
--- a/TAO/tao/ORB_Table.inl
+++ b/TAO/tao/ORB_Table.inl
@@ -8,7 +8,7 @@
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-ACE_INLINE TAO_ORB_Core *
+ACE_INLINE ::TAO_ORB_Core *
TAO::ORB_Table::first_orb (void)
{
return this->first_orb_;
@@ -26,7 +26,7 @@ TAO::ORB_Table::end (void)
return this->table_.end ();
}
-ACE_INLINE TAO_ORB_Core* const *
+ACE_INLINE ::TAO_ORB_Core* const *
TAO::ORB_Table::get_orbs (size_t& num_orbs)
{
num_orbs = this->num_orbs_;
@@ -49,7 +49,7 @@ TAO::ORB_Core_Ref_Counter::ORB_Core_Ref_Counter (void)
}
ACE_INLINE
-TAO::ORB_Core_Ref_Counter::ORB_Core_Ref_Counter (TAO_ORB_Core * core)
+TAO::ORB_Core_Ref_Counter::ORB_Core_Ref_Counter (::TAO_ORB_Core * core)
: core_ (core)
{
// ACE_ASSERT (core != 0);
diff --git a/TAO/tao/Stub.i b/TAO/tao/Stub.i
index cc95c3aec32..e288fd6137e 100644
--- a/TAO/tao/Stub.i
+++ b/TAO/tao/Stub.i
@@ -2,6 +2,8 @@
//
// $Id$
+#include "tao/ORB_Core.h"
+
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE void