Var_Size_Argument_T.cpp

Go to the documentation of this file.
00001 // Var_Size_Argument_T.cpp,v 1.8 2006/06/27 06:22:00 jwillemsen Exp
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 /* __ACE_INLINE__ */
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 /* TAO_HAS_INTERCEPTORS */
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 /* TAO_HAS_INTERCEPTORS */
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 /* TAO_HAS_INTERCEPTORS */
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 /* TAO_HAS_INTERCEPTORS */
00129 
00130 TAO_END_VERSIONED_NAMESPACE_DECL
00131 
00132 #endif /* TAO_VAR_SIZE_ARGUMENT_T_CPP */

Generated on Thu Nov 9 11:54:28 2006 for TAO by doxygen 1.3.6