summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2005-02-21 00:39:47 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2005-02-21 00:39:47 +0000
commitf03f8fa805272bbde758d441950b48196169081e (patch)
tree13187151a95a9b00dc86a351d734c29fcdad097d
parent00b58e1c5c514e64e2ca378859c5a0d5d1cb7d2b (diff)
downloadATCD-f03f8fa805272bbde758d441950b48196169081e.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog37
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp13
-rw-r--r--TAO/TAO_IDL/be/be_visitor_arg_traits.cpp63
-rw-r--r--TAO/TAO_IDL/be/be_visitor_array/array_ci.cpp8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp42
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp5
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp190
-rw-r--r--TAO/TAO_IDL/be/be_visitor_root/root.cpp104
-rw-r--r--TAO/TAO_IDL/be/be_visitor_traits.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp6
-rw-r--r--TAO/tao/Any_Arg_Traits.h5
-rw-r--r--TAO/tao/Argument_T.h111
-rw-r--r--TAO/tao/BD_String_Argument_T.h18
-rw-r--r--TAO/tao/Basic_Argument_T.h16
-rw-r--r--TAO/tao/Fixed_Array_Argument_T.h16
-rw-r--r--TAO/tao/Fixed_Size_Argument_T.h16
-rw-r--r--TAO/tao/Object_Argument_T.h16
-rw-r--r--TAO/tao/PortableServer/Any_SArg_Traits.h6
-rw-r--r--TAO/tao/PortableServer/BD_String_SArgument_T.cpp9
-rw-r--r--TAO/tao/PortableServer/BD_String_SArgument_T.h10
-rw-r--r--TAO/tao/PortableServer/Basic_SArgument_T.cpp9
-rw-r--r--TAO/tao/PortableServer/Basic_SArgument_T.h26
-rw-r--r--TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp54
-rw-r--r--TAO/tao/PortableServer/Fixed_Array_SArgument_T.h50
-rw-r--r--TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl50
-rw-r--r--TAO/tao/PortableServer/Fixed_Size_SArgument_T.h26
-rw-r--r--TAO/tao/PortableServer/Object_SArgument_T.cpp9
-rw-r--r--TAO/tao/PortableServer/Object_SArgument_T.h26
-rw-r--r--TAO/tao/PortableServer/Special_Basic_SArgument_T.cpp9
-rw-r--r--TAO/tao/PortableServer/Special_Basic_SArgument_T.h26
-rw-r--r--TAO/tao/PortableServer/UB_String_SArgument_T.cpp9
-rw-r--r--TAO/tao/PortableServer/UB_String_SArgument_T.h26
-rw-r--r--TAO/tao/PortableServer/Var_Array_SArgument_T.cpp57
-rw-r--r--TAO/tao/PortableServer/Var_Array_SArgument_T.h43
-rw-r--r--TAO/tao/PortableServer/Var_Array_SArgument_T.inl35
-rw-r--r--TAO/tao/PortableServer/Var_Size_SArgument_T.cpp9
-rw-r--r--TAO/tao/PortableServer/Var_Size_SArgument_T.h26
-rw-r--r--TAO/tao/Special_Basic_Argument_T.h16
-rw-r--r--TAO/tao/UB_String_Argument_T.h16
-rw-r--r--TAO/tao/Var_Array_Argument_T.h16
-rw-r--r--TAO/tao/Var_Array_Argument_T.inl2
-rw-r--r--TAO/tao/Var_Size_Argument_T.h16
46 files changed, 714 insertions, 575 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index ff8d964ddee..1e85cb98740 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,39 +1,4 @@
-Mon Feb 14 22:56:17 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
-
- * tao/Argument_T.h (Const_Argument_T, Mutable_Argument_T):
-
- New file. Contains new base class templates that enable
- polymorphic invocations of the client and server side
- *_Argument_T<>::arg() method. These classes are the key to
- using the same skeleton code for both collocated and
- uncollocated invocations without having to resort to complicated
- argument conversion code. Both of these class templates
- subclass the TAO::Argument class.
-
- * tao/BD_String_Argument_T.h:
- * tao/Basic_Argument_T.h:
- * tao/Fixed_Array_Argument_T.h:
- * tao/Fixed_Size_Argument_T.h:
- * tao/Object_Argument_T.h:
- * tao/Special_Basic_Argument_T.h:
- * tao/Special_Basic_Argument_T.inl:
- * tao/UB_String_Argument_T.h:
- * tao/Var_Array_Argument_T.h:
- * tao/Var_Size_Argument_T.h:
- * tao/PortableServer/BD_String_SArgument_T.h:
- * tao/PortableServer/Basic_SArgument_T.h:
- * tao/PortableServer/Fixed_Array_SArgument_T.h:
- * tao/PortableServer/Fixed_Size_SArgument_T.h:
- * tao/PortableServer/Object_SArgument_T.h:
- * tao/PortableServer/Special_Basic_SArgument_T.h:
- * tao/PortableServer/UB_String_SArgument_T.h:
- * tao/PortableServer/Var_Array_SArgument_T.h:
- * tao/PortableServer/Var_Size_SArgument_T.h:
-
- Inherit from TAO::{Const,Mutable}_Argument_T<> class template
- instead of TAO::Argument to enable polymorphic invocation of the
- arg() method used in the stubs and skeletons. See
- "tao/Argument_T.h" details above.
+Sun Feb 20 16:34:57 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
* TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp:
* TAO_IDL/be/be_visitor_argument/request_info_ch.cpp:
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp
index efe40dcd247..4458094de7f 100644
--- a/TAO/TAO_IDL/be/be_codegen.cpp
+++ b/TAO/TAO_IDL/be/be_codegen.cpp
@@ -1905,6 +1905,19 @@ TAO_CodeGen::gen_skel_arg_file_includes (TAO_OutStream * stream)
"tao/PortableServer/TypeCode_SArg_Traits.h");
this->gen_standard_include (stream,
"tao/PortableServer/Object_SArg_Traits.h");
+
+ if (be_global->gen_thru_poa_collocation ())
+ {
+ // We need the stub side argument templates when thru-POA
+ // collocation is enabled for type resolution.
+ // this->gen_stub_arg_file_includes (stream);
+
+ // Always needed for CORBA::Boolean handling in _is_a() skeleton
+ // code when an unconstrained (non-local) IDL interface is defined.
+ this->gen_cond_file_include (idl_global->non_local_iface_seen_,
+ "tao/Special_Basic_Arguments.h",
+ stream);
+ }
}
void
diff --git a/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp b/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp
index 8d48a11f1bf..23c0d64ac76 100644
--- a/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp
@@ -195,31 +195,31 @@ be_visitor_arg_traits::visit_valuetype (be_valuetype *node)
if (node->seen_in_operation ())
{
- TAO_OutStream *os = this->ctx_->stream ();
+ TAO_OutStream & os = *this->ctx_->stream ();
std::string guard_suffix =
std::string (this->S_) + std::string ("arg_traits");
// This should be generated even for imported nodes. The ifdef
// guard prevents multiple declarations.
- os->gen_ifdef_macro (node->flat_name (), guard_suffix.c_str ());
-
- *os << be_nl << be_nl
- << "template<>" << be_nl
- << "class " << be_global->stub_export_macro () << " "
- << this->S_ << "Arg_Traits<"
- << node->name () << ">" << be_idt_nl
- << ": public" << be_idt << be_idt_nl
- << "Object_" << this->S_ << "Arg_Traits_T<" << be_idt << be_idt_nl
- << node->name () << " *," << be_nl
- << node->name () << "_var," << be_nl
- << node->name () << "_out," << be_nl
- << "TAO::Value_Traits<" << node->name () << ">" << be_uidt_nl
- << ">" << be_uidt << be_uidt << be_uidt << be_uidt_nl
- << "{" << be_nl
- << "};";
-
- os->gen_endif ();
+ os.gen_ifdef_macro (node->flat_name (), guard_suffix.c_str ());
+
+ os << be_nl << be_nl
+ << "template<>" << be_nl
+ << "class " << be_global->stub_export_macro () << " "
+ << this->S_ << "Arg_Traits<"
+ << node->name () << ">" << be_idt_nl
+ << ": public" << be_idt << be_idt_nl
+ << "Object_" << this->S_ << "Arg_Traits_T<" << be_idt << be_idt_nl
+ << node->name () << " *," << be_nl
+ << node->name () << "_var," << be_nl
+ << node->name () << "_out," << be_nl
+ << "TAO::Value_Traits<" << node->name () << ">" << be_uidt_nl
+ << ">" << be_uidt << be_uidt << be_uidt << be_uidt_nl
+ << "{" << be_nl
+ << "};";
+
+ os.gen_endif ();
}
if (this->visit_scope (node) != 0)
@@ -316,7 +316,7 @@ be_visitor_arg_traits::visit_operation (be_operation *node)
<< be_nl << be_nl;
}
- *os << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ *os << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<" << node->flat_name ()
<< ">" << be_idt_nl
@@ -377,7 +377,7 @@ be_visitor_arg_traits::visit_attribute (be_attribute *node)
*os << be_nl << be_nl
<< "struct " << node->flat_name () << " {};"
<< be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<" << node->flat_name ()
<< ">" << be_idt_nl
@@ -442,7 +442,7 @@ be_visitor_arg_traits::visit_argument (be_argument *node)
<< be_nl << be_nl;
}
- *os << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ *os << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<" << node->flat_name ()
<< ">" << be_idt_nl
@@ -479,7 +479,7 @@ be_visitor_arg_traits::visit_sequence (be_sequence *node)
os->gen_ifdef_macro (alias->flat_name (), guard_suffix.c_str ());
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<"
<< alias->name () << ">" << be_idt_nl
@@ -555,7 +555,7 @@ be_visitor_arg_traits::visit_string (be_string *node)
}
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<";
@@ -599,18 +599,19 @@ be_visitor_arg_traits::visit_array (be_array *node)
// Generate the array traits specialization definitions,
// guarded by #ifdef on unaliased array element type and length.
- ACE_CString unique;
+ ACE_CString unique (this->S_);
+ unique += ACE_CString ("_");
be_type *bt = be_type::narrow_from_decl (node->base_type ());
AST_Decl::NodeType nt = bt->node_type ();
if (nt == AST_Decl::NT_typedef)
{
be_typedef *td = be_typedef::narrow_from_decl (bt);
- unique = td->primitive_base_type ()->flat_name ();
+ unique += td->primitive_base_type ()->flat_name ();
}
else
{
- unique = bt->flat_name ();
+ unique += bt->flat_name ();
}
char buf[NAMEBUFSIZE];
@@ -630,7 +631,7 @@ be_visitor_arg_traits::visit_array (be_array *node)
os->gen_ifdef_macro (unique.fast_rep ());
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<"
<< node->name () << ">" << be_idt_nl
@@ -688,7 +689,7 @@ be_visitor_arg_traits::visit_enum (be_enum *node)
os->gen_ifdef_macro (node->flat_name (), guard_suffix.c_str ());
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<"
<< node->name () << ">" << be_idt_nl
@@ -729,7 +730,7 @@ be_visitor_arg_traits::visit_structure (be_structure *node)
os->gen_ifdef_macro (node->flat_name (), guard_suffix.c_str ());
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<"
<< node->name () << ">" << be_idt_nl
@@ -843,7 +844,7 @@ be_visitor_arg_traits::visit_union (be_union *node)
os->gen_ifdef_macro (node->flat_name (), guard_suffix.c_str ());
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "class " << be_global->stub_export_macro () << " "
<< this->S_ << "Arg_Traits<"
<< node->name () << ">" << be_idt_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_array/array_ci.cpp b/TAO/TAO_IDL/be/be_visitor_array/array_ci.cpp
index a0ef398247a..f863ede4891 100644
--- a/TAO/TAO_IDL/be/be_visitor_array/array_ci.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_array/array_ci.cpp
@@ -188,7 +188,7 @@ int be_visitor_array_ci::visit_array (be_array *node)
unique += "_traits";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< "ACE_INLINE" << be_nl
<< "void" << be_nl
<< "TAO::Array_Traits<" << be_idt << be_idt_nl
@@ -203,7 +203,7 @@ int be_visitor_array_ci::visit_array (be_array *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< "ACE_INLINE" << be_nl
<< fname << "_slice *" << be_nl
<< "TAO::Array_Traits<" << be_idt << be_idt_nl
@@ -218,7 +218,7 @@ int be_visitor_array_ci::visit_array (be_array *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< "ACE_INLINE" << be_nl
<< "void" << be_nl
<< "TAO::Array_Traits<" << be_idt << be_idt_nl
@@ -234,7 +234,7 @@ int be_visitor_array_ci::visit_array (be_array *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< "ACE_INLINE" << be_nl
<< fname << "_slice *" << be_nl
<< "TAO::Array_Traits<" << be_idt << be_idt_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp
index d9aa9352aad..861b469cd59 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_cs.cpp
@@ -66,7 +66,7 @@ be_visitor_component_cs::visit_component (be_component *node)
<< "// Traits specializations for " << node->name () << ".";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< node->name () << "_ptr" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::duplicate ("
<< be_idt << be_idt_nl
@@ -77,7 +77,7 @@ be_visitor_component_cs::visit_component (be_component *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< "void" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::release ("
<< be_idt << be_idt_nl
@@ -88,7 +88,7 @@ be_visitor_component_cs::visit_component (be_component *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< node->name () << "_ptr" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::nil (void)"
<< be_nl
@@ -97,7 +97,7 @@ be_visitor_component_cs::visit_component (be_component *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< "CORBA::Boolean" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::marshal ("
<< be_idt << be_idt_nl
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 3e2d56dd80d..77b8a6b3e2d 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_cs.cpp
@@ -65,7 +65,7 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
<< "// Traits specializations for " << node->name () << ".";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< node->name () << "_ptr" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::duplicate ("
<< be_idt << be_idt_nl
@@ -76,7 +76,7 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< "void" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::release ("
<< be_idt << be_idt_nl
@@ -87,7 +87,7 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< node->name () << "_ptr" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::nil (void)"
<< be_nl
@@ -96,7 +96,7 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION" << be_nl
<< "CORBA::Boolean" << be_nl
<< "TAO::Objref_Traits<" << node->name () << ">::marshal ("
<< be_idt << be_idt_nl
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 f70d2e88783..62d93ce439a 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
@@ -94,10 +94,10 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
<< "_ptr;" << be_nl << be_nl;
// Forward class declarations.
- if (be_global->gen_thru_poa_collocation ())
- {
- *os << "class " << node->thru_poa_proxy_impl_name () << ";" << be_nl;
- }
+// if (be_global->gen_thru_poa_collocation ())
+// {
+// *os << "class " << node->thru_poa_proxy_impl_name () << ";" << be_nl;
+// }
if (be_global->gen_direct_collocation ())
{
@@ -270,7 +270,7 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
LM_ERROR,
"be_visitor_interface_sh::"
"visit_interface - "
- "codegen for thru_poa_collocated class failed\n"
+ "codegen for strategized proxy broker class failed\n"
),
-1
);
@@ -280,21 +280,21 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
ctx = *this->ctx_;
// Generate the collocated class.
- if (be_global->gen_thru_poa_collocation ())
- {
- ctx = *this->ctx_;
- ctx.state (TAO_CodeGen::TAO_INTERFACE_THRU_POA_PROXY_IMPL_SH);
- be_visitor_interface_thru_poa_proxy_impl_sh itppi_visitor (&ctx);
-
- if (node->accept (&itppi_visitor) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_interface_sh::"
- "visit_interface - "
- "codegen for thru_poa_collocated class failed\n"),
- -1);
- }
- }
+// if (be_global->gen_thru_poa_collocation ())
+// {
+// ctx = *this->ctx_;
+// ctx.state (TAO_CodeGen::TAO_INTERFACE_THRU_POA_PROXY_IMPL_SH);
+// be_visitor_interface_thru_poa_proxy_impl_sh itppi_visitor (&ctx);
+
+// if (node->accept (&itppi_visitor) == -1)
+// {
+// ACE_ERROR_RETURN ((LM_ERROR,
+// "be_visitor_interface_sh::"
+// "visit_interface - "
+// "codegen for thru_poa_collocated class failed\n"),
+// -1);
+// }
+// }
ctx = *this->ctx_;
@@ -310,7 +310,7 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
LM_ERROR,
"be_visitor_interface_sh::"
"visit_interface - "
- "codegen for thru_poa_collocated class failed\n"
+ "codegen for direct collocated class failed\n"
),
-1
);
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 793b46238a2..3624b80903f 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp
@@ -81,8 +81,9 @@ be_visitor_interface_si::visit_interface (be_interface *node)
return -1;
}
- if (be_global->gen_thru_poa_collocation ()
- || be_global->gen_direct_collocation ())
+ if (// be_global->gen_thru_poa_collocation ()
+ // ||
+ be_global->gen_direct_collocation ())
{
status =
node->traverse_inheritance_graph (
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 4cbe5f9191f..8e4fa72fa30 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
@@ -375,10 +375,12 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
{
// server_request.operation_details () will be non-zero in the
// thru-POA collocation case. Use them if available.
- *os << "," << be_nl
- << "server_request.operation_details ()" << be_nl
- << "? server_request.operation_details ()->args ()" << be_nl
- << ": args";
+ *os << "," << be_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ *os << "server_request.operation_details ()," << be_nl;
+
+ *os << "args";
}
*os << ");" << be_uidt_nl << be_nl;
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp
index 85e715fee8e..5c9a2bbc8df 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp
@@ -257,10 +257,12 @@ be_visitor_operation_ss::gen_skel_operation_body (be_operation * node,
{
// server_request.operation_details () will be non-zero in the
// thru-POA collocation case. Use them if available.
- *os << "," << be_nl
- << "server_request.operation_details ()" << be_nl
- << "? server_request.operation_details ()->args ()" << be_nl
- << ": args";
+ *os << "," << be_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ *os << "server_request.operation_details ()," << be_nl;
+
+ *os << "args";
}
*os << ");" << be_uidt_nl << be_nl;
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 e948c012ca4..cbfdc64764a 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
@@ -80,8 +80,12 @@ be_visitor_operation_upcall_command_ss::visit_operation (be_operation * node)
// has no arguments.
if (!node->void_return_type () || node->argument_count () > 0)
{
- os << "," << be_nl
- << "TAO::Argument * const args[])" << be_nl;
+ os << "," << be_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ os << "TAO_Operation_Details const * operation_details," << be_nl;
+
+ os << "TAO::Argument * const args[])" << be_nl;
}
else
{
@@ -94,8 +98,12 @@ be_visitor_operation_upcall_command_ss::visit_operation (be_operation * node)
// initializer for the class argument array member/attribute.
if (!node->void_return_type () || node->argument_count () > 0)
{
- os << be_nl
- << ", args_ (args)";
+ os << be_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ os << ", operation_details_ (operation_details)" << be_nl;
+
+ os << ", args_ (args)";
}
os << be_uidt_nl;
@@ -109,13 +117,39 @@ be_visitor_operation_upcall_command_ss::visit_operation (be_operation * node)
if (!node->void_return_type ())
{
- os << "static_cast<TAO::SArg_Traits< ";
+ os << "TAO::SArg_Traits< ";
+
this->gen_arg_template_param_name (node,
node->return_type (),
&os);
- os << ">::ret_base *> (this->args_[0])->arg () =" << be_idt_nl;
+ os << ">::ret_arg_type retval =" << be_idt_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ {
+ os << "get_ret_arg< ";
+
+ this->gen_arg_template_param_name (node,
+ node->return_type (),
+ &os);
+
+ os << "> (" << be_idt_nl
+ << "this->operation_details_," << be_nl
+ << "this->args_);" << be_uidt;
+ }
+ else
+ {
+ os << "static_cast<TAO::SArg_Traits< ";
+
+ this->gen_arg_template_param_name (node,
+ node->return_type (),
+ &os);
+
+ os << ">::ret_val *> (this->args_[0])->arg ();";
+ }
+
+ os << be_uidt_nl << be_nl;
}
if (this->gen_upcall (node) == -1)
@@ -148,8 +182,13 @@ be_visitor_operation_upcall_command_ss::visit_operation (be_operation * node)
// operation has no arguments.
if (!node->void_return_type () || node->argument_count () > 0)
{
- os << be_nl
- << "TAO::Argument * const * const args_;";
+ os << be_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ os << "TAO_Operation_Details const * const operation_details_;" << be_nl;
+
+
+ os << "TAO::Argument * const * const args_;";
}
os << be_uidt_nl
@@ -161,35 +200,19 @@ be_visitor_operation_upcall_command_ss::visit_operation (be_operation * node)
int
be_visitor_operation_upcall_command_ss::gen_upcall (be_operation * node)
{
- // @@ Based on
- // be_visitor_operation_thru_poa_proxy_impl_ss::gen_invoke().
-
TAO_OutStream & os = *this->ctx_->stream ();
- os << "this->servant_->" << node->local_name () << " ("
- << be_idt;
-
UTL_ScopeActiveIterator si (node,
UTL_Scope::IK_decls);
- if (si.is_done ())
- {
- os << be_nl
- << "ACE_ENV_SINGLE_ARG_PARAMETER" << be_uidt_nl
- << ");";
-
- return 0;
- }
-
- int index = 1;
+ unsigned int index = 1;
for (; !si.is_done (); si.next (), ++index)
{
AST_Argument * const arg =
AST_Argument::narrow_from_decl (si.item ());
- os << (index == 1 ? "" : ",") << be_nl
- << "static_cast<TAO::SArg_Traits< ";
+ os << "TAO::SArg_Traits< ";
this->gen_arg_template_param_name (arg,
arg->field_type (),
@@ -211,13 +234,118 @@ be_visitor_operation_upcall_command_ss::gen_upcall (be_operation * node)
break;
}
- os << "_arg_base *> (this->args_[" << index << "])->arg ()";
+ os << "_arg_type arg_" << index << " =" << be_idt_nl;
+
+ if (be_global->gen_thru_poa_collocation ())
+ {
+ os << "get_";
+
+ switch (arg->direction ())
+ {
+ case AST_Argument::dir_IN:
+ os << "in";
+ break;
+ case AST_Argument::dir_INOUT:
+ os << "inout";
+ break;
+ case AST_Argument::dir_OUT:
+ os << "out";
+ default:
+ break;
+ }
+
+ os << "_arg< ";
+
+ this->gen_arg_template_param_name (arg,
+ arg->field_type (),
+ &os);
+
+ os << "> (" << be_idt_nl
+ << "this->operation_details_," << be_nl
+ << "this->args_," << be_nl
+ << index << ");" << be_uidt_nl;
+ }
+ else
+ {
+ os << "static_cast<TAO::SArg_Traits< ";
+
+ this->gen_arg_template_param_name (arg,
+ arg->field_type (),
+ &os);
+
+ os << ">::ret_val *> (this->args_[" << index << "])->arg ();"
+ << be_nl;
+ }
+
+ os << be_uidt_nl;
+
}
- // End the upcall
- os << be_nl
- << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
- << ");";
+
+
+ if (!node->void_return_type ())
+ {
+ os << be_nl
+ << "retval =" << be_idt_nl;
+ }
+
+ os << "this->servant_->" << node->local_name () << " ("
+ << be_idt_nl;
+
+ size_t const count = node->argument_count ();
+
+ for (unsigned int i = 0; i < count; ++i)
+ os << (i == 0 ? "" : ", ") << "arg_" << i + 1 << be_nl;
+
+ if (count > 0)
+ os << "ACE_ENV_ARG_PARAMETER);" << be_uidt_nl;
+ else
+ os << "ACE_ENV_SINGLE_ARG_PARAMETER);" << be_uidt_nl;
+
+// UTL_ScopeActiveIterator si (node,
+// UTL_Scope::IK_decls);
+
+// if (si.is_done ())
+// {
+// os << be_nl
+// << "ACE_ENV_SINGLE_ARG_PARAMETER" << be_uidt_nl
+// << ");";
+
+// return 0;
+// }
+
+// int index = 1;
+
+// for (; !si.is_done (); si.next (), ++index)
+// {
+// AST_Argument * const arg =
+// AST_Argument::narrow_from_decl (si.item ());
+
+// os << (index == 1 ? "" : ",") << be_nl
+// << "static_cast<TAO::SArg_Traits< ";
+
+// this->gen_arg_template_param_name (arg,
+// arg->field_type (),
+// &os);
+
+// os << ">::";
+
+// switch (arg->direction ())
+// {
+// case AST_Argument::dir_IN:
+// os << "in";
+// break;
+// case AST_Argument::dir_INOUT:
+// os << "inout";
+// break;
+// case AST_Argument::dir_OUT:
+// os << "out";
+// default:
+// break;
+// }
+
+// os << "_arg_val *> (this->args_[" << index << "])->arg ()";
+// }
return 0;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_root/root.cpp b/TAO/TAO_IDL/be/be_visitor_root/root.cpp
index f6887fe9cee..7e3c6c57ac5 100644
--- a/TAO/TAO_IDL/be/be_visitor_root/root.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_root/root.cpp
@@ -46,8 +46,10 @@ int be_visitor_root::visit_root (be_root *node)
-1);
}
+ TAO_OutStream * const os = this->ctx_->stream ();
+
int status = 0;
- be_visitor_context ctx = *this->ctx_;
+ be_visitor_context ctx = * this->ctx_;
switch (this->ctx_->state ())
{
@@ -96,6 +98,104 @@ int be_visitor_root::visit_root (be_root *node)
-1);
}
}
+
+ // Generate stub/skeleton argument selection function templates
+ // in skeleton.
+ if (be_global->gen_thru_poa_collocation ())
+ {
+ *os << be_nl << be_nl
+ << "// Stub/skeleton argument selection function templates."
+ << be_nl
+ << "// TAO_IDL - Generated from "
+ << __FILE__ << ":" << __LINE__;
+
+ *os << be_nl << be_nl
+ << "namespace" << be_nl
+ << "{" << be_idt_nl;
+
+ // Return value selection function template
+ *os << "template<typename T>" << be_nl
+ << "typename TAO::SArg_Traits<T>::ret_arg_type" << be_nl
+ << "get_ret_arg (TAO_Operation_Details const * details,"
+ << be_nl
+ << " TAO::Argument * const * skel_args)" << be_nl
+ << "{" << be_idt_nl
+ << "return" << be_idt_nl
+ << "details" << be_nl
+ << "? static_cast<typename TAO::Arg_Traits<T>::ret_val *> ("
+ << be_idt << be_idt_nl
+ // return value is always the first element in the
+ // TAO::Argument array
+ << "details->args ()[0])->arg ()"
+ << be_uidt << be_uidt_nl
+ << ": static_cast<typename TAO::SArg_Traits<T>::ret_val *> ("
+ << be_idt << be_idt_nl
+ << "skel_args[0])->arg ();" << be_uidt << be_uidt
+ << be_uidt << be_uidt_nl
+ << "}" << be_nl << be_nl;
+
+ // IN argument selection function template
+ *os << "template<typename T>" << be_nl
+ << "typename TAO::SArg_Traits<T>::in_arg_type" << be_nl
+ << "get_in_arg (TAO_Operation_Details const * details,"
+ << be_nl
+ << " TAO::Argument * const * skel_args," << be_nl
+ << " size_t i)" << be_nl
+ << "{" << be_idt_nl
+ << "return" << be_idt_nl
+ << "details" << be_nl
+ << "? static_cast<typename TAO::Arg_Traits<T>::in_arg_val *> ("
+ << be_idt << be_idt_nl
+ << "details->args ()[i])->arg ()"
+ << be_uidt << be_uidt_nl
+ << ": static_cast<typename TAO::SArg_Traits<T>::in_arg_val *> ("
+ << be_idt << be_idt_nl
+ << "skel_args[i])->arg ();" << be_uidt << be_uidt
+ << be_uidt << be_uidt_nl
+ << "}" << be_nl << be_nl;
+
+ // INOUT argument selection function template
+ *os << "template<typename T>" << be_nl
+ << "typename TAO::SArg_Traits<T>::inout_arg_type" << be_nl
+ << "get_inout_arg (TAO_Operation_Details const * details,"
+ << be_nl
+ << " TAO::Argument * const * skel_args," << be_nl
+ << " size_t i)" << be_nl
+ << "{" << be_idt_nl
+ << "return" << be_idt_nl
+ << "details" << be_nl
+ << "? static_cast<typename TAO::Arg_Traits<T>::inout_arg_val *> ("
+ << be_idt << be_idt_nl
+ << "details->args ()[i])->arg ()"
+ << be_uidt << be_uidt_nl
+ << ": static_cast<typename TAO::SArg_Traits<T>::inout_arg_val *> ("
+ << be_idt << be_idt_nl
+ << "skel_args[i])->arg ();" << be_uidt << be_uidt
+ << be_uidt << be_uidt_nl
+ << "}" << be_nl << be_nl;
+
+ // OUT argument selection function template
+ *os << "template<typename T>" << be_nl
+ << "typename TAO::SArg_Traits<T>::out_arg_type" << be_nl
+ << "get_out_arg (TAO_Operation_Details const * details,"
+ << be_nl
+ << " TAO::Argument * const * skel_args," << be_nl
+ << " size_t i)" << be_nl
+ << "{" << be_idt_nl
+ << "return" << be_idt_nl
+ << "details" << be_nl
+ << "? static_cast<typename TAO::Arg_Traits<T>::out_arg_val *> ("
+ << be_idt << be_idt_nl
+ << "details->args ()[i])->arg ()"
+ << be_uidt << be_uidt_nl
+ << ": static_cast<typename TAO::SArg_Traits<T>::out_arg_val *> ("
+ << be_idt << be_idt_nl
+ << "skel_args[i])->arg ();" << be_uidt << be_uidt
+ << be_uidt << be_uidt_nl
+ << "}" << be_uidt << be_uidt_nl;
+
+ *os << "}" << be_uidt_nl;
+ }
}
break;
@@ -111,8 +211,6 @@ int be_visitor_root::visit_root (be_root *node)
-1);
}
- TAO_OutStream *os = this->ctx_->stream ();
-
// If we are generating the client header file, this is the place to
// generate the proxy broker factory function pointer declarations
// and the extern declarations for non-defined interfaces.
diff --git a/TAO/TAO_IDL/be/be_visitor_traits.cpp b/TAO/TAO_IDL/be/be_visitor_traits.cpp
index 189ad0d4f06..b4c528f9780 100644
--- a/TAO/TAO_IDL/be/be_visitor_traits.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_traits.cpp
@@ -110,7 +110,7 @@ be_visitor_traits::visit_interface (be_interface *node)
os->gen_ifdef_macro (node->flat_name (), "traits");
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "struct " << be_global->stub_export_macro () << " Objref_Traits<"
<< " ::" << node->name () << ">" << be_nl
<< "{" << be_idt_nl
@@ -185,7 +185,7 @@ be_visitor_traits::visit_valuetype (be_valuetype *node)
os->gen_ifdef_macro (node->flat_name (), "traits");
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "struct " << be_global->stub_export_macro () << " Value_Traits<"
<< node->name () << ">" << be_nl
<< "{" << be_idt_nl
@@ -387,7 +387,7 @@ be_visitor_traits::visit_array (be_array *node)
TAO_OutStream *os = this->ctx_->stream ();
*os << be_nl << be_nl
- << "ACE_TEMPLATE_SPECIALIZATION" << be_nl
+ << "template<>" << be_nl
<< "struct " << be_global->stub_export_macro () << " Array_Traits<"
<< be_idt << be_idt_nl
<< name << "," << be_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
index 7d20399e061..3feafa171ed 100644
--- a/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
@@ -68,7 +68,7 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node)
if (node->is_defined ())
{
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< "void" << be_nl
<< "TAO::Value_Traits<" << node->name () << ">::add_ref ("
<< be_idt << be_idt_nl
@@ -79,7 +79,7 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< "void" << be_nl
<< "TAO::Value_Traits<" << node->name () << ">::remove_ref ("
<< be_idt << be_idt_nl
@@ -90,7 +90,7 @@ be_visitor_valuetype_cs::visit_valuetype (be_valuetype *node)
<< "}";
*os << be_nl << be_nl
- << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
+// << "ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION " << be_nl
<< "void" << be_nl
<< "TAO::Value_Traits<" << node->name () << ">::release ("
<< be_idt << be_idt_nl
diff --git a/TAO/tao/Any_Arg_Traits.h b/TAO/tao/Any_Arg_Traits.h
index cb17d0caa7b..5cbf50e0558 100644
--- a/TAO/tao/Any_Arg_Traits.h
+++ b/TAO/tao/Any_Arg_Traits.h
@@ -16,13 +16,14 @@
#include /**/ "ace/pre.h"
+#include "tao/TAO_Export.h"
+
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/Arg_Traits_T.h"
#include "tao/Var_Size_Argument_T.h"
-#include "tao/TAO_Export.h"
+#include "tao/Arg_Traits_T.h"
namespace CORBA
{
diff --git a/TAO/tao/Argument_T.h b/TAO/tao/Argument_T.h
deleted file mode 100644
index 27c1a66fbd9..00000000000
--- a/TAO/tao/Argument_T.h
+++ /dev/null
@@ -1,111 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Argument_T.h
- *
- * $Id$
- *
- * @author Ossama Othman
- */
-//=============================================================================
-
-
-#ifndef TAO_ARGUMENT_T_H
-#define TAO_ARGUMENT_T_H
-
-#include /**/ "ace/pre.h"
-
-#include "tao/Argument.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-
-namespace TAO
-{
- /**
- * @class Const_Argument_T
- *
- * @brief Type-specific base class subclassed by stub and skeleton
- * and argument class templates that have a @c const @c
- * arg() method.
- *
- * The purpose of this class is to make it possible to
- * polymorphically retrieve an argument from either stub or skeleton
- * argument class template. Both the corresponding stub and
- * skeleton argument class templates must of course have the same
- * template parameter type in order for the polymorphism to work.
- * Use of polymorphism in this manner allows us to avoid having to
- * convert between client and server side arguments, which can be
- * tedious, and ultimately allows the server side thru-POA
- * collocated and uncollocated code paths to share the same single
- * set of skeleton code.
- *
- * This abstract base class requires that subclasses define @c const
- * @c arg() method for the sake of const-correctness. The template
- * parameter @c T corresponds to the type of argument passed to an
- * IDL-defined operation according to the C++ mapping. For example,
- * given the following IDL:
- *
- * @code
- * typedef sequence<short> ShortSeq;
- *
- * interface Foo {
- * void op (in ShortSeq s);
- * };
- * @endcode
- *
- * the @c Const_Argument_T template parameter @c T would be:
- *
- * @code
- * ShortSeq const &
- * @endcode
- *
- * since that would be parameter type for the corresponding C++
- * @c Foo::op() function.
- *
- * @note This class template is generally only suitable for IDL "@c in"
- * parameters since they are read-only.
- *
- * @see Mutable_Argument_T
- */
- template <typename T>
- class Const_Argument_T : public Argument
- {
- public:
-
- virtual T arg (void) const = 0;
-
- };
-
- /**
- * @class Mutable_Argument_T
- *
- * @brief Type-specific base class subclassed by stub and skeleton
- * and argument class templates that have a non- @c const @c
- * arg() method.
- *
- * This class template serves the same purpose as the
- * @c Const_Argument_T class template except that it is suitable for
- * argument subclasses corresponding to mutable parameters (e.g. IDL
- * "@c inout", "@c out" and return values. It is not meant for use
- * with IDL "@c in" parameters.
- *
- * @see Const_Argument_T
- */
- template <typename T>
- class Mutable_Argument_T : public Argument
- {
- public:
-
- virtual T arg (void) = 0;
-
- };
-
-}
-
-#include /**/ "ace/post.h"
-
-#endif /* TAO_ARGUMENT_T_H */
diff --git a/TAO/tao/BD_String_Argument_T.h b/TAO/tao/BD_String_Argument_T.h
index 6c8265c6694..e76d4851a35 100644
--- a/TAO/tao/BD_String_Argument_T.h
+++ b/TAO/tao/BD_String_Argument_T.h
@@ -33,7 +33,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S, size_t BOUND>
- class In_BD_String_Argument_T : public Const_Argument_T<S const *>
+ class In_BD_String_Argument_T : public Argument
{
public:
In_BD_String_Argument_T (const S * x);
@@ -44,7 +44,7 @@ namespace TAO
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const * arg (void) const;
+ S const * arg (void) const;
private:
@@ -59,7 +59,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S, size_t BOUND>
- class Inout_BD_String_Argument_T : public Mutable_Argument_T<S *&>
+ class Inout_BD_String_Argument_T : public Argument
{
public:
Inout_BD_String_Argument_T (S *& x);
@@ -69,10 +69,10 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
- mutable S *& x_;
+ S *& x_;
};
/**
@@ -86,7 +86,7 @@ namespace TAO
typename to_S,
typename from_S,
size_t BOUND>
- class Out_BD_String_Argument_T : public Mutable_Argument_T<S *&>
+ class Out_BD_String_Argument_T : public Argument
{
public:
Out_BD_String_Argument_T (S_out x);
@@ -95,7 +95,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S *& x_;
@@ -112,7 +112,7 @@ namespace TAO
typename to_S,
typename from_S,
size_t BOUND>
- class Ret_BD_String_Argument_T : public Mutable_Argument_T<S *&>
+ class Ret_BD_String_Argument_T : public Argument
{
public:
Ret_BD_String_Argument_T (void);
@@ -121,7 +121,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
S * excp (void);
S * retn (void);
diff --git a/TAO/tao/Basic_Argument_T.h b/TAO/tao/Basic_Argument_T.h
index ad03c589294..a53abcf7850 100644
--- a/TAO/tao/Basic_Argument_T.h
+++ b/TAO/tao/Basic_Argument_T.h
@@ -31,7 +31,7 @@ namespace TAO
*
*/
template<typename S>
- class In_Basic_Argument_T : public Const_Argument_T<S>
+ class In_Basic_Argument_T : public Argument
{
public:
In_Basic_Argument_T (S const & x);
@@ -40,7 +40,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S arg (void) const;
+ S arg (void) const;
private:
S const & x_;
@@ -53,7 +53,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_Basic_Argument_T : public Mutable_Argument_T<S &>
+ class Inout_Basic_Argument_T : public Argument
{
public:
Inout_Basic_Argument_T (S & x);
@@ -63,7 +63,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S & x_;
@@ -76,7 +76,7 @@ namespace TAO
*
*/
template<typename S>
- class Out_Basic_Argument_T : public Mutable_Argument_T<S &>
+ class Out_Basic_Argument_T : public Argument
{
public:
Out_Basic_Argument_T (S & x);
@@ -85,7 +85,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
mutable S & x_;
@@ -98,7 +98,7 @@ namespace TAO
*
*/
template<typename S>
- class Ret_Basic_Argument_T : public Mutable_Argument_T<S &>
+ class Ret_Basic_Argument_T : public Argument
{
public:
Ret_Basic_Argument_T (void);
@@ -107,7 +107,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
S excp (void);
S retn (void);
diff --git a/TAO/tao/Fixed_Array_Argument_T.h b/TAO/tao/Fixed_Array_Argument_T.h
index 1797fa10c96..11400d9b0c8 100644
--- a/TAO/tao/Fixed_Array_Argument_T.h
+++ b/TAO/tao/Fixed_Array_Argument_T.h
@@ -30,7 +30,7 @@ namespace TAO
*
*/
template<typename S, typename S_slice, typename S_forany>
- class In_Fixed_Array_Argument_T : public Const_Argument_T<S_slice const *>
+ class In_Fixed_Array_Argument_T : public Argument
{
public:
In_Fixed_Array_Argument_T (const S_slice * x);
@@ -39,7 +39,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice const * arg (void) const;
+ S_slice const * arg (void) const;
private:
S_forany x_;
@@ -52,7 +52,7 @@ namespace TAO
*
*/
template<typename S, typename S_slice, typename S_forany>
- class Inout_Fixed_Array_Argument_T : public Mutable_Argument_T<S_slice *>
+ class Inout_Fixed_Array_Argument_T : public Argument
{
public:
Inout_Fixed_Array_Argument_T (S_slice *&x);
@@ -62,7 +62,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice * arg (void);
+ S_slice * arg (void);
private:
S_forany x_;
@@ -75,7 +75,7 @@ namespace TAO
*
*/
template<typename S, typename S_slice, typename S_forany>
- class Out_Fixed_Array_Argument_T : public Mutable_Argument_T<S_slice *&>
+ class Out_Fixed_Array_Argument_T : public Argument
{
public:
Out_Fixed_Array_Argument_T (S_slice *& x);
@@ -84,7 +84,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
private:
S_forany x_;
@@ -101,7 +101,7 @@ namespace TAO
typename S_var,
typename S_forany,
typename S_tag>
- class Ret_Fixed_Array_Argument_T : public Mutable_Argument_T<S_slice *&>
+ class Ret_Fixed_Array_Argument_T : public Argument
{
public:
Ret_Fixed_Array_Argument_T (void);
@@ -110,7 +110,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
S_slice * excp (void);
S_slice * retn (void);
diff --git a/TAO/tao/Fixed_Size_Argument_T.h b/TAO/tao/Fixed_Size_Argument_T.h
index fb0db9eb3d1..0843b934c44 100644
--- a/TAO/tao/Fixed_Size_Argument_T.h
+++ b/TAO/tao/Fixed_Size_Argument_T.h
@@ -30,7 +30,7 @@ namespace TAO
*
*/
template<typename S>
- class In_Fixed_Size_Argument_T : public Const_Argument_T<S const &>
+ class In_Fixed_Size_Argument_T : public Argument
{
public:
In_Fixed_Size_Argument_T (S const & x);
@@ -39,7 +39,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S const & arg (void) const;
private:
S const * x_;
@@ -52,7 +52,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_Fixed_Size_Argument_T : public Mutable_Argument_T<S &>
+ class Inout_Fixed_Size_Argument_T : public Argument
{
public:
Inout_Fixed_Size_Argument_T (S & x);
@@ -62,7 +62,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S * x_;
@@ -75,7 +75,7 @@ namespace TAO
*
*/
template<typename S>
- class Out_Fixed_Size_Argument_T : public Mutable_Argument_T<S &>
+ class Out_Fixed_Size_Argument_T : public Argument
{
public:
Out_Fixed_Size_Argument_T (S & x);
@@ -84,7 +84,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
@@ -98,7 +98,7 @@ namespace TAO
*
*/
template<typename S>
- class Ret_Fixed_Size_Argument_T : public Mutable_Argument_T<S &>
+ class Ret_Fixed_Size_Argument_T : public Argument
{
public:
Ret_Fixed_Size_Argument_T (void);
@@ -107,7 +107,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
S excp (void);
S retn (void);
diff --git a/TAO/tao/Object_Argument_T.h b/TAO/tao/Object_Argument_T.h
index 15d63cafa4d..65178344bba 100644
--- a/TAO/tao/Object_Argument_T.h
+++ b/TAO/tao/Object_Argument_T.h
@@ -36,7 +36,7 @@ namespace TAO
*
*/
template<typename S_ptr>
- class In_Object_Argument_T : public Const_Argument_T<S_ptr>
+ class In_Object_Argument_T : public Argument
{
public:
In_Object_Argument_T (S_ptr x);
@@ -45,7 +45,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_ptr arg (void) const;
+ S_ptr arg (void) const;
private:
S_ptr x_;
@@ -58,7 +58,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_traits>
- class Inout_Object_Argument_T : public Mutable_Argument_T<S_ptr &>
+ class Inout_Object_Argument_T : public Argument
{
public:
Inout_Object_Argument_T (S_ptr & x);
@@ -68,7 +68,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_ptr & arg (void);
+ S_ptr & arg (void);
private:
S_ptr & x_;
@@ -81,7 +81,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_out>
- class Out_Object_Argument_T : public Mutable_Argument_T<S_out>
+ class Out_Object_Argument_T : public Argument
{
public:
Out_Object_Argument_T (S_out & x);
@@ -90,7 +90,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_out arg (void);
+ S_out arg (void);
private:
S_ptr & x_;
@@ -103,7 +103,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_var>
- class Ret_Object_Argument_T : public Mutable_Argument_T<S_ptr &>
+ class Ret_Object_Argument_T : public Argument
{
public:
@@ -113,7 +113,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_ptr & arg (void);
+ S_ptr & arg (void);
S_ptr excp (void);
S_ptr retn (void);
diff --git a/TAO/tao/PortableServer/Any_SArg_Traits.h b/TAO/tao/PortableServer/Any_SArg_Traits.h
index d73a10d85bb..393bb958210 100644
--- a/TAO/tao/PortableServer/Any_SArg_Traits.h
+++ b/TAO/tao/PortableServer/Any_SArg_Traits.h
@@ -12,8 +12,8 @@
//=============================================================================
-#ifndef TAO_ANY_ARG_TRAITS_H
-#define TAO_ANY_ARG_TRAITS_H
+#ifndef TAO_ANY_SARG_TRAITS_H
+#define TAO_ANY_SARG_TRAITS_H
#include /**/ "ace/pre.h"
@@ -24,8 +24,6 @@
#include "tao/PortableServer/Var_Size_SArgument_T.h"
#include "tao/PortableServer/portableserver_export.h"
-#include "tao/Arg_Traits_T.h"
-
namespace CORBA
{
class Any;
diff --git a/TAO/tao/PortableServer/BD_String_SArgument_T.cpp b/TAO/tao/PortableServer/BD_String_SArgument_T.cpp
index a5d0e07bd7f..37ae58694da 100644
--- a/TAO/tao/PortableServer/BD_String_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/BD_String_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_BD_STRING_SARGUMENT_T_C
-#define TAO_BD_STRING_SARGUMENT_T_C
+#ifndef TAO_BD_STRING_SARGUMENT_T_CPP
+#define TAO_BD_STRING_SARGUMENT_T_CPP
#include "tao/PortableServer/BD_String_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,9 +10,6 @@
#include "tao/BD_String_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- BD_String_SArgument_T,
- "$Id$")
template<typename S,
typename S_var,
@@ -155,4 +152,4 @@ interceptor_result (CORBA::Any * any)
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_BD_STRING_SARGUMENT_T_C */
+#endif /* TAO_BD_STRING_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/BD_String_SArgument_T.h b/TAO/tao/PortableServer/BD_String_SArgument_T.h
index 8b8fdf8d33f..ee3e8434d4b 100644
--- a/TAO/tao/PortableServer/BD_String_SArgument_T.h
+++ b/TAO/tao/PortableServer/BD_String_SArgument_T.h
@@ -173,10 +173,12 @@ namespace TAO
from_T,
BOUND> ret_val;
- typedef Const_Argument_T<in_type> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<inout_type> out_arg_base;
- typedef Mutable_Argument_T<inout_type> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef in_type in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef inout_type out_arg_type;
+ typedef inout_type ret_arg_type;
};
diff --git a/TAO/tao/PortableServer/Basic_SArgument_T.cpp b/TAO/tao/PortableServer/Basic_SArgument_T.cpp
index 1b3dc22fa06..79301cfb9aa 100644
--- a/TAO/tao/PortableServer/Basic_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/Basic_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_BASIC_SARGUMENT_T_C
-#define TAO_BASIC_SARGUMENT_T_C
+#ifndef TAO_BASIC_SARGUMENT_T_CPP
+#define TAO_BASIC_SARGUMENT_T_CPP
#include "tao/PortableServer/Basic_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,9 +10,6 @@
#include "tao/PortableServer/Basic_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- Basic_SArgument_T,
- "$Id$")
template<typename S>
CORBA::Boolean
@@ -102,4 +99,4 @@ TAO::Ret_Basic_SArgument_T<S>::interceptor_result (CORBA::Any * any)
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_BASIC_SARGUMENT_T_C */
+#endif /* TAO_BASIC_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/Basic_SArgument_T.h b/TAO/tao/PortableServer/Basic_SArgument_T.h
index c10f61ec8ee..9353fda1fb7 100644
--- a/TAO/tao/PortableServer/Basic_SArgument_T.h
+++ b/TAO/tao/PortableServer/Basic_SArgument_T.h
@@ -31,7 +31,7 @@ namespace TAO
*
*/
template<typename S>
- class In_Basic_SArgument_T : public Const_Argument_T<S>
+ class In_Basic_SArgument_T : public Argument
{
public:
In_Basic_SArgument_T (void);
@@ -40,7 +40,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S arg (void) const;
+ S arg (void) const;
private:
S x_;
@@ -53,7 +53,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_Basic_SArgument_T : public Mutable_Argument_T<S &>
+ class Inout_Basic_SArgument_T : public Argument
{
public:
Inout_Basic_SArgument_T (void);
@@ -63,7 +63,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S x_;
@@ -76,7 +76,7 @@ namespace TAO
*
*/
template<typename S>
- class Out_Basic_SArgument_T : public Mutable_Argument_T<S &>
+ class Out_Basic_SArgument_T : public Argument
{
public:
Out_Basic_SArgument_T (void);
@@ -85,7 +85,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S x_;
@@ -98,7 +98,7 @@ namespace TAO
*
*/
template<typename S>
- class Ret_Basic_SArgument_T : public Mutable_Argument_T<S &>
+ class Ret_Basic_SArgument_T : public Argument
{
public:
Ret_Basic_SArgument_T (void);
@@ -107,7 +107,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S x_;
@@ -132,10 +132,12 @@ namespace TAO
typedef Out_Basic_SArgument_T<T> out_arg_val;
typedef Ret_Basic_SArgument_T<T> ret_val;
- typedef Const_Argument_T<in_type> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<out_type> out_arg_base;
- typedef Mutable_Argument_T<out_type> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef in_type in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef out_type out_arg_type;
+ typedef out_type ret_arg_type;
};
};
diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp
index 04b28148cb2..424e0a8f5b4 100644
--- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_FIXED_ARRAY_SARGUMENT_T_C
-#define TAO_FIXED_ARRAY_SARGUMENT_T_C
+#ifndef TAO_FIXED_ARRAY_SARGUMENT_T_CPP
+#define TAO_FIXED_ARRAY_SARGUMENT_T_CPP
#include "tao/PortableServer/Fixed_Array_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,13 +10,12 @@
#include "tao/PortableServer/Fixed_Array_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- Fixed_Array_SArgument_T,
- "$Id$")
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::In_Fixed_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR &cdr)
+TAO::In_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::demarshal (TAO_InputCDR &cdr)
{
S_forany tmp (this->x_);
return cdr >> tmp;
@@ -24,9 +23,11 @@ TAO::In_Fixed_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR &cdr)
#if TAO_HAS_INTERCEPTORS == 1
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
void
-TAO::In_Fixed_Array_SArgument_T<S,S_forany>::interceptor_param (
+TAO::In_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::interceptor_param (
Dynamic::Parameter & p
)
{
@@ -38,16 +39,20 @@ TAO::In_Fixed_Array_SArgument_T<S,S_forany>::interceptor_param (
// ===========================================================
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::marshal (TAO_OutputCDR & cdr)
+TAO::Inout_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::marshal (TAO_OutputCDR & cdr)
{
return cdr << S_forany (this->x_);
}
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR & cdr)
+TAO::Inout_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::demarshal (TAO_InputCDR & cdr)
{
S_forany tmp (this->x_);
return cdr >> tmp;
@@ -55,9 +60,11 @@ TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR & cdr)
#if TAO_HAS_INTERCEPTORS == 1
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
void
-TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::interceptor_param (
+TAO::Inout_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::interceptor_param (
Dynamic::Parameter & p
)
{
@@ -69,20 +76,23 @@ TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::interceptor_param (
// ==============================================================
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::Out_Fixed_Array_SArgument_T<S,S_forany>::marshal (TAO_OutputCDR &cdr)
+TAO::Out_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::marshal (TAO_OutputCDR &cdr)
{
return cdr << S_forany (this->x_);
}
#if TAO_HAS_INTERCEPTORS == 1
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
void
-TAO::Out_Fixed_Array_SArgument_T<S,S_forany>::interceptor_param (
- Dynamic::Parameter & p
- )
+TAO::Out_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::interceptor_param (
+ Dynamic::Parameter & p)
{
p.argument <<= S_forany (this->x_);
p.mode = CORBA::PARAM_OUT;
@@ -114,4 +124,4 @@ TAO::Ret_Fixed_Array_SArgument_T<S_slice,S_var,S_forany>::interceptor_result (
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_FIXED_ARRAY_SARGUMENT_T_C */
+#endif /* TAO_FIXED_ARRAY_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h
index 1097f1639ba..cfc47f4ca71 100644
--- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h
+++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.h
@@ -30,8 +30,8 @@ namespace TAO
* @brief IN skeleton argument of fixed size element array.
*
*/
- template<typename S, typename S_forany>
- class In_Fixed_Array_SArgument_T : public Const_Argument_T<S const &>
+ template<typename S, typename S_slice, typename S_forany>
+ class In_Fixed_Array_SArgument_T : public Argument
{
public:
In_Fixed_Array_SArgument_T (void);
@@ -40,10 +40,10 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S_slice const * arg (void) const;
private:
- S x_;
+ S_forany x_;
};
/**
@@ -52,8 +52,8 @@ namespace TAO
* @brief INOUT skeleton argument of fixed size element array.
*
*/
- template<typename S, typename S_forany>
- class Inout_Fixed_Array_SArgument_T : public Mutable_Argument_T<S &>
+ template<typename S, typename S_slice, typename S_forany>
+ class Inout_Fixed_Array_SArgument_T : public Argument
{
public:
Inout_Fixed_Array_SArgument_T (void);
@@ -63,10 +63,10 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S_slice * arg (void);
private:
- S x_;
+ S_forany x_;
};
/**
@@ -75,8 +75,8 @@ namespace TAO
* @brief OUT skeleton argument of fixed size element array.
*
*/
- template<typename S, typename S_forany>
- class Out_Fixed_Array_SArgument_T : public Mutable_Argument_T<S &>
+ template<typename S, typename S_slice, typename S_forany>
+ class Out_Fixed_Array_SArgument_T : public Argument
{
public:
Out_Fixed_Array_SArgument_T (void);
@@ -85,10 +85,10 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S_slice *& arg (void);
private:
- S x_;
+ S_forany x_;
};
/**
@@ -98,7 +98,7 @@ namespace TAO
*
*/
template<typename S_slice, typename S_var, typename S_forany>
- class Ret_Fixed_Array_SArgument_T : public Mutable_Argument_T<S_slice *&>
+ class Ret_Fixed_Array_SArgument_T : public Argument
{
public:
Ret_Fixed_Array_SArgument_T (void);
@@ -107,7 +107,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
private:
S_var x_;
@@ -130,17 +130,25 @@ namespace TAO
typedef T inout_type;
typedef T out_type;
- typedef In_Fixed_Array_SArgument_T<T,T_forany> in_arg_val;
- typedef Inout_Fixed_Array_SArgument_T<T,T_forany> inout_arg_val;
- typedef Out_Fixed_Array_SArgument_T<T,T_forany> out_arg_val;
+ typedef In_Fixed_Array_SArgument_T<T,
+ T_slice,
+ T_forany> in_arg_val;
+ typedef Inout_Fixed_Array_SArgument_T<T,
+ T_slice,
+ T_forany> inout_arg_val;
+ typedef Out_Fixed_Array_SArgument_T<T,
+ T_slice,
+ T_forany> out_arg_val;
typedef Ret_Fixed_Array_SArgument_T<T_slice,
T_var,
T_forany> ret_val;
- typedef Const_Argument_T<T_slice const *> in_arg_base;
- typedef Mutable_Argument_T<ret_type> inout_arg_base;
- typedef Mutable_Argument_T<ret_type &> out_arg_base;
- typedef Mutable_Argument_T<ret_type &> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef T_slice const * in_arg_type;
+ typedef ret_type inout_arg_type;
+ typedef ret_type & out_arg_type;
+ typedef ret_type & ret_arg_type;
};
};
diff --git a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl
index 4595eecce77..95349e884b7 100644
--- a/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl
+++ b/TAO/tao/PortableServer/Fixed_Array_SArgument_T.inl
@@ -1,49 +1,59 @@
+// -*- C++ -*-
+//
// $Id$
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-TAO::In_Fixed_Array_SArgument_T<S,S_forany>::In_Fixed_Array_SArgument_T (void)
+TAO::In_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::In_Fixed_Array_SArgument_T (void)
{}
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-const S &
-TAO::In_Fixed_Array_SArgument_T<S,S_forany>::arg (void) const
+S_slice const *
+TAO::In_Fixed_Array_SArgument_T<S, S_slice, S_forany>::arg (void) const
{
- return this->x_;
+ return this->x_.in ();
}
// ===========================================================================
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::
+TAO::Inout_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::
Inout_Fixed_Array_SArgument_T (void)
{}
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-S &
-TAO::Inout_Fixed_Array_SArgument_T<S,S_forany>::arg (void)
+S_slice *
+TAO::Inout_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::arg (void)
{
- return this->x_;
+ return this->x_.inout ();
}
// ===========================================================================
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-TAO::Out_Fixed_Array_SArgument_T<S,S_forany>::Out_Fixed_Array_SArgument_T (
- void
- )
+TAO::Out_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::Out_Fixed_Array_SArgument_T (void)
{}
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-S &
-TAO::Out_Fixed_Array_SArgument_T<S,S_forany>::arg (void)
+S_slice *&
+TAO::Out_Fixed_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::arg (void)
{
- return this->x_;
+ return this->x_.out ();
}
// ===========================================================================
diff --git a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h
index a70b595df7a..befd5b779ae 100644
--- a/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h
+++ b/TAO/tao/PortableServer/Fixed_Size_SArgument_T.h
@@ -36,7 +36,7 @@ namespace TAO
* size IDL types.
*/
template<typename S>
- class In_Fixed_Size_SArgument_T : public Const_Argument_T<S const &>
+ class In_Fixed_Size_SArgument_T : public Argument
{
public:
@@ -57,7 +57,7 @@ namespace TAO
//@}
/// Retrieve underlying argument.
- virtual S const & arg (void) const;
+ S const & arg (void) const;
private:
@@ -75,7 +75,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_Fixed_Size_SArgument_T : public Mutable_Argument_T<S &>
+ class Inout_Fixed_Size_SArgument_T : public Argument
{
public:
@@ -98,7 +98,7 @@ namespace TAO
#endif /* TAO_HAS_INTERCEPTORS == 1 */
//@}
- virtual S & arg (void);
+ S & arg (void);
private:
@@ -114,7 +114,7 @@ namespace TAO
*
*/
template<typename S>
- class Out_Fixed_Size_SArgument_T : public Mutable_Argument_T<S &>
+ class Out_Fixed_Size_SArgument_T : public Argument
{
public:
@@ -136,7 +136,7 @@ namespace TAO
#endif /* TAO_HAS_INTERCEPTORS == 1 */
//@}
- virtual S & arg (void);
+ S & arg (void);
private:
@@ -153,7 +153,7 @@ namespace TAO
*
*/
template<typename S>
- class Ret_Fixed_Size_SArgument_T : public Mutable_Argument_T<S &>
+ class Ret_Fixed_Size_SArgument_T : public Argument
{
public:
@@ -175,7 +175,7 @@ namespace TAO
#endif /* TAO_HAS_INTERCEPTORS == 1 */
//@}
- virtual S & arg (void);
+ S & arg (void);
private:
@@ -204,10 +204,12 @@ namespace TAO
typedef Out_Fixed_Size_SArgument_T<T> out_arg_val;
typedef Ret_Fixed_Size_SArgument_T<T> ret_val;
- typedef Const_Argument_T<in_type> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<out_type> out_arg_base;
- typedef Mutable_Argument_T<ret_type> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef in_type in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef out_type out_arg_type;
+ typedef ret_type ret_arg_type;
};
diff --git a/TAO/tao/PortableServer/Object_SArgument_T.cpp b/TAO/tao/PortableServer/Object_SArgument_T.cpp
index 0a59e263d77..9a0c2906035 100644
--- a/TAO/tao/PortableServer/Object_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/Object_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_OBJECT_SARGUMENT_T_C
-#define TAO_OBJECT_SARGUMENT_T_C
+#ifndef TAO_OBJECT_SARGUMENT_T_CPP
+#define TAO_OBJECT_SARGUMENT_T_CPP
#include "tao/PortableServer/Object_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,9 +10,6 @@
#include "tao/PortableServer/Object_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- Object_SArgument_T,
- "$Id$")
template<typename S_ptr, typename S_var>
CORBA::Boolean
@@ -110,4 +107,4 @@ TAO::Ret_Object_SArgument_T<S_ptr,S_var>::interceptor_result (
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_OBJECT_SARGUMENT_T_C */
+#endif /* TAO_OBJECT_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/Object_SArgument_T.h b/TAO/tao/PortableServer/Object_SArgument_T.h
index 23d1e920bfd..ffd58104e41 100644
--- a/TAO/tao/PortableServer/Object_SArgument_T.h
+++ b/TAO/tao/PortableServer/Object_SArgument_T.h
@@ -36,7 +36,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_var>
- class In_Object_SArgument_T : public Const_Argument_T<S_ptr>
+ class In_Object_SArgument_T : public Argument
{
public:
@@ -44,7 +44,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_ptr arg (void) const;
+ S_ptr arg (void) const;
private:
S_var x_;
@@ -57,7 +57,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_var>
- class Inout_Object_SArgument_T : public Mutable_Argument_T<S_ptr &>
+ class Inout_Object_SArgument_T : public Argument
{
public:
Inout_Object_SArgument_T (void);
@@ -67,7 +67,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_ptr & arg (void);
+ S_ptr & arg (void);
private:
S_var x_;
@@ -80,7 +80,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_var, typename S_out>
- class Out_Object_SArgument_T : public Mutable_Argument_T<S_out>
+ class Out_Object_SArgument_T : public Argument
{
public:
Out_Object_SArgument_T (void);
@@ -89,7 +89,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_out arg (void);
+ S_out arg (void);
private:
S_var x_;
@@ -102,7 +102,7 @@ namespace TAO
*
*/
template<typename S_ptr, typename S_var>
- class Ret_Object_SArgument_T : public Mutable_Argument_T<S_ptr &>
+ class Ret_Object_SArgument_T : public Argument
{
public:
Ret_Object_SArgument_T (void);
@@ -111,7 +111,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_ptr & arg (void);
+ S_ptr & arg (void);
private:
S_var x_;
@@ -136,10 +136,12 @@ namespace TAO
typedef Out_Object_SArgument_T<T_ptr,T_var,T_out> out_arg_val;
typedef Ret_Object_SArgument_T<T_ptr,T_var> ret_val;
- typedef Const_Argument_T<in_type> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<out_type> out_arg_base;
- typedef Mutable_Argument_T<inout_type> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef in_type in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef out_type out_arg_type;
+ typedef inout_type ret_arg_type;
};
}
diff --git a/TAO/tao/PortableServer/Special_Basic_SArgument_T.cpp b/TAO/tao/PortableServer/Special_Basic_SArgument_T.cpp
index b2e595f4d76..515032f91a2 100644
--- a/TAO/tao/PortableServer/Special_Basic_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/Special_Basic_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_SPECIAL_BASIC_SARGUMENT_T_C
-#define TAO_SPECIAL_BASIC_SARGUMENT_T_C
+#ifndef TAO_SPECIAL_BASIC_SARGUMENT_T_CPP
+#define TAO_SPECIAL_BASIC_SARGUMENT_T_CPP
#include "tao/PortableServer/Special_Basic_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,9 +10,6 @@
#include "tao/PortableServer/Special_Basic_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- Special_Basic_SArgument_T,
- "$Id$")
// ============================================================
@@ -122,4 +119,4 @@ TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::interceptor_result (
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_SPECIAL_BASIC_SARGUMENT_T_C */
+#endif /* TAO_SPECIAL_BASIC_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/Special_Basic_SArgument_T.h b/TAO/tao/PortableServer/Special_Basic_SArgument_T.h
index fb3916fa1da..c9759cee60f 100644
--- a/TAO/tao/PortableServer/Special_Basic_SArgument_T.h
+++ b/TAO/tao/PortableServer/Special_Basic_SArgument_T.h
@@ -31,7 +31,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class In_Special_Basic_SArgument_T : public Const_Argument_T<S const &>
+ class In_Special_Basic_SArgument_T : public Argument
{
public:
In_Special_Basic_SArgument_T (void);
@@ -40,7 +40,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S const & arg (void) const;
private:
S x_;
@@ -53,7 +53,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class Inout_Special_Basic_SArgument_T : public Mutable_Argument_T<S &>
+ class Inout_Special_Basic_SArgument_T : public Argument
{
public:
Inout_Special_Basic_SArgument_T (void);
@@ -63,7 +63,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S x_;
@@ -76,7 +76,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class Out_Special_Basic_SArgument_T : public Mutable_Argument_T<S &>
+ class Out_Special_Basic_SArgument_T : public Argument
{
public:
Out_Special_Basic_SArgument_T (void);
@@ -85,7 +85,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S x_;
@@ -98,7 +98,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class Ret_Special_Basic_SArgument_T : public Mutable_Argument_T<S &>
+ class Ret_Special_Basic_SArgument_T : public Argument
{
public:
Ret_Special_Basic_SArgument_T (void);
@@ -107,7 +107,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S x_;
@@ -133,10 +133,12 @@ namespace TAO
typedef Out_Special_Basic_SArgument_T<T,to_T,from_T> out_arg_val;
typedef Ret_Special_Basic_SArgument_T<T,to_T,from_T> ret_val;
- typedef Const_Argument_T<T const &> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<out_type> out_arg_base;
- typedef Mutable_Argument_T<out_type> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef T const & in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef out_type out_arg_type;
+ typedef out_type ret_arg_type;
};
};
diff --git a/TAO/tao/PortableServer/UB_String_SArgument_T.cpp b/TAO/tao/PortableServer/UB_String_SArgument_T.cpp
index b53eb6e62fb..d73fa550b34 100644
--- a/TAO/tao/PortableServer/UB_String_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/UB_String_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_UB_STRING_SARGUMENT_T_C
-#define TAO_UB_STRING_SARGUMENT_T_C
+#ifndef TAO_UB_STRING_SARGUMENT_T_CPP
+#define TAO_UB_STRING_SARGUMENT_T_CPP
#include "tao/PortableServer/UB_String_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,9 +10,6 @@
#include "tao/PortableServer/UB_String_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- UB_String_SArgument_T,
- "$Id$")
template<typename S, typename S_var>
CORBA::Boolean
@@ -108,4 +105,4 @@ TAO::Ret_UB_String_SArgument_T<S,S_var>::interceptor_result (CORBA::Any * any)
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_UB_STRING_SARGUMENT_T_C */
+#endif /* TAO_UB_STRING_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/UB_String_SArgument_T.h b/TAO/tao/PortableServer/UB_String_SArgument_T.h
index 3d4baf07599..a9b4e405e1a 100644
--- a/TAO/tao/PortableServer/UB_String_SArgument_T.h
+++ b/TAO/tao/PortableServer/UB_String_SArgument_T.h
@@ -30,7 +30,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class In_UB_String_SArgument_T : public Const_Argument_T<S const *>
+ class In_UB_String_SArgument_T : public Argument
{
public:
In_UB_String_SArgument_T (void);
@@ -39,7 +39,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const * arg (void) const;
+ S const * arg (void) const;
private:
S_var x_;
@@ -52,7 +52,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Inout_UB_String_SArgument_T : public Mutable_Argument_T<S *&>
+ class Inout_UB_String_SArgument_T : public Argument
{
public:
Inout_UB_String_SArgument_T (void);
@@ -62,7 +62,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S_var x_;
@@ -75,7 +75,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Out_UB_String_SArgument_T : public Mutable_Argument_T<S *&>
+ class Out_UB_String_SArgument_T : public Argument
{
public:
Out_UB_String_SArgument_T (void);
@@ -84,7 +84,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S_var x_;
@@ -97,7 +97,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Ret_UB_String_SArgument_T : public Mutable_Argument_T<S *&>
+ class Ret_UB_String_SArgument_T : public Argument
{
public:
Ret_UB_String_SArgument_T (void);
@@ -106,7 +106,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S_var x_;
@@ -131,10 +131,12 @@ namespace TAO
typedef Out_UB_String_SArgument_T<T,T_var> out_arg_val;
typedef Ret_UB_String_SArgument_T<T,T_var> ret_val;
- typedef Const_Argument_T<in_type> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<inout_type> out_arg_base;
- typedef Mutable_Argument_T<inout_type> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef in_type in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef inout_type out_arg_type;
+ typedef inout_type ret_arg_type;
};
};
diff --git a/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp b/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp
index 9966380ca6f..3bf33ee7e48 100644
--- a/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/Var_Array_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_VAR_ARRAY_SARGUMENT_T_C
-#define TAO_VAR_ARRAY_SARGUMENT_T_C
+#ifndef TAO_VAR_ARRAY_SARGUMENT_T_CPP
+#define TAO_VAR_ARRAY_SARGUMENT_T_CPP
#include "tao/PortableServer/Var_Array_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,27 +10,26 @@
#include "tao/PortableServer/Var_Array_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- Var_Array_SArgument_T,
- "$Id$")
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::In_Var_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR &cdr)
+TAO::In_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::demarshal (TAO_InputCDR & cdr)
{
- S_forany tmp (this->x_);
- return cdr >> tmp;
+ return cdr >> this->x_;
}
#if TAO_HAS_INTERCEPTORS == 1
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
void
-TAO::In_Var_Array_SArgument_T<S,S_forany>::interceptor_param (
- Dynamic::Parameter & p
- )
+TAO::In_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::interceptor_param (
+ Dynamic::Parameter & p)
{
- p.argument <<= S_forany (this->x_);
+ p.argument <<= this->x_;
p.mode = CORBA::PARAM_IN;
}
@@ -38,30 +37,32 @@ TAO::In_Var_Array_SArgument_T<S,S_forany>::interceptor_param (
// ===========================================================
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::Inout_Var_Array_SArgument_T<S,S_forany>::marshal (TAO_OutputCDR & cdr)
+TAO::Inout_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::marshal (TAO_OutputCDR & cdr)
{
- return cdr << S_forany (this->x_);
+ return cdr << this->x_;
}
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
CORBA::Boolean
-TAO::Inout_Var_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR & cdr)
+TAO::Inout_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::demarshal (TAO_InputCDR & cdr)
{
- S_forany tmp (this->x_);
- return cdr >> tmp;
+ return cdr >> this->x_;
}
#if TAO_HAS_INTERCEPTORS == 1
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
void
-TAO::Inout_Var_Array_SArgument_T<S,S_forany>::interceptor_param (
- Dynamic::Parameter & p
- )
+TAO::Inout_Var_Array_SArgument_T<S, S_slice, S_forany>::interceptor_param (
+ Dynamic::Parameter & p)
{
- p.argument <<= S_forany (this->x_);
+ p.argument <<= this->x_;
p.mode = CORBA::PARAM_INOUT;
}
@@ -75,7 +76,7 @@ TAO::Out_Var_Array_SArgument_T<S_slice,S_var,S_forany>::marshal (
TAO_OutputCDR & cdr
)
{
- return cdr << S_forany (this->x_.ptr ());
+ return cdr << this->x_.ptr ();
}
#if TAO_HAS_INTERCEPTORS == 1
@@ -116,4 +117,4 @@ TAO::Ret_Var_Array_SArgument_T<S_slice,S_var,S_forany>::interceptor_result (
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_VAR_ARRAY_SARGUMENT_T_C */
+#endif /* TAO_VAR_ARRAY_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/Var_Array_SArgument_T.h b/TAO/tao/PortableServer/Var_Array_SArgument_T.h
index 7c560c08d59..e203c4b1c0a 100644
--- a/TAO/tao/PortableServer/Var_Array_SArgument_T.h
+++ b/TAO/tao/PortableServer/Var_Array_SArgument_T.h
@@ -29,20 +29,21 @@ namespace TAO
* @brief IN skeleton argument of variable size element array.
*
*/
- template<typename S, typename S_forany>
- class In_Var_Array_SArgument_T : public Const_Argument_T<S const &>
+ template<typename S, typename S_slice, typename S_forany>
+ class In_Var_Array_SArgument_T : public Argument
{
public:
+
In_Var_Array_SArgument_T (void);
virtual CORBA::Boolean demarshal (TAO_InputCDR &);
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S_slice const * arg (void) const;
private:
- S x_;
+ S_forany x_;
};
/**
@@ -51,8 +52,8 @@ namespace TAO
* @brief INOUT skeleton argument of variable size element array.
*
*/
- template<typename S, typename S_forany>
- class Inout_Var_Array_SArgument_T : public Mutable_Argument_T<S &>
+ template<typename S, typename S_slice, typename S_forany>
+ class Inout_Var_Array_SArgument_T : public Argument
{
public:
Inout_Var_Array_SArgument_T (void);
@@ -62,10 +63,10 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S_slice * arg (void);
private:
- S x_;
+ S_forany x_;
};
/**
@@ -75,7 +76,7 @@ namespace TAO
*
*/
template<typename S_slice, typename S_var, typename S_forany>
- class Out_Var_Array_SArgument_T : public Mutable_Argument_T<S_slice *&>
+ class Out_Var_Array_SArgument_T : public Argument
{
public:
Out_Var_Array_SArgument_T (void);
@@ -84,7 +85,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
private:
S_var x_;
@@ -97,7 +98,7 @@ namespace TAO
*
*/
template<typename S_slice, typename S_var, typename S_forany>
- class Ret_Var_Array_SArgument_T : public Mutable_Argument_T<S_slice *&>
+ class Ret_Var_Array_SArgument_T : public Argument
{
public:
Ret_Var_Array_SArgument_T (void);
@@ -106,7 +107,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
private:
S_var x_;
@@ -130,8 +131,12 @@ namespace TAO
typedef T inout_type;
typedef T_out out_type;
- typedef In_Var_Array_SArgument_T<T,T_forany> in_arg_val;
- typedef Inout_Var_Array_SArgument_T<T,T_forany> inout_arg_val;
+ typedef In_Var_Array_SArgument_T<T,
+ T_slice,
+ T_forany> in_arg_val;
+ typedef Inout_Var_Array_SArgument_T<T,
+ T_slice,
+ T_forany> inout_arg_val;
typedef Out_Var_Array_SArgument_T<T_slice,
T_var,
T_forany> out_arg_val;
@@ -139,10 +144,12 @@ namespace TAO
T_var,
T_forany> ret_val;
- typedef Const_Argument_T<T_slice const *> in_arg_base;
- typedef Mutable_Argument_T<ret_type> inout_arg_base;
- typedef Mutable_Argument_T<ret_type &> out_arg_base;
- typedef Mutable_Argument_T<ret_type &> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef T_slice const * in_arg_type;
+ typedef ret_type inout_arg_type;
+ typedef ret_type & out_arg_type;
+ typedef ret_type & ret_arg_type;
};
};
diff --git a/TAO/tao/PortableServer/Var_Array_SArgument_T.inl b/TAO/tao/PortableServer/Var_Array_SArgument_T.inl
index 74909b17512..58bf2c6dbb9 100644
--- a/TAO/tao/PortableServer/Var_Array_SArgument_T.inl
+++ b/TAO/tao/PortableServer/Var_Array_SArgument_T.inl
@@ -1,32 +1,41 @@
+// -*- C++ -*-
+//
// $Id$
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-TAO::In_Var_Array_SArgument_T<S,S_forany>::In_Var_Array_SArgument_T (void)
+TAO::In_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::In_Var_Array_SArgument_T (void)
{}
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-const S &
-TAO::In_Var_Array_SArgument_T<S,S_forany>::arg (void) const
+S_slice const *
+TAO::In_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::arg (void) const
{
- return this->x_;
+ return this->x_.in ();
}
// ==========================================================================
-template<typename S, typename S_forany>
+template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-TAO::Inout_Var_Array_SArgument_T<S,S_forany>::
-Inout_Var_Array_SArgument_T (void)
+TAO::Inout_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::Inout_Var_Array_SArgument_T (void)
{}
-template<typename S, typename S_forany>
-S &
-TAO::Inout_Var_Array_SArgument_T<S,S_forany>::arg (void)
+template<typename S, typename S_slice, typename S_forany>
+S_slice *
+TAO::Inout_Var_Array_SArgument_T<S,
+ S_slice,
+ S_forany>::arg (void)
{
- return this->x_;
+ return this->x_.inout ();
}
// ==========================================================================
diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp b/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp
index 94e787cdc0a..d2e25bebae1 100644
--- a/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp
+++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.cpp
@@ -1,7 +1,7 @@
// $Id$
-#ifndef TAO_VAR_SIZE_SARGUMENT_T_C
-#define TAO_VAR_SIZE_SARGUMENT_T_C
+#ifndef TAO_VAR_SIZE_SARGUMENT_T_CPP
+#define TAO_VAR_SIZE_SARGUMENT_T_CPP
#include "tao/PortableServer/Var_Size_SArgument_T.h"
#include "tao/Dynamic_ParameterC.h"
@@ -10,9 +10,6 @@
#include "tao/PortableServer/Var_Size_SArgument_T.inl"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (PortableServer,
- Var_Size_SArgument_T,
- "$Id$")
template<typename S>
CORBA::Boolean
@@ -104,4 +101,4 @@ TAO::Ret_Var_Size_SArgument_T<S,S_var>::interceptor_result (CORBA::Any * any)
#endif /* TAO_HAS_INTERCEPTORS */
-#endif /* TAO_VAR_SIZE_SARGUMENT_T_C */
+#endif /* TAO_VAR_SIZE_SARGUMENT_T_CPP */
diff --git a/TAO/tao/PortableServer/Var_Size_SArgument_T.h b/TAO/tao/PortableServer/Var_Size_SArgument_T.h
index 7eb015fb692..709a04730d8 100644
--- a/TAO/tao/PortableServer/Var_Size_SArgument_T.h
+++ b/TAO/tao/PortableServer/Var_Size_SArgument_T.h
@@ -29,7 +29,7 @@ namespace TAO
*
*/
template<typename S>
- class In_Var_Size_SArgument_T : public Const_Argument_T<S const &>
+ class In_Var_Size_SArgument_T : public Argument
{
public:
@@ -37,7 +37,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S const & arg (void) const;
private:
S * x_;
@@ -50,7 +50,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_Var_Size_SArgument_T : public Mutable_Argument_T<S &>
+ class Inout_Var_Size_SArgument_T : public Argument
{
public:
Inout_Var_Size_SArgument_T (void);
@@ -60,7 +60,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S * x_;
@@ -73,7 +73,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Out_Var_Size_SArgument_T : public Mutable_Argument_T<S *&>
+ class Out_Var_Size_SArgument_T : public Argument
{
public:
Out_Var_Size_SArgument_T (void);
@@ -82,7 +82,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S_var x_;
@@ -95,7 +95,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Ret_Var_Size_SArgument_T : public Mutable_Argument_T<S *&>
+ class Ret_Var_Size_SArgument_T : public Argument
{
public:
Ret_Var_Size_SArgument_T (void);
@@ -104,7 +104,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S_var x_;
@@ -130,10 +130,12 @@ namespace TAO
typedef Out_Var_Size_SArgument_T<T,T_var> out_arg_val;
typedef Ret_Var_Size_SArgument_T<T,T_var> ret_val;
- typedef Const_Argument_T<in_type> in_arg_base;
- typedef Mutable_Argument_T<inout_type> inout_arg_base;
- typedef Mutable_Argument_T<ret_type &> out_arg_base;
- typedef Mutable_Argument_T<ret_type &> ret_base;
+ // Typedefs corresponding to return value of arg() method in both
+ // the client and server side argument class templates.
+ typedef in_type in_arg_type;
+ typedef inout_type inout_arg_type;
+ typedef ret_type & out_arg_type;
+ typedef ret_type & ret_arg_type;
};
}
diff --git a/TAO/tao/Special_Basic_Argument_T.h b/TAO/tao/Special_Basic_Argument_T.h
index 9b785e9a5a4..ef1a884b055 100644
--- a/TAO/tao/Special_Basic_Argument_T.h
+++ b/TAO/tao/Special_Basic_Argument_T.h
@@ -32,7 +32,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class In_Special_Basic_Argument_T : public Const_Argument_T<S const &>
+ class In_Special_Basic_Argument_T : public Argument
{
public:
In_Special_Basic_Argument_T (S const &);
@@ -41,7 +41,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S const & arg (void) const;
private:
S const & x_;
@@ -54,7 +54,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class Inout_Special_Basic_Argument_T : public Mutable_Argument_T<S &>
+ class Inout_Special_Basic_Argument_T : public Argument
{
public:
Inout_Special_Basic_Argument_T (S & x);
@@ -64,7 +64,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S & x_;
@@ -77,7 +77,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class Out_Special_Basic_Argument_T : public Mutable_Argument_T<S &>
+ class Out_Special_Basic_Argument_T : public Argument
{
public:
Out_Special_Basic_Argument_T (S & x);
@@ -86,7 +86,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
mutable S & x_;
@@ -99,7 +99,7 @@ namespace TAO
*
*/
template<typename S, typename to_S, typename from_S>
- class Ret_Special_Basic_Argument_T : public Mutable_Argument_T<S &>
+ class Ret_Special_Basic_Argument_T : public Argument
{
public:
Ret_Special_Basic_Argument_T (void);
@@ -108,7 +108,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
S excp (void);
S retn (void);
diff --git a/TAO/tao/UB_String_Argument_T.h b/TAO/tao/UB_String_Argument_T.h
index efd429fd2fa..e8bb089ceff 100644
--- a/TAO/tao/UB_String_Argument_T.h
+++ b/TAO/tao/UB_String_Argument_T.h
@@ -30,7 +30,7 @@ namespace TAO
*
*/
template<typename S>
- class In_UB_String_Argument_T : public Const_Argument_T<S const *>
+ class In_UB_String_Argument_T : public Argument
{
public:
In_UB_String_Argument_T (const S * x);
@@ -39,7 +39,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const * arg (void) const;
+ S const * arg (void) const;
private:
S const * x_;
@@ -52,7 +52,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_UB_String_Argument_T : public Mutable_Argument_T<S *&>
+ class Inout_UB_String_Argument_T : public Argument
{
public:
Inout_UB_String_Argument_T (S *& x);
@@ -62,7 +62,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S *& x_;
@@ -75,7 +75,7 @@ namespace TAO
*
*/
template<typename S, typename S_out>
- class Out_UB_String_Argument_T : public Mutable_Argument_T<S *&>
+ class Out_UB_String_Argument_T : public Argument
{
public:
Out_UB_String_Argument_T (S_out & x);
@@ -84,7 +84,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
mutable S *& x_;
@@ -97,7 +97,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Ret_UB_String_Argument_T : public Mutable_Argument_T<S *&>
+ class Ret_UB_String_Argument_T : public Argument
{
public:
Ret_UB_String_Argument_T (void);
@@ -106,7 +106,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
S * excp (void);
S * retn (void);
diff --git a/TAO/tao/Var_Array_Argument_T.h b/TAO/tao/Var_Array_Argument_T.h
index 7ee49b43b43..6042219fc22 100644
--- a/TAO/tao/Var_Array_Argument_T.h
+++ b/TAO/tao/Var_Array_Argument_T.h
@@ -30,7 +30,7 @@ namespace TAO
*
*/
template<typename S, typename S_slice, typename S_forany>
- class In_Var_Array_Argument_T : public Const_Argument_T<S_slice const *>
+ class In_Var_Array_Argument_T : public Argument
{
public:
In_Var_Array_Argument_T (const S_slice * x);
@@ -39,7 +39,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice const * arg (void) const;
+ S_slice const * arg (void) const;
private:
S_forany x_;
@@ -52,7 +52,7 @@ namespace TAO
*
*/
template<typename S, typename S_slice, typename S_forany>
- class Inout_Var_Array_Argument_T : public Mutable_Argument_T<S_slice *>
+ class Inout_Var_Array_Argument_T : public Argument
{
public:
Inout_Var_Array_Argument_T (S_slice *&x);
@@ -62,7 +62,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice * arg (void);
+ S_slice * arg (void);
private:
S_forany x_;
@@ -80,7 +80,7 @@ namespace TAO
typename S_out,
typename S_forany,
typename S_tag>
- class Out_Var_Array_Argument_T : public Mutable_Argument_T<S_slice *&>
+ class Out_Var_Array_Argument_T : public Argument
{
public:
Out_Var_Array_Argument_T (S_out x);
@@ -89,7 +89,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
private:
S_slice *& x_;
@@ -106,7 +106,7 @@ namespace TAO
typename S_var,
typename S_forany,
typename S_tag>
- class Ret_Var_Array_Argument_T : public Mutable_Argument_T<S_slice *&>
+ class Ret_Var_Array_Argument_T : public Argument
{
public:
Ret_Var_Array_Argument_T (void);
@@ -115,7 +115,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S_slice *& arg (void);
+ S_slice *& arg (void);
S_slice * excp (void);
S_slice * retn (void);
diff --git a/TAO/tao/Var_Array_Argument_T.inl b/TAO/tao/Var_Array_Argument_T.inl
index bc1c0bf0f45..a189584da2e 100644
--- a/TAO/tao/Var_Array_Argument_T.inl
+++ b/TAO/tao/Var_Array_Argument_T.inl
@@ -11,7 +11,7 @@ In_Var_Array_Argument_T (const S_slice * x)
template<typename S, typename S_slice, typename S_forany>
ACE_INLINE
-const S_slice *
+S_slice const *
TAO::In_Var_Array_Argument_T<S,S_slice,S_forany>::arg (void) const
{
return this->x_.in ();
diff --git a/TAO/tao/Var_Size_Argument_T.h b/TAO/tao/Var_Size_Argument_T.h
index e0d34c7c442..6fa5ea16f3d 100644
--- a/TAO/tao/Var_Size_Argument_T.h
+++ b/TAO/tao/Var_Size_Argument_T.h
@@ -30,7 +30,7 @@ namespace TAO
*
*/
template<typename S>
- class In_Var_Size_Argument_T : public Const_Argument_T<S const &>
+ class In_Var_Size_Argument_T : public Argument
{
public:
In_Var_Size_Argument_T (S const & x);
@@ -39,7 +39,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S const & arg (void) const;
+ S const & arg (void) const;
private:
const S * x_;
@@ -52,7 +52,7 @@ namespace TAO
*
*/
template<typename S>
- class Inout_Var_Size_Argument_T : public Mutable_Argument_T<S &>
+ class Inout_Var_Size_Argument_T : public Argument
{
public:
Inout_Var_Size_Argument_T (S & x);
@@ -62,7 +62,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S & arg (void);
+ S & arg (void);
private:
S * x_;
@@ -75,7 +75,7 @@ namespace TAO
*
*/
template<typename S, typename S_out>
- class Out_Var_Size_Argument_T : public Mutable_Argument_T<S *&>
+ class Out_Var_Size_Argument_T : public Argument
{
public:
Out_Var_Size_Argument_T (S_out x);
@@ -84,7 +84,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_param (Dynamic::Parameter &);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
private:
S *& x_;
@@ -97,7 +97,7 @@ namespace TAO
*
*/
template<typename S, typename S_var>
- class Ret_Var_Size_Argument_T : public Mutable_Argument_T<S *&>
+ class Ret_Var_Size_Argument_T : public Argument
{
public:
Ret_Var_Size_Argument_T (void);
@@ -106,7 +106,7 @@ namespace TAO
#if TAO_HAS_INTERCEPTORS == 1
virtual void interceptor_result (CORBA::Any *);
#endif /* TAO_HAS_INTERCEPTORS == 1 */
- virtual S *& arg (void);
+ S *& arg (void);
S * excp (void);
S * retn (void);