00001
00002
00003 #ifndef TAO_OBJECT_ARGUMENT_T_CPP
00004 #define TAO_OBJECT_ARGUMENT_T_CPP
00005
00006 #include "tao/Object_Argument_T.h"
00007
00008 #if !defined (__ACE_INLINE__)
00009 #include "tao/Object_Argument_T.inl"
00010 #endif
00011
00012 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00013
00014 template<typename S_ptr,
00015 class Insert_Policy>
00016 CORBA::Boolean
00017 TAO::In_Object_Argument_T<S_ptr,Insert_Policy>::marshal (TAO_OutputCDR &cdr)
00018 {
00019 return cdr << this->x_;
00020 }
00021
00022 #if TAO_HAS_INTERCEPTORS == 1
00023
00024 template<typename S_ptr,
00025 class Insert_Policy>
00026 void
00027 TAO::In_Object_Argument_T<S_ptr,Insert_Policy>::interceptor_value (CORBA::Any *any) const
00028 {
00029 Insert_Policy::any_insert (any, this->x_);
00030 }
00031
00032 #endif
00033
00034
00035
00036 template<typename S_ptr,
00037 typename S_traits,
00038 class Insert_Policy>
00039 CORBA::Boolean
00040 TAO::Inout_Object_Argument_T<S_ptr,S_traits,Insert_Policy>::marshal (TAO_OutputCDR &cdr)
00041 {
00042 return cdr << this->x_;
00043 }
00044
00045 template<typename S_ptr,
00046 typename S_traits,
00047 class Insert_Policy>
00048 CORBA::Boolean
00049 TAO::Inout_Object_Argument_T<S_ptr,S_traits,Insert_Policy>::demarshal (TAO_InputCDR & cdr)
00050 {
00051 S_traits::release (this->x_);
00052 return cdr >> this->x_;
00053 }
00054
00055 #if TAO_HAS_INTERCEPTORS == 1
00056
00057 template<typename S_ptr,
00058 typename S_traits,
00059 class Insert_Policy>
00060 void
00061 TAO::Inout_Object_Argument_T<S_ptr,S_traits,Insert_Policy>::interceptor_value (
00062 CORBA::Any *any) const
00063 {
00064 Insert_Policy::any_insert (any, this->x_);
00065 }
00066
00067 #endif
00068
00069
00070
00071 template<typename S_ptr,
00072 typename S_out,
00073 class Insert_Policy>
00074 CORBA::Boolean
00075 TAO::Out_Object_Argument_T<S_ptr,S_out,Insert_Policy>::demarshal (TAO_InputCDR & cdr)
00076 {
00077 return cdr >> this->x_;
00078 }
00079
00080 #if TAO_HAS_INTERCEPTORS == 1
00081
00082 template<typename S_ptr,
00083 typename S_out,
00084 class Insert_Policy>
00085 void
00086 TAO::Out_Object_Argument_T<S_ptr,S_out,Insert_Policy>::interceptor_value (
00087 CORBA::Any *any) const
00088 {
00089 Insert_Policy::any_insert (any, this->x_);
00090 }
00091
00092 #endif
00093
00094
00095
00096 template<typename S_ptr,
00097 typename S_var,
00098 class Insert_Policy>
00099 CORBA::Boolean
00100 TAO::Ret_Object_Argument_T<S_ptr,S_var,Insert_Policy>::demarshal (TAO_InputCDR & cdr)
00101 {
00102 return cdr >> this->x_.out ();
00103 }
00104
00105 #if TAO_HAS_INTERCEPTORS == 1
00106
00107 template<typename S_ptr,
00108 typename S_var,
00109 class Insert_Policy>
00110 void
00111 TAO::Ret_Object_Argument_T<S_ptr,S_var,Insert_Policy>::interceptor_value (
00112 CORBA::Any *any) const
00113 {
00114 Insert_Policy::any_insert (any, this->x_.in ());
00115 }
00116
00117 #endif
00118
00119 TAO_END_VERSIONED_NAMESPACE_DECL
00120
00121 #endif