diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-07-31 01:55:23 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-07-31 01:55:23 +0000 |
commit | 21a95191bd15792aa0ab366034236f7773ab64c3 (patch) | |
tree | 772e935f873bc126a0d2b64e93717cd6561116ae | |
parent | 34cb4f95855b896e6e5f171ec425ef60896f7ca9 (diff) | |
download | ATCD-21a95191bd15792aa0ab366034236f7773ab64c3.tar.gz |
ChangeLogTag:Fri Jul 30 20:47:14 1999 Nanbor Wang <nanbor@cs.wustl.edu>
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp index bbfef82c16f..6e4104d487f 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp @@ -69,8 +69,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "CORBA::Object_ptr obj" << be_uidt_nl << ")\n"; - os->incr_indent (0); - *os << "{" << be_idt_nl + *os << "{" << be_nl << "TAO_Stub *stub = obj->_stubobj ();" << be_nl << be_nl << "switch (stub->servant_orb_var ()->orb_core" << " ()->get_collocation_strategy ())" << be_idt_nl @@ -85,12 +84,14 @@ be_visitor_interface_ss::visit_interface (be_interface *node) *os << "case TAO_ORB_Core::DIRECT:" << be_idt_nl; if (idl_global->gen_direct_collocation ()) - *os << "{" << be_idt_nl - << "void *servant = ACE_reinterpret_cast (void*, obj->_servant ());" << be_nl + *os << "if (obj->_servant () != 0)" << be_idt_nl + << "{" << be_idt_nl + << node->full_skel_name () << "* servant = ACE_reinterpret_cast (" + << node->full_skel_name () << "*, obj->_servant ()->_downcast (\"" + << node->repoID () << "\"));" << be_nl << "if (servant != 0)" << be_idt_nl << "return new " << node->full_coll_name (be_interface::DIRECT) - << " (ACE_reinterpret_cast (" << node->full_skel_name () - << "*, servant), stub);" << be_uidt << be_uidt_nl + << " (servant, stub);" << be_uidt << be_uidt_nl << "}" << be_uidt_nl; *os << "break;" << be_uidt_nl @@ -100,6 +101,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "return 0;" << be_uidt_nl << "}\n\n"; + os->indent (); + *os << "int _TAO_collocation_POA_" << node->flatname () << "_Stub_Factory_Initializer" << " (long dummy)" << be_nl @@ -119,7 +122,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << node->flatname () << "_Stub_Factory_Initializer));" << be_uidt_nl; - os->incr_indent (0); + os->indent (); // constructor *os << "// skeleton constructor" << be_nl; @@ -271,7 +274,6 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "}\n\n"; // the downcast method. - os->indent (); *os << "void* " << node->full_skel_name () << "::_downcast (" << be_idt << be_idt_nl << "const char* logical_type_id" << be_uidt_nl @@ -297,7 +299,6 @@ be_visitor_interface_ss::visit_interface (be_interface *node) // now the dispatch method - os->indent (); *os << "void " << node->full_skel_name () << "::_dispatch (CORBA::ServerRequest &req, " << "void *context, CORBA::Environment &ACE_TRY_ENV)" << be_nl; |