diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-06-20 03:26:56 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-06-20 03:26:56 +0000 |
commit | eb2ad7c29c77760d8b894e9f8ae9f5cdd7341b45 (patch) | |
tree | af43e395416d2147cc648e96d4e2c4f80d67a6c1 | |
parent | a3d0abb40d3a69b0b4383574c50601a485c19eb6 (diff) | |
download | ATCD-eb2ad7c29c77760d8b894e9f8ae9f5cdd7341b45.tar.gz |
ChangeLogTag: Thu Jun 19 22:24:47 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/tao/BD_String_Argument_T.cpp | 238 | ||||
-rw-r--r-- | TAO/tao/BD_String_Argument_T.h | 2 | ||||
-rw-r--r-- | TAO/tao/Basic_Argument_T.cpp | 95 | ||||
-rw-r--r-- | TAO/tao/Basic_Argument_T.h | 38 | ||||
-rw-r--r-- | TAO/tao/Special_Basic_Argument_T.cpp | 131 | ||||
-rw-r--r-- | TAO/tao/Special_Basic_Argument_T.h | 44 |
6 files changed, 322 insertions, 226 deletions
diff --git a/TAO/tao/BD_String_Argument_T.cpp b/TAO/tao/BD_String_Argument_T.cpp index 9323deed576..797f5ce16ab 100644 --- a/TAO/tao/BD_String_Argument_T.cpp +++ b/TAO/tao/BD_String_Argument_T.cpp @@ -37,7 +37,9 @@ TAO::In_BD_String_Argument_T<S,to_S,from_S,BOUND>::interceptor_param ( template<typename S, typename to_S, typename from_S, size_t BOUND> CORBA::Boolean -TAO::In_BD_String_Argument_T<S,to_S,from_S,BOUND>::interceptor_replace (CORBA::Any & any) +TAO::In_BD_String_Argument_T<S,to_S,from_S,BOUND>::interceptor_replace ( + CORBA::Any & any + ) { return any >>= to_S (this->x_, BOUND); } @@ -80,21 +82,30 @@ TAO::Inout_BD_String_Argument_T<S,to_S,from_S,BOUND>::interceptor_param ( template<typename S, typename to_S, typename from_S, size_t BOUND> CORBA::Boolean -TAO::Inout_BD_String_Argument_T<S,to_S,from_S,BOUND>::interceptor_replace (CORBA::Any & any) +TAO::Inout_BD_String_Argument_T<S,to_S,from_S,BOUND>::interceptor_replace ( + CORBA::Any & any + ) { return any >>= to_S (this->x_, BOUND); } // ============================================================== -template<typename S, typename S_out, typename to_S, typename from_S, size_t BOUND> -TAO::Out_BD_String_Argument_T<S,S_out,to_S,from_S,BOUND>::Out_BD_String_Argument_T ( - S *& x - ) - : x_ (x) +template<typename S, + typename S_out, + typename to_S, + typename from_S, + size_t BOUND> +TAO::Out_BD_String_Argument_T<S,S_out,to_S,from_S,BOUND>:: +Out_BD_String_Argument_T (S_out x) + : x_ (x.ptr ()) {} -template<typename S, typename S_out, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_out, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean TAO::Out_BD_String_Argument_T<S,S_out,to_S,from_S,BOUND>::demarshal ( TAO_InputCDR & cdr @@ -105,46 +116,70 @@ TAO::Out_BD_String_Argument_T<S,S_out,to_S,from_S,BOUND>::demarshal ( // ============================================================ -template<typename S, typename S_var, typename to_S, typename from_S, size_t BOUND> -TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::Ret_BD_String_Argument_T ( - void - ) +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> +TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>:: +Ret_BD_String_Argument_T (void) { } -template<typename S, typename S_var, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::demarshal ( TAO_InputCDR & cdr ) { - return cdr >> to_S (this->x_, BOUND); + return cdr >> to_S (this->x_.out (), BOUND); } -template<typename S, typename S_var, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> void TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::interceptor_result ( CORBA::Any * any ) { - (*any) <<= from_S (this->x_, BOUND); + (*any) <<= from_S (this->x_.in (), BOUND); } -template<typename S, typename S_var, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::interceptor_replace (CORBA::Any & any) +TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>:: +interceptor_replace (CORBA::Any & any) { - return any >>= to_S (this->x_, BOUND); + return any >>= to_S (this->x_.out (), BOUND); } -template<typename S, typename S_var, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> S * TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::excp (void) { return this->x_.ptr (); } -template<typename S, typename S_var, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> S * TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::retn (void) { @@ -153,24 +188,31 @@ TAO::Ret_BD_String_Argument_T<S,S_var,to_S,from_S,BOUND>::retn (void) // ============================================================ -template<typename S, typename to_S, typename from_S, size_t BOUND> -TAO::In_BD_String_SArgument_T<S,to_S,from_S,BOUND>::In_BD_String_SArgument_T ( - void - ) +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> +TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: +In_BD_String_SArgument_T (void) {} template<typename S, typename to_S, typename from_S, size_t BOUND> CORBA::Boolean -TAO::In_BD_String_SArgument_T<S,to_S,from_S,BOUND>::demarshal ( +TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::demarshal ( TAO_InputCDR & cdr ) { return cdr >> to_S (this->x_.out (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> void -TAO::In_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_param ( +TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::interceptor_param ( Dynamic::Parameter & p ) { @@ -178,128 +220,196 @@ TAO::In_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_param ( p.mode = CORBA::PARAM_IN; } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::In_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_replace (CORBA::Any & any) +TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: +interceptor_replace (CORBA::Any & any) { return any >>= to_S (this->x_.out (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> const S * -TAO::In_BD_String_SArgument_T<S,to_S,from_S,BOUND>::arg (void) const +TAO::In_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::arg (void) const { return this->x_.in (); } // =========================================================== -template<typename S, typename to_S, typename from_S, size_t BOUND> -TAO::Inout_BD_String_SArgument_T<S,to_S,from_S,BOUND>:: +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> +TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: Inout_BD_String_SArgument_T (void) {} -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Inout_BD_String_SArgument_T<S,to_S,from_S,BOUND>::marshal ( +TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::marshal ( TAO_OutputCDR & cdr ) { return cdr << from_S (this->x_.in (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Inout_BD_String_SArgument_T<S,to_S,from_S,BOUND>::demarshal ( +TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::demarshal ( TAO_InputCDR & cdr ) { return cdr >> to_S (this->x_.out (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> void -TAO::Inout_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_param ( - Dynamic::Parameter & p - ) +TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: +interceptor_param (Dynamic::Parameter & p) { p.argument <<= from_S (this->x_.in (), BOUND); p.mode = CORBA::PARAM_INOUT; } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Inout_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_replace (CORBA::Any & any) +TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: +interceptor_replace (CORBA::Any & any) { return any >>= to_S (this->x_.in (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> S *& -TAO::Inout_BD_String_SArgument_T<S,to_S,from_S,BOUND>::arg (void) +TAO::Inout_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::arg (void) { return this->x_.inout (); } // ============================================================== -template<typename S, typename to_S, typename from_S, size_t BOUND> -TAO::Out_BD_String_SArgument_T<S,to_S,from_S,BOUND>:: +template<typename S, + typename S_var, + typename S_out, + typename to_S, + typename from_S, + size_t BOUND> +TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND>:: Out_BD_String_SArgument_T (void) {} -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename S_out, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Out_BD_String_SArgument_T<S,to_S,from_S,BOUND>::marshal ( +TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND>::marshal ( TAO_OutputCDR &cdr ) { return cdr << from_S (this->x_.in (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename S_out, + typename to_S, + typename from_S, + size_t BOUND> S_out -TAO::Out_BD_String_SArgument_T<S,to_S,from_S,BOUND>::arg (void) +TAO::Out_BD_String_SArgument_T<S,S_var,S_out,to_S,from_S,BOUND>::arg (void) { return this->x_.out (); } // ============================================================ -template<typename S, typename to_S, typename from_S, size_t BOUND> -TAO::Ret_BD_String_SArgument_T<S,to_S,from_S,BOUND>:: +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> +TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: Ret_BD_String_SArgument_T (void) { } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Ret_BD_String_SArgument_T<S,to_S,from_S,BOUND>::marshal ( +TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::marshal ( TAO_OutputCDR & cdr ) { return cdr << from_S (this->x_.in (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> void -TAO::Ret_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_result ( - CORBA::Any * any - ) +TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: +interceptor_result (CORBA::Any * any) { (*any) <<= from_S (this->x_.in (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> CORBA::Boolean -TAO::Ret_BD_String_SArgument_T<S,to_S,from_S,BOUND>::interceptor_replace (CORBA::Any & any) +TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>:: +interceptor_replace (CORBA::Any & any) { return any >>= to_S (this->x_.out (), BOUND); } -template<typename S, typename to_S, typename from_S, size_t BOUND> +template<typename S, + typename S_var, + typename to_S, + typename from_S, + size_t BOUND> S *& -TAO::Ret_BD_String_SArgument_T<S,to_S,from_S,BOUND>::arg (void) +TAO::Ret_BD_String_SArgument_T<S,S_var,to_S,from_S,BOUND>::arg (void) { return this->x_.out (); } diff --git a/TAO/tao/BD_String_Argument_T.h b/TAO/tao/BD_String_Argument_T.h index 58a6733fbce..35b3faca420 100644 --- a/TAO/tao/BD_String_Argument_T.h +++ b/TAO/tao/BD_String_Argument_T.h @@ -141,7 +141,7 @@ namespace TAO const S * arg (void) const; private: - S * x_; + S_var x_; }; /** diff --git a/TAO/tao/Basic_Argument_T.cpp b/TAO/tao/Basic_Argument_T.cpp index e102408930d..2416bfe041d 100644 --- a/TAO/tao/Basic_Argument_T.cpp +++ b/TAO/tao/Basic_Argument_T.cpp @@ -22,13 +22,6 @@ TAO::In_Basic_Argument_T<S>::marshal (TAO_OutputCDR & cdr) } template<typename S> -CORBA::Boolean -TAO::In_Basic_Argument_T<S>::demarshal (TAO_InputCDR &) -{ - return 1; -} - -template<typename S> void TAO::In_Basic_Argument_T<S>::interceptor_param (Dynamic::Parameter & p) { @@ -36,6 +29,13 @@ TAO::In_Basic_Argument_T<S>::interceptor_param (Dynamic::Parameter & p) p.mode = CORBA::PARAM_IN; } +template<typename S> +CORBA::Boolean +TAO::In_Basic_Argument_T<S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= this->x_; +} + // =========================================================== template<typename S> @@ -65,6 +65,13 @@ TAO::Inout_Basic_Argument_T<S>::interceptor_param (Dynamic::Parameter & p) p.mode = CORBA::PARAM_INOUT; } +template<typename S> +CORBA::Boolean +TAO::Inout_Basic_Argument_T<S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= this->x_; +} + // ============================================================== template<typename S> @@ -74,13 +81,6 @@ TAO::Out_Basic_Argument_T<S>::Out_Basic_Argument_T (S & x) template<typename S> CORBA::Boolean -TAO::Out_Basic_Argument_T<S>::marshal (TAO_OutputCDR &) -{ - return 1; -} - -template<typename S> -CORBA::Boolean TAO::Out_Basic_Argument_T<S>::demarshal (TAO_InputCDR & cdr) { return cdr >> this->x_; @@ -95,13 +95,6 @@ TAO::Ret_Basic_Argument_T<S>::Ret_Basic_Argument_T (void) template<typename S> CORBA::Boolean -TAO::Ret_Basic_Argument_T<S>::marshal (TAO_OutputCDR &) -{ - return 1; -} - -template<typename S> -CORBA::Boolean TAO::Ret_Basic_Argument_T<S>::demarshal (TAO_InputCDR & cdr) { return cdr >> this->x_; @@ -115,7 +108,15 @@ TAO::Ret_Basic_Argument_T<S>::interceptor_result (CORBA::Any * any) } template<typename S> -TAO::Ret_Basic_Argument_T<S>::operator S () const +CORBA::Boolean +TAO::Ret_Basic_Argument_T<S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= this->x_; +} + +template<typename S> +S +TAO::Ret_Basic_Argument_T<S>::excp (void) { return this->x_; } @@ -135,13 +136,6 @@ TAO::In_Basic_SArgument_T<S>::In_Basic_SArgument_T (void) template<typename S> CORBA::Boolean -TAO::In_Basic_SArgument_T<S>::marshal (TAO_OutputCDR &) -{ - return 1; -} - -template<typename S> -CORBA::Boolean TAO::In_Basic_SArgument_T<S>::demarshal (TAO_InputCDR &cdr) { return cdr >> this->x_; @@ -156,7 +150,15 @@ TAO::In_Basic_SArgument_T<S>::interceptor_param (Dynamic::Parameter & p) } template<typename S> -TAO::In_Basic_SArgument_T<S>::operator S () const +CORBA::Boolean +TAO::In_Basic_SArgument_T<S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= this->x_; +} + +template<typename S> +S +TAO::In_Basic_SArgument_T<S>::arg (void) const { return this->x_; } @@ -190,7 +192,15 @@ TAO::Inout_Basic_SArgument_T<S>::interceptor_param (Dynamic::Parameter & p) } template<typename S> -TAO::Inout_Basic_SArgument_T<S>::operator S & () +CORBA::Boolean +TAO::Inout_Basic_SArgument_T<S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= this->x_; +} + +template<typename S> +S & +TAO::Inout_Basic_SArgument_T<S>::arg (void) { return this->x_; } @@ -209,10 +219,10 @@ TAO::Out_Basic_SArgument_T<S>::marshal (TAO_OutputCDR &cdr) } template<typename S> -CORBA::Boolean -TAO::Out_Basic_SArgument_T<S>::demarshal (TAO_InputCDR &) +S & +TAO::Out_Basic_SArgument_T<S>::arg (void) { - return 1; + return this->x_; } // ============================================================ @@ -230,13 +240,6 @@ TAO::Ret_Basic_SArgument_T<S>::marshal (TAO_OutputCDR & cdr) } template<typename S> -CORBA::Boolean -TAO::Ret_Basic_SArgument_T<S>::demarshal (TAO_InputCDR &) -{ - return 1; -} - -template<typename S> void TAO::Ret_Basic_SArgument_T<S>::interceptor_result (CORBA::Any * any) { @@ -244,15 +247,15 @@ TAO::Ret_Basic_SArgument_T<S>::interceptor_result (CORBA::Any * any) } template<typename S> -TAO::Ret_Basic_SArgument_T<S> & -TAO::Ret_Basic_SArgument_T<S>::operator= (const S & rhs) +CORBA::Boolean +TAO::Ret_Basic_SArgument_T<S>::interceptor_replace (CORBA::Any & any) { - this->x_ = rhs; - return *this; + return any >>= this->x_; } template<typename S> -TAO::Ret_Basic_SArgument_T<S>::operator S () const +S & +TAO::Ret_Basic_SArgument_T<S>::arg (void) { return this->x_; } diff --git a/TAO/tao/Basic_Argument_T.h b/TAO/tao/Basic_Argument_T.h index af3fe4f7894..9dcae9db3fb 100644 --- a/TAO/tao/Basic_Argument_T.h +++ b/TAO/tao/Basic_Argument_T.h @@ -37,8 +37,9 @@ namespace TAO In_Basic_Argument_T (S const & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); - virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void interceptor_param (Dynamic::Parameter &s); + + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); private: S const & x_; @@ -58,7 +59,9 @@ namespace TAO virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void interceptor_param (Dynamic::Parameter &s); + + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); private: mutable S & x_; @@ -76,7 +79,6 @@ namespace TAO public: Out_Basic_Argument_T (S & x); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); private: @@ -95,11 +97,12 @@ namespace TAO public: Ret_Basic_Argument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void interceptor_result (CORBA::Any *); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); - operator S () const; + S excp (void); S retn (void); private: @@ -118,11 +121,12 @@ namespace TAO public: In_Basic_SArgument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void interceptor_param (Dynamic::Parameter &s); - operator S () const; + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); + + S arg (void) const; private: S x_; @@ -142,9 +146,11 @@ namespace TAO virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void interceptor_param (Dynamic::Parameter &s); - operator S & (); + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); + + S & arg (void); private: S x_; @@ -163,10 +169,8 @@ namespace TAO Out_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); - virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (CORBA::Any &); - operator S & (); + S & arg (void); private: S x_; @@ -185,11 +189,11 @@ namespace TAO Ret_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); - virtual CORBA::Boolean demarshal (TAO_InputCDR &); + virtual void interceptor_result (CORBA::Any *); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); - Ret_Basic_SArgument_T<S> & operator= (const S & rhs); - operator S () const; + S & arg (void); private: S x_; diff --git a/TAO/tao/Special_Basic_Argument_T.cpp b/TAO/tao/Special_Basic_Argument_T.cpp index 0f4b7c81c29..44b11743bbc 100644 --- a/TAO/tao/Special_Basic_Argument_T.cpp +++ b/TAO/tao/Special_Basic_Argument_T.cpp @@ -24,15 +24,8 @@ TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::marshal (TAO_OutputCDR & cdr) } template<typename S, typename to_S, typename from_S> -CORBA::Boolean -TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::demarshal (TAO_InputCDR &) -{ - return 1; -} - -template<typename S, typename to_S, typename from_S> void -TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( +TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::interceptor_param ( Dynamic::Parameter & p ) { @@ -40,6 +33,13 @@ TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( p.mode = CORBA::PARAM_IN; } +template<typename S, typename to_S, typename from_S> +CORBA::Boolean +TAO::In_Special_Basic_Argument_T<S,to_S,from_S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= to_S (this->x_); +} + // =========================================================== template<typename S, typename to_S, typename from_S> @@ -68,7 +68,7 @@ TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>::demarshal ( template<typename S, typename to_S, typename from_S> void -TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( +TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>::interceptor_param ( Dynamic::Parameter & p ) { @@ -76,6 +76,13 @@ TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( p.mode = CORBA::PARAM_INOUT; } +template<typename S, typename to_S, typename from_S> +CORBA::Boolean +TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= to_S (this->x_); +} + // ============================================================== template<typename S, typename to_S, typename from_S> @@ -86,13 +93,6 @@ Out_Special_Basic_Argument_T (S & x) template<typename S, typename to_S, typename from_S> CORBA::Boolean -TAO::Out_Special_Basic_Argument_T<S,to_S,from_S>::marshal (TAO_OutputCDR &) -{ - return 1; -} - -template<typename S, typename to_S, typename from_S> -CORBA::Boolean TAO::Out_Special_Basic_Argument_T<S,to_S,from_S>::demarshal ( TAO_InputCDR & cdr ) @@ -100,14 +100,6 @@ TAO::Out_Special_Basic_Argument_T<S,to_S,from_S>::demarshal ( return cdr >> to_S (this->x_); } -template<typename S, typename to_S, typename from_S> -void -TAO::Out_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( - Dynamic::Parameter & - ) -{ -} - // ============================================================ template<typename S, typename to_S, typename from_S> @@ -118,15 +110,6 @@ Ret_Special_Basic_Argument_T (void) template<typename S, typename to_S, typename from_S> CORBA::Boolean -TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::marshal ( - TAO_OutputCDR & - ) -{ - return 1; -} - -template<typename S, typename to_S, typename from_S> -CORBA::Boolean TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::demarshal ( TAO_InputCDR & cdr ) @@ -136,7 +119,7 @@ TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::demarshal ( template<typename S, typename to_S, typename from_S> void -TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( +TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::interceptor_result ( CORBA::Any * any ) { @@ -144,7 +127,15 @@ TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::add_to_interceptor ( } template<typename S, typename to_S, typename from_S> -TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::operator S () +CORBA::Boolean +TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= to_S (this->x_); +} + +template<typename S, typename to_S, typename from_S> +S +TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S>::excp (void) { return this->x_; } @@ -165,13 +156,6 @@ In_Special_Basic_SArgument_T (void) template<typename S, typename to_S, typename from_S> CORBA::Boolean -TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::marshal (TAO_OutputCDR &) -{ - return 1; -} - -template<typename S, typename to_S, typename from_S> -CORBA::Boolean TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::demarshal ( TAO_InputCDR & cdr ) @@ -181,7 +165,7 @@ TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::demarshal ( template<typename S, typename to_S, typename from_S> void -TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( +TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::interceptor_param ( Dynamic::Parameter & p ) { @@ -190,7 +174,15 @@ TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( } template<typename S, typename to_S, typename from_S> -TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::operator S () const +CORBA::Boolean +TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= to_S (this->x_); +} + +template<typename S, typename to_S, typename from_S> +S +TAO::In_Special_Basic_SArgument_T<S,to_S,from_S>::arg (void) const { return this->x_; } @@ -222,7 +214,7 @@ TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::demarshal ( template<typename S, typename to_S, typename from_S> void -TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( +TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::interceptor_param ( Dynamic::Parameter & p ) { @@ -231,7 +223,15 @@ TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( } template<typename S, typename to_S, typename from_S> -TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::operator S & () +CORBA::Boolean +TAO::Inout_Special_Basic_SArgument_T <S,to_S,from_S>::interceptor_replace (CORBA::Any & any) +{ + return any >>= to_S (this->x_); +} + +template<typename S, typename to_S, typename from_S> +S & +TAO::Inout_Special_Basic_SArgument_T<S,to_S,from_S>::arg (void) { return this->x_; } @@ -253,22 +253,8 @@ TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>::marshal ( } template<typename S, typename to_S, typename from_S> -CORBA::Boolean -TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>::demarshal (TAO_InputCDR &) -{ - return 1; -} - -template<typename S, typename to_S, typename from_S> -void -TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( - Dynamic::Parameter & - ) -{ -} - -template<typename S, typename to_S, typename from_S> -TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>::operator S & () +S & +TAO::Out_Special_Basic_SArgument_T<S,to_S,from_S>::arg (void) { return this->x_; } @@ -291,17 +277,8 @@ TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::marshal ( } template<typename S, typename to_S, typename from_S> -CORBA::Boolean -TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::demarshal ( - TAO_InputCDR & - ) -{ - return 1; -} - -template<typename S, typename to_S, typename from_S> void -TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( +TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::interceptor_result ( CORBA::Any * any ) { @@ -309,15 +286,15 @@ TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::add_to_interceptor ( } template<typename S, typename to_S, typename from_S> -TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S> & -TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::operator= (S & rhs) +CORBA::Boolean +TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::interceptor_replace (CORBA::Any & any) { - this->x_ = rhs; - return *this; + return any >>= to_S (this->x_); } template<typename S, typename to_S, typename from_S> -TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::operator S () const +S & +TAO::Ret_Special_Basic_SArgument_T<S,to_S,from_S>::arg (void) { return this->x_; } diff --git a/TAO/tao/Special_Basic_Argument_T.h b/TAO/tao/Special_Basic_Argument_T.h index 1f320a2c754..3e3214588f6 100644 --- a/TAO/tao/Special_Basic_Argument_T.h +++ b/TAO/tao/Special_Basic_Argument_T.h @@ -21,7 +21,6 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "tao/Argument.h" -#include "tao/DynamicC.h" namespace TAO { @@ -38,8 +37,9 @@ namespace TAO In_Special_Basic_Argument_T (S const & x); virtual CORBA::Boolean marshal (TAO_OutputCDR &); - virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (Dynamic::Parameter &); + + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); private: S const & x_; @@ -59,7 +59,9 @@ namespace TAO virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (Dynamic::Parameter &); + + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); private: mutable S & x_; @@ -77,9 +79,7 @@ namespace TAO public: Out_Special_Basic_Argument_T (S & x); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (Dynamic::Parameter &); private: mutable S & x_; @@ -97,11 +97,12 @@ namespace TAO public: Ret_Special_Basic_Argument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (CORBA::Any *); - operator S (); + virtual void interceptor_result (CORBA::Any *); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); + + S excp (void); S retn (void); private: @@ -120,11 +121,12 @@ namespace TAO public: In_Special_Basic_SArgument_T (void); - virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (Dynamic::Parameter &); - operator S () const; + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); + + S arg (void) const; private: S x_; @@ -144,9 +146,11 @@ namespace TAO virtual CORBA::Boolean marshal (TAO_OutputCDR &); virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (Dynamic::Parameter &); - operator S & (); + virtual void interceptor_param (Dynamic::Parameter &); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); + + S & arg (void); private: S x_; @@ -165,10 +169,8 @@ namespace TAO Out_Special_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); - virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (Dynamic::Parameter &); - operator S & (); + S & arg (void); private: S x_; @@ -187,11 +189,11 @@ namespace TAO Ret_Special_Basic_SArgument_T (void); virtual CORBA::Boolean marshal (TAO_OutputCDR &); - virtual CORBA::Boolean demarshal (TAO_InputCDR &); - virtual void add_to_interceptor (CORBA::Any *); - Ret_Special_Basic_SArgument_T<S,to_S,from_S> & operator= (S & rhs); - operator S () const; + virtual void interceptor_result (CORBA::Any *); + virtual CORBA::Boolean interceptor_replace (CORBA::Any &); + + S & arg (void); private: S x_; |