From a685dbd0e218572fdac32e7ab0d9ff3ea0e75a03 Mon Sep 17 00:00:00 2001 From: elliott_c Date: Mon, 14 Aug 2006 12:50:21 +0000 Subject: ChangeLogTag: Mon Aug 14 12:49:11 UTC 2006 Chad Elliott --- TAO/tao/UB_String_Argument_T.h | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'TAO/tao/UB_String_Argument_T.h') diff --git a/TAO/tao/UB_String_Argument_T.h b/TAO/tao/UB_String_Argument_T.h index 68868fccd6e..23a41badf69 100644 --- a/TAO/tao/UB_String_Argument_T.h +++ b/TAO/tao/UB_String_Argument_T.h @@ -45,10 +45,31 @@ namespace TAO #endif /* TAO_HAS_INTERCEPTORS == 1 */ const typename S_var::s_traits::char_type * arg (void) const; - private: + protected: typename S_var::s_traits::char_type const * x_; }; + /** + * @class In_UB_String_Clonable_Argument_T + * + * @brief Template class for IN unbounded (w)string argument. + * + */ + template + class In_UB_String_Clonable_Argument_T : + public In_UB_String_Argument_T + { + public: + In_UB_String_Clonable_Argument_T (const typename S_var::s_traits::char_type * x); + virtual ~In_UB_String_Clonable_Argument_T (void); + + virtual Argument* clone (void); + + private: + bool is_clone_; + }; + /** * @class Inout_UB_String_Argument_T * @@ -137,6 +158,8 @@ namespace TAO typedef typename T_var::s_traits::string_out out_type; typedef In_UB_String_Argument_T in_arg_val; + typedef In_UB_String_Clonable_Argument_T in_clonable_arg_val; typedef Inout_UB_String_Argument_T inout_arg_val; typedef Out_UB_String_Argument_T out_arg_val; typedef Ret_UB_String_Argument_T ret_val; -- cgit v1.2.1