summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_component
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2011-11-27 21:22:15 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2011-11-27 21:22:15 +0000
commit663660f676a88215851e9803da82395d86db2a35 (patch)
tree9bc183f1387013f95d099dbe626b0f6b490dbb54 /TAO/TAO_IDL/be/be_visitor_component
parent1d924c99a0ee0260e897596642336ff6d68883b2 (diff)
downloadATCD-663660f676a88215851e9803da82395d86db2a35.tar.gz
Sun Nov 27 18:19:18 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
Merging in another set of changes. The skeletons got refactored even more and now the S.inl files are not generated anymore. For CIAO we now generate the facet servants in new _svnt_T.{h,cpp} files, which is the first step in a major refactoring and simplification of the CCM servants which is also a first step in the direction of a Common Component Model
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_component')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component.cpp4
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp12
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp11
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/executor_exh.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp (renamed from TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp)22
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp (renamed from TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp)23
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp21
8 files changed, 52 insertions, 43 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component.cpp b/TAO/TAO_IDL/be/be_visitor_component/component.cpp
index 204ff9b79ad..3e1d2b5ddf2 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component.cpp
@@ -117,7 +117,6 @@ be_visitor_component::visit_operation (be_operation *node)
case TAO_CodeGen::TAO_ROOT_CDR_OP_CH:
case TAO_CodeGen::TAO_ROOT_CDR_OP_CS:
case TAO_CodeGen::TAO_ROOT_CI:
- case TAO_CodeGen::TAO_ROOT_SI:
case TAO_CodeGen::TAO_ROOT_SVH:
case TAO_CodeGen::TAO_ROOT_SVS:
case TAO_CodeGen::TAO_ROOT_EXH:
@@ -277,10 +276,11 @@ be_visitor_component::visit_typedef (be_typedef *node)
case TAO_CodeGen::TAO_ROOT_SH:
case TAO_CodeGen::TAO_ROOT_IH:
case TAO_CodeGen::TAO_ROOT_IS:
- case TAO_CodeGen::TAO_ROOT_SI:
case TAO_CodeGen::TAO_ROOT_SS:
case TAO_CodeGen::TAO_ROOT_SVH:
case TAO_CodeGen::TAO_ROOT_SVS:
+ case TAO_CodeGen::TAO_ROOT_SVTH:
+ case TAO_CodeGen::TAO_ROOT_SVTS:
case TAO_CodeGen::TAO_ROOT_EXH:
case TAO_CodeGen::TAO_ROOT_EXS:
case TAO_CodeGen::TAO_ROOT_CNH:
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp
index 1764e19a800..b6a57eaacd2 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp
@@ -47,18 +47,6 @@ be_visitor_component_svh::visit_component (be_component *node)
/// code generation.
node->scan (node);
- // Generate the facet servant class declaration.
- be_visitor_facet_svh facet_visitor (this->ctx_);
-
- if (facet_visitor.visit_component_scope (node) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svh::")
- ACE_TEXT ("visit_component - ")
- ACE_TEXT ("facet visitor failed\n")),
- -1);
- }
-
/// CIDL-generated namespace used 'CIDL_' + composition name.
/// Now we use 'CIAO_' + component's flat name.
os_ << be_nl_2
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp
index 5e098aa39fa..3248f0e7a88 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp
@@ -43,17 +43,6 @@ be_visitor_component_svs::visit_component (be_component *node)
return 0;
}
- be_visitor_facet_svs facet_visitor (this->ctx_);
-
- if (facet_visitor.visit_component_scope (node) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svs::")
- ACE_TEXT ("visit_component - ")
- ACE_TEXT ("facet visitor failed\n")),
- -1);
- }
-
/// CIDL-generated namespace used 'CIDL_' + composition name.
/// Now we use 'CIAO_' + component's flat name.
os_ << be_nl_2
diff --git a/TAO/TAO_IDL/be/be_visitor_component/executor_exh.cpp b/TAO/TAO_IDL/be/be_visitor_component/executor_exh.cpp
index 287ee04e09d..a9edd6fa9dc 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/executor_exh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/executor_exh.cpp
@@ -224,6 +224,7 @@ be_visitor_executor_exh::visit_component (be_component *node)
return 0;
}
+
int
be_visitor_executor_exh::visit_provides (be_provides *node)
{
diff --git a/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp
index 4f279b95e07..415252bd064 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp
@@ -13,28 +13,40 @@
*/
//=============================================================================
-be_visitor_facet_svh::be_visitor_facet_svh (be_visitor_context *ctx)
+be_visitor_facet_svth::be_visitor_facet_svth (be_visitor_context *ctx)
: be_visitor_component_scope (ctx)
{
}
-be_visitor_facet_svh::~be_visitor_facet_svh (void)
+be_visitor_facet_svth::~be_visitor_facet_svth (void)
{
}
int
-be_visitor_facet_svh::visit_provides (be_provides *node)
+be_visitor_facet_svth::visit_provides (be_provides *node)
{
- if (node->gen_facet_svnt_decl (os_) == -1)
+ if (node->gen_facet_svnt_tmpl_decl (os_) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_facet_svh")
+ ACE_TEXT ("be_visitor_facet_svth")
ACE_TEXT ("::visit_provides - ")
ACE_TEXT ("gen_facet_svnt_decl() ")
ACE_TEXT ("failed\n")),
-1);
}
+ return 0;
+}
+
+int
+be_visitor_facet_svth::visit_component (be_component *node)
+{
+ this->visit_component_scope (node);
return 0;
}
+int
+be_visitor_facet_svth::visit_connector (be_connector *node)
+{
+ return this->visit_component (node);
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp
index c9127923226..abfa8b3310f 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp
@@ -13,28 +13,41 @@
*/
//=============================================================================
-be_visitor_facet_svs::be_visitor_facet_svs (be_visitor_context *ctx)
+be_visitor_facet_svts::be_visitor_facet_svts (be_visitor_context *ctx)
: be_visitor_component_scope (ctx)
{
}
-be_visitor_facet_svs::~be_visitor_facet_svs (void)
+be_visitor_facet_svts::~be_visitor_facet_svts (void)
{
}
int
-be_visitor_facet_svs::visit_provides (be_provides *node)
+be_visitor_facet_svts::visit_provides (be_provides *node)
{
- if (node->gen_facet_svnt_defn (os_) == -1)
+ if (node->gen_facet_svnt_tmpl_defn (os_) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_facet_svs")
+ ACE_TEXT ("be_visitor_facet_svts")
ACE_TEXT ("::visit_provides - ")
ACE_TEXT ("gen_facet_svnt_defn() ")
ACE_TEXT ("failed\n")),
-1);
}
+ return 0;
+}
+int
+be_visitor_facet_svts::visit_component (be_component *node)
+{
+ this->visit_component_scope (node);
return 0;
}
+int
+be_visitor_facet_svts::visit_connector (be_connector *node)
+{
+ return this->visit_component (node);
+}
+
+
diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
index 0709be18cd0..315309b808e 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
@@ -140,6 +140,7 @@ be_visitor_servant_svh::visit_attribute (be_attribute *node)
return v.visit_attribute (node);
}
+
int
be_visitor_servant_svh::visit_provides (be_provides *node)
{
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