00001
00002
00003 #ifndef TAO_FIXED_ARRAY_ARGUMENT_T_CPP
00004 #define TAO_FIXED_ARRAY_ARGUMENT_T_CPP
00005
00006 #include "tao/Fixed_Array_Argument_T.h"
00007
00008 #if !defined (__ACE_INLINE__)
00009 #include "tao/Fixed_Array_Argument_T.inl"
00010 #endif
00011
00012 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00013
00014 template<typename S_forany,
00015 class Insert_Policy>
00016 CORBA::Boolean
00017 TAO::In_Fixed_Array_Argument_T<S_forany,Insert_Policy>::marshal (
00018 TAO_OutputCDR & cdr
00019 )
00020 {
00021 return cdr << this->x_;
00022 }
00023
00024 #if TAO_HAS_INTERCEPTORS == 1
00025
00026 template<typename S_forany,
00027 class Insert_Policy>
00028 void
00029 TAO::In_Fixed_Array_Argument_T<S_forany,Insert_Policy>::
00030 interceptor_value (CORBA::Any *any) const
00031 {
00032 Insert_Policy::any_insert (any, this->x_);
00033 }
00034
00035 #endif
00036
00037
00038
00039 template<typename S_forany,
00040 class Insert_Policy>
00041 CORBA::Boolean
00042 TAO::Inout_Fixed_Array_Argument_T<S_forany,Insert_Policy>::marshal (
00043 TAO_OutputCDR & cdr
00044 )
00045 {
00046 return cdr << this->x_;
00047 }
00048
00049 template<typename S_forany,
00050 class Insert_Policy>
00051 CORBA::Boolean
00052 TAO::Inout_Fixed_Array_Argument_T<S_forany,Insert_Policy>::demarshal (
00053 TAO_InputCDR & cdr
00054 )
00055 {
00056 return cdr >> this->x_;
00057 }
00058
00059 #if TAO_HAS_INTERCEPTORS == 1
00060
00061 template<typename S_forany,
00062 class Insert_Policy>
00063 void
00064 TAO::Inout_Fixed_Array_Argument_T<S_forany,Insert_Policy>::
00065 interceptor_value (CORBA::Any *any) const
00066 {
00067 Insert_Policy::any_insert (any, this->x_);
00068 }
00069
00070 #endif
00071
00072
00073
00074 template<typename S_forany,
00075 class Insert_Policy>
00076 CORBA::Boolean
00077 TAO::Out_Fixed_Array_Argument_T<S_forany,Insert_Policy>::demarshal (
00078 TAO_InputCDR & cdr)
00079 {
00080 return cdr >> this->x_;
00081 }
00082
00083 #if TAO_HAS_INTERCEPTORS == 1
00084
00085 template<typename S_forany,
00086 class Insert_Policy>
00087 void
00088 TAO::Out_Fixed_Array_Argument_T<S_forany,Insert_Policy>::
00089 interceptor_value (CORBA::Any *any) const
00090 {
00091 Insert_Policy::any_insert (any, this->x_);
00092 }
00093
00094 #endif
00095
00096
00097
00098 template<typename S_var,
00099 typename S_forany,
00100 class Insert_Policy>
00101 CORBA::Boolean
00102 TAO::Ret_Fixed_Array_Argument_T<S_var,S_forany,Insert_Policy>::
00103 demarshal (TAO_InputCDR & cdr)
00104 {
00105 typedef TAO::Array_Traits<S_forany> ARRAY_TRAITS;
00106 typename S_forany::_slice_type * tmp_ptr = 0;
00107 ACE_ALLOCATOR_RETURN (tmp_ptr,
00108 ARRAY_TRAITS::alloc (),
00109 false);
00110 this->x_ = tmp_ptr;
00111 S_forany tmp (this->x_.ptr ());
00112 return cdr >> tmp;
00113 }
00114
00115 #if TAO_HAS_INTERCEPTORS == 1
00116
00117 template<typename S_var,
00118 typename S_forany,
00119 class Insert_Policy>
00120 void
00121 TAO::Ret_Fixed_Array_Argument_T<S_var,S_forany,Insert_Policy>::
00122 interceptor_value (CORBA::Any *any) const
00123 {
00124 Insert_Policy::any_insert (any, S_forany (this->x_.ptr ()));
00125 }
00126
00127 #endif
00128
00129 TAO_END_VERSIONED_NAMESPACE_DECL
00130
00131 #endif