Merge pull request #2317 from jwillemsen/jwi-deleteop
[ACE_TAO.git] / TAO / TAO_IDL / be / be_visitor_root / root_svts.cpp
blob44d063f3df12578e8b702e4a2a9ca75cfb523d1d
2 //=============================================================================
3 /**
4 * @file root_svts.cpp
6 * Visitor generating code for Root in the CIAO template servant source
8 * @author Marcel Smit
9 */
10 //=============================================================================
12 #include "root.h"
14 be_visitor_root_svts::be_visitor_root_svts (be_visitor_context *ctx)
15 : be_visitor_root (ctx)
19 be_visitor_root_svts::~be_visitor_root_svts ()
23 int
24 be_visitor_root_svts::visit_root (be_root *node)
26 if (this->init () == -1)
28 ACE_ERROR_RETURN ((LM_ERROR,
29 ACE_TEXT ("be_visitor_root_svts::init - ")
30 ACE_TEXT ("failed to initialize\n")),
31 -1);
34 if (this->visit_scope (node) == -1)
36 ACE_ERROR_RETURN ((LM_ERROR,
37 ACE_TEXT ("be_visitor_root_svts::visit_root - ")
38 ACE_TEXT ("codegen for scope failed\n")),
39 -1);
42 (void) tao_cg->end_ciao_svnt_template_source ();
44 return 0;
47 int
48 be_visitor_root_svts::init ()
50 // First open the client-side header file for writing.
51 int status =
52 tao_cg->start_ciao_svnt_template_source (
53 be_global->be_get_ciao_tmpl_svnt_src_fname ());
55 if (status == -1)
57 ACE_ERROR_RETURN ((LM_ERROR,
58 ACE_TEXT ("be_visitor_root_svts::init - ")
59 ACE_TEXT ("Error opening CIAO servant ")
60 ACE_TEXT ("source file\n")),
61 -1);
64 // Initialize the stream.
65 this->ctx_->stream (tao_cg->ciao_svnt_template_source ());
67 return 0;