Remove redundant void from tao_idl
[ACE_TAO.git] / TAO / TAO_IDL / be / be_visitor_interface / facet_svth.cpp
blob29dc80b456e7332eaee169f220955638a505a1a9
2 //=============================================================================
3 /**
4 * @file facet_svth.cpp
6 * Visitor generating code for a facet servant class in the
7 * servant header.
9 * @author Jeff Parsons
11 //=============================================================================
13 #include "interface.h"
15 be_visitor_facet_svth::be_visitor_facet_svth (be_visitor_context *ctx)
16 : be_visitor_interface (ctx)
20 be_visitor_facet_svth::~be_visitor_facet_svth ()
24 int
25 be_visitor_facet_svth::visit_interface (be_interface *node)
28 if (node->imported () ||
29 node->svnt_src_facet_gen () ||
30 idl_global->ami_connector_seen_ ||
31 node->original_interface () ||
32 node->is_local ())
34 return 0;
37 const char *lname = node->local_name ();
39 be_decl *scope =
40 dynamic_cast<be_scope*> (node->defined_in ())->decl ();
41 ACE_CString suffix (scope->flat_name ());
43 if (suffix != "")
45 suffix = ACE_CString ("_") + suffix;
48 os_ << be_nl_2
49 << "namespace CIAO_FACET" << suffix.c_str () << be_nl
50 << "{" << be_idt_nl;
52 bool is_intf = node->node_type () == AST_Decl::NT_interface;
54 os_ << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
55 << "class " << lname << "_Servant_T" << be_idt_nl
56 << ": public ::CIAO::Facet_Servant_Base_T<BASE, EXEC, "
57 << "CONTEXT>" << be_uidt_nl << "{" << be_nl
58 << "public:" << be_idt_nl;
60 AST_Decl *s = ScopeAsDecl (node->defined_in ());
61 ACE_CString sname_str (s->full_name ());
63 os_ << lname << "_Servant_T (" << be_idt_nl
64 << "typename EXEC::_ptr_type executor," << be_nl
65 << "::Components::CCMContext_ptr ctx);" << be_uidt_nl << be_nl;
67 os_ << "virtual ~" << lname << "_Servant_T (void);";
69 if (is_intf)
71 be_interface *intf =
72 dynamic_cast<be_interface*> (node);
74 be_global->in_facet_servant (true);
76 int status =
77 intf->traverse_inheritance_graph (
78 be_interface::op_attr_decl_helper,
79 &os_);
81 be_global->in_facet_servant (false);
83 if (status == -1)
85 ACE_ERROR_RETURN ((LM_ERROR,
86 ACE_TEXT ("be_provides::gen_facet - ")
87 ACE_TEXT ("traverse_inheritance_graph()")
88 ACE_TEXT (" failed\n")),
89 -1);
93 os_ << be_uidt_nl << "};" << be_nl << be_uidt_nl;
95 os_ << "}";
97 node->svnt_hdr_facet_gen (true);
98 return 0;