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