summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp')
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp b/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp
new file mode 100644
index 00000000000..28640d3be6f
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp
@@ -0,0 +1,57 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO_IDL_BE
+//
+// = FILENAME
+// connector_dds_exh.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for DDS Connectors in the exec impl header.
+//
+// = AUTHOR
+// Jeff Parsons
+//
+// ============================================================================
+
+be_visitor_connector_dds_exh::be_visitor_connector_dds_exh (
+ be_visitor_context *ctx)
+ : be_visitor_component_scope (ctx)
+{
+ // This is initialized in the base class to svnt_export_macro()
+ // or skel_export_macro(), since there are many more visitor
+ // classes generating servant code. So we can just override
+ // all that here.
+ export_macro_ = be_global->exec_export_macro ();
+}
+
+be_visitor_connector_dds_exh::~be_visitor_connector_dds_exh (void)
+{
+}
+
+int
+be_visitor_connector_dds_exh::visit_connector (be_connector *node)
+{
+ node_ = node;
+
+ /// CIDL-generated namespace used 'CIDL_' + composition name.
+ /// Now we use 'CIAO_' + component's flat name.
+ os_ << be_nl << be_nl
+ << "namespace CIAO_" << node->flat_name ()
+ << "_Impl" << be_nl
+ << "{" << be_idt;
+
+ // TODO - template class declaration.
+
+ this->gen_exec_entrypoint_decl ();
+
+ os_ << be_uidt_nl
+ << "}";
+
+ return 0;
+}
+