00001
00002
00003
00004
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 ACE_INLINE
00008 TAO_Operation_Details::TAO_Operation_Details (const char *name,
00009 CORBA::ULong len,
00010 TAO::Argument **args,
00011 CORBA::ULong num,
00012 TAO::Exception_Data *data,
00013 CORBA::ULong count)
00014 : opname_ (name)
00015 , opname_len_ (len)
00016 , request_id_ (0)
00017 , response_flags_ (0)
00018 , addressing_mode_ (TAO_Target_Specification::Key_Addr)
00019 , args_ (args)
00020 , num_args_ (num)
00021 , ex_data_ (data)
00022 , ex_count_ (count)
00023 , use_stub_args_ (args ? true : false)
00024 #if TAO_HAS_INTERCEPTORS == 1
00025 , ft_expiration_time_ (0)
00026 , ft_retention_id_ (0)
00027 #endif
00028 , cac_ (0)
00029 , reply_dispatcher_ (0)
00030 {
00031 }
00032
00033 ACE_INLINE const char*
00034 TAO_Operation_Details::opname (void) const
00035 {
00036 return this->opname_;
00037 }
00038
00039 ACE_INLINE CORBA::ULong
00040 TAO_Operation_Details::opname_len (void) const
00041 {
00042 return this->opname_len_;
00043 }
00044
00045 ACE_INLINE CORBA::Boolean
00046 TAO_Operation_Details::argument_flag (void) const
00047 {
00048 return (this->num_args_ > 1);
00049 }
00050
00051 ACE_INLINE TAO_Service_Context &
00052 TAO_Operation_Details::request_service_context (void)
00053 {
00054 return this->request_service_info_;
00055 }
00056
00057 ACE_INLINE const TAO_Service_Context &
00058 TAO_Operation_Details::request_service_context (void) const
00059 {
00060 return this->request_service_info_;
00061 }
00062
00063 ACE_INLINE IOP::ServiceContextList &
00064 TAO_Operation_Details::request_service_info (void)
00065 {
00066 return this->request_service_context ().service_info ();
00067 }
00068
00069 ACE_INLINE const IOP::ServiceContextList &
00070 TAO_Operation_Details::request_service_info (void) const
00071 {
00072 return this->request_service_context ().service_info ();
00073 }
00074
00075 ACE_INLINE TAO_Service_Context &
00076 TAO_Operation_Details::reply_service_context (void)
00077 {
00078 return this->reply_service_info_;
00079 }
00080
00081 ACE_INLINE const TAO_Service_Context &
00082 TAO_Operation_Details::reply_service_context (void) const
00083 {
00084 return this->reply_service_info_;
00085 }
00086
00087 ACE_INLINE IOP::ServiceContextList &
00088 TAO_Operation_Details::reply_service_info (void)
00089 {
00090 return this->reply_service_context ().service_info ();
00091 }
00092
00093 ACE_INLINE const IOP::ServiceContextList &
00094 TAO_Operation_Details::reply_service_info (void) const
00095 {
00096 return this->reply_service_context ().service_info ();
00097 }
00098
00099 ACE_INLINE void
00100 TAO_Operation_Details::reset_request_service_info (void)
00101 {
00102 this->request_service_context ().service_info ().length (0);
00103 }
00104 ACE_INLINE void
00105 TAO_Operation_Details::reset_reply_service_info (void)
00106 {
00107 this->reply_service_context ().service_info ().length (0);
00108 }
00109
00110 ACE_INLINE void
00111 TAO_Operation_Details::request_id (CORBA::ULong id)
00112 {
00113 this->request_id_ = id;
00114 }
00115
00116 ACE_INLINE CORBA::ULong
00117 TAO_Operation_Details::request_id (void) const
00118 {
00119 return this->request_id_;
00120 }
00121
00122 ACE_INLINE void
00123 TAO_Operation_Details::response_flags (CORBA::Octet flags)
00124 {
00125 this->response_flags_ = flags;
00126 }
00127
00128 ACE_INLINE CORBA::ULong
00129 TAO_Operation_Details::ex_count (void) const
00130 {
00131 return this->ex_count_;
00132 }
00133
00134 ACE_INLINE TAO::Exception_Data const *
00135 TAO_Operation_Details::ex_data (void) const
00136 {
00137 return this->ex_data_;
00138 }
00139
00140 ACE_INLINE CORBA::Octet
00141 TAO_Operation_Details::response_flags (void) const
00142 {
00143 return this->response_flags_;
00144 }
00145
00146 ACE_INLINE TAO_Target_Specification::TAO_Target_Address
00147 TAO_Operation_Details::addressing_mode (void) const
00148 {
00149 return this->addressing_mode_;
00150 }
00151
00152 ACE_INLINE void
00153 TAO_Operation_Details::addressing_mode (CORBA::Short mode)
00154 {
00155 if (mode == 0)
00156 this->addressing_mode_ = TAO_Target_Specification::Key_Addr;
00157 else if (mode == 1)
00158 this->addressing_mode_ = TAO_Target_Specification::Profile_Addr;
00159 else if (mode == 2)
00160 this->addressing_mode_ = TAO_Target_Specification::Reference_Addr;
00161 }
00162
00163 ACE_INLINE TAO::Argument **
00164 TAO_Operation_Details::args (void) const
00165 {
00166 return this->args_;
00167 }
00168
00169 ACE_INLINE CORBA::ULong
00170 TAO_Operation_Details::args_num (void) const
00171 {
00172 return this->num_args_;
00173 }
00174
00175 ACE_INLINE CORBA::Boolean
00176 TAO_Operation_Details::use_stub_args (void) const
00177 {
00178 return this->use_stub_args_;
00179 }
00180
00181 ACE_INLINE void
00182 TAO_Operation_Details::use_stub_args (CORBA::Boolean use_stub_args)
00183 {
00184 this->use_stub_args_ = use_stub_args;
00185 }
00186
00187 #if TAO_HAS_INTERCEPTORS == 1
00188 ACE_INLINE void
00189 TAO_Operation_Details::ft_expiration_time (TimeBase::TimeT time)
00190 {
00191 this->ft_expiration_time_ = time;
00192 }
00193
00194 ACE_INLINE TimeBase::TimeT
00195 TAO_Operation_Details::ft_expiration_time (void) const
00196 {
00197 return this->ft_expiration_time_;
00198 }
00199
00200 ACE_INLINE void
00201 TAO_Operation_Details::ft_retention_id (CORBA::Long request_id)
00202 {
00203 this->ft_retention_id_ = request_id;
00204 }
00205
00206 ACE_INLINE CORBA::Long
00207 TAO_Operation_Details::ft_retention_id (void) const
00208 {
00209 return this->ft_retention_id_;
00210 }
00211 #endif
00212
00213 ACE_INLINE TAO::Collocated_Arguments_Converter *
00214 TAO_Operation_Details::cac (void) const
00215 {
00216 return this->cac_;
00217 }
00218
00219 ACE_INLINE void
00220 TAO_Operation_Details::cac (TAO::Collocated_Arguments_Converter *cac)
00221 {
00222 this->cac_ = cac;
00223 }
00224
00225 ACE_INLINE TAO_Reply_Dispatcher *
00226 TAO_Operation_Details::reply_dispatcher (void) const
00227 {
00228 return this->reply_dispatcher_;
00229 }
00230
00231 ACE_INLINE void
00232 TAO_Operation_Details::reply_dispatcher (TAO_Reply_Dispatcher *rd)
00233 {
00234 this->reply_dispatcher_ = rd;
00235 }
00236
00237
00238 TAO_END_VERSIONED_NAMESPACE_DECL