int be_visitor_connector_ami_exh::visit_connector (be_connector *node) { if (node->imported ()) { return 0; } this->node_ = node; /// CIDL-generated namespace used 'CIDL_' + composition name. /// Now we use 'CIAO_' + component's flat name. os_ << be_nl_2 << "namespace CIAO_" << node->flat_name () << "_Impl" << be_nl << "{" << be_idt; be_visitor_facet_ami_exh facet_visitor (this->ctx_); /// We call visit_component() so the visitor base class member /// node_ can be set. If a facet is defined in a porttype, it /// complicates navigation to the component. if (facet_visitor.visit_component (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_connector_ami_exh::") ACE_TEXT ("visit_connector - ") ACE_TEXT ("facet visitor failed\n")), -1); } be_visitor_executor_ami_exh exec_visitor (this->ctx_); if (exec_visitor.visit_connector (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_connector_ami_exh::") ACE_TEXT ("visit_connector - ") ACE_TEXT ("exec visitor failed\n")), -1); } this->gen_entrypoint (); os_ << be_uidt_nl << "}"; return 0; }
void CUTS_BE_Env_Visitor_T <CONTEXT>:: Visit_MultiInputAction (const CHAOS::MultiInputAction & action) { CUTS_BE_Environment_Method_Begin_T <CONTEXT> env_method_begin_gen (this->context_); env_method_begin_gen.generate (action); CUTS_BE_Execution_Visitor_T <CONTEXT> exec_visitor (this->context_); CHAOS::MultiInputAction mia (action); CUTS_BE::visit <CONTEXT> (mia, [&] (CHAOS::MultiInputAction item) {item.Accept (exec_visitor);}); CUTS_BE_Environment_Method_End_T <CONTEXT> env_method_end_gen (this->context_); env_method_end_gen.generate (action); }
int be_visitor_component_ex_idl::visit_component ( be_component *node) { if (node->imported ()) { return 0; } be_util::gen_nesting_open (os_, node); be_visitor_executor_ex_idl exec_visitor (this->ctx_); if (exec_visitor.visit_component (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_component_ex_idl::") ACE_TEXT ("visit_component - ") ACE_TEXT ("executor visitor failed\n")), -1); } be_visitor_context_ex_idl context_visitor (this->ctx_); if (context_visitor.visit_component (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_component_ex_idl::") ACE_TEXT ("visit_component - ") ACE_TEXT ("context visitor failed\n")), -1); } be_util::gen_nesting_close (os_, node); AST_Decl *scope = ScopeAsDecl (node->defined_in ()); ACE_CString sname_str = IdentifierHelper::orig_sn (scope->name ()); const char *sname = sname_str.c_str (); const char *lname = node->original_local_name ()->get_string (); const char *global = (sname_str == "" ? "" : "::"); os_ << be_nl_2 << "module CIAO_" << node->flat_name () << "_Impl" << be_nl << "{" << be_idt_nl; os_ << "local interface " << lname << "_Exec" << be_idt_nl << ": " << global << sname << "::CCM_" << lname << "," << be_idt_nl; os_ << "::Components::" << be_global->ciao_container_type () << "Component" << be_uidt << be_uidt_nl; os_ << "{" << be_nl << "};"; os_ << be_uidt_nl << "};"; return 0; }