Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / be / be_visitor_root / root_cns.cpp
blob1d9a05c44cf7739b695659e5efa5109b0f7c7a32
2 //=============================================================================
3 /**
4 * @file root_cns.cpp
6 * Visitor generating code for Root in the CIAO
7 * connector impl source
9 * @author Jeff Parsons
11 //=============================================================================
13 #include "root.h"
15 be_visitor_root_cns::be_visitor_root_cns (be_visitor_context *ctx)
16 : be_visitor_root (ctx)
20 be_visitor_root_cns::~be_visitor_root_cns (void)
24 int
25 be_visitor_root_cns::visit_root (be_root *node)
27 if (this->init () == -1)
29 ACE_ERROR_RETURN ((LM_ERROR,
30 ACE_TEXT ("be_visitor_root_cns::init - ")
31 ACE_TEXT ("failed to initialize\n")),
32 -1);
35 if (this->visit_scope (node) == -1)
37 ACE_ERROR_RETURN ((LM_ERROR,
38 ACE_TEXT ("be_visitor_root_cns::visit_root - ")
39 ACE_TEXT ("codegen for scope failed\n")),
40 -1);
43 (void) tao_cg->end_ciao_conn_source ();
45 return 0;
48 int
49 be_visitor_root_cns::init (void)
51 // First open the client-side header file for writing.
52 int status =
53 tao_cg->start_ciao_conn_source (
54 be_global->be_get_ciao_conn_src_fname ());
56 if (status == -1)
58 ACE_ERROR_RETURN ((LM_ERROR,
59 ACE_TEXT ("be_visitor_root_cns::init - ")
60 ACE_TEXT ("Error opening CIAO conn impl ")
61 ACE_TEXT ("source file\n")),
62 -1);
65 // Initialize the stream.
66 this->ctx_->stream (tao_cg->ciao_conn_source ());
68 return 0;