00001
00002
00003 #ifndef TAO_SPECIAL_BASIC_ARGUMENT_T_CPP
00004 #define TAO_SPECIAL_BASIC_ARGUMENT_T_CPP
00005
00006 #include "tao/Special_Basic_Argument_T.h"
00007 #include "tao/CDR.h"
00008
00009 #if !defined (__ACE_INLINE__)
00010 #include "tao/Special_Basic_Argument_T.inl"
00011 #endif
00012
00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00014
00015 template<typename S,
00016 typename to_S,
00017 typename from_S,
00018 class Insert_Policy>
00019 CORBA::Boolean
00020 TAO::In_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::marshal (TAO_OutputCDR &cdr)
00021 {
00022 return cdr << from_S (this->x_);
00023 }
00024
00025 #if TAO_HAS_INTERCEPTORS == 1
00026
00027 template<typename S,
00028 typename to_S,
00029 typename from_S,
00030 class Insert_Policy>
00031 void
00032 TAO::In_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::interceptor_value (
00033 CORBA::Any *any) const
00034 {
00035 Insert_Policy::any_insert (any, from_S (this->x_));
00036 }
00037
00038 #endif
00039
00040 template<typename S,
00041 typename to_S,
00042 typename from_S,
00043 class Insert_Policy>
00044 TAO::In_Special_Basic_Clonable_Argument_T<S,to_S,from_S,Insert_Policy>::~In_Special_Basic_Clonable_Argument_T (void)
00045 {
00046 if (this->is_clone_)
00047 {
00048 S* tmp = const_cast<S*> (&this->x_);
00049 delete tmp;
00050 }
00051 }
00052
00053 template<typename S,
00054 typename to_S,
00055 typename from_S,
00056 class Insert_Policy>
00057 TAO::Argument*
00058 TAO::In_Special_Basic_Clonable_Argument_T<S,to_S,from_S,Insert_Policy>::clone (void)
00059 {
00060 S* clone_x = new S (this->x_);
00061 In_Special_Basic_Clonable_Argument_T<S,to_S,from_S,Insert_Policy>* clone_arg
00062 = new In_Special_Basic_Clonable_Argument_T<S,to_S,from_S,Insert_Policy> (*clone_x);
00063 clone_arg->is_clone_ = true;
00064 return clone_arg;
00065 }
00066
00067
00068
00069 template<typename S,
00070 typename to_S,
00071 typename from_S,
00072 class Insert_Policy>
00073 CORBA::Boolean
00074 TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::marshal (
00075 TAO_OutputCDR & cdr)
00076 {
00077 return cdr << from_S (this->x_);
00078 }
00079
00080 template<typename S,
00081 typename to_S,
00082 typename from_S,
00083 class Insert_Policy>
00084 CORBA::Boolean
00085 TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::demarshal (
00086 TAO_InputCDR & cdr
00087 )
00088 {
00089 return cdr >> to_S (this->x_);
00090 }
00091
00092 #if TAO_HAS_INTERCEPTORS == 1
00093
00094 template<typename S,
00095 typename to_S,
00096 typename from_S,
00097 class Insert_Policy>
00098 void
00099 TAO::Inout_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::interceptor_value (
00100 CORBA::Any *any) const
00101 {
00102 Insert_Policy::any_insert (any, from_S (this->x_));
00103 }
00104
00105 #endif
00106
00107
00108
00109 template<typename S,
00110 typename to_S,
00111 typename from_S,
00112 class Insert_Policy>
00113 CORBA::Boolean
00114 TAO::Out_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::demarshal (
00115 TAO_InputCDR & cdr
00116 )
00117 {
00118 return cdr >> to_S (this->x_);
00119 }
00120
00121 #if TAO_HAS_INTERCEPTORS == 1
00122
00123 template<typename S,
00124 typename to_S,
00125 typename from_S,
00126 class Insert_Policy>
00127 void
00128 TAO::Out_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::interceptor_value (
00129 CORBA::Any *any) const
00130 {
00131 Insert_Policy::any_insert (any, from_S (this->x_));
00132 }
00133
00134 #endif
00135
00136
00137
00138 template<typename S,
00139 typename to_S,
00140 typename from_S,
00141 class Insert_Policy>
00142 CORBA::Boolean
00143 TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::demarshal (
00144 TAO_InputCDR & cdr
00145 )
00146 {
00147 return cdr >> to_S (this->x_);
00148 }
00149
00150 #if TAO_HAS_INTERCEPTORS == 1
00151
00152 template<typename S,
00153 typename to_S,
00154 typename from_S,
00155 class Insert_Policy>
00156 void
00157 TAO::Ret_Special_Basic_Argument_T<S,to_S,from_S,Insert_Policy>::interceptor_value (
00158 CORBA::Any *any) const
00159 {
00160 Insert_Policy::any_insert (any, from_S (this->x_));
00161 }
00162
00163 #endif
00164
00165 TAO_END_VERSIONED_NAMESPACE_DECL
00166
00167 #endif
00168