3 //=============================================================================
5 * @file Fixed_Array_SArgument_T.h
7 * @authors Jeff Parsons, Carlos O'Ryan and Ossama Othman
9 //=============================================================================
12 #ifndef TAO_FIXED_ARRAY_SARGUMENT_T_H
13 #define TAO_FIXED_ARRAY_SARGUMENT_T_H
15 #include /**/ "ace/pre.h"
17 #include "tao/Argument.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 * @class In_Fixed_Array_SArgument_T
31 * @brief IN skeleton argument of fixed size element array.
34 template<typename S_forany
,
35 template <typename
> class Insert_Policy
>
36 class In_Fixed_Array_SArgument_T
: public InArgument
39 In_Fixed_Array_SArgument_T ();
41 virtual CORBA::Boolean
demarshal (TAO_InputCDR
&);
42 #if TAO_HAS_INTERCEPTORS == 1
43 virtual void interceptor_value (CORBA::Any
*any
) const;
44 #endif /* TAO_HAS_INTERCEPTORS == 1 */
45 typename
S_forany::_slice_type
const * arg () const;
48 mutable typename
S_forany::_array_type x_
;
52 * @class Inout_Fixed_Array_SArgument_T
54 * @brief INOUT skeleton argument of fixed size element array.
56 template<typename S_forany
,
57 template <typename
> class Insert_Policy
>
58 class Inout_Fixed_Array_SArgument_T
: public InoutArgument
61 Inout_Fixed_Array_SArgument_T ();
63 virtual CORBA::Boolean
marshal (TAO_OutputCDR
&cdr
);
64 virtual CORBA::Boolean
demarshal (TAO_InputCDR
&cdr
);
65 #if TAO_HAS_INTERCEPTORS == 1
66 virtual void interceptor_value (CORBA::Any
*any
) const;
67 #endif /* TAO_HAS_INTERCEPTORS == 1 */
68 typename
S_forany::_slice_type
* arg ();
71 mutable typename
S_forany::_array_type x_
;
75 * @class Out_Fixed_Array_SArgument_T
77 * @brief OUT skeleton argument of fixed size element array.
79 template<typename S_forany
,
80 template <typename
> class Insert_Policy
>
81 class Out_Fixed_Array_SArgument_T
: public OutArgument
84 Out_Fixed_Array_SArgument_T ();
86 virtual CORBA::Boolean
marshal (TAO_OutputCDR
&cdr
);
87 #if TAO_HAS_INTERCEPTORS == 1
88 virtual void interceptor_value (CORBA::Any
*any
) const;
89 #endif /* TAO_HAS_INTERCEPTORS == 1 */
90 typename
S_forany::_slice_type
* arg ();
93 mutable typename
S_forany::_array_type x_
;
97 * @class Ret_Fixed_Array_SArgument_T
99 * @brief Skeleton value of fixed size element array.
102 template<typename S_var
,
104 template <typename
> class Insert_Policy
>
105 class Ret_Fixed_Array_SArgument_T
: public RetArgument
108 Ret_Fixed_Array_SArgument_T ();
110 virtual CORBA::Boolean
marshal (TAO_OutputCDR
&cdr
);
111 #if TAO_HAS_INTERCEPTORS == 1
112 virtual void interceptor_value (CORBA::Any
*any
) const;
113 #endif /* TAO_HAS_INTERCEPTORS == 1 */
114 typename
S_forany::_slice_type
*& arg ();
121 * @struct Fixed_Array_Arg_Traits_T
123 * @brief Argument traits of fixed size element array.
126 template<typename T_var
,
128 template <typename
> class Insert_Policy
>
129 struct Fixed_Array_SArg_Traits_T
131 typedef typename
T_forany::_slice_type
* ret_type
;
132 typedef const typename
T_forany::_array_type in_type
;
133 typedef typename
T_forany::_array_type inout_type
;
134 typedef typename
T_forany::_array_type out_type
;
136 typedef In_Fixed_Array_SArgument_T
<T_forany
,
137 Insert_Policy
> in_arg_val
;
138 typedef Inout_Fixed_Array_SArgument_T
<T_forany
,
139 Insert_Policy
> inout_arg_val
;
140 typedef Out_Fixed_Array_SArgument_T
<T_forany
,
141 Insert_Policy
> out_arg_val
;
142 typedef Ret_Fixed_Array_SArgument_T
<T_var
,
144 Insert_Policy
> ret_val
;
146 // Typedefs corresponding to return value of arg() method in both
147 // the client and server side argument class templates.
148 typedef typename
T_forany::_slice_type
const * in_arg_type
;
149 typedef ret_type inout_arg_type
;
150 typedef ret_type out_arg_type
;
151 typedef ret_type
& ret_arg_type
;
155 TAO_END_VERSIONED_NAMESPACE_DECL
157 #if defined (__ACE_INLINE__)
158 #include "tao/PortableServer/Fixed_Array_SArgument_T.inl"
159 #endif /* __ACE_INLINE__ */
161 #include "tao/PortableServer/Fixed_Array_SArgument_T.cpp"
163 #include /**/ "ace/post.h"
165 #endif /* TAO_FIXED_ARRAY_SARGUMENT_T_H */