summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_interface
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_interface')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/amh_sh.cpp24
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp12
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp12
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp17
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp43
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp35
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp18
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp113
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp14
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp31
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp12
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/tie_si.cpp (renamed from TAO/TAO_IDL/be/be_visitor_interface/tie_ss.cpp)52
18 files changed, 249 insertions, 160 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_sh.cpp
index b6048ac5ed0..19e7340f37c 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/amh_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_sh.cpp
@@ -120,47 +120,53 @@ be_visitor_amh_interface_sh::visit_interface (be_interface *node)
<< "& rhs);" << be_nl
<< "virtual ~" << class_name.c_str () << " (void);\n\n"
<< be_nl
- << "virtual ::CORBA::Boolean _is_a (const char* logical_type_id);" << be_nl << be_nl;
+ << "virtual ::CORBA::Boolean _is_a (" << be_idt << be_idt_nl
+ << "const char* logical_type_id" << env_dflts << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
+
+// *os << "virtual void* _downcast (" << be_idt << be_idt_nl
+// << "const char* logical_type_id" << be_uidt_nl
+// << ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _is_a method.
*os << "static void _is_a_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest &req," << be_nl
<< "void *obj," << be_nl
- << "void *servant_upcall" << be_uidt_nl
+ << "void *servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _non_existent method.
*os << "static void _non_existent_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest &req," << be_nl
<< "void *obj," << be_nl
- << "void *servant_upcall" << be_uidt_nl
+ << "void *servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _interface method.
*os << "static void _interface_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest &req," << be_nl
<< "void *obj," << be_nl
- << "void *servant_upcall" << be_uidt_nl
+ << "void *servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _component method.
*os << "static void _component_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest &req," << be_nl
<< "void *obj," << be_nl
- << "void *servant_upcall" << be_uidt_nl
+ << "void *servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _repository_id method.
*os << "static void _repository_id_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest &req," << be_nl
<< "void *obj," << be_nl
- << "void *servant_upcall" << be_uidt_nl
+ << "void *servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add the dispatch method.
*os << "virtual void _dispatch (" << be_idt << be_idt_nl
<< "TAO_ServerRequest &req," << be_nl
- << "void *_servant_upcall" << be_uidt_nl
+ << "void *_servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
this->this_method (node);
@@ -421,5 +427,7 @@ be_visitor_amh_interface_sh::this_method (be_interface *node)
// interfaces is "special", because the returned type is not exactly
// the type of the class, but the original class that "implied" the
// AMH one.
- *os << non_amh_name.c_str () << " *_this (void);\n" << be_uidt;
+ *os << non_amh_name.c_str () << " *_this (" << be_idt << be_idt
+ << env_dflts << be_uidt_nl
+ << ");\n" << be_uidt;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
index ada8c73a682..10118851bcf 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
@@ -135,7 +135,7 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< "_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * context," << be_nl
- << "void * obj" << be_uidt_nl
+ << "void * obj" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
*os << ancestor_amh_name
@@ -147,7 +147,7 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< "_skel (" << be_idt << be_idt_nl
<< "req," << be_nl
<< "context," << be_nl
- << "impl" << be_uidt_nl
+ << "impl" << env_arg << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
}
@@ -171,7 +171,7 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< "_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * context," << be_nl
- << "void * obj" << be_uidt_nl
+ << "void * obj" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
@@ -185,7 +185,7 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< "_skel (" << be_idt << be_idt_nl
<< "req," << be_nl
<< "context," << be_nl
- << "impl" << be_uidt_nl
+ << "impl" << env_arg << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
@@ -203,7 +203,7 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< "_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * context," << be_nl
- << "void * obj" << be_uidt_nl
+ << "void * obj" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
@@ -217,7 +217,7 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< "_skel (" << be_idt << be_idt_nl
<< "req," << be_nl
<< "context," << be_nl
- << "impl" << be_uidt_nl
+ << "impl" << env_arg << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp
index 4f2a6a11f59..3760418d94b 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_ss.cpp
@@ -71,9 +71,13 @@ be_visitor_amh_interface_ss::this_method (be_interface *node)
*os << non_amh_name.c_str () << "*" << be_nl
<< full_skel_name
- << "::_this (void)" << be_nl
+ << "::_this ("
+ << (be_global->use_raw_throw () ? "void" : "ACE_ENV_SINGLE_ARG_DECL")
+ << ")" << be_nl
<< "{" << be_idt_nl
- << "TAO_Stub *stub = this->_create_stub ();" << be_nl << be_nl;
+ << "TAO_Stub *stub = this->_create_stub ("
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_SINGLE_ARG_PARAMETER")
+ << ");" << TAO_ACE_CHECK ("0") << be_nl << be_nl;
*os << "TAO_Stub_Auto_Ptr safe_stub (stub);" << be_nl
<< "::CORBA::Object_ptr tmp = CORBA::Object::_nil ();" << be_nl
@@ -126,13 +130,13 @@ be_visitor_amh_interface_ss::dispatch_method (be_interface *node)
*os << "void" << be_nl
<< full_skel_name << "::_dispatch (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
- << "void * context" << be_uidt_nl
+ << "void * context" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl
<< "this->asynchronous_upcall_dispatch (" << be_idt << be_idt_nl
<< "req," << be_nl
<< "context," << be_nl
- << "this" << be_uidt_nl
+ << "this" << env_arg << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp
index 22f87873065..916f4cb041d 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp
@@ -50,7 +50,7 @@ be_visitor_interface_base_proxy_broker_ch::visit_interface (
<< "select_proxy ("
<< be_idt << be_idt_nl;
- *os << node->local_name () << " *object" << be_uidt_nl
+ *os << node->local_name () << " *object" << env_dflts << be_uidt_nl
<< ") = 0;"
<< be_uidt_nl // idt = 1
<< be_uidt_nl; // idt = 0
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp
index c8bef6a36d7..6619f38955d 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp
@@ -156,7 +156,7 @@ be_visitor_interface::add_abstract_op_args (AST_Operation *old_op,
}
UTL_ExceptList *excep_list = old_op->exceptions ();
-
+
if (0 != excep_list)
{
new_op.be_add_exceptions (excep_list->copy ());
@@ -443,9 +443,9 @@ be_visitor_interface::visit_operation (be_operation *node)
status = node->accept (&visitor);
break;
}
- case TAO_CodeGen::TAO_ROOT_TIE_SS:
+ case TAO_CodeGen::TAO_ROOT_TIE_SI:
{
- be_visitor_operation_tie_ss visitor (&ctx);
+ be_visitor_operation_tie_si visitor (&ctx);
status = node->accept (&visitor);
break;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
index 099c064cd3d..cc30fc493a9 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
@@ -219,12 +219,16 @@ be_visitor_interface_ch::visit_interface (be_interface *node)
{
*os << "// These two are inherited from SessionComponent."
<< be_nl << be_nl
- << "virtual void ciao_preactivate (void)" << be_nl
+ << "virtual void ciao_preactivate (" << be_idt << be_idt
+ << env_sngl_dflts << be_uidt_nl
+ << ")" << be_nl
<< "ACE_THROW_SPEC ((" << be_idt_nl
<< "::CORBA::SystemException," << be_nl
<< "::Components::CCMException" << be_uidt_nl
<< "));" << be_uidt_nl << be_nl
- << "virtual void ciao_postactivate (void)" << be_nl
+ << "virtual void ciao_postactivate (" << be_idt << be_idt
+ << env_sngl_dflts << be_uidt_nl
+ << ")" << be_nl
<< "ACE_THROW_SPEC ((" << be_idt_nl
<< "::CORBA::SystemException," << be_nl
<< "::Components::CCMException" << be_uidt_nl
@@ -239,7 +243,9 @@ be_visitor_interface_ch::visit_interface (be_interface *node)
}
// The _is_a method
- *os << "virtual ::CORBA::Boolean _is_a (const char *type_id);" << be_nl;
+ *os << "virtual ::CORBA::Boolean _is_a (" << be_idt << be_idt_nl
+ << "const char *type_id" << env_dflts << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
// The _interface_repository_id method.
*os << "virtual const char* _interface_repository_id (void) const;";
@@ -439,7 +445,7 @@ be_visitor_interface_ch::gen_xxx_narrow (const char *nar,
TAO_OutStream *os)
{
*os << "static " << node->local_name () << "_ptr "
- << nar << " (";
+ << nar << " (" << be_idt << be_idt_nl;
if (node->is_abstract ())
{
@@ -450,7 +456,8 @@ be_visitor_interface_ch::gen_xxx_narrow (const char *nar,
*os << "::CORBA::Object_ptr obj";
}
- *os << ");" << be_nl;
+ *os << env_dflts << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
return true;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp
index aa0b85df8ae..1ffea0d9e62 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp
@@ -342,13 +342,19 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
*os << "// These two are inherited from SessionComponent."
<< be_nl << be_nl
<< "void" << be_nl
- << node->full_name () << "::ciao_preactivate (void)" << be_idt_nl
+ << node->full_name () << "::ciao_preactivate ("
+ << be_idt << be_idt
+ << env_sngl_not << be_uidt_nl
+ << ")" << be_uidt_nl
<< "ACE_THROW_SPEC (( ::CORBA::SystemException," << be_nl
<< " ::Components::CCMException))" << be_uidt_nl
<< "{" << be_nl
<< "}" << be_nl << be_nl
<< "void" << be_nl
- << node->full_name () << "::ciao_postactivate (void)" << be_idt_nl
+ << node->full_name () << "::ciao_postactivate ("
+ << be_idt << be_idt
+ << env_sngl_not << be_uidt_nl
+ << ")" << be_uidt_nl
<< "ACE_THROW_SPEC (( ::CORBA::SystemException," << be_nl
<< " ::Components::CCMException))" << be_uidt_nl
<< "{" << be_nl
@@ -356,12 +362,23 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
}
*os << "::CORBA::Boolean" << be_nl
- << node->full_name () << "::_is_a (const char *value)" << be_nl;
+ << node->full_name () << "::_is_a (" << be_idt << be_idt_nl
+ << "const char *value";
- *os << "{" << be_idt_nl
+ if (node->is_local () || node->is_abstract ())
+ {
+ *os << env_not;
+ }
+ else
+ {
+ *os << env_decl;
+ }
+
+ *os << be_uidt_nl << ")" << be_uidt_nl
+ << "{" << be_idt_nl
<< "if (" << be_idt << be_idt_nl;
- int const status =
+ int status =
node->traverse_inheritance_graph (be_interface::is_a_helper,
os);
@@ -419,7 +436,10 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
}
else
{
- *os << "return this->::CORBA::Object::_is_a (value);" << be_uidt_nl;
+ *os << "return this->::CORBA::Object::_is_a ("
+ << be_idt << be_idt_nl
+ << "value" << env_arg << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl;
}
*os << "}" << be_uidt << be_uidt_nl
@@ -512,6 +532,7 @@ be_visitor_interface_cs::gen_xxx_narrow (const char *pre,
}
*os << " _tao_objref"
+ << (node->is_local () ? env_not : env_decl)
<< be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
@@ -539,7 +560,7 @@ be_visitor_interface_cs::gen_xxx_narrow (const char *pre,
<< "\"" << node->repoID () << "\"," << be_nl
<< node->flat_client_enclosing_scope ()
<< node->base_proxy_broker_name ()
- << "_Factory_function_pointer" << be_uidt_nl
+ << "_Factory_function_pointer" << env_arg << be_uidt_nl
<< ");" << be_uidt << be_nl
<< "return TAO_" << node->flat_name ()
<< "_PROXY_FACTORY_ADAPTER::instance ()->create_proxy (proxy);"
@@ -566,7 +587,7 @@ be_visitor_interface_cs::gen_xxx_narrow (const char *pre,
<< "\"" << node->repoID () << "\"," << be_nl
<< node->flat_client_enclosing_scope ()
<< node->base_proxy_broker_name ()
- << "_Factory_function_pointer" << be_uidt_nl
+ << "_Factory_function_pointer" << env_arg << be_uidt_nl
<< ");" << be_uidt << be_uidt << be_uidt_nl
<< "}" << be_nl << be_nl;
}
@@ -616,18 +637,18 @@ be_visitor_interface_cs::gen_abstract_ops_helper (be_interface *node,
UTL_ScopedName *new_op_name =
(UTL_ScopedName *)node->name ()->copy ();
new_op_name->nconc (item_new_name);
-
+
be_operation *op = be_operation::narrow_from_decl (d);
UTL_ScopedName *old_op_name =
(UTL_ScopedName *) op->name ()->copy ();
op->set_name (new_op_name);
op->set_defined_in (node);
op->is_abstract (node->is_abstract ());
-
+
ctx.state (TAO_CodeGen::TAO_OPERATION_CS);
be_visitor_operation_cs op_visitor (&ctx);
op_visitor.visit_operation (op);
-
+
op->set_name (old_op_name);
op->set_defined_in (base);
op->is_abstract (base->is_abstract ());
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
index 6c5f1929e09..82a0472a7ed 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
@@ -163,54 +163,59 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
*os << "// Default implementation of CIAO-specific operation," << be_nl
<< "// overridden in derived class generated by the CIDL compiler."
<< be_nl
- << "virtual ::CORBA::Boolean ciao_is_substitutable (const char *event_repo_id)" << be_idt_nl
+ << "virtual ::CORBA::Boolean ciao_is_substitutable ("
+ << be_idt << be_idt_nl
+ << "const char *event_repo_id" << env_dflts << be_uidt_nl
+ << ")" << be_nl
<< "ACE_THROW_SPEC (( ::CORBA::SystemException));"
<< be_uidt_nl << be_nl;
}
// _is_a
- *os << "virtual ::CORBA::Boolean _is_a (const char* logical_type_id);" << be_nl << be_nl;
+ *os << "virtual ::CORBA::Boolean _is_a (" << be_idt << be_idt_nl
+ << "const char* logical_type_id" << env_dflts << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _is_a method.
*os << "static void _is_a_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * servant_upcall," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _non_existent method.
*os << "static void _non_existent_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * servant_upcall," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _interface method.
*os << "static void _interface_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * servant_upcall," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _component method.
*os << "static void _component_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * servant_upcall," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add a skeleton for our _repository_id method.
*os << "static void _repository_id_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
<< "void * servant_upcall," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
// Add the dispatch method.
*os << "virtual void _dispatch (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
- << "void * servant_upcall" << be_uidt_nl
+ << "void * servant_upcall" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_nl;
this->this_method (node);
@@ -349,21 +354,21 @@ be_visitor_interface_sh::gen_abstract_ops_helper (
attr->is_local (),
attr->is_abstract ());
new_attr.set_defined_in (node);
-
+
UTL_ExceptList *get_exceptions = attr->get_get_exceptions ();
-
+
if (0 != get_exceptions)
{
new_attr.be_add_get_exceptions (get_exceptions->copy ());
}
-
+
UTL_ExceptList *set_exceptions = attr->get_set_exceptions ();
-
+
if (0 != set_exceptions)
{
new_attr.be_add_set_exceptions (set_exceptions->copy ());
}
-
+
be_visitor_attribute attr_visitor (&ctx);
attr_visitor.visit_attribute (&new_attr);
ctx.attribute (0);
@@ -380,7 +385,9 @@ be_visitor_interface_sh::this_method (be_interface *node)
TAO_OutStream *os = this->ctx_->stream ();
// Print out the _this() method.
- *os << "::" << node->full_name () << " *_this (void);" << be_nl;
+ *os << "::" << node->full_name () << " *_this (" << be_idt << be_idt_nl
+ << env_dflts << be_uidt_nl
+ << ");" << be_uidt << be_nl;
}
int
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp
index deacb66cb3d..1f140530861 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp
@@ -100,6 +100,24 @@ be_visitor_interface_si::visit_interface (be_interface *node)
}
}
+ if (be_global->gen_tie_classes ())
+ {
+ // Generate the TIE class.
+ be_visitor_context ctx (*this->ctx_);
+ ctx.state (TAO_CodeGen::TAO_ROOT_TIE_SI);
+ ctx.stream (tao_cg->server_template_inline ());
+ be_visitor_interface_tie_si visitor (&ctx);
+
+ if (node->accept (&visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_sh::"
+ "visit_interface - "
+ "codegen for TIE class failed\n"),
+ -1);
+ }
+ }
+
return 0;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
index 114a9d2e691..7b52627a051 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
@@ -210,7 +210,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< "::_is_a_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & server_request, " << be_nl
<< "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl;
*os << "{" << be_idt;
@@ -277,13 +277,15 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< " , exceptions" << be_nl
<< " , nexceptions"
<< "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */" << be_nl
- << " );";
+ << " "
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_ARG_PARAMETER")
+ << ");" << TAO_ACE_CHECK ();
this->generate_send_reply (os);
*os << be_uidt_nl
- << "}" << be_nl << be_nl;
-
+ << "}";
+
is_a.destroy ();
rt.destroy ();
s.get ()->destroy ();
@@ -317,7 +319,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< "::_non_existent_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & server_request, " << be_nl
<< "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl;
*os << "{" << be_idt;
@@ -383,13 +385,15 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< " , exceptions" << be_nl
<< " , nexceptions"
<< "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */" << be_nl
- << " );";
+ << " "
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_ARG_PARAMETER")
+ << ");" << TAO_ACE_CHECK ();
this->generate_send_reply (os);
*os << be_uidt_nl
<< "}";
-
+
non_existent.destroy ();
rt.destroy ();
}
@@ -426,7 +430,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< "::_repository_id_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & server_request, " << be_nl
<< "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl;
*os << "{" << be_idt;
@@ -492,13 +496,15 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< " , exceptions" << be_nl
<< " , nexceptions"
<< "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */" << be_nl
- << " );";
+ << " "
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_ARG_PARAMETER")
+ << ");" << TAO_ACE_CHECK ();
this->generate_send_reply (os);
*os << be_uidt_nl
<< "}";
-
+
repository_id.destroy ();
s.get ()->destroy ();
}
@@ -511,7 +517,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< "::_interface_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & server_request, " << be_nl
<< "void * /* servant_upcall */," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl;
*os << "{" << be_idt_nl;
*os << "TAO_IFR_Client_Adapter *_tao_adapter =" << be_idt_nl
@@ -534,7 +540,12 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< be_uidt_nl;
*os << "::CORBA::InterfaceDef_ptr _tao_retval = " << be_idt_nl
- << "impl->_get_interface ();" << be_uidt
+ << "impl->_get_interface ("
+ << (be_global->use_raw_throw ()
+ ? ""
+ : "ACE_ENV_SINGLE_ARG_PARAMETER")
+ << ");" << be_uidt
+ << TAO_ACE_CHECK () << be_nl << be_nl
<< "server_request.init_reply ();" << be_nl
<< "TAO_OutputCDR &_tao_out = *server_request.outgoing ();"
<< be_nl << be_nl
@@ -553,7 +564,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
this->generate_send_reply (os);
*os << be_uidt_nl
- << "}" << be_nl << be_nl;
+ << "}";
// Generate code for the _component skeleton.
@@ -586,7 +597,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< "::_component_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & server_request, " << be_nl
<< "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl
- << "void * servant" << be_uidt_nl
+ << "void * servant" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl;
*os << "{" << be_idt;
@@ -651,9 +662,11 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< " , exceptions" << be_nl
<< " , nexceptions"
<< "\n#endif /* TAO_HAS_INTERCEPTORS == 1 */" << be_nl
- << " );" << be_uidt_nl
+ << " "
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_ARG_PARAMETER")
+ << ");" << TAO_ACE_CHECK () << be_uidt_nl
<< "}";
-
+
get_component.destroy ();
rt.destroy ();
}
@@ -662,7 +675,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
*os << be_nl << be_nl
<< "::CORBA::Boolean " << full_skel_name
- << "::_is_a (const char* value)" << be_nl
+ << "::_is_a (" << be_idt << be_idt_nl
+ << "const char* value" << env_not << be_uidt_nl
+ << ")" << be_uidt_nl
<< "{" << be_idt_nl
<< "return" << be_idt_nl
<< "(" << be_idt_nl;
@@ -704,8 +719,10 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
if (node->is_event_consumer ())
{
*os << be_nl << be_nl
- << "::CORBA::Boolean " << be_nl << full_skel_name
- << "::ciao_is_substitutable (const char *)" << be_idt_nl
+ << "::CORBA::Boolean " << full_skel_name
+ << "::ciao_is_substitutable (" << be_idt << be_idt_nl
+ << "const char * /* event_repo_id */" << env_not << be_uidt_nl
+ << ")" << be_nl
<< "ACE_THROW_SPEC (( ::CORBA::SystemException))" << be_uidt_nl
<< "{" << be_idt_nl
<< "return true;" << be_uidt_nl
@@ -717,27 +734,6 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
this->this_method (node);
- if (be_global->gen_tie_classes () && !node->tie_skel_gen ())
- {
- // Generate the TIE class.
- be_visitor_context ctx (*this->ctx_);
- ctx.state (TAO_CodeGen::TAO_ROOT_TIE_SS);
- ctx.stream (tao_cg->server_template_skeletons ());
- be_visitor_interface_tie_ss visitor (&ctx);
-
- if (node->accept (&visitor) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_interface_ss::"
- "visit_interface - "
- "codegen for TIE class failed\n"),
- -1);
- }
-
- // AMH generation reuses this visit_interface(), hence the flag.
- node->tie_skel_gen (true);
- }
-
return 0;
}
@@ -770,12 +766,12 @@ be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node,
"bad node in this scope\n"),
-1);
}
-
+
AST_Decl::NodeType nt = d->node_type ();
-
+
UTL_ScopedName *item_new_name = 0;
UTL_ScopedName *new_name = 0;
-
+
if (AST_Decl::NT_op == nt || AST_Decl::NT_attr == nt)
{
ACE_NEW_RETURN (item_new_name,
@@ -803,10 +799,10 @@ be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node,
op->set_name (new_name);
op->set_defined_in (node);
op->is_abstract (node->is_abstract ());
-
+
be_visitor_operation_ss op_visitor (&ctx);
op_visitor.visit_operation (op);
-
+
op->set_name (old_name);
op->set_defined_in (base);
op->is_abstract (base->is_abstract ());
@@ -821,21 +817,21 @@ be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node,
attr->is_abstract ());
new_attr.set_defined_in (node);
new_attr.set_name (new_name);
-
+
UTL_ExceptList *get_exceptions = attr->get_get_exceptions ();
-
+
if (0 != get_exceptions)
{
new_attr.be_add_get_exceptions (get_exceptions->copy ());
}
-
+
UTL_ExceptList *set_exceptions = attr->get_set_exceptions ();
-
+
if (0 != set_exceptions)
{
new_attr.be_add_set_exceptions (set_exceptions->copy ());
}
-
+
be_visitor_attribute attr_visitor (&ctx);
attr_visitor.visit_attribute (&new_attr);
ctx.attribute (0);
@@ -857,10 +853,14 @@ be_visitor_interface_ss::this_method (be_interface *node)
// the _this () operation.
*os << node->full_name () << " *" << be_nl
<< node->full_skel_name ()
- << "::_this (void)" << be_nl
+ << "::_this ("
+ << (be_global->use_raw_throw () ? "void" : "ACE_ENV_SINGLE_ARG_DECL")
+ << ")" << be_nl
<< "{" << be_idt_nl
- << "TAO_Stub *stub = this->_create_stub ();"
- << be_nl << be_nl
+ << "TAO_Stub *stub = this->_create_stub ("
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_SINGLE_ARG_PARAMETER")
+ << ");"
+ << TAO_ACE_CHECK ("0") << be_nl << be_nl
<< "TAO_Stub_Auto_Ptr safe_stub (stub);" << be_nl;
*os << "::CORBA::Object_ptr tmp = CORBA::Object::_nil ();"
@@ -905,12 +905,15 @@ be_visitor_interface_ss::dispatch_method (be_interface *node)
*os << "void " << node->full_skel_name ()
<< "::_dispatch (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & req," << be_nl
- << "void * servant_upcall" << be_uidt_nl
+ << "void * servant_upcall" << env_decl << be_uidt_nl
<< ")" << be_uidt_nl;
*os << "{" << be_idt_nl;
*os << "this->synchronous_upcall_dispatch (req," << be_nl
<< " servant_upcall," << be_nl
- << " this);"
+ << " this" << be_nl
+ << " "
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_ARG_PARAMETER")
+ << ");"
<< be_uidt_nl;
*os << "}";
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp
index fca454e14bf..12c8f672665 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp
@@ -58,7 +58,7 @@ be_visitor_interface_remote_proxy_broker_ch::visit_interface (
<< "select_proxy ("
<< be_idt << be_idt_nl;
- *os << node->local_name () << " *object" << be_uidt_nl
+ *os << node->local_name () << " *object" << env_decl << be_uidt_nl
<< ");" << be_uidt_nl << be_uidt_nl;
*os << "private:" << be_idt_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp
index 8c9fd65d0e0..30d5a00dd13 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp
@@ -84,7 +84,7 @@ be_visitor_interface_remote_proxy_broker_cs::visit_interface (
*os << node->full_base_proxy_impl_name () << "&" << be_nl
<<node->full_remote_proxy_broker_name () << "::"
<< "select_proxy (" << be_idt << be_idt_nl
- << "::" << node->full_name () << " *" << be_uidt_nl
+ << "::" << node->full_name () << " *" << env_not << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl // idt = 1
<< "return this->remote_proxy_impl_;"
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp
index e496357fd83..c55d08b839e 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp
@@ -75,7 +75,7 @@ int be_visitor_interface_smart_proxy_ch::visit_interface (be_interface *node)
<< "virtual "<< node->local_name ()
<< "_ptr create_proxy (" << be_idt << be_idt_nl
<< node->local_name ()
- << "_ptr proxy" << be_uidt_nl
+ << "_ptr proxy" << env_dflts << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "};\n\n";
@@ -88,12 +88,14 @@ int be_visitor_interface_smart_proxy_ch::visit_interface (be_interface *node)
<< "_Proxy_Factory_Adapter, TAO_SYNCH_RECURSIVE_MUTEX>;" << be_nl << be_nl
<< "void register_proxy_factory (" << be_idt << be_idt_nl
<< "TAO_" << node->flat_name () << "_Default_Proxy_Factory *df,"<< be_nl
- << "bool one_shot_factory = true" << be_uidt_nl
+ << "int one_shot_factory = 1" << env_dflts << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl
+ << "void unregister_proxy_factory (" << be_idt << be_idt
+ << env_dflts << be_uidt_nl
<< ");" << be_uidt_nl << be_nl
- << "void unregister_proxy_factory (void);" << be_nl << be_nl
<< node->local_name ()
<< "_ptr create_proxy (" << be_idt << be_idt_nl
- << node->local_name () << "_ptr proxy" << be_uidt_nl
+ << node->local_name () << "_ptr proxy" << env_dflts << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl << be_nl
<< "protected:" << be_idt_nl
<< "TAO_" << node->flat_name ()
@@ -107,8 +109,8 @@ int be_visitor_interface_smart_proxy_ch::visit_interface (be_interface *node)
<< ");" << be_uidt_nl
<< "TAO_" << node->flat_name ()
<< "_Default_Proxy_Factory *proxy_factory_;" << be_nl
- << "bool one_shot_factory_;" << be_nl
- << "bool disable_factory_;"<<be_nl
+ << "int one_shot_factory_;" << be_nl
+ << "int disable_factory_;"<<be_nl
<< "TAO_SYNCH_RECURSIVE_MUTEX lock_;" << be_uidt_nl
<< "};";
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp
index 0c57077fdff..4c4c41b8013 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp
@@ -97,7 +97,7 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
*os << "TAO_" << node->flat_name ()
<< "_Default_Proxy_Factory::create_proxy (" << be_idt << be_idt_nl
<< "::" << node->full_name ()
- << "_ptr proxy" << be_uidt_nl
+ << "_ptr proxy" << env_not << be_uidt_nl
<< ")" << be_uidt << be_uidt_nl
<< "{" << be_idt_nl
<< "return proxy;" << be_uidt_nl
@@ -116,8 +116,8 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
*os << "TAO_"
<< node->flat_name () << "_Proxy_Factory_Adapter (void)" << be_idt_nl
<< ": proxy_factory_ (0)," << be_idt_nl
- << "one_shot_factory_ (false)," << be_nl
- << "disable_factory_ (false)" << be_uidt << be_uidt_nl
+ << "one_shot_factory_ (0)," << be_nl
+ << "disable_factory_ (0)" << be_uidt << be_uidt_nl
<< "{" << be_nl
<< "}\n\n";
@@ -157,7 +157,7 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
<< "_Proxy_Factory_Adapter::register_proxy_factory (" << be_idt << be_idt_nl
<< "TAO_" << node->flat_name ()
<< "_Default_Proxy_Factory *df," << be_nl
- << "bool one_shot_factory" << be_uidt_nl
+ << "int one_shot_factory" << env_decl << be_uidt_nl
<< ")" << be_uidt << be_uidt_nl
<< "{" << be_idt_nl
<< "ACE_MT (" << be_idt << be_idt_nl
@@ -169,7 +169,11 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
<< ");" <<be_uidt_nl << be_nl
<< "// Remove any existing <proxy_factory_> and "
<< "replace with the new one." << be_nl
- << "this->unregister_proxy_factory ();" << be_nl
+ << "this->unregister_proxy_factory ("
+ << (be_global->use_raw_throw ()
+ ? ""
+ : "ACE_ENV_SINGLE_ARG_PARAMETER")
+ << ");" << TAO_ACE_CHECK () << be_nl
<< "this->proxy_factory_ = df;" << be_nl
<< "this->one_shot_factory_ = one_shot_factory;" << be_uidt_nl
<< "}\n\n";
@@ -183,7 +187,10 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
*os << "::";
*os << "TAO_"<< node->flat_name ()
- << "_Proxy_Factory_Adapter::unregister_proxy_factory (void)" << be_nl
+ << "_Proxy_Factory_Adapter::unregister_proxy_factory ("
+ << be_idt << be_idt
+ << env_sngl_not << be_uidt_nl
+ << ")" << be_uidt_nl
<< "{" << be_idt_nl
<< "ACE_MT (" << be_idt << be_idt_nl
<< "ACE_GUARD (" << be_idt << be_idt_nl
@@ -192,12 +199,12 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
<< "this->lock_" << be_uidt_nl
<< ")" << be_uidt << be_uidt_nl
<< ");" <<be_uidt_nl << be_nl
- << "if (this->one_shot_factory_)" << be_idt_nl
+ << "if (this->one_shot_factory_ == 1)" << be_idt_nl
<< "{" << be_idt_nl
- << "this->disable_factory_ = true;" << be_uidt_nl
+ << "this->disable_factory_ = 1;" << be_uidt_nl
<< "}" << be_uidt_nl << be_nl
<< "if ("
- << "this->one_shot_factory_ == false && this->proxy_factory_ != 0)"
+ << "this->one_shot_factory_ == 0 && this->proxy_factory_ != 0)"
<< be_idt_nl
<< "{" << be_idt_nl
<< "delete "
@@ -217,7 +224,7 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
*os << "TAO_"<< node->flat_name ()
<< "_Proxy_Factory_Adapter::create_proxy (" << be_idt << be_idt_nl
<< "::" << node->full_name ()
- << "_ptr proxy" << be_uidt_nl
+ << "_ptr proxy" << env_not << be_uidt_nl
<< ")" << be_uidt << be_uidt_nl
<< "{" << be_idt_nl
<< "ACE_MT (ACE_GUARD_RETURN ("
@@ -225,9 +232,9 @@ int be_visitor_interface_smart_proxy_cs::visit_interface (be_interface *node)
<< "this->lock_, 0));" << be_uidt_nl << be_nl
<< "// To take care of those <unchecked_narrow> methods where we " << be_nl
<< "// want to override the smart proxy factory if there exists one." << be_nl
- << "if (this->disable_factory_)" << be_idt_nl
+ << "if (this->disable_factory_ == 1)" << be_idt_nl
<< "{" << be_idt_nl
- << "this->disable_factory_ = false;" << be_nl
+ << "this->disable_factory_ = 0;" << be_nl
<< "return proxy;" << be_uidt_nl
<< "}" << be_uidt_nl << be_nl
<< "// Verify that an <proxy_factory_> is available else make one." << be_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp
index 466032f3221..baf3709e1b7 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp
@@ -52,8 +52,10 @@ be_visitor_interface_strategized_proxy_broker_sh::visit_interface (
*os << be_nl << be_nl
<< "TAO::Collocation_Strategy" << be_nl
- << "get_strategy (::CORBA::Object_ptr obj)"
- << be_idt_nl << "ACE_THROW_SPEC (( ::CORBA::SystemException));" << be_uidt;
+ << "get_strategy (" << be_idt << be_idt_nl
+ << "::CORBA::Object_ptr obj" << env_decl << be_uidt_nl
+ << ")" << be_nl
+ << "ACE_THROW_SPEC (( ::CORBA::SystemException));" << be_uidt;
*os << be_nl << be_nl
<< "void" << be_nl
@@ -64,7 +66,7 @@ be_visitor_interface_strategized_proxy_broker_sh::visit_interface (
<< "int num_args," << be_nl
<< "const char * op," << be_nl
<< "size_t op_len," << be_nl
- << "TAO::Collocation_Strategy strategy" << be_uidt_nl
+ << "TAO::Collocation_Strategy strategy" << env_decl << be_uidt_nl
<< ")" << be_nl
<< "ACE_THROW_SPEC (( ::CORBA::Exception));";
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp
index b342717e39c..80ce04b3f3f 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp
@@ -67,12 +67,15 @@ be_visitor_interface_strategized_proxy_broker_ss::visit_interface (
*os << "TAO::Collocation_Strategy" << be_nl
<< node->full_strategized_proxy_broker_name () << "::"
<< "get_strategy (" << be_idt << be_idt_nl
- << "::CORBA::Object_ptr obj" << be_uidt_nl
+ << "::CORBA::Object_ptr obj" << env_decl << be_uidt_nl
<< ")" << be_nl
<< "ACE_THROW_SPEC (( ::CORBA::SystemException))" << be_uidt_nl
<< "{" << be_idt_nl
<< "TAO::Collocation_Strategy strategy =" << be_idt_nl
- << "TAO_ORB_Core::collocation_strategy (obj);" << be_uidt
+ << "TAO_ORB_Core::collocation_strategy (obj"
+ << (be_global->use_raw_throw () ? "" : " ACE_ENV_ARG_PARAMETER")
+ << ");" << be_uidt
+ << TAO_ACE_CHECK ("TAO::TAO_CS_REMOTE_STRATEGY")
<< be_nl << be_nl
<< "return strategy;" << be_uidt_nl
<< "}" << be_nl << be_nl;
@@ -87,7 +90,7 @@ be_visitor_interface_strategized_proxy_broker_ss::visit_interface (
<< "int num_args," << be_nl
<< "const char * op," << be_nl
<< "size_t op_len," << be_nl
- << "TAO::Collocation_Strategy strategy" << be_uidt_nl
+ << "TAO::Collocation_Strategy strategy" << env_decl << be_uidt_nl
<< ")" << be_nl
<< "ACE_THROW_SPEC (( ::CORBA::Exception))" << be_uidt_nl
<< "{" << be_idt_nl
@@ -99,7 +102,8 @@ be_visitor_interface_strategized_proxy_broker_ss::visit_interface (
<< "num_args," << be_nl
<< "op," << be_nl
<< "op_len," << be_nl
- << "strategy);" << be_uidt << be_uidt_nl
+ << "strategy" << env_arg
+ << ");" << be_uidt << be_uidt_nl
<< "}";
*os << be_nl << be_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp
index 72843dc3259..d5d3c41885a 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp
@@ -117,7 +117,9 @@ be_visitor_interface_tie_sh::visit_interface (be_interface *node)
<< "/// set the ownership" << be_nl << be_nl
<< "void _is_owner ( ::CORBA::Boolean b);" << be_nl
<< "// overridden ServantBase operations" << be_nl
- << "PortableServer::POA_ptr _default_POA (void);";
+ << "PortableServer::POA_ptr _default_POA (" << be_idt << be_idt
+ << env_sngl_dflts << be_uidt_nl
+ << ");" << be_uidt;
int status =
node->traverse_inheritance_graph (
@@ -168,8 +170,8 @@ be_visitor_interface_tie_sh::method_helper (be_interface *,
}
be_visitor_context ctx;
- ctx.stream (os);
ctx.state (TAO_CodeGen::TAO_ROOT_TIE_SH);
+ ctx.stream (os);
be_visitor_interface_tie_sh visitor (&ctx);
if (visitor.visit_scope (node) == -1)
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/tie_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/tie_si.cpp
index eb876a5a13c..b92c0a98860 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/tie_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/tie_si.cpp
@@ -8,7 +8,7 @@
// TAO IDL
//
// = FILENAME
-// tie_ss.cpp
+// tie_si.cpp
//
// = DESCRIPTION
// Visitor generating code for TIE classes for the Interface node in the
@@ -20,7 +20,7 @@
// ============================================================================
ACE_RCSID (be_visitor_interface,
- tie_ss,
+ tie_si,
"$Id$")
@@ -28,19 +28,19 @@ ACE_RCSID (be_visitor_interface,
// Interface visitor for server inline
// ************************************************************************
-be_visitor_interface_tie_ss::be_visitor_interface_tie_ss (
+be_visitor_interface_tie_si::be_visitor_interface_tie_si (
be_visitor_context *ctx
)
: be_visitor_interface (ctx)
{
}
-be_visitor_interface_tie_ss::~be_visitor_interface_tie_ss (void)
+be_visitor_interface_tie_si::~be_visitor_interface_tie_si (void)
{
}
int
-be_visitor_interface_tie_ss::visit_interface (be_interface *node)
+be_visitor_interface_tie_si::visit_interface (be_interface *node)
{
if (node->srv_inline_gen ()
|| node->imported ()
@@ -95,14 +95,14 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
*os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl
<< "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl;
- *os << "template <class T>" << be_nl
+ *os << "template <class T> ACE_INLINE" << be_nl
<< fulltiename << "<T>::" << localtiename << " (T &t)" << be_nl
<< "\t: ptr_ (&t)," << be_nl
<< "\t poa_ (PortableServer::POA::_nil ())," << be_nl
<< "\t rel_ (0)" << be_nl
<< "{}" << be_nl << be_nl;
- *os << "template <class T> " << be_nl
+ *os << "template <class T> ACE_INLINE" << be_nl
<< fulltiename << "<T>::" << localtiename
<< " (T &t, PortableServer::POA_ptr poa)" << be_nl
<< "\t: ptr_ (&t)," << be_nl
@@ -110,7 +110,7 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< "\t rel_ (0)" << be_nl
<< "{}" << be_nl << be_nl;
- *os << "template <class T>" << be_nl
+ *os << "template <class T> ACE_INLINE" << be_nl
<< fulltiename << "<T>::" << localtiename
<< " (T *tp, ::CORBA::Boolean release)" << be_nl
<< "\t: ptr_ (tp)," << be_nl
@@ -118,7 +118,7 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< "\t rel_ (release)" << be_nl
<< "{}" << be_nl << be_nl;
- *os << "template <class T>" << be_nl
+ *os << "template <class T> ACE_INLINE" << be_nl
<< fulltiename << "<T>::" << localtiename
<< " (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release)"
<< be_nl
@@ -127,7 +127,7 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< "\t rel_ (release)" << be_nl
<< "{}" << be_nl << be_nl;
- *os << "template <class T>" << be_nl
+ *os << "template <class T> ACE_INLINE" << be_nl
<< fulltiename << "<T>::~" << localtiename << " (void)" << be_nl
<< "{" << be_idt_nl
<< "if (this->rel_)" << be_idt_nl
@@ -136,13 +136,13 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< "}" << be_uidt << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << "template <class T> T *" << be_nl
+ *os << "template <class T> ACE_INLINE T *" << be_nl
<< fulltiename << "<T>::_tied_object (void)" << be_nl
<< "{" << be_idt_nl
<< "return this->ptr_;" << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << "template <class T> void" << be_nl
+ *os << "template <class T> ACE_INLINE void" << be_nl
<< fulltiename << "<T>::_tied_object (T &obj)" << be_nl
<< "{" << be_idt_nl
<< "if (this->rel_)" << be_idt_nl
@@ -153,7 +153,7 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< "this->rel_ = 0;" << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << "template <class T> void" << be_nl
+ *os << "template <class T> ACE_INLINE void" << be_nl
<< fulltiename << "<T>::_tied_object (T *obj, "
<< "::CORBA::Boolean release)" << be_nl
<< "{" << be_idt_nl
@@ -165,22 +165,24 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< "this->rel_ = release;" << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << "template <class T> ::CORBA::Boolean" << be_nl
+ *os << "template <class T> ACE_INLINE ::CORBA::Boolean" << be_nl
<< fulltiename << "<T>::_is_owner (void)" << be_nl
<< "{" << be_idt_nl
<< "return this->rel_;" << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << "template <class T> void" << be_nl
+ *os << "template <class T> ACE_INLINE void" << be_nl
<< fulltiename << "<T>::_is_owner ( ::CORBA::Boolean b)" << be_nl
<< "{" << be_idt_nl
<< "this->rel_ = b;" << be_uidt_nl
<< "}" << be_nl << be_nl;
- *os << "template <class T> "
+ *os << "template <class T> ACE_INLINE "
<< "PortableServer::POA_ptr" << be_nl
<< fulltiename
- << "<T>::_default_POA ()" << be_nl
+ << "<T>::_default_POA ("
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_SINGLE_ARG_DECL")
+ << ")" << be_nl
<< "{" << be_idt_nl
<< "if (! ::CORBA::is_nil (this->poa_.in ()))" << be_idt_nl
<< "{" << be_idt_nl
@@ -188,12 +190,14 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
<< be_uidt_nl
<< "}" << be_uidt_nl << be_nl
<< "return this->" << localskelname
- << "::_default_POA ();" << be_uidt_nl
+ << "::_default_POA ("
+ << (be_global->use_raw_throw () ? "" : "ACE_ENV_SINGLE_ARG_PARAMETER")
+ << ");" << be_uidt_nl
<< "}";
int status =
node->traverse_inheritance_graph (
- be_visitor_interface_tie_ss::method_helper,
+ be_visitor_interface_tie_si::method_helper,
os
);
@@ -210,13 +214,13 @@ be_visitor_interface_tie_ss::visit_interface (be_interface *node)
}
int
-be_visitor_interface_tie_ss::visit_component (be_component *node)
+be_visitor_interface_tie_si::visit_component (be_component *node)
{
return this->visit_interface (node);
}
int
-be_visitor_interface_tie_ss::method_helper (be_interface *derived,
+be_visitor_interface_tie_si::method_helper (be_interface *derived,
be_interface *node,
TAO_OutStream *os)
{
@@ -230,16 +234,16 @@ be_visitor_interface_tie_ss::method_helper (be_interface *derived,
}
be_visitor_context ctx;
+ ctx.state (TAO_CodeGen::TAO_ROOT_TIE_SI);
ctx.interface (derived);
ctx.stream (os);
- ctx.state (TAO_CodeGen::TAO_ROOT_TIE_SS);
- be_visitor_interface_tie_ss visitor (&ctx);
+ be_visitor_interface_tie_si visitor (&ctx);
if (visitor.visit_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_interface_tie_ss::"
+ "be_visitor_interface_tie_si::"
"method_helper\n"),
-1);
}