summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
index 5778857cf35..d86de6b4ae1 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
@@ -1,4 +1,3 @@
-
//=============================================================================
/**
* @file servant_svs.cpp
@@ -12,6 +11,7 @@
* @author Jeff Parsons
*/
//=============================================================================
+#include <be_helper.h>
be_visitor_servant_svs::be_visitor_servant_svs (be_visitor_context *ctx)
: be_visitor_component_scope (ctx),
@@ -308,15 +308,20 @@ be_visitor_servant_svs::visit_provides (be_provides *node)
<< "PortableServer::POA_var POA = cnt_safe->the_port_POA ();" << be_nl
<< "::CORBA::Object_var tmp =" << be_idt_nl
<< "this->get_facet_executor (\"" << port_name << "\");"<< be_uidt_nl << be_nl
- << global << sname << "::CCM_" << lname << "_var tmp_var = "<< global << sname <<"::CCM_" << lname
- << "::_narrow (tmp.in());" << be_nl
- << "::CIAO_FACET" << prefix_connector
- << scope->flat_name () << "::" << lname
- << "_Servant *" << port_name << "_servant_impl = 0;" << be_nl
+ << global << sname << "::CCM_" << lname << "_var tmp_var = " << be_idt_nl
+ << global << sname <<"::CCM_" << lname
+ << "::_narrow (tmp.in());" << be_uidt_nl << be_nl
+ << "typedef " << global << "CIAO_FACET" << prefix_connector
+ << scope->flat_name () << "::" << obj->local_name () << "_Servant_T <" << be_idt_nl
+ << "POA_" << sname << global << obj->local_name ()
+ << "," << be_nl << global << sname <<"::CCM_" << lname << "," << be_nl
+ << global << "Components::" << be_global->ciao_container_type ()
+ << "Context>" << be_idt_nl << lname
+ << "_type;" << be_uidt_nl << be_uidt_nl
+ << lname << "_type *" << port_name << "_servant_impl = 0;" << be_nl
<< "ACE_NEW_THROW_EX (" << be_idt_nl
<< port_name << "_servant_impl," << be_nl
- << "::CIAO_FACET" << prefix_connector
- << scope->flat_name () << "::" << lname << "_Servant (" << be_idt_nl
+ << lname << "_type (" << be_idt_nl
<< "tmp_var.in(), " << be_nl
<< "this->context_)," << be_uidt_nl
<< "CORBA::NO_MEMORY ());" << be_uidt_nl << be_nl