diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2005-08-19 08:02:52 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2005-08-19 08:02:52 +0000 |
commit | d9e7859115ef1d5ec0f1c0a829b697354990a8a4 (patch) | |
tree | 384c03f0891bbd738983cd5477ac803253f7aaee /TAO/tao/Basic_Argument_T.h | |
parent | 03b65689794604a55162d73e8a5a4ccb5827b307 (diff) | |
download | ATCD-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.h | 55 |
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; }; } |