diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp | 48 |
1 files changed, 14 insertions, 34 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp index ae69be3da59..3fb2ecb845c 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp @@ -96,8 +96,6 @@ be_visitor_interface_cdr_op_cs::visit_interface (be_interface *node) << node->full_name () << "_ptr &_tao_objref" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl; - *os << "ACE_TRY_NEW_ENV" << be_nl - << "{" << be_idt_nl; if (node->is_abstract ()) { @@ -117,49 +115,31 @@ be_visitor_interface_cdr_op_cs::visit_interface (be_interface *node) << "{" << be_idt_nl << "return 0;" << be_uidt_nl << "}" << be_uidt_nl << be_nl + << "typedef ::" << node->name () << " RHS_SCOPED_NAME;" + << be_nl << be_nl << "// Narrow to the right type." << be_nl; if (node->is_abstract ()) { - *os << "if (obj->_is_objref ())" << be_idt_nl - << "{" << be_idt_nl - << "_tao_objref =" << be_idt_nl - << node->full_name () << "::_unchecked_narrow (" - << be_idt << be_idt_nl - << "obj.in ()" << be_nl - << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl - << ");" << be_uidt << be_uidt << be_uidt_nl - << "}" << be_uidt_nl - << "else" << be_idt_nl - << "{" << be_idt_nl - << "_tao_objref =" << be_idt_nl - << node->full_name () << "::_unchecked_narrow (" - << be_idt << be_idt_nl - << "obj._retn ()" << be_nl - << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl - << ");" << be_uidt << be_uidt << be_uidt_nl - << "}" << be_uidt_nl << be_nl; + *os << "_tao_objref =" << be_idt_nl + << "TAO::Narrow_Utils<RHS_SCOPED_NAME>::" + << "unchecked_narrow (obj.in ());" + << be_uidt_nl << be_nl; } else { *os << "_tao_objref =" << be_idt_nl - << node->full_name () << "::_unchecked_narrow (" + << "TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (" << be_idt << be_idt_nl - << "obj.in ()" << be_nl - << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl - << ");" << be_uidt << be_uidt_nl; + << "obj.in ()," << be_nl + << node->flat_client_enclosing_scope () + << node->base_proxy_broker_name () + << "_Factory_function_pointer" << be_uidt_nl + << ");" << be_uidt_nl << be_uidt_nl; } - *os << "ACE_TRY_CHECK;" << be_nl; - *os << "return 1;" << be_uidt_nl; - *os << "}" << be_nl - << "ACE_CATCHANY" << be_nl - << "{" << be_idt_nl - << "// do nothing" << be_uidt_nl - << "}" << be_nl - << "ACE_ENDTRY;" << be_nl - << "return 0;" << be_uidt_nl; - *os << "}"; + *os << "return 1;" << be_uidt_nl + << "}"; node->cli_stub_cdr_op_gen (1); return 0; |