diff options
Diffstat (limited to 'TAO/tao/PortableServer/Var_Array_SArgument_T.h')
-rw-r--r-- | TAO/tao/PortableServer/Var_Array_SArgument_T.h | 43 |
1 files changed, 25 insertions, 18 deletions
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; }; }; |