diff options
-rw-r--r-- | TAO/ChangeLog_ref | 5 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp | 51 |
2 files changed, 23 insertions, 33 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref index 0f81d4cc38b..940b95dfd65 100644 --- a/TAO/ChangeLog_ref +++ b/TAO/ChangeLog_ref @@ -1,3 +1,8 @@ +Thu Aug 28 17:51:57 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> + + * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp: + Changed the code generation for collocated calls. + Thu Aug 28 16:50:48 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> * tao/Abstract_Servant_Base.h (_find): Added a new _find () method diff --git a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp index 04aad116da5..d3b74ccb490 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp @@ -88,41 +88,30 @@ be_visitor_interface_strategized_proxy_broker_ss::visit_interface ( << "TAO::Argument ** args," << be_nl << "int num_args," << be_nl << "const char * op," << be_nl - << "size_t ," << be_nl + << "size_t op_len," << be_nl << "TAO::Collocation_Strategy strategy" << be_nl << "ACE_ENV_ARG_DECL" << be_uidt_nl << ")" << be_nl << "ACE_THROW_SPEC ((CORBA::Exception))" << be_uidt_nl << "{" << be_idt_nl + << "TAO_Collocated_Skeleton collocated_skel;" << be_nl << be_nl + << "if (obj->_servant ()->_find (" << be_idt << be_idt << be_idt + << "op," << be_nl + << "collocated_skel," << be_nl + << "strategy," << be_nl + << "op_len) == -1)" << be_uidt << be_uidt << be_nl + << "ACE_THROW (CORBA::BAD_OPERATION ());" << be_uidt_nl << be_nl << "ACE_TRY" << be_idt_nl << "{" << be_idt_nl - << "switch (strategy)" << be_idt_nl - << "{" << be_idt_nl; - - if (be_global->gen_thru_poa_collocation ()) - { - *os << "case TAO::TAO_CS_THRU_POA_STRATEGY:" << be_idt_nl - << "// Here is where we need table lookups." << be_nl; - - this->gen_thru_poa_operations (node, os); - - *os << "break;" << be_uidt_nl; - } - - if (be_global->gen_direct_collocation ()) - { - *os << "case TAO::TAO_CS_DIRECT_STRATEGY:" << be_idt_nl; - - this->gen_direct_operations (node, os); - - *os << "break;" << be_uidt_nl; - } - - *os << "default:" << be_idt_nl - << "ACE_THROW (CORBA::INTERNAL ());" << be_uidt << be_uidt_nl - << "}" << be_uidt << be_uidt_nl - << "}" << be_uidt - << "\n#if (TAO_HAS_MINIMUM_CORBA == 0)" << be_nl + << "collocated_skel (" << be_idt_nl + << "obj," << be_nl + << "forward_obj," << be_nl + << "args, " << be_nl + << "num_args" << be_nl + << "ACE_ENV_ARG_PARAMETER);" << be_uidt_nl + << "ACE_TRY_CHECK;" << be_uidt_nl + << "}" << be_uidt_nl + << "#if (TAO_HAS_MINIMUM_CORBA == 0)" << be_nl << "ACE_CATCH (PortableServer::ForwardRequest, forward_request)" << be_idt_nl << "{" << be_idt_nl @@ -139,11 +128,7 @@ be_visitor_interface_strategized_proxy_broker_ss::visit_interface ( << "}" << be_uidt << "\n#endif /* TAO_HAS_MINIMUM_CORBA */" << be_nl << "ACE_ENDTRY;" << be_nl - << "ACE_UNUSED_ARG (obj);" << be_nl - << "ACE_UNUSED_ARG (forward_obj);" << be_nl - << "ACE_UNUSED_ARG (args);" << be_nl - << "ACE_UNUSED_ARG (num_args);" << be_nl - << "ACE_UNUSED_ARG (op);" << be_uidt_nl + << "ACE_CHECK;" << be_uidt_nl << "}"; *os << be_nl << be_nl |