diff options
author | edwardgt <edwardgt@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-08-18 19:30:22 +0000 |
---|---|---|
committer | edwardgt <edwardgt@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-08-18 19:30:22 +0000 |
commit | 69532b3c7a608821f4974347336e79b03cb330a0 (patch) | |
tree | 2ad905eeb2b7750374619487c866fb1e57efe966 /TAO | |
parent | 8b70ff12e0bab43d880f39d49a1232e99eb53dc0 (diff) | |
download | ATCD-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/ChangeLog | 10 | ||||
-rw-r--r-- | TAO/tao/ORB.cpp | 23 | ||||
-rw-r--r-- | TAO/tao/ORB.h | 6 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 9 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.h | 9 |
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_; |