summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableServer/Var_Array_SArgument_T.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/PortableServer/Var_Array_SArgument_T.h')
-rw-r--r--TAO/tao/PortableServer/Var_Array_SArgument_T.h43
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;
};
};