diff options
author | corsaro <corsaro@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-10-12 03:00:40 +0000 |
---|---|---|
committer | corsaro <corsaro@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-10-12 03:00:40 +0000 |
commit | 21477b06dd41b7d7aaeb5048bf42ca9053615a3b (patch) | |
tree | 1edd25872458e83ad558f540a48ffada21dcd08b /TAO/tao/Object.cpp | |
parent | 9c1e9f06a0052980bd0d248a866ddad322469e05 (diff) | |
download | ATCD-21477b06dd41b7d7aaeb5048bf42ca9053615a3b.tar.gz |
ChangeLog: Wed Oct 11 22:00:00 2000 Angelo Corsaro <corsaro@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Object.cpp')
-rw-r--r-- | TAO/tao/Object.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp index c5d630bf77b..d0688c7e638 100644 --- a/TAO/tao/Object.cpp +++ b/TAO/tao/Object.cpp @@ -44,8 +44,13 @@ CORBA_Object::CORBA_Object (TAO_Stub *protocol_proxy, // the semantics of CORBA Objects are such that obtaining one // implicitly takes a reference. - // By default the proxy broker is set to the one - // that always goes remote. + // If the object is collocated then set the broker + // using the factory otherwise use the remote proxy + // broker. + if (this->is_collocated_ && + _TAO_collocation_Object_Proxy_Broker_Factory_function_pointer != 0) + this->proxy_broker_ = _TAO_collocation_Object_Proxy_Broker_Factory_function_pointer (this); + else this->proxy_broker_ = the_tao_remote_object_proxy_broker (); } @@ -649,6 +654,10 @@ operator>> (TAO_InputCDR& cdr, CORBA_Object*& x) return (CORBA::Boolean) cdr.good_bit (); } +TAO_Object_Proxy_Broker * (*_TAO_collocation_Object_Proxy_Broker_Factory_function_pointer) ( + CORBA::Object_ptr obj + ) = 0; + // **************************************************************** #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) |