diff options
author | Marijke Hengstmengel <MHengstmengel@users.noreply.github.com> | 2011-10-28 11:39:05 +0000 |
---|---|---|
committer | Marijke Hengstmengel <MHengstmengel@users.noreply.github.com> | 2011-10-28 11:39:05 +0000 |
commit | 44357e0fd657a3f458486c97d8825e9b47d63cbc (patch) | |
tree | e56eed0e32c024f9ca8830be7517e7c0091ebdb6 | |
parent | 0b3dc7d7ab7e7861c17cb40fc2f2503de815d853 (diff) | |
download | ATCD-44357e0fd657a3f458486c97d8825e9b47d63cbc.tar.gz |
Fri Oct 28 11:37:40 UTC 2011 Marijke Hengstmengel <mhengstmengel@remedy.nl>
* TAO_IDL/be/be_visitor_component/servant_svs.cpp:
Changes for removing activators for CIAO consumers
-rw-r--r-- | TAO/ChangeLog.BRANCH | 5 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp | 69 |
2 files changed, 37 insertions, 37 deletions
diff --git a/TAO/ChangeLog.BRANCH b/TAO/ChangeLog.BRANCH index eb017b4ac83..f1246067dcf 100644 --- a/TAO/ChangeLog.BRANCH +++ b/TAO/ChangeLog.BRANCH @@ -1,3 +1,8 @@ +Fri Oct 28 11:37:40 UTC 2011 Marijke Hengstmengel <mhengstmengel@remedy.nl> + + * TAO_IDL/be/be_visitor_component/servant_svs.cpp: + Changes for removing activators for CIAO consumers + Wed Oct 26 07:18:40 UTC 2011 Marijke Hengstmengel <mhengstmengel@remedy.nl> * TAO_IDL/be/be_codegen.cpp: 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 f2d53e0ce83..3935cc192e6 100644 --- a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp @@ -585,56 +585,51 @@ be_visitor_servant_svs::visit_consumes (be_consumes *node) << node_->local_name () << "_Servant::setup_consumer_" << port_name << "_i (void)" << be_nl << "{" << be_idt_nl - << "typedef" << be_idt_nl - << "::CIAO::Port_Activator_T<" << be_idt_nl - << node_->local_name () << "_Servant::" << lname - << "Consumer_" << port_name << "_Servant," << be_nl - << global << comp_sname << "::CCM_" << comp_lname - << "," << be_nl - << global << comp_sname << "::CCM_" << comp_lname - << "_Context," << be_nl - << node_->local_name () << "_Servant>" << be_uidt_nl - << "MACRO_MADNESS_TYPEDEF;" << be_uidt_nl << be_nl - << "MACRO_MADNESS_TYPEDEF * tmp = 0;" << be_nl << "ACE_CString obj_id (this->ins_name_);" << be_nl << "obj_id += \"_" << port_name << "\";" << be_nl_2 - << "ACE_NEW_THROW_EX (" << be_idt_nl - << "tmp," << be_nl - << "MACRO_MADNESS_TYPEDEF (" << be_idt_nl - << "obj_id.c_str ()," << be_nl - << "\"" << port_name << "\"," << be_nl - << "::CIAO::Port_Activator_Types::SINK," << be_nl - << "this->executor_.in ()," << be_nl - << "this->context_," << be_nl - << "this)," << be_uidt_nl - << "::CORBA::NO_MEMORY ());" << be_uidt_nl << be_nl - << "::CIAO::Port_Activator_var pa = tmp;" << be_nl_2 - << "::CIAO::Servant_Activator_var sa =" << be_idt_nl - << "this->container_->ports_servant_activator ();" - << be_uidt_nl << be_nl - << "if (sa->register_port_activator (pa.in ()))" - << be_idt_nl - << "{" << be_idt_nl - << "::CORBA::Object_var obj =" << be_idt_nl - << "this->container_->generate_reference (" << be_idt_nl + + << "::CIAO::Container_var cnt_safe =" << be_idt_nl + << "::CIAO::Container::_duplicate (" + << "this->container_.in ());" << be_uidt_nl << be_nl + << "if (::CORBA::is_nil (cnt_safe.in ()))" << be_idt_nl + << "{" << be_idt_nl << "throw ::CORBA::INV_OBJREF ();" << be_uidt_nl + << "}" << be_uidt_nl << be_nl + << "PortableServer::POA_var POA = cnt_safe->the_port_POA ();" << be_nl + << node_->local_name () << "_Servant::" << lname + << "Consumer_" << port_name << "_Servant *" + << port_name << "_servant_impl = " << be_idt_nl + << "new " << node_->local_name () << "_Servant::" << lname + << "Consumer_" << port_name << "_Servant (" << be_idt_nl + << " this->executor_, this->context_);" << be_uidt_nl << be_uidt_nl << be_nl + + << "PortableServer::ObjectId_var " << port_name << "_servant_oid =" << be_idt_nl + << "PortableServer::string_to_ObjectId (obj_id.c_str());" << be_uidt_nl << be_nl + + << "POA->activate_object_with_id(" << be_idt_nl + << port_name << "_servant_oid.in()," << be_nl + << "dynamic_cast<TAO_ServantBase *>(" + << port_name << "_servant_impl));" << be_uidt_nl << be_nl + + << "::CORBA::Object_var " << port_name << "_servant_impl_obj = " << be_idt_nl + << "cnt_safe->generate_reference ( " << be_idt_nl << "obj_id.c_str ()," << be_nl << "\""; - ACE_CString work (obj->repoID ()); - ACE_CString result (work.substr (0, work.rfind (':'))); - result += "Consumer:1.0"; + ACE_CString work (obj->repoID ()); + ACE_CString result (work.substr (0, work.rfind (':'))); + result += "Consumer:1.0"; - os_ << result.c_str (); + os_ << result.c_str (); - os_ << "\"," << be_nl + os_ << "\"," << be_nl << "::CIAO::Container_Types::FACET_CONSUMER_t);" << be_uidt_nl << be_uidt_nl << "::Components::EventConsumerBase_var ecb =" << be_idt_nl - << "::Components::EventConsumerBase::_narrow (obj.in ());" + << "::Components::EventConsumerBase::_narrow (" + << port_name << "_servant_impl_obj.in ());" << be_uidt_nl << be_nl << "this->add_consumer (\"" << port_name << "\", ecb.in ());" << be_uidt_nl - << "}" << be_uidt_nl << be_uidt_nl << "}"; return 0; |