summaryrefslogtreecommitdiff
path: root/TAO/tao/Basic_Argument_T.h
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2005-08-19 08:02:52 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2005-08-19 08:02:52 +0000
commitd9e7859115ef1d5ec0f1c0a829b697354990a8a4 (patch)
tree384c03f0891bbd738983cd5477ac803253f7aaee /TAO/tao/Basic_Argument_T.h
parent03b65689794604a55162d73e8a5a4ccb5827b307 (diff)
downloadATCD-d9e7859115ef1d5ec0f1c0a829b697354990a8a4.tar.gz
ChangeLogTag Fri Aug 19 07:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/Basic_Argument_T.h')
-rw-r--r--TAO/tao/Basic_Argument_T.h55
1 files changed, 31 insertions, 24 deletions
diff --git a/TAO/tao/Basic_Argument_T.h b/TAO/tao/Basic_Argument_T.h
index e1586de690a..cc7bcb388b3 100644
--- a/TAO/tao/Basic_Argument_T.h
+++ b/TAO/tao/Basic_Argument_T.h
@@ -29,16 +29,23 @@ namespace TAO
*
* @brief Template class for IN stub argument of basic IDL types.
*
+ * @todo
+ * We really would have liked to write the code as following but MSVC6 chokes
+ * on this, so we can only do this after x.5.1 has been dropped.
+ *
+ * template <typename S, template <typename T> class Insert_Policy>
+ * class In_Basic_Argument_T : public InArgument, private Insert_Policy <S>
+ * { .. };
*/
- template<typename S>
- class In_Basic_Argument_T : public Argument
+ template<typename S, typename Insert_Policy>
+ class In_Basic_Argument_T : public InArgument, private Insert_Policy
{
public:
In_Basic_Argument_T (S const & x);
- 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) const;
@@ -52,16 +59,16 @@ namespace TAO
* @brief Template class for INOUT stub argument of basic IDL types.
*
*/
- template<typename S>
- class Inout_Basic_Argument_T : public Argument
+ template<typename S, typename Insert_Policy>
+ class Inout_Basic_Argument_T : public InoutArgument, private Insert_Policy
{
public:
Inout_Basic_Argument_T (S & x);
- 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);
@@ -75,15 +82,15 @@ namespace TAO
* @brief Template class for OUT stub argument of basic IDL types.
*
*/
- template<typename S>
- class Out_Basic_Argument_T : public Argument
+ template<typename S, typename Insert_Policy>
+ class Out_Basic_Argument_T : public OutArgument, private Insert_Policy
{
public:
Out_Basic_Argument_T (S & x);
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);
@@ -97,15 +104,15 @@ namespace TAO
* @brief Template class for return stub value of basic IDL types.
*
*/
- template<typename S>
- class Ret_Basic_Argument_T : public Argument
+ template<typename S, typename Insert_Policy>
+ class Ret_Basic_Argument_T : public RetArgument, private Insert_Policy
{
public:
Ret_Basic_Argument_T (void);
virtual CORBA::Boolean demarshal (TAO_InputCDR &);
#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);
@@ -130,20 +137,20 @@ namespace TAO
* @brief Template class for stub argument traits of basic IDL types.
*
*/
- template<typename T>
+ template<typename T, typename Insert_Policy>
struct Basic_Arg_Traits_T
{
- typedef T ret_type;
- typedef T in_type;
- typedef T & inout_type;
- typedef T & out_type;
+ typedef T ret_type;
+ typedef T in_type;
+ typedef T & inout_type;
+ typedef T & out_type;
- typedef In_Basic_Argument_T<T> in_arg_val;
- typedef Inout_Basic_Argument_T<T> inout_arg_val;
- typedef Out_Basic_Argument_T<T> out_arg_val;
- typedef Ret_Basic_Argument_T<T> ret_val;
+ typedef In_Basic_Argument_T<T, Insert_Policy> in_arg_val;
+ typedef Inout_Basic_Argument_T<T, Insert_Policy> inout_arg_val;
+ typedef Out_Basic_Argument_T<T, Insert_Policy> out_arg_val;
+ typedef Ret_Basic_Argument_T<T, Insert_Policy> ret_val;
- typedef Basic_Tag idl_tag;
+ typedef Basic_Tag idl_tag;
};
}