summaryrefslogtreecommitdiff
path: root/TAO/tao/Var_Array_Argument_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Var_Array_Argument_T.cpp')
-rw-r--r--TAO/tao/Var_Array_Argument_T.cpp319
1 files changed, 319 insertions, 0 deletions
diff --git a/TAO/tao/Var_Array_Argument_T.cpp b/TAO/tao/Var_Array_Argument_T.cpp
new file mode 100644
index 00000000000..d5ccfa010a1
--- /dev/null
+++ b/TAO/tao/Var_Array_Argument_T.cpp
@@ -0,0 +1,319 @@
+// $Id$
+
+#ifndef TAO_VAR_ARRAY_ARGUMENT_T_C
+#define TAO_VAR_ARRAY_ARGUMENT_T_C
+
+#include "tao/Var_Array_Argument_T.h"
+
+ACE_RCSID (tao,
+ Var_Array_Argument_T,
+ "$Id$")
+
+template<typename S, typename S_slice, typename S_forany>
+TAO::In_Var_Array_Argument_T<S,S_slice,S_forany>::
+In_Var_Array_Argument_T (const S x)
+ : x_ ((S_slice *) x)
+{}
+
+template<typename S, typename S_slice, typename S_forany>
+CORBA::Boolean
+TAO::In_Var_Array_Argument_T<S,S_slice,S_forany>::marshal (
+ TAO_OutputCDR & cdr
+ )
+{
+ return cdr << this->x_;
+}
+
+template<typename S, typename S_slice, typename S_forany>
+void
+TAO::In_Var_Array_Argument_T<S,S_slice,S_forany>::interceptor_param (
+ Dynamic::Parameter & p
+ )
+{
+ p.argument <<= this->x_;
+ p.mode = CORBA::PARAM_IN;
+}
+
+template<typename S, typename S_slice, typename S_forany>
+CORBA::Boolean
+TAO::In_Var_Array_Argument_T<S,S_slice,S_forany>::interceptor_replace (
+ CORBA::Any & any
+ )
+{
+ return any >>= this->x_;
+}
+
+// ===========================================================
+
+template<typename S, typename S_forany>
+TAO::Inout_Var_Array_Argument_T<S,S_forany>::Inout_Var_Array_Argument_T (
+ S x
+ )
+ : x_ (x)
+{}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::Inout_Var_Array_Argument_T<S,S_forany>::marshal (TAO_OutputCDR & cdr)
+{
+ return cdr << this->x_;
+}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::Inout_Var_Array_Argument_T<S,S_forany>::demarshal (TAO_InputCDR & cdr)
+{
+ return cdr >> this->x_;
+}
+
+template<typename S, typename S_forany>
+void
+TAO::Inout_Var_Array_Argument_T<S,S_forany>::interceptor_param (
+ Dynamic::Parameter & p
+ )
+{
+ p.argument <<= this->x_;
+ p.mode = CORBA::PARAM_INOUT;
+}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::Inout_Var_Array_Argument_T<S,S_forany>::interceptor_replace (
+ CORBA::Any & any
+ )
+{
+ return any >>= this->x_;
+}
+
+// ==============================================================
+
+template<typename S, typename S_var, typename S_out, typename S_forany>
+TAO::Out_Var_Array_Argument_T<S,S_var,S_out,S_forany>::
+Out_Var_Array_Argument_T (S_out x)
+{
+ typedef TAO::Array_Traits<S,S_slice> ARRAY_TRAITS;
+ ACE_ALLOCATOR (x.ptr (),
+ ARRAY_TRAITS::tao_alloc ());
+ this->x_ = x.ptr ();
+}
+
+template<typename S, typename S_var, typename S_out, typename S_forany>
+CORBA::Boolean
+TAO::Out_Var_Array_Argument_T<S,S_var,S_out,S_forany>::demarshal (
+ TAO_InputCDR & cdr
+ )
+{
+ S_forany tmp (this->x_.ptr ());
+ return cdr >> tmp;
+}
+
+// ============================================================
+
+template<typename S, typename S_slice, typename S_var, typename S_forany>
+TAO::Ret_Var_Array_Argument_T<S,S_slice,S_var,S_forany>::
+Ret_Var_Array_Argument_T (void)
+{
+ typedef TAO::Array_Traits<S,S_slice> ARRAY_TRAITS;
+ S_slice * tmp = 0;
+ ACE_ALLOCATOR (tmp,
+ ARRAY_TRAITS::tao_alloc ());
+ this->x_ = tmp;
+}
+
+template<typename S, typename S_slice, typename S_var, typename S_forany>
+CORBA::Boolean
+TAO::Ret_Var_Array_Argument_T<S,S_slice,S_var,S_forany>::demarshal (
+ TAO_InputCDR & cdr
+ )
+{
+ S_forany tmp (this->x_.ptr ());
+ return cdr >> tmp;
+}
+
+template<typename S, typename S_slice, typename S_var, typename S_forany>
+void
+TAO::Ret_Var_Array_Argument_T<S,S_slice,S_var,S_forany>::
+interceptor_result (CORBA::Any * any)
+{
+ (*any) <<= S_forany (this->x_.ptr ());
+}
+
+template<typename S, typename S_slice, typename S_var, typename S_forany>
+CORBA::Boolean
+TAO::Ret_Var_Array_Argument_T<S,S_slice,S_var,S_forany>::
+interceptor_replace (CORBA::Any & any)
+{
+ S_forany tmp (this->x_.ptr ());
+ return any >>= tmp;
+}
+
+template<typename S, typename S_slice, typename S_var, typename S_forany>
+S_slice *
+TAO::Ret_Var_Array_Argument_T<S,S_slice,S_var,S_forany>::excp (void)
+{
+ return this->x_.ptr ();
+}
+
+template<typename S, typename S_slice, typename S_var, typename S_forany>
+S_slice *
+TAO::Ret_Var_Array_Argument_T<S,S_slice,S_var,S_forany>::retn (void)
+{
+ return this->x_._retn ();
+}
+
+// ============================================================
+
+template<typename S, typename S_forany>
+TAO::In_Var_Array_SArgument_T<S,S_forany>::In_Var_Array_SArgument_T (void)
+{}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::In_Var_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR &cdr)
+{
+ S_forany tmp (this->x_);
+ return cdr >> tmp;
+}
+
+template<typename S, typename S_forany>
+void
+TAO::In_Var_Array_SArgument_T<S,S_forany>::interceptor_param (
+ Dynamic::Parameter & p
+ )
+{
+ p.argument <<= S_forany (this->x_);
+ p.mode = CORBA::PARAM_IN;
+}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::In_Var_Array_SArgument_T<S,S_forany>::interceptor_replace (
+ CORBA::Any & any
+ )
+{
+ S_forany tmp (this->x_);
+ return any >>= tmp;
+}
+
+template<typename S, typename S_forany>
+const S &
+TAO::In_Var_Array_SArgument_T<S,S_forany>::arg (void) const
+{
+ return this->x_;
+}
+
+// ===========================================================
+
+template<typename S, typename S_forany>
+TAO::Inout_Var_Array_SArgument_T<S,S_forany>::
+Inout_Var_Array_SArgument_T (void)
+{}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::Inout_Var_Array_SArgument_T<S,S_forany>::marshal (TAO_OutputCDR & cdr)
+{
+ return cdr << S_forany (this->x_);
+}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::Inout_Var_Array_SArgument_T<S,S_forany>::demarshal (TAO_InputCDR & cdr)
+{
+ S_forany tmp (this->x_);
+ return cdr >> tmp;
+}
+
+template<typename S, typename S_forany>
+void
+TAO::Inout_Var_Array_SArgument_T<S,S_forany>::interceptor_param (
+ Dynamic::Parameter & p
+ )
+{
+ p.argument <<= S_forany (this->x_);
+ p.mode = CORBA::PARAM_INOUT;
+}
+
+template<typename S, typename S_forany>
+CORBA::Boolean
+TAO::Inout_Var_Array_SArgument_T<S,S_forany>::interceptor_replace (
+ CORBA::Any & any
+ )
+{
+ S_forany tmp (this->x_);
+ return any >>= tmp;
+}
+
+template<typename S, typename S_forany>
+S &
+TAO::Inout_Var_Array_SArgument_T<S,S_forany>::arg (void)
+{
+ return this->x_;
+}
+
+// ==============================================================
+
+template<typename S_slice, typename S_var, typename S_forany>
+TAO::Out_Var_Array_SArgument_T<S_slice,S_var,S_forany>::
+Out_Var_Array_SArgument_T (void)
+{}
+
+template<typename S_slice, typename S_var, typename S_forany>
+CORBA::Boolean
+TAO::Out_Var_Array_SArgument_T<S_slice,S_var,S_forany>::marshal (
+ TAO_OutputCDR & cdr
+ )
+{
+ return cdr << S_forany (this->x_.ptr ());
+}
+
+template<typename S_slice, typename S_var, typename S_forany>
+S_slice *&
+TAO::Out_Var_Array_SArgument_T<S_slice,S_var,S_forany>::arg (void)
+{
+ return this->x_.out ();
+}
+
+// ============================================================
+
+template<typename S_slice, typename S_var, typename S_forany>
+TAO::Ret_Var_Array_SArgument_T<S_slice,S_var,S_forany>::
+Ret_Var_Array_SArgument_T (void)
+{
+}
+
+template<typename S_slice, typename S_var, typename S_forany>
+CORBA::Boolean
+TAO::Ret_Var_Array_SArgument_T<S_slice,S_var,S_forany>::marshal (
+ TAO_OutputCDR & cdr
+ )
+{
+ return cdr << S_forany (this->x_.ptr ());
+}
+
+template<typename S_slice, typename S_var, typename S_forany>
+void
+TAO::Ret_Var_Array_SArgument_T<S_slice,S_var,S_forany>::interceptor_result (
+ CORBA::Any * any
+ )
+{
+ (*any) <<= S_forany (this->x_.ptr ());
+}
+
+template<typename S_slice, typename S_var, typename S_forany>
+CORBA::Boolean
+TAO::Ret_Var_Array_SArgument_T<S_slice,S_var,S_forany>::
+interceptor_replace (CORBA::Any & any)
+{
+ S_forany tmp (this->x_.ptr ());
+ return any >>= tmp;
+}
+
+template<typename S_slice, typename S_var, typename S_forany>
+S_slice *&
+TAO::Ret_Var_Array_SArgument_T<S_slice,S_var,S_forany>::arg (void)
+{
+ return this->x_.out ();
+}
+
+#endif /* TAO_VAR_ARRAY_ARGUMENT_T_C */