Special_Basic_Argument_T.cpp

Go to the documentation of this file.
00001 // $Id: Special_Basic_Argument_T.cpp 74007 2006-08-14 12:50:21Z elliott_c $
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 /* __ACE_INLINE__ */
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 /* TAO_HAS_INTERCEPTORS */
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 /* TAO_HAS_INTERCEPTORS */
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 /* TAO_HAS_INTERCEPTORS */
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 /* TAO_HAS_INTERCEPTORS */
00164 
00165 TAO_END_VERSIONED_NAMESPACE_DECL
00166 
00167 #endif /* TAO_SPECIAL_BASIC_ARGUMENT_T_CPP */
00168 

Generated on Tue Feb 2 17:37:52 2010 for TAO by  doxygen 1.4.7