summaryrefslogtreecommitdiff
path: root/TAO/tao/Object.cpp
diff options
context:
space:
mode:
authorcorsaro <corsaro@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-12 03:00:40 +0000
committercorsaro <corsaro@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-12 03:00:40 +0000
commit21477b06dd41b7d7aaeb5048bf42ca9053615a3b (patch)
tree1edd25872458e83ad558f540a48ffada21dcd08b /TAO/tao/Object.cpp
parent9c1e9f06a0052980bd0d248a866ddad322469e05 (diff)
downloadATCD-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.cpp13
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)