diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-06-19 00:15:14 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-06-19 00:15:14 +0000 |
commit | fd4f134a4dd6073c812d8351420c6db6f202d49a (patch) | |
tree | ba8dab96c97ea80d927fe5b0f9de1268f6235552 | |
parent | 95a32d57dc697f30e392105fa726ee1e9a09bc52 (diff) | |
download | ATCD-fd4f134a4dd6073c812d8351420c6db6f202d49a.tar.gz |
ChangeLogTag: Wed Jun 18 19:09:55 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog_ref | 29 | ||||
-rw-r--r-- | TAO/tao/Arg_Traits_T.h (renamed from TAO/tao/Traits_T.h) | 2 | ||||
-rw-r--r-- | TAO/tao/Argument.h | 5 | ||||
-rw-r--r-- | TAO/tao/Basic_Argument_T.cpp | 39 | ||||
-rw-r--r-- | TAO/tao/Basic_Argument_T.h | 26 | ||||
-rw-r--r-- | TAO/tao/Basic_Arguments.cpp | 36 | ||||
-rw-r--r-- | TAO/tao/Basic_Arguments.h | 22 | ||||
-rw-r--r-- | TAO/tao/Special_Basic_Argument_T.cpp | 45 | ||||
-rw-r--r-- | TAO/tao/Special_Basic_Argument_T.h | 26 | ||||
-rw-r--r-- | TAO/tao/Special_Basic_Arguments.cpp | 16 | ||||
-rw-r--r-- | TAO/tao/Special_Basic_Arguments.h | 10 | ||||
-rw-r--r-- | TAO/tao/TAO.dsp | 37 | ||||
-rw-r--r-- | TAO/tao/UB_String_Argument_T.cpp | 257 | ||||
-rw-r--r-- | TAO/tao/UB_String_Argument_T.h | 247 | ||||
-rw-r--r-- | TAO/tao/UB_String_Arguments.cpp | 27 | ||||
-rw-r--r-- | TAO/tao/UB_String_Arguments.h | 49 |
16 files changed, 739 insertions, 134 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref index 3517eaa94eb..a02aec0fc8b 100644 --- a/TAO/ChangeLog_ref +++ b/TAO/ChangeLog_ref @@ -1,3 +1,32 @@ +Wed Jun 18 19:09:55 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * tao/Arg_Traits_T.h: + + Renamed Traits_T.h as this. + + * tao/Argument.h: + * tao/Basic_Argument_T.cpp: + * tao/Basic_Argument_T.h: + * tao/Basic_Arguments.cpp: + * tao/Basic_Arguments.h: + * tao/Special_Basic_Argument_T.cpp: + * tao/Special_Basic_Argument_T.h: + * tao/Special_Basic_Arguments.cpp: + * tao/Special_Basic_Arguments.h: + + Removed string argument name member - it's never used. + + * tao/Traits_T.h: + + Renamed this as Arg_Traits_T.h. + + * tao/UB_String_Argument_T.cpp: + * tao/UB_String_Argument_T.h: + * tao/UB_String_Arguments.cpp: + * tao/UB_String_Arguments.h: + + New files, for unbounded string and wstring arguments. + Tue Jun 17 18:27:44 2003 Jeff Parsons <j.parsons@vanderbilt.edu> * tao/Argument.h: diff --git a/TAO/tao/Traits_T.h b/TAO/tao/Arg_Traits_T.h index c40b675583f..f27d11a3b4d 100644 --- a/TAO/tao/Traits_T.h +++ b/TAO/tao/Arg_Traits_T.h @@ -28,7 +28,7 @@ namespace TAO * */ template<typename S> - class Traits + class Arg_Traits { }; }; diff --git a/TAO/tao/Argument.h b/TAO/tao/Argument.h index 9f1fcb2095c..758bbb1338a 100644 --- a/TAO/tao/Argument.h +++ b/TAO/tao/Argument.h @@ -34,14 +34,9 @@ namespace TAO class TAO_Export Argument { public: - Argument (char const *argname) : argname_ (argname ) {} - virtual CORBA::Boolean marshal (TAO_OutputCDR &) = 0; virtual CORBA::Boolean demarshal (TAO_InputCDR &) = 0; virtual void add_to_interceptor (Dynamic::Parameter &) = 0; - - private: - char const * argname_; }; /** diff --git a/TAO/tao/Basic_Argument_T.cpp b/TAO/tao/Basic_Argument_T.cpp index 34f97e89f4e..4df89f8546c 100644 --- a/TAO/tao/Basic_Argument_T.cpp +++ b/TAO/tao/Basic_Argument_T.cpp @@ -10,10 +10,8 @@ ACE_RCSID (tao, "$Id$") template<typename S> -TAO::In_Basic_Argument_T<S>::In_Basic_Argument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (x) +TAO::In_Basic_Argument_T<S>::In_Basic_Argument_T (S const & x) + : x_ (x) {} template<typename S> @@ -41,10 +39,8 @@ TAO::In_Basic_Argument_T<S>::add_to_interceptor (Dynamic::Parameter & p) // =========================================================== template<typename S> -TAO::Inout_Basic_Argument_T<S>::Inout_Basic_Argument_T (S & x, - char const * argname) - : Argument (argname), - x_ (x) +TAO::Inout_Basic_Argument_T<S>::Inout_Basic_Argument_T (S & x) + : x_ (x) {} template<typename S> @@ -72,10 +68,8 @@ TAO::Inout_Basic_Argument_T<S>::add_to_interceptor (Dynamic::Parameter & p) // ============================================================== template<typename S> -TAO::Out_Basic_Argument_T<S>::Out_Basic_Argument_T (S & x, - char const * argname) - : Argument (argname), - x_ (x) +TAO::Out_Basic_Argument_T<S>::Out_Basic_Argument_T (S & x) + : x_ (x) {} template<typename S> @@ -101,8 +95,7 @@ TAO::Out_Basic_Argument_T<S>::add_to_interceptor (Dynamic::Parameter &) // ============================================================ template<typename S> -TAO::Ret_Basic_Argument_T<S>::Ret_Basic_Argument_T (S const & x) - : x_ (ACE_const_cast (S &, x)) +TAO::Ret_Basic_Argument_T<S>::Ret_Basic_Argument_T (void) { } @@ -129,10 +122,7 @@ TAO::Ret_Basic_Argument_T<S>::operator S () const // ============================================================ template<typename S> -TAO::In_Basic_SArgument_T<S>::In_Basic_SArgument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (ACE_const_cast (S &, x)) +TAO::In_Basic_SArgument_T<S>::In_Basic_SArgument_T (void) {} template<typename S> @@ -166,10 +156,7 @@ TAO::In_Basic_SArgument_T<S>::operator S () const // =========================================================== template<typename S> -TAO::Inout_Basic_SArgument_T<S>::Inout_Basic_SArgument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (ACE_const_cast (S &, x)) +TAO::Inout_Basic_SArgument_T<S>::Inout_Basic_SArgument_T (void) {} template<typename S> @@ -203,10 +190,7 @@ TAO::Inout_Basic_SArgument_T<S>::operator S & () // ============================================================== template<typename S> -TAO::Out_Basic_SArgument_T<S>::Out_Basic_SArgument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (ACE_const_cast (S &, x)) +TAO::Out_Basic_SArgument_T<S>::Out_Basic_SArgument_T (void) {} template<typename S> @@ -238,8 +222,7 @@ TAO::Out_Basic_SArgument_T<S>::operator S & () // ============================================================ template<typename S> -TAO::Ret_Basic_SArgument_T<S>::Ret_Basic_SArgument_T (S const & x) - : x_ (ACE_const_cast (S &, x)) +TAO::Ret_Basic_SArgument_T<S>::Ret_Basic_SArgument_T (void) { } diff --git a/TAO/tao/Basic_Argument_T.h b/TAO/tao/Basic_Argument_T.h index 45ff805c8bc..b0b1499cd85 100644 --- a/TAO/tao/Basic_Argument_T.h +++ b/TAO/tao/Basic_Argument_T.h @@ -34,7 +34,7 @@ namespace TAO class In_Basic_Argument_T : public Argument { public: - In_Basic_Argument_T (S const & x, char const * argname); + In_Basic_Argument_T (S const & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -54,7 +54,7 @@ namespace TAO class Inout_Basic_Argument_T : public Argument { public: - Inout_Basic_Argument_T (S & x, char const * argname); + Inout_Basic_Argument_T (S & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -74,7 +74,7 @@ namespace TAO class Out_Basic_Argument_T : public Argument { public: - Out_Basic_Argument_T (S & x, char const * argname); + Out_Basic_Argument_T (S & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -94,7 +94,7 @@ namespace TAO class Ret_Basic_Argument_T : public Stub_Retval { public: - Ret_Basic_Argument_T (S const & x); + Ret_Basic_Argument_T (void); virtual CORBA::Boolean demarshal (TAO_InputCDR &); virtual void add_to_interceptor (CORBA::Any *); @@ -102,7 +102,7 @@ namespace TAO operator S () const; private: - mutable S & x_; + S x_; }; /** @@ -115,7 +115,7 @@ namespace TAO class In_Basic_SArgument_T : public Argument { public: - In_Basic_SArgument_T (S const & x, char const * argname); + In_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -124,7 +124,7 @@ namespace TAO operator S () const; private: - mutable S & x_; + S x_; }; /** @@ -137,7 +137,7 @@ namespace TAO class Inout_Basic_SArgument_T : public Argument { public: - Inout_Basic_SArgument_T (S const & x, char const * argname); + Inout_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -146,7 +146,7 @@ namespace TAO operator S & (); private: - mutable S & x_; + S x_; }; /** @@ -159,7 +159,7 @@ namespace TAO class Out_Basic_SArgument_T : public Argument { public: - Out_Basic_SArgument_T (S const & x, char const * argname); + Out_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -168,7 +168,7 @@ namespace TAO operator S & (); private: - mutable S & x_; + S x_; }; /** @@ -181,7 +181,7 @@ namespace TAO class Ret_Basic_SArgument_T : public Skel_Retval { public: - Ret_Basic_SArgument_T (S const & x); + Ret_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual void add_to_interceptor (CORBA::Any *); @@ -190,7 +190,7 @@ namespace TAO operator S & (); private: - mutable S & x_; + S x_; }; /** diff --git a/TAO/tao/Basic_Arguments.cpp b/TAO/tao/Basic_Arguments.cpp index 177450ef614..7caa381e161 100644 --- a/TAO/tao/Basic_Arguments.cpp +++ b/TAO/tao/Basic_Arguments.cpp @@ -44,15 +44,15 @@ TAO::Ret_Basic_SArgument_T<void>::operator void () const #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class TAO::Traits<CORBA::Short>; -template class TAO::Traits<CORBA::Long>; -template class TAO::Traits<CORBA::UShort>; -template class TAO::Traits<CORBA::ULong>; -template class TAO::Traits<CORBA::Float>; -template class TAO::Traits<CORBA::Double>; -template class TAO::Traits<CORBA::LongLong>; -template class TAO::Traits<CORBA::ULongLong>; -template class TAO::Traits<CORBA::LongDouble>; +template class TAO::Arg_Traits<CORBA::Short>; +template class TAO::Arg_Traits<CORBA::Long>; +template class TAO::Arg_Traits<CORBA::UShort>; +template class TAO::Arg_Traits<CORBA::ULong>; +template class TAO::Arg_Traits<CORBA::Float>; +template class TAO::Arg_Traits<CORBA::Double>; +template class TAO::Arg_Traits<CORBA::LongLong>; +template class TAO::Arg_Traits<CORBA::ULongLong>; +template class TAO::Arg_Traits<CORBA::LongDouble>; template class TAO::Special_Basic_Arg_Traits_T<CORBA::Short>; template class TAO::Special_Basic_Arg_Traits_T<CORBA::Long>; @@ -66,15 +66,15 @@ template class TAO::Special_Basic_Arg_Traits_T<CORBA::LongDouble>; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -# pragma instantiate TAO::Traits<CORBA::Short> -# pragma instantiate TAO::Traits<CORBA::Long> -# pragma instantiate TAO::Traits<CORBA::UShort> -# pragma instantiate TAO::Traits<CORBA::ULong> -# pragma instantiate TAO::Traits<CORBA::Float> -# pragma instantiate TAO::Traits<CORBA::Double> -# pragma instantiate TAO::Traits<CORBA::LongLong> -# pragma instantiate TAO::Traits<CORBA::ULongLong> -# pragma instantiate TAO::Traits<CORBA::LongDouble> +# pragma instantiate TAO::Arg_Traits<CORBA::Short> +# pragma instantiate TAO::Arg_Traits<CORBA::Long> +# pragma instantiate TAO::Arg_Traits<CORBA::UShort> +# pragma instantiate TAO::Arg_Traits<CORBA::ULong> +# pragma instantiate TAO::Arg_Traits<CORBA::Float> +# pragma instantiate TAO::Arg_Traits<CORBA::Double> +# pragma instantiate TAO::Arg_Traits<CORBA::LongLong> +# pragma instantiate TAO::Arg_Traits<CORBA::ULongLong> +# pragma instantiate TAO::Arg_Traits<CORBA::LongDouble> # pragma instantiate TAO::Special_Basic_Arg_Traits_T<CORBA::Short> # pragma instantiate TAO::Special_Basic_Arg_Traits_T<CORBA::Long> diff --git a/TAO/tao/Basic_Arguments.h b/TAO/tao/Basic_Arguments.h index fe0843d49a1..a8e3ceb91fc 100644 --- a/TAO/tao/Basic_Arguments.h +++ b/TAO/tao/Basic_Arguments.h @@ -21,7 +21,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "Basic_Argument_T.h" -#include "Traits_T.h" +#include "Arg_Traits_T.h" namespace TAO { @@ -52,7 +52,7 @@ namespace TAO }; template<> - class Traits<void> + class Arg_Traits<void> { typedef void ret_type; @@ -69,47 +69,47 @@ namespace TAO */ template<> - class Traits<CORBA::Short> : public Basic_Arg_Traits_T<CORBA::Short> + class Arg_Traits<CORBA::Short> : public Basic_Arg_Traits_T<CORBA::Short> { }; template<> - class Traits<CORBA::Long> : public Basic_Arg_Traits_T<CORBA::Long> + class Arg_Traits<CORBA::Long> : public Basic_Arg_Traits_T<CORBA::Long> { }; template<> - class Traits<CORBA::UShort> : public Basic_Arg_Traits_T<CORBA::UShort> + class Arg_Traits<CORBA::UShort> : public Basic_Arg_Traits_T<CORBA::UShort> { }; template<> - class Traits<CORBA::ULong> : public Basic_Arg_Traits_T<CORBA::ULong> + class Arg_Traits<CORBA::ULong> : public Basic_Arg_Traits_T<CORBA::ULong> { }; template<> - class Traits<CORBA::Float> : public Basic_Arg_Traits_T<CORBA::Float> + class Arg_Traits<CORBA::Float> : public Basic_Arg_Traits_T<CORBA::Float> { }; template<> - class Traits<CORBA::Double> : public Basic_Arg_Traits_T<CORBA::Double> + class Arg_Traits<CORBA::Double> : public Basic_Arg_Traits_T<CORBA::Double> { }; template<> - class Traits<CORBA::LongLong> : public Basic_Arg_Traits_T<CORBA::LongLong> + class Arg_Traits<CORBA::LongLong> : public Basic_Arg_Traits_T<CORBA::LongLong> { }; template<> - class Traits<CORBA::ULongLong> : public Basic_Arg_Traits_T<CORBA::ULongLong> + class Arg_Traits<CORBA::ULongLong> : public Basic_Arg_Traits_T<CORBA::ULongLong> { }; template<> - class Traits<CORBA::LongDouble> : public Basic_Arg_Traits_T<CORBA::LongDouble> + class Arg_Traits<CORBA::LongDouble> : public Basic_Arg_Traits_T<CORBA::LongDouble> { }; }; diff --git a/TAO/tao/Special_Basic_Argument_T.cpp b/TAO/tao/Special_Basic_Argument_T.cpp index 1a8a5fb696b..67d67271729 100644 --- a/TAO/tao/Special_Basic_Argument_T.cpp +++ b/TAO/tao/Special_Basic_Argument_T.cpp @@ -11,11 +11,9 @@ ACE_RCSID (tao, template<typename S, typename to_S, typename from_S> TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::In_Special_Basic_Argument_T ( - const S & x, - char const * argname + const S & x ) - : Argument (argname), - x_ (x) + : x_ (x) {} template<typename S, typename to_S, typename from_S> @@ -46,10 +44,8 @@ TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( template<typename S, typename to_S, typename from_S> TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>:: -Inout_Special_Basic_Argument_T (S & x, - char const * argname) - : Argument (argname), - x_ (x) +Inout_Special_Basic_Argument_T (S & x) + : x_ (x) {} template<typename S, typename to_S, typename from_S> @@ -84,10 +80,8 @@ TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( template<typename S, typename to_S, typename from_S> TAO::Out_Special_Basic_Argument_T<S,to_S,from_S>:: -Out_Special_Basic_Argument_T (S & x, - char const * argname) - : Argument (argname), - x_ (x) +Out_Special_Basic_Argument_T (S & x) + : x_ (x) {} template<typename S, typename to_S, typename from_S> @@ -117,10 +111,8 @@ TAO::Out_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( // ============================================================ template<typename S, typename to_S, typename from_S> -TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::Ret_Special_Basic_Argument_T ( - S const & x - ) - : x_ (ACE_const_cast (S &, x)) +TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>:: +Ret_Special_Basic_Argument_T (void) { } @@ -146,10 +138,7 @@ TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( template<typename S, typename to_S, typename from_S> TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>:: -In_Special_Basic_SArgument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (ACE_const_cast (S &, x)) +In_Special_Basic_SArgument_T (void) {} template<typename S, typename to_S, typename from_S> @@ -188,10 +177,7 @@ TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::operator S () const template<typename S, typename to_S, typename from_S> TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>:: -Inout_Special_Basic_SArgument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (ACE_const_cast (S &, x)) +Inout_Special_Basic_SArgument_T (void) {} template<typename S, typename to_S, typename from_S> @@ -232,10 +218,7 @@ TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::operator S & () template<typename S, typename to_S, typename from_S> TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>:: -Out_Special_Basic_SArgument_T (S const & x, - char const * argname) - : Argument (argname), - x_ (ACE_const_cast (S &, x)) +Out_Special_Basic_SArgument_T (void) {} template<typename S, typename to_S, typename from_S> @@ -271,10 +254,8 @@ TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>::operator S & () // ============================================================== template<typename S, typename to_S, typename from_S> -TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::Ret_Special_Basic_SArgument_T ( - S const & x - ) - : x_ (ACE_const_cast (S &, x)) +TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>:: +Ret_Special_Basic_SArgument_T (void) { } diff --git a/TAO/tao/Special_Basic_Argument_T.h b/TAO/tao/Special_Basic_Argument_T.h index 353ef5ffa45..8e2626e8ac9 100644 --- a/TAO/tao/Special_Basic_Argument_T.h +++ b/TAO/tao/Special_Basic_Argument_T.h @@ -34,7 +34,7 @@ namespace TAO class TAO_Export In_Special_Basic_Argument_T : public Argument { public: - In_Special_Basic_Argument_T (S const & x, char const * argname); + In_Special_Basic_Argument_T (S const & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -54,7 +54,7 @@ namespace TAO class TAO_Export Inout_Special_Basic_Argument_T : public Argument { public: - Inout_Special_Basic_Argument_T (S & x, char const * argname); + Inout_Special_Basic_Argument_T (S & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -74,7 +74,7 @@ namespace TAO class TAO_Export Out_Special_Basic_Argument_T : public Argument { public: - Out_Special_Basic_Argument_T (S & x, char const * argname); + Out_Special_Basic_Argument_T (S & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -94,7 +94,7 @@ namespace TAO class TAO_Export Ret_Special_Basic_Argument_T : public Stub_Retval { public: - Ret_Special_Basic_Argument_T (S const & x); + Ret_Special_Basic_Argument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual void add_to_interceptor (CORBA::Any *); @@ -102,7 +102,7 @@ namespace TAO operator S () const; private: - mutable S & x_; + S x_; }; /** @@ -115,7 +115,7 @@ namespace TAO class TAO_Export In_Special_Basic_SArgument_T : public Argument { public: - In_Special_Basic_SArgument_T (S const & x, char const * argname); + In_Special_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -124,7 +124,7 @@ namespace TAO operator S () const; private: - mutable S & x_; + S x_; }; /** @@ -137,7 +137,7 @@ namespace TAO class TAO_Export Inout_Special_Basic_SArgument_T : public Argument { public: - Inout_Special_Basic_SArgument_T (S const & x, char const * argname); + Inout_Special_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -146,7 +146,7 @@ namespace TAO operator S & (); private: - mutable S & x_; + S x_; }; /** @@ -159,7 +159,7 @@ namespace TAO class TAO_Export Out_Special_Basic_SArgument_T : public Argument { public: - Out_Special_Basic_SArgument_T (S const & x, char const * argname); + Out_Special_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); @@ -168,7 +168,7 @@ namespace TAO operator S & (); private: - mutable S & x_; + S x_; }; /** @@ -181,7 +181,7 @@ namespace TAO class TAO_Export Ret_Special_Basic_SArgument_T : public Skel_Retval { public: - Ret_Special_Basic_SArgument_T (S const & x); + Ret_Special_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual void add_to_interceptor (CORBA::Any *); @@ -190,7 +190,7 @@ namespace TAO operator S & (); private: - mutable S & x_; + S x_; }; /** diff --git a/TAO/tao/Special_Basic_Arguments.cpp b/TAO/tao/Special_Basic_Arguments.cpp index 972d9773ee4..c5f892b74fc 100644 --- a/TAO/tao/Special_Basic_Arguments.cpp +++ b/TAO/tao/Special_Basic_Arguments.cpp @@ -8,10 +8,10 @@ ACE_RCSID (tao, #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class TAO::Traits<CORBA::Char>; -template class TAO::Traits<CORBA::WChar>; -template class TAO::Traits<CORBA::Octet>; -template class TAO::Traits<ACE_InputCDR::to_boolean>; +template class TAO::Arg_Traits<CORBA::Char>; +template class TAO::Arg_Traits<CORBA::WChar>; +template class TAO::Arg_Traits<CORBA::Octet>; +template class TAO::Arg_Traits<ACE_InputCDR::to_boolean>; template class TAO::Special_Basic_Arg_Traits_T<CORBA::Char, ACE_InputCDR::to_char, @@ -31,10 +31,10 @@ template class TAO::Special_Basic_Arg_Traits_T<CORBA::Boolean, #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -# pragma instantiate TAO::Traits<CORBA::Char> -# pragma instantiate TAO::Traits<CORBA::WChar> -# pragma instantiate TAO::Traits<CORBA::Octet> -# pragma instantiate TAO::Traits<ACE_InputCDR::to_boolean> +# pragma instantiate TAO::Arg_Traits<CORBA::Char> +# pragma instantiate TAO::Arg_Traits<CORBA::WChar> +# pragma instantiate TAO::Arg_Traits<CORBA::Octet> +# pragma instantiate TAO::Arg_Traits<ACE_InputCDR::to_boolean> # pragma instantiate TAO::Special_Basic_Arg_Traits_T< \ CORBA::Char, \ diff --git a/TAO/tao/Special_Basic_Arguments.h b/TAO/tao/Special_Basic_Arguments.h index 01b5869c04c..6f077a885c3 100644 --- a/TAO/tao/Special_Basic_Arguments.h +++ b/TAO/tao/Special_Basic_Arguments.h @@ -21,7 +21,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "Special_Basic_Argument_T.h" -#include "Traits_T.h" +#include "Arg_Traits_T.h" namespace TAO { @@ -32,7 +32,7 @@ namespace TAO */ template<> - class Traits<CORBA::Char> + class Arg_Traits<CORBA::Char> : public Special_Basic_Arg_Traits_T<CORBA::Char, ACE_InputCDR::to_char, ACE_OutputCDR::from_char> @@ -40,7 +40,7 @@ namespace TAO }; template<> - class Traits<CORBA::WChar> + class Arg_Traits<CORBA::WChar> : public Special_Basic_Arg_Traits_T<CORBA::WChar, ACE_InputCDR::to_wchar, ACE_OutputCDR::from_wchar> @@ -48,7 +48,7 @@ namespace TAO }; template<> - class Traits<CORBA::Octet> + class Arg_Traits<CORBA::Octet> : public Special_Basic_Arg_Traits_T<CORBA::Octet, ACE_InputCDR::to_octet, ACE_OutputCDR::from_octet> @@ -56,7 +56,7 @@ namespace TAO }; template<> - class Traits<ACE_InputCDR::to_boolean> + class Arg_Traits<ACE_InputCDR::to_boolean> : public Special_Basic_Arg_Traits_T<CORBA::Boolean, ACE_InputCDR::to_boolean, ACE_OutputCDR::from_boolean> diff --git a/TAO/tao/TAO.dsp b/TAO/tao/TAO.dsp index b28bade25a0..ca19e13c799 100644 --- a/TAO/tao/TAO.dsp +++ b/TAO/tao/TAO.dsp @@ -200,6 +200,10 @@ SOURCE=.\Base_Transport_Property.cpp # End Source File
# Begin Source File
+SOURCE=.\Basic_Arguments.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\BiDir_Adapter.cpp
# End Source File
# Begin Source File
@@ -868,6 +872,10 @@ SOURCE=.\skip.cpp # End Source File
# Begin Source File
+SOURCE=.\Special_Basic_Arguments.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\StringSeqC.cpp
# ADD CPP /GR
# End Source File
@@ -983,6 +991,10 @@ SOURCE=.\TypeCodeFactory_Adapter.cpp # End Source File
# Begin Source File
+SOURCE=.\UB_String_Arguments.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\Valuetype_Adapter.cpp
# End Source File
# Begin Source File
@@ -1060,6 +1072,10 @@ SOURCE=.\arg_shifter.h # End Source File
# Begin Source File
+SOURCE=.\Arg_Traits_T.h
+# End Source File
+# Begin Source File
+
SOURCE=.\Argument.h
# End Source File
# Begin Source File
@@ -1084,6 +1100,10 @@ SOURCE=.\Basic_Argument_T.h # End Source File
# Begin Source File
+SOURCE=.\Basic_Arguments.h
+# End Source File
+# Begin Source File
+
SOURCE=.\BiDir_Adapter.h
# End Source File
# Begin Source File
@@ -1800,6 +1820,10 @@ SOURCE=.\Special_Basic_Argument_T.h # End Source File
# Begin Source File
+SOURCE=.\Special_Basic_Arguments.h
+# End Source File
+# Begin Source File
+
SOURCE=.\StringSeqC.h
# End Source File
# Begin Source File
@@ -1920,6 +1944,14 @@ SOURCE=.\TypeCodeFactory_Adapter.h # End Source File
# Begin Source File
+SOURCE=.\UB_String_Argument_T.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\UB_String_Arguments.h
+# End Source File
+# Begin Source File
+
SOURCE=.\Valuetype_Adapter.h
# End Source File
# Begin Source File
@@ -2647,6 +2679,11 @@ SOURCE=.\Special_Basic_Argument_T.cpp # End Source File
# Begin Source File
+SOURCE=.\UB_String_Argument_T.cpp
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
SOURCE=.\VarOut_T.cpp
# PROP Exclude_From_Build 1
# End Source File
diff --git a/TAO/tao/UB_String_Argument_T.cpp b/TAO/tao/UB_String_Argument_T.cpp new file mode 100644 index 00000000000..f9f459b552b --- /dev/null +++ b/TAO/tao/UB_String_Argument_T.cpp @@ -0,0 +1,257 @@ +// $Id$ + +#ifndef TAO_UB_STRING_ARGUMENT_T_C +#define TAO_UB_STRING_ARGUMENT_T_C + +#include "tao/UB_String_Argument_T.h" + +ACE_RCSID (tao, + String_Argument_T, + "$Id$") + +template<typename S> +TAO::In_UB_String_Argument_T<S>::In_UB_String_Argument_T (S * const & x) + : x_ (x) +{} + +template<typename S> +CORBA::Boolean +TAO::In_UB_String_Argument_T<S>::marshal (TAO_OutputCDR & cdr) +{ + return cdr << this->x_; +} + +template<typename S> +CORBA::Boolean +TAO::In_UB_String_Argument_T<S>::demarshal (TAO_InputCDR &) +{ + return 1; +} + +template<typename S> +void +TAO::In_UB_String_Argument_T<S>::add_to_interceptor (Dynamic::Parameter & p) +{ + p.argument <<= this->x_; + p.mode = CORBA::PARAM_IN; +} + +// =========================================================== + +template<typename S> +TAO::Inout_UB_String_Argument_T<S>::Inout_UB_String_Argument_T (S *& x) + : x_ (x) +{} + +template<typename S> +CORBA::Boolean +TAO::Inout_UB_String_Argument_T<S>::marshal (TAO_OutputCDR & cdr) +{ + return cdr << this->x_; +} + +template<typename S> +CORBA::Boolean +TAO::Inout_UB_String_Argument_T<S>::demarshal (TAO_InputCDR & cdr) +{ + return cdr >> this->x_; +} + +template<typename S> +void +TAO::Inout_UB_String_Argument_T<S>::add_to_interceptor (Dynamic::Parameter & p) +{ + p.argument <<= this->x_; + p.mode = CORBA::PARAM_INOUT; +} + +// ============================================================== + +template<typename S> +TAO::Out_UB_String_Argument_T<S>::Out_UB_String_Argument_T (S *& x) + : x_ (x) +{} + +template<typename S> +CORBA::Boolean +TAO::Out_UB_String_Argument_T<S>::marshal (TAO_OutputCDR &) +{ + return 1; +} + +template<typename S> +CORBA::Boolean +TAO::Out_UB_String_Argument_T<S>::demarshal (TAO_InputCDR & cdr) +{ + return cdr >> this->x_; +} + +template<typename S> +void +TAO::Out_UB_String_Argument_T<S>::add_to_interceptor (Dynamic::Parameter &) +{ +} + +// ============================================================ + +template<typename S> +TAO::Ret_UB_String_Argument_T<S>::Ret_UB_String_Argument_T (void) +{ +} + +template<typename S> +CORBA::Boolean +TAO::Ret_UB_String_Argument_T<S>::demarshal (TAO_InputCDR & cdr) +{ + return cdr >> this->x_; +} + +template<typename S> +void +TAO::Ret_UB_String_Argument_T<S>::add_to_interceptor (CORBA::Any * any) +{ + (*any) <<= this->x_; +} + +template<typename S> +TAO::Ret_UB_String_Argument_T<S>::operator S * () const +{ + return this->x_; +} + +// ============================================================ + +template<typename S> +TAO::In_UB_String_SArgument_T<S>::In_UB_String_SArgument_T (void) +{} + +template<typename S> +CORBA::Boolean +TAO::In_UB_String_SArgument_T<S>::marshal (TAO_OutputCDR &) +{ + return 1; +} + +template<typename S> +CORBA::Boolean +TAO::In_UB_String_SArgument_T<S>::demarshal (TAO_InputCDR &cdr) +{ + return cdr >> this->x_; +} + +template<typename S> +void +TAO::In_UB_String_SArgument_T<S>::add_to_interceptor (Dynamic::Parameter & p) +{ + p.argument <<= this->x_; + p.mode = CORBA::PARAM_IN; +} + +template<typename S> +TAO::In_UB_String_SArgument_T<S>::operator S * () const +{ + return this->x_; +} + +// =========================================================== + +template<typename S> +TAO::Inout_UB_String_SArgument_T<S>::Inout_UB_String_SArgument_T (void) +{} + +template<typename S> +CORBA::Boolean +TAO::Inout_UB_String_SArgument_T<S>::marshal (TAO_OutputCDR & cdr) +{ + return cdr << this->x_; +} + +template<typename S> +CORBA::Boolean +TAO::Inout_UB_String_SArgument_T<S>::demarshal (TAO_InputCDR & cdr) +{ + return cdr >> this->x_; +} + +template<typename S> +void +TAO::Inout_UB_String_SArgument_T<S>::add_to_interceptor ( + Dynamic::Parameter & p + ) +{ + p.argument <<= this->x_; + p.mode = CORBA::PARAM_INOUT; +} + +template<typename S> +TAO::Inout_UB_String_SArgument_T<S>::operator S *& () +{ + return this->x_; +} + +// ============================================================== + +template<typename S> +TAO::Out_UB_String_SArgument_T<S>::Out_UB_String_SArgument_T (void) +{} + +template<typename S> +CORBA::Boolean +TAO::Out_UB_String_SArgument_T<S>::marshal (TAO_OutputCDR &cdr) +{ + return cdr << this->x_; +} + +template<typename S> +CORBA::Boolean +TAO::Out_UB_String_SArgument_T<S>::demarshal (TAO_InputCDR &) +{ + return 1; +} + +template<typename S> +void +TAO::Out_UB_String_SArgument_T<S>::add_to_interceptor (Dynamic::Parameter &) +{ +} + +template<typename S> +TAO::Out_UB_String_SArgument_T<S>::operator S *& () +{ + return this->x_; +} + +// ============================================================ + +template<typename S> +TAO::Ret_UB_String_SArgument_T<S>::Ret_UB_String_SArgument_T (void) +{ +} + +template<typename S> +CORBA::Boolean +TAO::Ret_UB_String_SArgument_T<S>::marshal (TAO_OutputCDR & cdr) +{ + return cdr << this->x_; +} + +template<typename S> +void +TAO::Ret_UB_String_SArgument_T<S>::add_to_interceptor (CORBA::Any * any) +{ + (*any) <<= this->x_; +} + +template<typename S> +TAO::Ret_UB_String_SArgument_T<S>::operator S * () const +{ + return this->x_; +} + +template<typename S> +TAO::Ret_UB_String_SArgument_T<S>::operator S *& () +{ + return this->x_; +} + +#endif /* TAO_UB_STRING_ARGUMENT_T_C */ diff --git a/TAO/tao/UB_String_Argument_T.h b/TAO/tao/UB_String_Argument_T.h new file mode 100644 index 00000000000..9518e11226c --- /dev/null +++ b/TAO/tao/UB_String_Argument_T.h @@ -0,0 +1,247 @@ +// This may look like C, but it's really -*- C++ -*- + +//============================================================================= +/** + * @file String_Argument_T.h + * + * $Id$ + * + * @authors Jeff Parsons and Carlos O'Ryan + */ +//============================================================================= + + +#ifndef TAO_UB_STRING_ARGUMENT_T_H +#define TAO_UB_STRING_ARGUMENT_T_H + +#include "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Argument.h" + +namespace TAO +{ + /** + * @class In_UB_String_Argument_T + * + * @brief Template class for IN unbounded (w)string argument. + * + */ + template<typename S> + class In_UB_String_Argument_T : public Argument + { + public: + In_UB_String_Argument_T (S * const & x); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (Dynamic::Parameter &); + + private: + S * const & x_; + }; + + /** + * @class Inout_UB_String_Argument_T + * + * @brief Template class for INOUT unbounded (w)string argument. + * + */ + template<typename S> + class Inout_UB_String_Argument_T : public Argument + { + public: + Inout_UB_String_Argument_T (S *& x); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (Dynamic::Parameter &); + + private: + mutable S *& x_; + }; + + /** + * @class Out_UB_String_Argument_T + * + * @brief Template class for INOUT unbounded (w)string argument. + * + */ + template<typename S> + class Out_UB_String_Argument_T : public Argument + { + public: + Out_UB_String_Argument_T (S *& x); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (Dynamic::Parameter &); + + private: + mutable S *& x_; + }; + + /** + * @class Ret_UB_String_Argument_T + * + * @brief Template class for return stub value of ub (w)string argument. + * + */ + template<typename S> + class Ret_UB_String_Argument_T : public Stub_Retval + { + public: + Ret_UB_String_Argument_T (void); + + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (CORBA::Any *); + + operator S * () const; + + private: + S * x_; + }; + + /** + * @class In_UB_String_SArgument_T + * + * @brief Template class for IN skeleton UB (w)string argument. + * + */ + template<typename S> + class In_UB_String_SArgument_T : public Argument + { + public: + In_UB_String_SArgument_T (void); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (Dynamic::Parameter &); + + operator S * () const; + + private: + S * x_; + }; + + /** + * @class Inout_UB_String_SArgument_T + * + * @brief Template class for INOUT skeleton UB (w)string argument. + * + */ + template<typename S> + class Inout_UB_String_SArgument_T : public Argument + { + public: + Inout_UB_String_SArgument_T (void); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (Dynamic::Parameter &); + + operator S *& (); + + private: + S * x_; + }; + + /** + * @class Out_UB_String_SArgument_T + * + * @brief Template class for INOUT skeleton UB (w)string argument. + * + */ + template<typename S> + class Out_UB_String_SArgument_T : public Argument + { + public: + Out_UB_String_SArgument_T (void); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void add_to_interceptor (Dynamic::Parameter &); + + operator S *& (); + + private: + S * x_; + }; + + /** + * @class Ret_UB_String_SArgument_T + * + * @brief Template class for return skeleton value of UB (w)string. + * + */ + template<typename S> + class Ret_UB_String_SArgument_T : public Skel_Retval + { + public: + Ret_UB_String_SArgument_T (void); + + virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual void add_to_interceptor (CORBA::Any *); + + operator S * () const; + operator S *& (); + + private: + S * x_; + }; + + /** + * @struct UB_String_Tag + * + * @brief Struct for basic IDL type arguments id tag. + * + */ + struct TAO_Export UB_String_Tag {}; + + /** + * @struct Basic_Arg_Traits_T + * + * @brief Template class for argument traits of basic IDL types. + * + */ + template<typename T, typename T_out> + struct UB_String_Arg_Traits_T + { + typedef T * ret_type; + typedef const T * in_type; + typedef T *& inout_type; + typedef T_out out_type; + + typedef In_UB_String_Argument_T<T> in_arg_val; + typedef Inout_UB_String_Argument_T<T> inout_arg_val; + typedef Out_UB_String_Argument_T<T> out_arg_val; + typedef Ret_UB_String_Argument_T<T> stub_ret_val; + + typedef In_UB_String_SArgument_T<T> in_sarg_val; + typedef Inout_UB_String_SArgument_T<T> inout_sarg_val; + typedef Out_UB_String_SArgument_T<T> out_sarg_val; + typedef Ret_UB_String_SArgument_T<T> skel_ret_val; + + typedef UB_String_Tag idl_tag; + }; +}; + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "tao/UB_String_Argument_T.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) +#pragma implementation ("UB_String_Argument_T.cpp") +#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ + +#include "ace/post.h" + +#endif /* TAO_UB_STRING_ARGUMENT_T_H */ + diff --git a/TAO/tao/UB_String_Arguments.cpp b/TAO/tao/UB_String_Arguments.cpp new file mode 100644 index 00000000000..f112e2e243a --- /dev/null +++ b/TAO/tao/UB_String_Arguments.cpp @@ -0,0 +1,27 @@ +// $Id$ + +#include "tao/Special_Basic_Arguments.h" + +ACE_RCSID (tao, + Special_Basic_Arguments, + "$Id$") + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) + +template class TAO::Arg_Traits<ACE_InputCDR::to_string>; +template class TAO::Arg_Traits<ACE_InputCDR::to_wstring>; + +template class TAO::UB_String_Arg_Traits_T<CORBA::Char, CORBA::String_out>; +template class TAO::UB_String_Arg_Traits_T<CORBA::WChar, CORBA::WString_out>; + +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +# pragma instantiate TAO::Arg_Traits<ACE_InputCDR::to_string> +# pragma instantiate TAO::Arg_Traits<ACE_InputCDR::to_wstring> + +# pragma instantiate TAO::UB_String_Arg_Traits_T<CORBA::Char, \ + CORBA::String_out> +# pragma instantiate TAO::UB_String_Arg_Traits_T<CORBA::WChar, \ + CORBA::WString_out> + +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/tao/UB_String_Arguments.h b/TAO/tao/UB_String_Arguments.h new file mode 100644 index 00000000000..d3c779e2e1b --- /dev/null +++ b/TAO/tao/UB_String_Arguments.h @@ -0,0 +1,49 @@ +// This may look like C, but it's really -*- C++ -*- + +//============================================================================= +/** + * @file UB_String_Arguments.h + * + * $Id$ + * + * @authors Jeff Parsons and Carlos O'Ryan + */ +//============================================================================= + + +#ifndef TAO_UB_STRING_ARGUMENTS_H +#define TAO_UB_STRING_ARGUMENTS_H + +#include "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "UB_String_Argument_T.h" +#include "Arg_Traits_T.h" + +namespace TAO +{ + /** + * + * @brief Specializations for unbounded (w)strings + * + */ + + template<> + class Arg_Traits<ACE_InputCDR::to_string> + : public UB_String_Arg_Traits_T<CORBA::Char, CORBA::String_out> + { + }; + + template<> + class Arg_Traits<ACE_InputCDR::to_wstring> + : public UB_String_Arg_Traits_T<CORBA::WChar, CORBA::WString_out> + { + }; +}; + +#include "ace/post.h" + +#endif /* TAO_UB_STRING_ARGUMENTS_H */ |