summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp61
1 files changed, 14 insertions, 47 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp
index c4ee9d201d3..47d01456928 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp
@@ -53,40 +53,14 @@ be_visitor_interface_ami_handler_stub_ch::visit_interface (be_interface *node)
// Ifdef guard.
- // Generate AMI_...name..._Handler string.
- char *ifdef_string = 0;
- ACE_NEW_RETURN (ifdef_string,
- char [ACE_OS::strlen ("AMI_") +
- ACE_OS::strlen (node->flatname ()) +
- ACE_OS::strlen ("_Handler") +
- // end of string
- 1],
- 0);
- ACE_OS::sprintf (ifdef_string,
- "AMI_%s_Handler",
- node->flatname ());
-
- os->gen_ifdef_macro (ifdef_string);
-
- // Prepare the local name for the class.
- char *local_name = 0;
- ACE_NEW_RETURN (local_name,
- char [ACE_OS::strlen ("AMI_") +
- ACE_OS::strlen (node->local_name ()->get_string ()) +
- ACE_OS::strlen ("_Handler") +
- // end of string
- 1],
- 0);
- ACE_OS::sprintf (local_name,
- "AMI_%s_Handler",
- node->local_name ()->get_string ());
+ os->gen_ifdef_macro (node->flat_name ());
// Now generate the class definition.
os->indent ();
*os << "class " << idl_global->export_macro () << " "
- << local_name;
+ << node->local_name ();
// Node interface inherits from the Messaging::ReplyHandler
// interface.
@@ -101,29 +75,29 @@ be_visitor_interface_ami_handler_stub_ch::visit_interface (be_interface *node)
// but we must protect against certain versions of g++
<< "#if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8"
<< be_idt_nl
- << "typedef " << local_name << "_ptr _ptr_type;" << be_nl
- << "typedef " << local_name << "_var _var_type;" << be_uidt_nl
+ << "typedef " << node->local_name () << "_ptr _ptr_type;" << be_nl
+ << "typedef " << node->local_name () << "_var _var_type;" << be_uidt_nl
<< "#endif /* __GNUC__ */\n" << be_idt_nl
// generate the static _duplicate, _narrow, and _nil operations
<< "// the static operations" << be_nl
- << "static " << local_name << "_ptr " << "_duplicate ("
- << local_name << "_ptr obj);" << be_nl
- << "static " << local_name << "_ptr "
+ << "static " << node->local_name () << "_ptr " << "_duplicate ("
+ << node->local_name () << "_ptr obj);" << be_nl
+ << "static " << node->local_name () << "_ptr "
<< "_narrow (" << be_idt << be_idt_nl
<< "CORBA::Object_ptr obj," << be_nl
<< "CORBA::Environment &env = " << be_idt_nl
<< "TAO_default_environment ()"
<< be_uidt << be_uidt_nl
<< ");" << be_uidt_nl
- << "static " << local_name << "_ptr "
+ << "static " << node->local_name () << "_ptr "
<< "_unchecked_narrow (" << be_idt << be_idt_nl
<< "CORBA::Object_ptr obj," << be_nl
<< "CORBA::Environment &env = " << be_idt_nl
<< "TAO_default_environment ()"
<< be_uidt << be_uidt_nl
<< ");" << be_uidt_nl
- << "static " << local_name << "_ptr " << "_nil (void);\n\n";
+ << "static " << node->local_name () << "_ptr " << "_nil (void);\n\n";
// Visit the scope to generate the stubs for the call back
// methods.
@@ -151,21 +125,21 @@ be_visitor_interface_ami_handler_stub_ch::visit_interface (be_interface *node)
// generate the "protected" constructor so that users cannot instantiate
// us
*os << "protected:" << be_idt_nl
- << local_name << " (void);" << be_nl
- << local_name
+ << node->local_name () << " (void);" << be_nl
+ << node->local_name ()
<< " (TAO_Stub *objref, " << be_idt << be_idt_nl
<< "TAO_ServantBase *_tao_servant = 0, " << be_nl
<< "CORBA::Boolean _tao_collocated = 0" << be_uidt_nl
<< ");" << be_uidt_nl
- << "virtual ~" << local_name << " (void);" << be_uidt_nl;
+ << "virtual ~" << node->local_name () << " (void);" << be_uidt_nl;
// private copy constructor and assignment operator. These are not
// allowed, hence they are private.
*os << "private:\n";
os->incr_indent ();
- *os << local_name << " (const " << local_name << " &);"
+ *os << node->local_name () << " (const " << node->local_name () << " &);"
<< be_nl
- << "void operator= (const " << local_name << " &);\n";
+ << "void operator= (const " << node->local_name () << " &);\n";
os->decr_indent ();
*os << "};\n\n";
@@ -186,13 +160,6 @@ be_visitor_interface_ami_handler_stub_ch::visit_interface (be_interface *node)
"TypeCode declaration failed\n"),
-1);
}
-
-
- // Delete the heap allocated vars.
- delete ifdef_string;
- ifdef_string = 0;
- delete local_name;
- local_name = 0;
}
return 0;
}