00001
00002
00003 #ifndef TAO_VAR_SIZE_ARGUMENT_T_CPP
00004 #define TAO_VAR_SIZE_ARGUMENT_T_CPP
00005
00006 #include "tao/Var_Size_Argument_T.h"
00007
00008 #if !defined (__ACE_INLINE__)
00009 #include "tao/Var_Size_Argument_T.inl"
00010 #endif
00011
00012 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00013
00014 template<typename S,
00015 class Insert_Policy>
00016 CORBA::Boolean
00017 TAO::In_Var_Size_Argument_T<S,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,
00025 class Insert_Policy>
00026 void
00027 TAO::In_Var_Size_Argument_T<S,Insert_Policy>::interceptor_value (
00028 CORBA::Any *any
00029 ) const
00030 {
00031 Insert_Policy::any_insert (any, *this->x_);
00032 }
00033
00034 #endif
00035
00036
00037
00038 template<typename S,
00039 class Insert_Policy>
00040 CORBA::Boolean
00041 TAO::Inout_Var_Size_Argument_T<S,Insert_Policy>::marshal (
00042 TAO_OutputCDR &cdr
00043 )
00044 {
00045 return cdr << *this->x_;
00046 }
00047
00048 template<typename S,
00049 class Insert_Policy>
00050 CORBA::Boolean
00051 TAO::Inout_Var_Size_Argument_T<S,Insert_Policy>::demarshal (
00052 TAO_InputCDR & cdr
00053 )
00054 {
00055 return cdr >> *this->x_;
00056 }
00057
00058 #if TAO_HAS_INTERCEPTORS == 1
00059
00060 template<typename S,
00061 class Insert_Policy>
00062 void
00063 TAO::Inout_Var_Size_Argument_T<S,Insert_Policy>::interceptor_value (
00064 CORBA::Any *any
00065 ) const
00066 {
00067 Insert_Policy::any_insert (any, *this->x_);
00068 }
00069
00070 #endif
00071
00072
00073
00074 template<typename S,
00075 class Insert_Policy>
00076 CORBA::Boolean
00077 TAO::Out_Var_Size_Argument_T<S,Insert_Policy>::demarshal (
00078 TAO_InputCDR & cdr
00079 )
00080 {
00081 this->x_ = new S;
00082 return cdr >> *this->x_;
00083 }
00084
00085 #if TAO_HAS_INTERCEPTORS == 1
00086
00087 template<typename S,
00088 class Insert_Policy>
00089 void
00090 TAO::Out_Var_Size_Argument_T<S,Insert_Policy>::interceptor_value (
00091 CORBA::Any *any
00092 ) const
00093 {
00094 Insert_Policy::any_insert (any, *this->x_);
00095 }
00096
00097 #endif
00098
00099
00100
00101 template<typename S,
00102 class Insert_Policy>
00103 CORBA::Boolean
00104 TAO::Ret_Var_Size_Argument_T<S,Insert_Policy>::demarshal (
00105 TAO_InputCDR & cdr
00106 )
00107 {
00108 S * tmp = 0;
00109 ACE_NEW_RETURN (tmp,
00110 S (),
00111 0);
00112 this->x_ = tmp;
00113 return cdr >> this->x_.inout ();
00114 }
00115
00116 #if TAO_HAS_INTERCEPTORS == 1
00117
00118 template<typename S,
00119 class Insert_Policy>
00120 void
00121 TAO::Ret_Var_Size_Argument_T<S,Insert_Policy>::interceptor_value (
00122 CORBA::Any *any
00123 ) const
00124 {
00125 Insert_Policy::any_insert (any, this->x_.in ());
00126 }
00127
00128 #endif
00129
00130 TAO_END_VERSIONED_NAMESPACE_DECL
00131
00132 #endif