// $Id$ #ifndef TAO_OBJECT_ARGUMENT_T_C #define TAO_OBJECT_ARGUMENT_T_C #include "tao/Object_Argument_T.h" ACE_RCSID (tao, Object_Argument_T, "$Id$") template TAO::In_Object_Argument_T::In_Object_Argument_T (S_ptr x) : x_ (x) {} template CORBA::Boolean TAO::In_Object_Argument_T::marshal (TAO_OutputCDR & cdr) { return cdr << this->x_; } template void TAO::In_Object_Argument_T::interceptor_param (Dynamic::Parameter & p) { p.argument <<= this->x_; p.mode = CORBA::PARAM_IN; } template CORBA::Boolean TAO::In_Object_Argument_T::interceptor_replace (CORBA::Any & any) { return any >>= this->x_; } // =========================================================== template TAO::Inout_Object_Argument_T::Inout_Object_Argument_T (S_ptr & x) : x_ (x) {} template CORBA::Boolean TAO::Inout_Object_Argument_T::marshal (TAO_OutputCDR & cdr) { return cdr << this->x_; } template CORBA::Boolean TAO::Inout_Object_Argument_T::demarshal (TAO_InputCDR & cdr) { CORBA::release (this->x_); return cdr >> this->x_; } template void TAO::Inout_Object_Argument_T::interceptor_param ( Dynamic::Parameter & p ) { p.argument <<= this->x_; p.mode = CORBA::PARAM_INOUT; } template CORBA::Boolean TAO::Inout_Object_Argument_T::interceptor_replace (CORBA::Any & any) { return any >>= this->x_; } // ============================================================== template TAO::Out_Object_Argument_T::Out_Object_Argument_T (S_out & x) : x_ (x.ptr ()) {} template CORBA::Boolean TAO::Out_Object_Argument_T::demarshal (TAO_InputCDR & cdr) { return cdr >> this->x_; } // ============================================================ template TAO::Ret_Object_Argument_T::Ret_Object_Argument_T (void) { } template CORBA::Boolean TAO::Ret_Object_Argument_T::demarshal (TAO_InputCDR & cdr) { return cdr >> this->x_.out (); } template void TAO::Ret_Object_Argument_T::interceptor_result (CORBA::Any * any) { (*any) <<= this->x_.in (); } template CORBA::Boolean TAO::Ret_Object_Argument_T::interceptor_replace ( CORBA::Any & any ) { return any >>= this->x_; } template S_ptr TAO::Ret_Object_Argument_T::excp (void) { return this->x_.ptr (); } template S_ptr TAO::Ret_Object_Argument_T::retn (void) { return this->x_._retn (); } // ============================================================ template TAO::In_Object_SArgument_T::In_Object_SArgument_T (void) {} template CORBA::Boolean TAO::In_Object_SArgument_T::demarshal (TAO_InputCDR &cdr) { return cdr >> this->x_.out (); } template void TAO::In_Object_SArgument_T::interceptor_param ( Dynamic::Parameter & p ) { p.argument <<= this->x_.in (); p.mode = CORBA::PARAM_IN; } template CORBA::Boolean TAO::In_Object_SArgument_T::interceptor_replace ( CORBA::Any & any ) { return any >>= this->x_.out (); } template S_ptr TAO::In_Object_SArgument_T::arg (void) const { return this->x_.in (); } // =========================================================== template TAO::Inout_Object_SArgument_T::Inout_Object_SArgument_T (void) {} template CORBA::Boolean TAO::Inout_Object_SArgument_T::marshal (TAO_OutputCDR & cdr) { return cdr << this->x_.in (); } template CORBA::Boolean TAO::Inout_Object_SArgument_T::demarshal (TAO_InputCDR & cdr) { return cdr >> this->x_.out (); } template void TAO::Inout_Object_SArgument_T::interceptor_param ( Dynamic::Parameter & p ) { p.argument <<= this->x_.in (); p.mode = CORBA::PARAM_INOUT; } template CORBA::Boolean TAO::Inout_Object_SArgument_T::interceptor_replace ( CORBA::Any & any ) { return any >>= this->x_.out (); } template S_ptr& TAO::Inout_Object_SArgument_T::arg (void) { return this->x_.inout (); } // ============================================================== template TAO::Out_Object_SArgument_T::Out_Object_SArgument_T ( void ) {} template CORBA::Boolean TAO::Out_Object_SArgument_T::marshal (TAO_OutputCDR &cdr) { return cdr << this->x_.in (); } template S_out TAO::Out_Object_SArgument_T::arg (void) { return this->x_.out (); } // ============================================================ template TAO::Ret_Object_SArgument_T::Ret_Object_SArgument_T (void) { } template CORBA::Boolean TAO::Ret_Object_SArgument_T::marshal (TAO_OutputCDR & cdr) { return cdr << this->x_.in (); } template void TAO::Ret_Object_SArgument_T::interceptor_result ( CORBA::Any * any ) { (*any) <<= this->x_.in (); } template CORBA::Boolean TAO::Ret_Object_SArgument_T::interceptor_replace ( CORBA::Any & any ) { return any >>= this->x_.out (); } template S_ptr & TAO::Ret_Object_SArgument_T::arg (void) { return this->x_.out (); } #endif /* TAO_OBJECT_ARGUMENT_T_C */