diff options
Diffstat (limited to 'TAO/tao/PortableServer/BD_String_SArgument_T.h')
-rw-r--r-- | TAO/tao/PortableServer/BD_String_SArgument_T.h | 78 |
1 files changed, 30 insertions, 48 deletions
diff --git a/TAO/tao/PortableServer/BD_String_SArgument_T.h b/TAO/tao/PortableServer/BD_String_SArgument_T.h index 4ad82f430bc..e4cd49d1ab6 100644 --- a/TAO/tao/PortableServer/BD_String_SArgument_T.h +++ b/TAO/tao/PortableServer/BD_String_SArgument_T.h @@ -23,6 +23,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "tao/Argument.h" +#include "tao/Any_Insert_Policy_T.h" namespace TAO { @@ -36,15 +37,16 @@ namespace TAO typename S_var, typename to_S, typename from_S, - size_t BOUND> - class In_BD_String_SArgument_T : public Argument + size_t BOUND, + typename Insert_Policy> + class In_BD_String_SArgument_T : public InArgument, private Insert_Policy { public: In_BD_String_SArgument_T (void); virtual CORBA::Boolean demarshal (TAO_InputCDR &); #if TAO_HAS_INTERCEPTORS == 1 - virtual void interceptor_param (Dynamic::Parameter &); + virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ const S * arg (void) const; @@ -62,16 +64,17 @@ namespace TAO typename S_var, typename to_S, typename from_S, - size_t BOUND> - class Inout_BD_String_SArgument_T : public Argument + size_t BOUND, + typename Insert_Policy> + class Inout_BD_String_SArgument_T : public InoutArgument, private Insert_Policy { public: Inout_BD_String_SArgument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr); virtual CORBA::Boolean demarshal (TAO_InputCDR &); #if TAO_HAS_INTERCEPTORS == 1 - virtual void interceptor_param (Dynamic::Parameter &); + virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ S *& arg (void); @@ -90,15 +93,16 @@ namespace TAO typename S_out, typename to_S, typename from_S, - size_t BOUND> - class Out_BD_String_SArgument_T : public Argument + size_t BOUND, + typename Insert_Policy> + class Out_BD_String_SArgument_T : public OutArgument, private Insert_Policy { public: Out_BD_String_SArgument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr); #if TAO_HAS_INTERCEPTORS == 1 - virtual void interceptor_param (Dynamic::Parameter &); + virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ S *& arg (void); @@ -116,15 +120,16 @@ namespace TAO typename S_var, typename to_S, typename from_S, - size_t BOUND> - class Ret_BD_String_SArgument_T : public Argument + size_t BOUND, + typename Insert_Policy> + class Ret_BD_String_SArgument_T : public RetArgument, private Insert_Policy { public: Ret_BD_String_SArgument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); + virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr); #if TAO_HAS_INTERCEPTORS == 1 - virtual void interceptor_result (CORBA::Any *); + virtual void interceptor_value (CORBA::Any *any) const; #endif /* TAO_HAS_INTERCEPTORS == 1 */ S *& arg (void); @@ -143,7 +148,8 @@ namespace TAO typename T_out, typename to_T, typename from_T, - size_t BOUND> + size_t BOUND, + typename Insert_Policy> struct BD_String_SArg_Traits_T { typedef T * ret_type; @@ -155,23 +161,27 @@ namespace TAO T_var, to_T, from_T, - BOUND> in_arg_val; + BOUND, + Insert_Policy> in_arg_val; typedef Inout_BD_String_SArgument_T<T, T_var, to_T, from_T, - BOUND> inout_arg_val; + BOUND, + Insert_Policy> inout_arg_val; typedef Out_BD_String_SArgument_T<T, T_var, T_out, to_T, from_T, - BOUND> out_arg_val; + BOUND, + Insert_Policy> out_arg_val; typedef Ret_BD_String_SArgument_T<T, T_var, to_T, from_T, - BOUND> ret_val; + BOUND, + Insert_Policy> ret_val; // Typedefs corresponding to return value of arg() method in both // the client and server side argument class templates. @@ -181,34 +191,6 @@ namespace TAO typedef inout_type ret_arg_type; }; - - /** - * - * @brief Specializations for bounded (w)strings - * - */ - - template<size_t BOUND> - class BD_String_SArg_Traits - : public BD_String_SArg_Traits_T<CORBA::Char, - CORBA::String_var, - CORBA::String_out, - ACE_InputCDR::to_string, - ACE_OutputCDR::from_string, - BOUND> - { - }; - - template<size_t BOUND> - class BD_WString_SArg_Traits - : public BD_String_SArg_Traits_T<CORBA::WChar, - CORBA::WString_var, - CORBA::WString_out, - ACE_InputCDR::to_wstring, - ACE_OutputCDR::from_wstring, - BOUND> - { - }; } #if defined (__ACE_INLINE__) |