summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp35
1 files changed, 28 insertions, 7 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp
index fc323318374..bc6d15386fd 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp
@@ -207,9 +207,16 @@ be_visitor_operation_interceptors_ss::visit_operation (be_operation *node)
}
*os<< "::"
- << "arguments (CORBA::Environment &)"<< be_nl
- << "{" <<be_idt_nl
- <<" // Generate the arg list on demand" << be_nl;
+ << "arguments (";
+ // generate the CORBA::Environment parameter for the alternative mapping
+ if (!idl_global->exception_support ())
+ *os<<"CORBA::Environment &";
+ else
+ *os << "void";
+ *os<<")"<< be_idt_nl;
+ *os<<"ACE_THROW_SPEC ((CORBA::SystemException))"<<be_uidt_nl
+ << "{" <<be_idt_nl
+ <<" // Generate the arg list on demand" << be_nl;
if (node->argument_count () == 0)
{
@@ -281,8 +288,15 @@ be_visitor_operation_interceptors_ss::visit_operation (be_operation *node)
}
*os<< "::"
- << "exceptions (CORBA::Environment &)"<< be_nl
- << "{\n // Generate the exception list on demand" << be_nl;
+ << "exceptions (";
+ // generate the CORBA::Environment parameter for the alternative mapping
+ if (!idl_global->exception_support ())
+ *os<<"CORBA::Environment &";
+ else
+ *os << "void";
+ *os<<")"<< be_idt_nl;
+ *os<<"ACE_THROW_SPEC ((CORBA::SystemException))"<<be_uidt_nl
+ << "{\n // Generate the exception list on demand" << be_nl;
if (!node->exceptions ())
{
*os << "return 0;\n}\n\n" << be_nl;
@@ -350,8 +364,15 @@ be_visitor_operation_interceptors_ss::visit_operation (be_operation *node)
}
*os<< "::"
- << "result (CORBA::Environment &)"<< be_nl
- << "{\n // Generate the result on demand" << be_nl;
+ << "result (";
+ // generate the CORBA::Environment parameter for the alternative mapping
+ if (!idl_global->exception_support ())
+ *os<<"CORBA::Environment &";
+ else
+ *os << "void";
+ *os<<")"<< be_idt_nl;
+ *os<<"ACE_THROW_SPEC ((CORBA::SystemException))"<<be_uidt_nl
+ << "{\n // Generate the result on demand" << be_nl;
bt = be_type::narrow_from_decl (node->return_type ());
if (this->void_return_type (bt))
{