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