summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authoredwardgt <edwardgt@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-08-18 19:30:22 +0000
committeredwardgt <edwardgt@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-08-18 19:30:22 +0000
commit69532b3c7a608821f4974347336e79b03cb330a0 (patch)
tree2ad905eeb2b7750374619487c866fb1e57efe966 /TAO
parent8b70ff12e0bab43d880f39d49a1232e99eb53dc0 (diff)
downloadATCD-69532b3c7a608821f4974347336e79b03cb330a0.tar.gz
ChangeLogTag: Mon Aug 18 14:24:45 2003 George Edwards <g.edwards@vanderbilt.edu>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog10
-rw-r--r--TAO/tao/ORB.cpp23
-rw-r--r--TAO/tao/ORB.h6
-rw-r--r--TAO/tao/ORB_Core.cpp9
-rw-r--r--TAO/tao/ORB_Core.h9
5 files changed, 37 insertions, 20 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 9a071c7f968..471e199d2bc 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,13 @@
+Mon Aug 18 14:24:45 2003 George Edwards <g.edwards@vanderbilt.edu>
+
+ * tao/ORB.h:
+ * tao/ORB.cpp:
+ * tao/ORB_Core.h:
+ * tao/ORB_Core.cpp:
+
+ Moved TAO_Valuetype_Adapter from ORB to ORB_Core. Added new method
+ ORB_Core::valuetype_adapter () to access the valuetype adapter.
+
Mon Aug 18 09:12:26 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
* orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp:
diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp
index ba069961e59..65a297fab48 100644
--- a/TAO/tao/ORB.cpp
+++ b/TAO/tao/ORB.cpp
@@ -27,11 +27,11 @@ ACE_RCSID (tao,
#include "ORBInitializer_Registry.h"
#include "TAO_Singleton_Manager.h"
#include "Policy_Manager.h"
+#include "Valuetype_Adapter.h"
#include "CodecFactory_ORBInitializer.h"
#include "TypeCodeFactory_Adapter.h"
-#include "Valuetype_Adapter.h"
#if TAO_HAS_INTERCEPTORS == 1
# include "PICurrent_ORBInitializer.h" /* @@ This should go away! */
@@ -150,7 +150,6 @@ CORBA::ORB::ORB (TAO_ORB_Core *orb_core)
: lock_ ()
, refcount_ (1)
, orb_core_ (orb_core)
- , valuetype_adapter_ (0)
, use_omg_ior_format_ (1)
, timeout_ (0)
{
@@ -2050,15 +2049,15 @@ CORBA::ORB::register_value_factory (const char *repository_id,
// %! guard, and ACE_Null_Mutex in the map
// do _add_ref here not in map->rebind
- if (this->valuetype_adapter_ == 0)
+ if (this->orb_core ()->valuetype_adapter () == 0)
{
- this->valuetype_adapter_ =
+ this->orb_core ()->valuetype_adapter () =
ACE_Dynamic_Service<TAO_Valuetype_Adapter>::instance (
TAO_ORB_Core::valuetype_adapter_name ()
);
- if (this->valuetype_adapter_ == 0)
+ if (this->orb_core ()->valuetype_adapter () == 0)
{
ACE_THROW_RETURN (CORBA::INTERNAL (),
0);
@@ -2066,7 +2065,7 @@ CORBA::ORB::register_value_factory (const char *repository_id,
}
int result =
- this->valuetype_adapter_->vf_map_rebind (repository_id,
+ this->orb_core ()->valuetype_adapter ()->vf_map_rebind (repository_id,
factory);
if (result == 0) // No previous factory found
@@ -2086,10 +2085,10 @@ void
CORBA::ORB::unregister_value_factory (const char *repository_id
ACE_ENV_ARG_DECL_NOT_USED)
{
- if (this->valuetype_adapter_)
+ if (this->orb_core ()->valuetype_adapter ())
{
// Dont care whther it was successful or not!
- (void) this->valuetype_adapter_->vf_map_unbind (repository_id);
+ (void) this->orb_core ()->valuetype_adapter ()->vf_map_unbind (repository_id);
}
}
@@ -2097,19 +2096,19 @@ CORBA::ValueFactory
CORBA::ORB::lookup_value_factory (const char *repository_id
ACE_ENV_ARG_DECL)
{
- if (this->valuetype_adapter_ == 0)
+ if (this->orb_core ()->valuetype_adapter () == 0)
{
- this->valuetype_adapter_ =
+ this->orb_core ()->valuetype_adapter () =
ACE_Dynamic_Service<TAO_Valuetype_Adapter>::instance (
TAO_ORB_Core::valuetype_adapter_name ()
);
- if (this->valuetype_adapter_ == 0)
+ if (this->orb_core ()->valuetype_adapter () == 0)
{
ACE_THROW_RETURN (CORBA::INTERNAL (),
0);
}
}
- return this->valuetype_adapter_->vf_map_find (repository_id);
+ return this->orb_core ()->valuetype_adapter ()->vf_map_find (repository_id);
}
diff --git a/TAO/tao/ORB.h b/TAO/tao/ORB.h
index 14eb05babc2..57e99807a9f 100644
--- a/TAO/tao/ORB.h
+++ b/TAO/tao/ORB.h
@@ -608,12 +608,6 @@ namespace CORBA
TAO_ValueFactory_Map *valuetype_factory_map_;
#endif /**/
- /// Pointer to the adapter..
- /// @@ NOTE this should have ideally been in the ORB_core like the
- /// others. Continuing on the earlier mistake we are adding it to
- /// the ORB.
- TAO_Valuetype_Adapter *valuetype_adapter_;
-
/// Decides whether to use the URL notation or to use IOR notation.
CORBA::Boolean use_omg_ior_format_;
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index c0bc56eab7e..e67fa5dc961 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -38,6 +38,7 @@
#include "Protocols_Hooks.h"
#include "IORInterceptor_Adapter.h"
#include "IORInterceptor_Adapter_Factory.h"
+#include "Valuetype_Adapter.h"
#if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
# include "Buffering_Constraint_Policy.h"
@@ -191,6 +192,7 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid)
server_request_interceptors_ (),
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ior_interceptor_adapter_ (0),
+ valuetype_adapter_ (0),
parser_registry_ (),
bidir_adapter_ (0),
bidir_giop_policy_ (0),
@@ -2975,7 +2977,12 @@ TAO_ORB_Core::init_ref_map ()
return &this->init_ref_map_;
}
-
+/// Return the valuetype adapter
+TAO_Valuetype_Adapter *&
+TAO_ORB_Core::valuetype_adapter (void)
+{
+ return this->valuetype_adapter_;
+}
// ****************************************************************
diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h
index 5538fa89ccd..3fbe2cea48e 100644
--- a/TAO/tao/ORB_Core.h
+++ b/TAO/tao/ORB_Core.h
@@ -84,6 +84,7 @@ class TAO_Policy_Current;
class TAO_Codeset_Manager;
class TAO_IORInterceptor_List;
class TAO_IORInterceptor_Adapter;
+class TAO_Valuetype_Adapter;
#if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
@@ -929,6 +930,9 @@ public:
TAO_IORInterceptor_List *ior_interceptor_list (void);
//@}
+ /// Return the valuetype adapter
+ TAO_Valuetype_Adapter *& valuetype_adapter (void);
+
/// Return the underlying transport cache
TAO_Transport_Cache_Manager *transport_cache (void);
@@ -1277,9 +1281,12 @@ protected:
TAO_ServerRequestInterceptor_List server_request_interceptors_;
#endif /* TAO_HAS_INTERCEPTORS */
- /// IORInterceptor adapter factory.
+ /// IORInterceptor adapter.
TAO_IORInterceptor_Adapter *ior_interceptor_adapter_;
+ /// Pointer to the valuetype adapter.
+ TAO_Valuetype_Adapter *valuetype_adapter_;
+
/// The IOR parser registry.
TAO_Parser_Registry parser_registry_;