diff options
Diffstat (limited to 'modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exs.cpp')
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exs.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exs.cpp b/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exs.cpp new file mode 100644 index 00000000000..a85a638a54c --- /dev/null +++ b/modules/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exs.cpp @@ -0,0 +1,57 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO_IDL_BE +// +// = FILENAME +// connector_dds_exs.cpp +// +// = DESCRIPTION +// Visitor generating code for Connectors in the exec impl source. +// +// = AUTHOR +// Jeff Parsons +// +// ============================================================================ + +be_visitor_connector_dds_exs::be_visitor_connector_dds_exs ( + 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_exs::~be_visitor_connector_dds_exs (void) +{ +} + +int +be_visitor_connector_dds_exs::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 constructor and destructor. + + this->gen_exec_entrypoint_defn (); + + os_ << be_uidt_nl + << "}"; + + return 0; +} + |