summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2004-08-23 18:39:37 +0000
committerbala <balanatarajan@users.noreply.github.com>2004-08-23 18:39:37 +0000
commit626e56b3b8b683ce869f683debf26c272ba1a1eb (patch)
tree0eecd0dcc48df0ff85ac9459f11bf0a0916e5ff0
parentf3c88685146155b183ea5903882bc8969e01a266 (diff)
downloadATCD-626e56b3b8b683ce869f683debf26c272ba1a1eb.tar.gz
ChangeLogTag:Mon Aug 23 18:33:59 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/tao/IORInterceptor/IORInterceptor_List.cpp2
-rw-r--r--TAO/tao/IORInterceptor/IORInterceptor_List.h2
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp11
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h6
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp223
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h169
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl6
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp102
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.h145
-rw-r--r--TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.inl6
-rw-r--r--TAO/tao/PortableServer/ORTRework.txt35
-rwxr-xr-xTAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.cpp14
-rwxr-xr-xTAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h114
-rw-r--r--TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h12
-rw-r--r--TAO/tao/PortableServer/POA.cpp107
-rw-r--r--TAO/tao/PortableServer/POA.h23
-rw-r--r--TAO/tao/Thread_Per_Connection_Handler.cpp2
17 files changed, 529 insertions, 450 deletions
diff --git a/TAO/tao/IORInterceptor/IORInterceptor_List.cpp b/TAO/tao/IORInterceptor/IORInterceptor_List.cpp
index 0838fab036b..3a52c31faff 100644
--- a/TAO/tao/IORInterceptor/IORInterceptor_List.cpp
+++ b/TAO/tao/IORInterceptor/IORInterceptor_List.cpp
@@ -54,7 +54,7 @@ TAO_IORInterceptor_List::add_interceptor (
void
TAO_IORInterceptor_List::adapter_state_changed (
- const TAO_ObjectReferenceTemplate_Array &array_obj_ref_template,
+ const TAO::ObjectReferenceTemplate_Array &array_obj_ref_template,
PortableInterceptor::AdapterState state
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
diff --git a/TAO/tao/IORInterceptor/IORInterceptor_List.h b/TAO/tao/IORInterceptor/IORInterceptor_List.h
index 8402af38b09..3c2822e8b2b 100644
--- a/TAO/tao/IORInterceptor/IORInterceptor_List.h
+++ b/TAO/tao/IORInterceptor/IORInterceptor_List.h
@@ -55,7 +55,7 @@ public:
TYPE & interceptors (void);
void adapter_state_changed (
- const TAO_ObjectReferenceTemplate_Array &array_obj_ref_template,
+ const TAO::ObjectReferenceTemplate_Array &array_obj_ref_template,
PortableInterceptor::AdapterState state
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp
index e963636cf55..9a581576150 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp
@@ -13,14 +13,14 @@ TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::
{
}
-TAO_ObjectReferenceTemplate_Adapter *
+TAO::ObjectReferenceTemplate_Adapter *
TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::create (
ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- TAO_ObjectReferenceTemplate_Adapter_Impl * new_ort_adapter;
+ TAO::ObjectReferenceTemplate_Adapter_Impl * new_ort_adapter;
ACE_NEW_THROW_EX (new_ort_adapter,
- TAO_ObjectReferenceTemplate_Adapter_Impl,
+ TAO::ObjectReferenceTemplate_Adapter_Impl,
CORBA::NO_MEMORY ());
ACE_CHECK_RETURN (0);
@@ -29,7 +29,7 @@ TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::create (
void
TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::destroy (
- TAO_ObjectReferenceTemplate_Adapter * adapter
+ TAO::ObjectReferenceTemplate_Adapter * adapter
ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
@@ -43,8 +43,7 @@ TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::destroy (
int
TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::Initializer (void)
{
- TAO_POA::objectreferencetemplate_adapter_factory_name (
- "Concrete_ObjectReferenceTemplate_Adapter_Factory"
+ TAO_POA::ort_adapter_factory_name ("Concrete_ObjectReferenceTemplate_Adapter_Factory"
);
return
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h
index b2d778cdfb4..4af3302a30a 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h
@@ -25,6 +25,8 @@
#include "ort_export.h"
#include "tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h"
+// @@ Johnny, can you please put this in TAO namespace?
+//
/**
* @class TAO_ObjectReferenceTemplate_Adapter_Factory_Impl
*
@@ -41,14 +43,14 @@ public:
virtual ~TAO_ObjectReferenceTemplate_Adapter_Factory_Impl (void);
/// Create an adapter
- virtual TAO_ObjectReferenceTemplate_Adapter * create (
+ virtual TAO::ObjectReferenceTemplate_Adapter * create (
ACE_ENV_SINGLE_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::SystemException));
/// Destroy an adapter that is created by this factory
virtual void destroy (
- TAO_ObjectReferenceTemplate_Adapter * adapter
+ TAO::ObjectReferenceTemplate_Adapter * adapter
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp
index 703b50e6514..360f701cc8a 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp
@@ -1,124 +1,125 @@
// $Id$
+#include "ObjectReferenceTemplate_Adapter_Impl.h"
#include "tao/PortableServer/POA.h"
-
#include "tao/CORBA_String.h"
#include "tao/ORB_Constants.h"
#include "tao/CORBA_methods.h"
-ACE_RCSID (ORT,
- ObjectReferenceTemplate_Adapater_Impl,
- "$Id$")
-
-
#if !defined (__ACE_INLINE__)
-# include "ObjectReferenceTemplate_Adapter_Impl.h"
+# include "ObjectReferenceTemplate_Adapter_Impl.inl"
#endif /* ! __ACE_INLINE__ */
+ACE_RCSID (ORT,
+ ObjectReferenceTemplate_Adapater_Impl,
+ "$Id$")
-TAO_ObjectReferenceTemplate_Adapter_Impl::
- TAO_ObjectReferenceTemplate_Adapter_Impl()
-{
-}
-
-TAO_ObjectReferenceTemplate_Adapter_Impl::
- ~TAO_ObjectReferenceTemplate_Adapter_Impl (void)
-{
-}
-
-char *
-TAO_ObjectReferenceTemplate_Adapter_Impl::server_id (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ort_template_->server_id (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-char *
-TAO_ObjectReferenceTemplate_Adapter_Impl::orb_id (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ort_template_->orb_id (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-PortableInterceptor::AdapterName *
-TAO_ObjectReferenceTemplate_Adapter_Impl::adapter_name (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ort_template_->adapter_name (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_ObjectReferenceTemplate_Adapter_Impl::make_object (
- const char *repository_id,
- const PortableInterceptor::ObjectId &id
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->ort_factory_->make_object (repository_id,
- id
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableInterceptor::ObjectReferenceTemplate *
-TAO_ObjectReferenceTemplate_Adapter_Impl::get_adapter_template (void)
-{
- CORBA::add_ref (ort_template_.in());
-
- return ort_template_;
-}
-
-PortableInterceptor::ObjectReferenceFactory *
-TAO_ObjectReferenceTemplate_Adapter_Impl::get_obj_ref_factory (void)
-{
- CORBA::add_ref (ort_factory_.in());
-
- return ort_factory_;
-}
-
-int
-TAO_ObjectReferenceTemplate_Adapter_Impl::set_obj_ref_factory (
- PortableInterceptor::ObjectReferenceFactory *current_factory
- ACE_ENV_ARG_DECL)
-{
- ort_factory_ = current_factory;
-
- CORBA::add_ref (ort_factory_.in());
-
- return 0;
-}
-
-int
-TAO_ObjectReferenceTemplate_Adapter_Impl::activate (
- const char *server_id,
- const char *orb_id,
- PortableInterceptor::AdapterName *adapter_name,
- TAO_POA *poa
- ACE_ENV_ARG_DECL)
-{
- // Create an ObjectReferenceTemplate for this POA.
- ACE_NEW_THROW_EX (this->tao_ort_template,
- TAO_ObjectReferenceTemplate (
- server_id,
- orb_id,
- adapter_name,
- poa),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (-1);
-
- this->ort_template_ = this->tao_ort_template;
-
- // Must increase ref count since this->obj_ref_factory_ will
- // descrease it upon destruction.
- CORBA::add_ref (this->ort_template_.in ());
- this->ort_factory_ = this->ort_template_;
-
- return 0;
-}
-
-void
-TAO_ObjectReferenceTemplate_Adapter_Impl::poa (TAO_POA * poa)
+namespace TAO
{
- this->tao_ort_template->poa (poa);
+ ObjectReferenceTemplate_Adapter_Impl::ObjectReferenceTemplate_Adapter_Impl (void)
+ : tao_ort_template_ (0)
+ {
+ }
+
+ ObjectReferenceTemplate_Adapter_Impl::~ObjectReferenceTemplate_Adapter_Impl (void)
+ {
+ }
+
+ char *
+ ObjectReferenceTemplate_Adapter_Impl::server_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // @@Johnny, just document why duplicate isn't necessary.
+ return this->ort_template_->server_id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ char *
+ ObjectReferenceTemplate_Adapter_Impl::orb_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // @@Johnny, just document why duplicate isn't necessary.
+ return this->ort_template_->orb_id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ PortableInterceptor::AdapterName *
+ ObjectReferenceTemplate_Adapter_Impl::adapter_name (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // @@Johnny, comment for duplicate also applies here..
+ return this->ort_template_->adapter_name (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ CORBA::Object_ptr
+ ObjectReferenceTemplate_Adapter_Impl::make_object (const char *repo_id,
+ const TAO_PI::ObjectId &id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return this->ort_factory_->make_object (repo_id,
+ id
+ ACE_ENV_ARG_PARAMETER);
+ }
+
+ TAO_PI::ObjectReferenceTemplate *
+ ObjectReferenceTemplate_Adapter_Impl::get_adapter_template (void)
+ {
+ CORBA::add_ref (ort_template_.in());
+
+ return ort_template_;
+ }
+
+ TAO_PI::ObjectReferenceFactory *
+ ObjectReferenceTemplate_Adapter_Impl::get_obj_ref_factory (void)
+ {
+ CORBA::add_ref (ort_factory_.in());
+
+ return ort_factory_;
+ }
+
+ int
+ ObjectReferenceTemplate_Adapter_Impl::set_obj_ref_factory (
+ TAO_PI::ObjectReferenceFactory *cf
+ ACE_ENV_ARG_DECL)
+ {
+ ort_factory_ = cf;
+
+ CORBA::add_ref (ort_factory_.in ());
+
+ return 0;
+ }
+
+ int
+ ObjectReferenceTemplate_Adapter_Impl::activate (const char *server_id,
+ const char *orb_id,
+ TAO_PI::AdapterName *adapter_name,
+ TAO_POA *poa
+ ACE_ENV_ARG_DECL)
+ {
+ // @@Johnny, how do you protect against multiple activates. Just
+ // for sanity.. Do we need a lock?
+ // Create an ObjectReferenceTemplate for this POA.
+ ACE_NEW_THROW_EX (this->tao_ort_template_,
+ ObjectReferenceTemplate (server_id,
+ orb_id,
+ adapter_name,
+ poa),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (-1);
+
+ this->ort_template_ = this->tao_ort_template_;
+
+ // Must increase ref count since this->obj_ref_factory_ will
+ // descrease it upon destruction.
+ CORBA::add_ref (this->ort_template_.in ());
+ this->ort_factory_ = this->ort_template_;
+
+ return 0;
+ }
+
+ void
+ ObjectReferenceTemplate_Adapter_Impl::poa (TAO_POA * poa)
+ {
+ // @@ Johnny, why isn't the POA duplicated here?
+ this->tao_ort_template_->poa (poa);
+ }
}
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h
index b16111205f4..3aa6722be2a 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h
@@ -35,99 +35,108 @@
class TAO_POA;
-/**
- * @class TAO_ObjectReferenceTemplate_Adapter_Impl
- *
- * @brief Implementation of the TAO_ObjectReferenceTemplate_Adapter
- */
-class TAO_ORT_Export TAO_ObjectReferenceTemplate_Adapter_Impl
- : public TAO_ObjectReferenceTemplate_Adapter
-{
-public:
- TAO_ObjectReferenceTemplate_Adapter_Impl();
-
- /// Activate this adapter
- virtual int activate (const char *server_id,
- const char *orb_id,
- PortableInterceptor::AdapterName *adapter_name,
- TAO_POA *poa
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- /// Set a different ort_factory to be used.
- virtual int set_obj_ref_factory (PortableInterceptor::ObjectReferenceFactory *current_factory
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+/// Local aliasing
+// @@ Johnny see this trick to make things smaller.
+namespace TAO_PI = PortableInterceptor;
+namespace TAO
+{
/**
- * @name PortableInterceptor::ObjectReferenceTemplate Methods
+ * @class ObjectReferenceTemplate_Adapter_Impl
*
- * Methods required by the
- * PortableInterceptor::ObjectReferenceTemplate ValueType.
+ * @brief Implementation of the TAO_ObjectReferenceTemplate_Adapter
*/
- //@{
- virtual char * server_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual PortableInterceptor::AdapterName * adapter_name (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ class TAO_ORT_Export ObjectReferenceTemplate_Adapter_Impl
+ : public ObjectReferenceTemplate_Adapter
+ {
+ public:
+ ObjectReferenceTemplate_Adapter_Impl (void);
+
+ /// Activate this adapter
+ virtual int activate (const char *server_id,
+ const char *orb_id,
+ PortableInterceptor::AdapterName *adapter_name,
+ TAO_POA *poa
+ ACE_ENV_ARG_DECL);
+
+ /// Set a different ort_factory to be used.
+ virtual int set_obj_ref_factory (
+ PortableInterceptor::ObjectReferenceFactory *current_factory
+ ACE_ENV_ARG_DECL);
+
+ /**
+ * @name PortableInterceptor::ObjectReferenceTemplate Methods
+ *
+ * Methods required by the
+ * PortableInterceptor::ObjectReferenceTemplate ValueType.
+ */
+ // @@ Johnny, could you please either add a tao_* to the following
+ // or document them that they are adapter methods. This could be
+ // confusing.
+ //@{
+ virtual char * server_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * orb_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual TAO_PI::AdapterName * adapter_name (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ //@}
+
+ /// Accessor methods to ObjectReferenceTemplate template
+ virtual TAO_PI::ObjectReferenceTemplate *get_adapter_template (void);
+
+ /// Accessor methods to PortableInterceptor::ObjectReferenceFactory
+ virtual TAO_PI::ObjectReferenceFactory * get_obj_ref_factory (void);
+
+ /**
+ * @name PortableInterceptor::ObjectReferenceFactory Methods
+ *
+ * Methods required by the
+ * PortableInterceptor::ObjectReferenceFactory ValueType.
+ */
+ //@{
+ virtual CORBA::Object_ptr make_object (
+ const char * repository_id,
+ const TAO_PI::ObjectId & id
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
- //@}
-
- /// Accessor methods to ObjectReferenceTemplate template
- virtual PortableInterceptor::ObjectReferenceTemplate * get_adapter_template (void);
-
- /// Accessor methods to PortableInterceptor::ObjectReferenceFactory
- virtual PortableInterceptor::ObjectReferenceFactory * get_obj_ref_factory (void);
+ //@}
- /**
- * @name PortableInterceptor::ObjectReferenceFactory Methods
- *
- * Methods required by the
- * PortableInterceptor::ObjectReferenceFactory ValueType.
- */
- //@{
- virtual CORBA::Object_ptr make_object (
- const char * repository_id,
- const PortableInterceptor::ObjectId & id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- //@}
-
- /// Set the underlying POA pointer.
- /**
- * Upon destruction of the POA that this ObjectReferenceTemplate is
- * associated with, the underlying POA pointer will be set to zero
- * to forcibly break all ties with the POA. This is necessary to
- * prevent this ObjectReferenceTemplate from invoking the POA after
- * it has been destroyed.
- */
- void poa (TAO_POA * poa);
+ /// Set the underlying POA pointer.
+ /**
+ * Upon destruction of the POA that this ObjectReferenceTemplate is
+ * associated with, the underlying POA pointer will be set to zero
+ * to forcibly break all ties with the POA. This is necessary to
+ * prevent this ObjectReferenceTemplate from invoking the POA after
+ * it has been destroyed.
+ */
+ void poa (TAO_POA * poa);
-protected:
+ protected:
- /// Destructor
- /**
- * Protected destructor to enforce proper memory management via
- * reference counting.
- */
- ~TAO_ObjectReferenceTemplate_Adapter_Impl (void);
+ /// Destructor
+ /**
+ * Protected destructor to enforce proper memory management via
+ * reference counting.
+ */
+ virtual ~ObjectReferenceTemplate_Adapter_Impl (void);
-private:
+ private:
- /// The ORT Template, this is the factory and its identify
- PortableInterceptor::ObjectReferenceTemplate_var ort_template_;
+ /// The ORT Template, this is the factory and its identify
+ PortableInterceptor::ObjectReferenceTemplate_var ort_template_;
- /// The ORT Factory
- PortableInterceptor::ObjectReferenceFactory_var ort_factory_;
+ /// The ORT Factory
+ PortableInterceptor::ObjectReferenceFactory_var ort_factory_;
- /// TAO specific ORT Template
- TAO_ObjectReferenceTemplate* tao_ort_template;
-};
+ /// TAO specific ORT Template
+ ObjectReferenceTemplate* tao_ort_template_;
+ };
+}
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif /* _MSC_VER */
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl
index 14de581cafc..2ad999ebb73 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl
@@ -1,9 +1,3 @@
// -*- C++ -*-
//
// $Id$
-
-ACE_INLINE void
-TAO_ObjectReferenceTemplate::poa (TAO_POA * poa)
-{
- this->poa_ = poa;
-}
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp
index fef2a36e039..2c8158f0070 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp
@@ -12,8 +12,9 @@ ACE_RCSID (ORT,
# include "ObjectReferenceTemplate_i.inl"
#endif /* ! __ACE_INLINE__ */
-
-TAO_ObjectReferenceTemplate::TAO_ObjectReferenceTemplate (
+namespace TAO
+{
+ ObjectReferenceTemplate::ObjectReferenceTemplate (
const char *server_id,
const char *orb_id,
PortableInterceptor::AdapterName *adapter_name,
@@ -22,57 +23,64 @@ TAO_ObjectReferenceTemplate::TAO_ObjectReferenceTemplate (
orb_id_ (orb_id),
adapter_name_ (adapter_name),
poa_ (poa)
-{
-}
+ {
+ }
-TAO_ObjectReferenceTemplate::~TAO_ObjectReferenceTemplate (void)
-{
-}
+ ObjectReferenceTemplate::~ObjectReferenceTemplate (void)
+ {
+ }
-char *
-TAO_ObjectReferenceTemplate::server_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup (this->server_id_);
-}
+ char *
+ ObjectReferenceTemplate::server_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return CORBA::string_dup (this->server_id_);
+ }
-char *
-TAO_ObjectReferenceTemplate::orb_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup (this->orb_id_);
-}
+ char *
+ ObjectReferenceTemplate::orb_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return CORBA::string_dup (this->orb_id_);
+ }
-PortableInterceptor::AdapterName *
-TAO_ObjectReferenceTemplate::adapter_name (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableInterceptor::AdapterName *adapter_name = 0;
+ PortableInterceptor::AdapterName *
+ ObjectReferenceTemplate::adapter_name (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ PortableInterceptor::AdapterName *adapter_name = 0;
- ACE_NEW_THROW_EX (adapter_name,
- PortableInterceptor::AdapterName (
- *(this->adapter_name_)),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (0);
+ ACE_NEW_THROW_EX (adapter_name,
+ PortableInterceptor::AdapterName (
+ *(this->adapter_name_)),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (0);
- return adapter_name;
-}
+ return adapter_name;
+ }
-CORBA::Object_ptr
-TAO_ObjectReferenceTemplate::make_object (
- const char *,
- const PortableInterceptor::ObjectId &
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (this->poa_ == 0)
- ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), CORBA::Object::_nil ());
+ CORBA::Object_ptr
+ ObjectReferenceTemplate::make_object (
+ const char *,
+ const PortableInterceptor::ObjectId &
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ if (this->poa_ == 0)
+ ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), CORBA::Object::_nil ());
+
+ return this->poa_->invoke_key_to_object (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ void
+ ObjectReferenceTemplate::poa (TAO_POA * poa)
+ {
+ // @@ Johnny, Why aren't we duplicating this?
+ this->poa_ = poa;
+ }
- return this->poa_->invoke_key_to_object (ACE_ENV_SINGLE_ARG_PARAMETER);
}
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.h b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.h
index adb849a60b9..48466b777ee 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.h
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.h
@@ -35,84 +35,89 @@
class TAO_POA;
-/**
- * @class TAO_ObjectReferenceTemplate
- *
- * @brief Implementation of the PortableInterceptor::ObjectReferenceTemplate
- * interface.
- */
-class TAO_ORT_Export TAO_ObjectReferenceTemplate
- : public virtual OBV_TAO_Default_ORT::ObjectReferenceTemplate,
- public virtual CORBA::DefaultValueRefCountBase
+// @@ Johnny, I am just wondering whether this class is even needed?
+// Why do we need to provide a default implementation? Does the spec
+// call fo it. I know why we did before.. Thoughts??
+namespace TAO
{
-public:
- /// Constructor
- TAO_ObjectReferenceTemplate (const char *server_id,
- const char *orb_id,
- PortableInterceptor::AdapterName *adapter_name,
- TAO_POA *poa);
-
- /**
- * @name PortableInterceptor::ObjectReferenceTemplate Methods
- *
- * Methods required by the
- * PortableInterceptor::ObjectReferenceTemplate ValueType.
- */
- //@{
- virtual char * server_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual PortableInterceptor::AdapterName * adapter_name (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- //@}
-
/**
- * @name PortableInterceptor::ObjectReferenceFactory Methods
+ * @class TAO_ObjectReferenceTemplate
*
- * Methods required by the
- * PortableInterceptor::ObjectReferenceFactory ValueType.
- */
- //@{
- virtual CORBA::Object_ptr make_object (
- const char * repository_id,
- const PortableInterceptor::ObjectId & id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- //@}
-
- /// Set the underlying POA pointer.
- /**
- * Upon destruction of the POA that this ObjectReferenceTemplate is
- * associated with, the underlying POA pointer will be set to zero
- * to forcibly break all ties with the POA. This is necessary to
- * prevent this ObjectReferenceTemplate from invoking the POA after
- * it has been destroyed.
+ * @brief Implementation of the PortableInterceptor::ObjectReferenceTemplate
+ * interface.
*/
- void poa (TAO_POA * poa);
-
-protected:
-
- /// Destructor
- /**
- * Protected destructor to enforce proper memory management via
+ class TAO_ORT_Export ObjectReferenceTemplate
+ : public virtual OBV_TAO_Default_ORT::ObjectReferenceTemplate,
+ public virtual CORBA::DefaultValueRefCountBase
+ {
+ public:
+ /// Constructor
+ ObjectReferenceTemplate (const char *server_id,
+ const char *orb_id,
+ PortableInterceptor::AdapterName *adapter_name,
+ TAO_POA *poa);
+
+ /**
+ * @name PortableInterceptor::ObjectReferenceTemplate Methods
+ *
+ * Methods required by the
+ * PortableInterceptor::ObjectReferenceTemplate ValueType.
+ */
+ //@{
+ virtual char * server_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual PortableInterceptor::AdapterName * adapter_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ //@}
+
+ /**
+ * @name PortableInterceptor::ObjectReferenceFactory Methods
+ *
+ * Methods required by the
+ * PortableInterceptor::ObjectReferenceFactory ValueType.
+ */
+ //@{
+ virtual CORBA::Object_ptr make_object (
+ const char * repository_id,
+ const PortableInterceptor::ObjectId & id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+ //@}
+
+ /// Set the underlying POA pointer.
+ /**
+ * Upon destruction of the POA that this ObjectReferenceTemplate is
+ * associated with, the underlying POA pointer will be set to zero
+ * to forcibly break all ties with the POA. This is necessary to
+ * prevent this ObjectReferenceTemplate from invoking the POA after
+ * it has been destroyed.
+ */
+ void poa (TAO_POA * poa);
+
+ protected:
+
+ /// Destructor
+ /**
+ * Protected destructor to enforce proper memory management via
* reference counting.
*/
- ~TAO_ObjectReferenceTemplate (void);
-
-private:
- const char *server_id_;
- const char *orb_id_;
- PortableInterceptor::AdapterName_var adapter_name_;
- TAO_POA *poa_;
+ ~ObjectReferenceTemplate (void);
-};
+ private:
+ const char *server_id_;
+ const char *orb_id_;
+ PortableInterceptor::AdapterName_var adapter_name_;
+ TAO_POA *poa_;
+ };
+}
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif /* _MSC_VER */
diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.inl b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.inl
index 14de581cafc..2ad999ebb73 100644
--- a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.inl
+++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_i.inl
@@ -1,9 +1,3 @@
// -*- C++ -*-
//
// $Id$
-
-ACE_INLINE void
-TAO_ObjectReferenceTemplate::poa (TAO_POA * poa)
-{
- this->poa_ = poa;
-}
diff --git a/TAO/tao/PortableServer/ORTRework.txt b/TAO/tao/PortableServer/ORTRework.txt
index 832becc4f8c..316fc2bd2c2 100644
--- a/TAO/tao/PortableServer/ORTRework.txt
+++ b/TAO/tao/PortableServer/ORTRework.txt
@@ -1,3 +1,38 @@
+Mon Aug 23 18:33:59 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/Thread_Per_Connection_Handler.cpp:
+
+ Fixed a compile error with the latest version of ACE. This has
+ been fixed in the main trunk.
+
+ * tao/IORInterceptor/IORInterceptor_List.cpp:
+ * tao/IORInterceptor/IORInterceptor_List.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_i.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_i.inl:
+ * tao/PortableServer/ObjectReferenceTemplate_Adapter.cpp:
+ * tao/PortableServer/ObjectReferenceTemplate_Adapter.h:
+ * tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h:
+ * tao/PortableServer/POA.cpp:
+ * tao/PortableServer/POA.h:
+
+ Added a number of comments and suggestions for Johnny. The
+ significant among them are:
+
+ - adding implementations in the TAO namespace. The TAO_* naming
+ should be killed.
+
+ - Make the names of the classes and file names shorter. The
+ existing makes things harder to read and find the relation
+ ships. I have done a few. I have left the rest for Johnny as
+ homework :-)
+
+
Mon Aug 23 12:26:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/IORInterceptor/IORInterceptor_List.cpp:
diff --git a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.cpp b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.cpp
index 544d512b6e7..7efcde4f5b9 100755
--- a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.cpp
+++ b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.cpp
@@ -1,24 +1,24 @@
// $Id$
-
-#include "tao/PortableServer/ObjectReferenceTemplate_Adapter.h"
+#include "ObjectReferenceTemplate_Adapter.h"
#include "ace/Dynamic_Service.h"
ACE_RCSID(PortableServer,
ObjectReferenceTemplate_Adapter,
"$Id$")
-TAO_ObjectReferenceTemplate_Adapter::~TAO_ObjectReferenceTemplate_Adapter (void)
+namespace TAO
{
+ ObjectReferenceTemplate_Adapter::~ObjectReferenceTemplate_Adapter (void)
+ {
+ }
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Dynamic_Service<TAO_ObjectReferenceTemplate_Adapter>;
+template class ACE_Dynamic_Service<ObjectReferenceTemplate_Adapter>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Dynamic_Service<TAO_ObjectReferenceTemplate_Adapter>
+#pragma instantiate ACE_Dynamic_Service<ObjectReferenceTemplate_Adapter>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-
diff --git a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h
index 5564e9d9136..99a955ee2e1 100755
--- a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h
+++ b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h
@@ -13,14 +13,14 @@
#define TAO_OBJECTREFERENCETEMPLATE_ADAPTER_H
#include /**/ "ace/pre.h"
-#include "ace/Array_Base.h"
-#include "ace/Service_Object.h"
+
+#include "tao/Exception.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/Exception.h"
+#include "ace/Service_Object.h"
+#include "ace/Array_Base.h"
#include "tao/PI_ForwardC.h"
#include "portableserver_export.h"
@@ -39,60 +39,63 @@ namespace PortableInterceptor
class ObjectReferenceFactory;
}
-/**
- * @class TAO_ObjectReferenceTemplate_Adapter
- *
- * @brief TAO_ObjectReferenceTemplate_Adapter.
- *
- * Class that offers an interface to the POA to load and manipulate
- * ORT library.
- */
-class TAO_PortableServer_Export TAO_ObjectReferenceTemplate_Adapter
- : public ACE_Service_Object
-{
-public:
-
- /// The virtual destructor
- virtual ~TAO_ObjectReferenceTemplate_Adapter (void);
-
- /// Activate the ORT library
- virtual int activate (const char *server_id,
- const char *orb_id,
- PortableInterceptor::AdapterName *,
- TAO_POA *poa
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
- /// Set a different ort_factory to be used.
- virtual int set_obj_ref_factory (
- PortableInterceptor::ObjectReferenceFactory *current_factory
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- /// Set the underlying POA pointer.
+namespace TAO
+{
/**
- * Upon destruction of the POA that this ObjectReferenceTemplate is
- * associated with, the underlying POA pointer will be set to zero
- * to forcibly break all ties with the POA. This is necessary to
- * prevent this ObjectReferenceTemplate from invoking the POA after
- * it has been destroyed.
+ * @class TAO_ObjectReferenceTemplate_Adapter
+ *
+ * @brief TAO_ObjectReferenceTemplate_Adapter.
+ *
+ * Class that offers an interface to the POA to load and manipulate
+ * ORT library.
*/
- virtual void poa (TAO_POA * poa) = 0;
-
- /// Accessor methods to ObjectReferenceTemplate template
- virtual PortableInterceptor::ObjectReferenceTemplate *
- get_adapter_template (void) = 0;
-
- /// Accessor methods to PortableInterceptor::ObjectReferenceFactory
- virtual PortableInterceptor::ObjectReferenceFactory *
- get_obj_ref_factory (void) = 0;
+ class TAO_PortableServer_Export ObjectReferenceTemplate_Adapter
+ : public ACE_Service_Object
+ {
+ public:
+
+ /// The virtual destructor
+ virtual ~ObjectReferenceTemplate_Adapter (void);
+
+ /// Activate the ORT library
+ virtual int activate (const char *server_id,
+ const char *orb_id,
+ PortableInterceptor::AdapterName *,
+ TAO_POA *poa
+ ACE_ENV_ARG_DECL) = 0;
+
+ /// Set a different ort_factory to be used.
+ virtual int set_obj_ref_factory (
+ PortableInterceptor::ObjectReferenceFactory *current_factory
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
- /**
- * @name PortableInterceptor::ObjectReferenceFactory Methods
+ /// Set the underlying POA pointer.
+ /**
+ * Upon destruction of the POA that this ObjectReferenceTemplate is
+ * associated with, the underlying POA pointer will be set to zero
+ * to forcibly break all ties with the POA. This is necessary to
+ * prevent this ObjectReferenceTemplate from invoking the POA after
+ * it has been destroyed.
+ */
+ virtual void poa (TAO_POA * poa) = 0;
+
+ /// Accessor methods to ObjectReferenceTemplate template
+ virtual PortableInterceptor::ObjectReferenceTemplate *
+ get_adapter_template (void) = 0;
+
+ /// Accessor methods to PortableInterceptor::ObjectReferenceFactory
+ virtual PortableInterceptor::ObjectReferenceFactory *
+ get_obj_ref_factory (void) = 0;
+
+ /**
+ * @name PortableInterceptor::ObjectReferenceFactory Methods
*
* Methods required by the
* PortableInterceptor::ObjectReferenceFactory ValueType.
*/
- //@{
- virtual CORBA::Object_ptr make_object (
+ //@{
+ virtual CORBA::Object_ptr make_object (
const char * repository_id,
const PortableInterceptor::ObjectId & id
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
@@ -100,11 +103,14 @@ public:
CORBA::SystemException
)) = 0;
//@}
-};
+ };
+
+ typedef
+ ACE_Array_Base<PortableInterceptor::ObjectReferenceTemplate*> ObjectReferenceTemplate_Array;
+
+}
+
-typedef
-ACE_Array_Base<PortableInterceptor::ObjectReferenceTemplate*>
- TAO_ObjectReferenceTemplate_Array;
#include /**/ "ace/post.h"
#endif /* TAO_OBJECTREFERENCETEMPLATE_ADAPTER_H */
diff --git a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h
index 69c61062cc9..64527c4bea8 100644
--- a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h
+++ b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h
@@ -25,8 +25,14 @@
#include "portableserver_export.h"
-class TAO_ObjectReferenceTemplate_Adapter;
+namespace TAO
+{
+ class ObjectReferenceTemplate_Adapter;
+}
+// @@ Johnny, can you please put this in TAO namespace?
+// @@ Johnny, could you also make the class name as ORT_Adapter_Factory
+// short and sweet.
/**
* @class TAO_ObjectReferenceTemplate_Adapter_Factory
*
@@ -43,12 +49,12 @@ class TAO_PortableServer_Export TAO_ObjectReferenceTemplate_Adapter_Factory
public:
virtual ~TAO_ObjectReferenceTemplate_Adapter_Factory (void);
- virtual TAO_ObjectReferenceTemplate_Adapter * create (
+ virtual TAO::ObjectReferenceTemplate_Adapter * create (
ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
virtual void destroy (
- TAO_ObjectReferenceTemplate_Adapter * adapter
+ TAO::ObjectReferenceTemplate_Adapter * adapter
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
};
diff --git a/TAO/tao/PortableServer/POA.cpp b/TAO/tao/PortableServer/POA.cpp
index 8b6ec3a65df..590bfcfd7e8 100644
--- a/TAO/tao/PortableServer/POA.cpp
+++ b/TAO/tao/PortableServer/POA.cpp
@@ -731,7 +731,7 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects,
}
}
- TAO_ObjectReferenceTemplate_Array array_obj_ref_template;
+ TAO::ObjectReferenceTemplate_Array array_obj_ref_template;
CORBA::ULong i = 0;
@@ -750,10 +750,16 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects,
// will be destroyed.
array_obj_ref_template.size (i + 1);
+
+
array_obj_ref_template[i] = child_at;
child_poa->adapter_state_ = PortableInterceptor::INACTIVE;
+ // @@ Johnny, this looks cranky to me. Why would anyone
+ // call adapter_state_changed over and over again. Shouldn't
+ // this be outside the loop? I know this looks busted in the
+ // main trunk too. Grr..
child_poa->adapter_state_changed (array_obj_ref_template,
child_poa->adapter_state_
ACE_ENV_ARG_PARAMETER);
@@ -4063,54 +4069,58 @@ TAO_ObjectReferenceTemplate_Adapter_Factory *
TAO_POA::object_reference_template_adapter_factory (void)
{
return ACE_Dynamic_Service<TAO_ObjectReferenceTemplate_Adapter_Factory>::instance (
- TAO_POA::objectreferencetemplate_adapter_factory_name());
+ TAO_POA::ort_adapter_factory_name ());
}
-TAO_ObjectReferenceTemplate_Adapter *
+TAO::ObjectReferenceTemplate_Adapter *
TAO_POA::object_reference_template_adapter (void)
{
- if (this->ort_adapter_ == 0)
- {
- // Lock access for the duration of this transaction.
- TAO_POA_GUARD_RETURN (0);
+ if (this->ort_adapter_ != 0)
+ return this->ort_adapter_;
- if (this->ort_adapter_ == 0)
- {
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- TAO_ObjectReferenceTemplate_Adapter_Factory * ort_ap_factory =
- this->object_reference_template_adapter_factory();
+ {
+ // Lock access for the duration of this transaction.
+ TAO_POA_GUARD_RETURN (0);
- if (ort_ap_factory)
- {
- this->ort_adapter_ =
- ort_ap_factory->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (ort_adapter_)
- {
- // Get the full adapter name of this POA
- PortableInterceptor::AdapterName *adapter_name =
- this->adapter_name_i(ACE_ENV_SINGLE_ARG_PARAMETER)
- ACE_TRY_CHECK;
-
- ort_adapter_->activate (this->orb_core_.server_id (),
- this->orb_core_.orbid (),
- adapter_name,
- this);
- }
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "(%P|%t) Cannot initialize the "
- "object_reference_template_adapter\n");
- }
- ACE_ENDTRY;
- }
- }
+ // DCL ..
+ if (this->ort_adapter_ != 0)
+ return this->ort_adapter_;
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ TAO_ObjectReferenceTemplate_Adapter_Factory * ort_ap_factory =
+ this->object_reference_template_adapter_factory();
+
+ if (!ort_ap_factory)
+ return 0;
+
+ this->ort_adapter_ =
+ ort_ap_factory->create (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (!ort_adapter_)
+ return 0;
+
+ // Get the full adapter name of this POA
+ PortableInterceptor::AdapterName *adapter_name =
+ this->adapter_name_i (ACE_ENV_SINGLE_ARG_PARAMETER)
+ ACE_TRY_CHECK;
+
+ this->ort_adapter_->activate (this->orb_core_.server_id (),
+ this->orb_core_.orbid (),
+ adapter_name,
+ this);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "(%P|%t) Cannot initialize the "
+ "object_reference_template_adapter\n");
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (0);
+ }
return this->ort_adapter_;
}
@@ -4251,15 +4261,16 @@ TAO_POA::Key_To_Object_Params::set (PortableServer::ObjectId_var &system_id,
}
void
-TAO_POA::objectreferencetemplate_adapter_factory_name (const char *name)
+TAO_POA::ort_adapter_factory_name (const char *name)
{
- TAO_POA_Static_Resources::instance ()->objectreferencetemplate_adapter_factory_name_ = name;
+ TAO_POA_Static_Resources::instance ()->ort_adapter_factory_name_ =
+ name;
}
const char *
-TAO_POA::objectreferencetemplate_adapter_factory_name (void)
+TAO_POA::ort_adapter_factory_name (void)
{
- return TAO_POA_Static_Resources::instance ()->objectreferencetemplate_adapter_factory_name_.c_str();
+ return TAO_POA_Static_Resources::instance ()->ort_adapter_factory_name_.c_str();
}
// Initialize instance_ to 0, since this is what we test for in the call
@@ -4292,7 +4303,7 @@ TAO_POA_Static_Resources::instance (void)
}
TAO_POA_Static_Resources::TAO_POA_Static_Resources (void)
- : objectreferencetemplate_adapter_factory_name_ ("ObjectReferenceTemplate_Adapter_Factory")
+ : ort_adapter_factory_name_ ("ObjectReferenceTemplate_Adapter_Factory")
{
}
diff --git a/TAO/tao/PortableServer/POA.h b/TAO/tao/PortableServer/POA.h
index d17d4095c07..ce8969725ee 100644
--- a/TAO/tao/PortableServer/POA.h
+++ b/TAO/tao/PortableServer/POA.h
@@ -133,7 +133,7 @@ protected:
class ServerObject_i;
class TAO_Acceptor_Filter;
class TAO_Acceptor_Registry;
-class TAO_ObjectReferenceTemplate_Adapter_Factory;
+
namespace PortableInterceptor
{
@@ -141,6 +141,13 @@ namespace PortableInterceptor
typedef IORInfo *IORInfo_ptr;
}
+namespace TAO
+{
+ class ObjectReferenceTemplate_Adapter;
+}
+
+class TAO_ObjectReferenceTemplate_Adapter_Factory;
+
/**
* @class TAO_POA
*
@@ -269,6 +276,8 @@ public:
PortableInterceptor::AdapterName *adapter_name (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
+ // @@ Johnny, why are the following two methods public?
+ // Can't you make the IORInfo class private?
/// Accessor methods to ObjectReferenceTemplate
PortableInterceptor::ObjectReferenceTemplate *get_adapter_template (void);
@@ -550,9 +559,9 @@ public:
CORBA::Boolean waiting_destruction (void) const;
- static void objectreferencetemplate_adapter_factory_name (const char *name);
+ static void ort_adapter_factory_name (const char *name);
- static const char *objectreferencetemplate_adapter_factory_name (void);
+ static const char *ort_adapter_factory_name (void);
CORBA::Object_ptr invoke_key_to_object (ACE_ENV_SINGLE_ARG_DECL);
@@ -612,7 +621,7 @@ protected:
/// Method to notify the IOR Interceptors when there is a state
/// changed not related to POAManager.
void adapter_state_changed (
- const TAO_ObjectReferenceTemplate_Array &array_obj_ref_template,
+ const TAO::ObjectReferenceTemplate_Array &array_obj_ref_template,
PortableInterceptor::AdapterState state
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
@@ -874,7 +883,7 @@ protected:
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
- TAO_ObjectReferenceTemplate_Adapter *
+ TAO::ObjectReferenceTemplate_Adapter *
object_reference_template_adapter (void);
TAO_ObjectReferenceTemplate_Adapter_Factory *
@@ -943,7 +952,7 @@ protected:
CORBA::OctetSeq id_;
/// Pointer to the object reference template adapter.
- TAO_ObjectReferenceTemplate_Adapter *ort_adapter_;
+ TAO::ObjectReferenceTemplate_Adapter *ort_adapter_;
/// Adapter can be accepting, rejecting etc.
PortableInterceptor::AdapterState adapter_state_;
@@ -1107,7 +1116,7 @@ public:
* objectreferencefactory_adapter_factory_name() will be called to set
* the value to "Concrete_ObjectReferenceTemplate_Adapter_Factory".
*/
- ACE_CString objectreferencetemplate_adapter_factory_name_;
+ CORBA::String_var ort_adapter_factory_name_;
private:
/// Constructor.
diff --git a/TAO/tao/Thread_Per_Connection_Handler.cpp b/TAO/tao/Thread_Per_Connection_Handler.cpp
index 5dbb9fcabb3..59e2c409fb1 100644
--- a/TAO/tao/Thread_Per_Connection_Handler.cpp
+++ b/TAO/tao/Thread_Per_Connection_Handler.cpp
@@ -61,7 +61,7 @@ TAO_Thread_Per_Connection_Handler::activate (long flags,
int
TAO_Thread_Per_Connection_Handler::svc (void)
{
- ACE_Flag_Manip::clr_flags (
+ ACE::clr_flags (
this->ch_->transport ()->event_handler_i ()->get_handle (),
ACE_NONBLOCK);