summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp
index 9703b55a0f4..bdf0aff984d 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp
@@ -189,7 +189,9 @@ be_visitor_operation_upcall_command_ss::visit (be_operation * node,
<< "}" << be_nl << be_nl;
// Generate execute() method.
- os << "virtual void execute (void)" << be_nl
+ os << "virtual void execute ("
+ << (be_global->use_raw_throw () ? "void" : "ACE_ENV_SINGLE_ARG_DECL")
+ << ")" << be_nl
<< "{" << be_idt_nl;
if (!node->void_return_type ())
@@ -385,6 +387,15 @@ be_visitor_operation_upcall_command_ss::gen_upcall (be_operation * node)
<< (i == 0 ? "" : ", ") << "arg_" << i + 1;
}
+ if (count > 0)
+ {
+ os << env_arg;
+ }
+ else
+ {
+ os << env_sngl_arg;
+ }
+
os << ");";
if (!node->void_return_type ())
@@ -393,7 +404,7 @@ be_visitor_operation_upcall_command_ss::gen_upcall (be_operation * node)
}
os << be_uidt
- << be_uidt_nl;
+ << TAO_ACE_CHECK () << be_uidt_nl;
return 0;
}