Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / be / be_visitor_root / root_svs.cpp
blob900b7854b0a1c6e66360e078c7bbf438ec8cabb3
2 //=============================================================================
3 /**
4 * @file root_svs.cpp
6 * Visitor generating code for Root in the CIAO servant source
8 * @author Jeff Parsons
9 */
10 //=============================================================================
12 #include "root.h"
14 be_visitor_root_svs::be_visitor_root_svs (be_visitor_context *ctx)
15 : be_visitor_root (ctx)
19 be_visitor_root_svs::~be_visitor_root_svs (void)
23 int
24 be_visitor_root_svs::visit_root (be_root *node)
26 if (this->init () == -1)
28 ACE_ERROR_RETURN ((LM_ERROR,
29 ACE_TEXT ("be_visitor_root_svs::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_svs::visit_root - ")
38 ACE_TEXT ("codegen for scope failed\n")),
39 -1);
42 (void) tao_cg->end_ciao_svnt_source ();
44 return 0;
47 int
48 be_visitor_root_svs::init (void)
50 // First open the ciao servant source file for writing.
51 int const status =
52 tao_cg->start_ciao_svnt_source (
53 be_global->be_get_ciao_svnt_src_fname ());
55 if (status == -1)
57 ACE_ERROR_RETURN ((LM_ERROR,
58 ACE_TEXT ("be_visitor_root_svs::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_source ());
67 return 0;