CDR.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // $Id: CDR.inl 80289 2007-12-17 20:34:44Z johnnyw $
00004 
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 ACE_INLINE
00008 TAO_OutputCDR::~TAO_OutputCDR (void)
00009 {
00010 }
00011 
00012 ACE_INLINE bool
00013 TAO_OutputCDR::more_fragments (void) const
00014 {
00015   return this->more_fragments_;
00016 }
00017 
00018 ACE_INLINE void
00019 TAO_OutputCDR::more_fragments (bool more)
00020 {
00021   this->more_fragments_ = more;
00022 }
00023 
00024 ACE_INLINE void
00025 TAO_OutputCDR::message_attributes (CORBA::ULong request_id,
00026                                    TAO_Stub * stub,
00027                                    TAO_Transport::TAO_Message_Semantics message_semantics,
00028                                    ACE_Time_Value * timeout)
00029 {
00030   this->request_id_        = request_id;
00031   this->stub_              = stub;
00032   this->message_semantics_ = message_semantics;
00033   this->timeout_           = timeout;
00034 }
00035 
00036 ACE_INLINE CORBA::ULong
00037 TAO_OutputCDR::request_id (void) const
00038 {
00039   return this->request_id_;
00040 }
00041 
00042 ACE_INLINE TAO_Stub *
00043 TAO_OutputCDR::stub (void) const
00044 {
00045   return this->stub_;
00046 }
00047 
00048 ACE_INLINE TAO_Transport::TAO_Message_Semantics
00049 TAO_OutputCDR::message_semantics (void) const
00050 {
00051   return this->message_semantics_;
00052 }
00053 
00054 ACE_INLINE ACE_Time_Value *
00055 TAO_OutputCDR::timeout (void) const
00056 {
00057   return this->timeout_;
00058 }
00059 
00060 ACE_INLINE void
00061 TAO_OutputCDR::get_version (TAO_GIOP_Message_Version& giop_version)
00062 {
00063   giop_version.major = this->major_version_;
00064   giop_version.minor = this->minor_version_;
00065 }
00066 // -------------------------------------------------------------------
00067 
00068 ACE_INLINE
00069 TAO_InputCDR::TAO_InputCDR (const char *buf,
00070                             size_t bufsiz,
00071                             int byte_order,
00072                             ACE_CDR::Octet major_version,
00073                             ACE_CDR::Octet minor_version,
00074                             TAO_ORB_Core* orb_core)
00075   : ACE_InputCDR (buf,
00076                   bufsiz,
00077                   byte_order,
00078                   major_version,
00079                   minor_version),
00080     orb_core_ (orb_core)
00081 {
00082 }
00083 
00084 ACE_INLINE
00085 TAO_InputCDR::TAO_InputCDR (size_t bufsiz,
00086                             int byte_order,
00087                             ACE_CDR::Octet major_version,
00088                             ACE_CDR::Octet minor_version,
00089                             TAO_ORB_Core* orb_core)
00090   : ACE_InputCDR (bufsiz,
00091                   byte_order,
00092                   major_version,
00093                   minor_version),
00094     orb_core_ (orb_core)
00095 {
00096 }
00097 
00098 ACE_INLINE
00099 TAO_InputCDR::TAO_InputCDR (const ACE_Message_Block *data,
00100                             int byte_order,
00101                             ACE_CDR::Octet major_version,
00102                             ACE_CDR::Octet minor_version,
00103                             TAO_ORB_Core* orb_core)
00104   : ACE_InputCDR (data,
00105                   byte_order,
00106                   major_version,
00107                   minor_version),
00108     orb_core_ (orb_core)
00109 {
00110 }
00111 
00112 ACE_INLINE
00113 TAO_InputCDR::TAO_InputCDR (const ACE_Message_Block *data,
00114                             ACE_Lock* lock,
00115                             int byte_order,
00116                             ACE_CDR::Octet major_version,
00117                             ACE_CDR::Octet minor_version,
00118                             TAO_ORB_Core* orb_core)
00119   : ACE_InputCDR (data,
00120                   byte_order,
00121                   major_version,
00122                   minor_version,
00123                   lock),
00124     orb_core_ (orb_core)
00125 {
00126 }
00127 
00128 ACE_INLINE
00129 TAO_InputCDR::TAO_InputCDR (ACE_Data_Block *data,
00130                             ACE_Message_Block::Message_Flags flag,
00131                             int byte_order,
00132                             ACE_CDR::Octet major_version,
00133                             ACE_CDR::Octet minor_version,
00134                             TAO_ORB_Core* orb_core)
00135   : ACE_InputCDR (data,
00136                   flag,
00137                   byte_order,
00138                   major_version,
00139                   minor_version),
00140     orb_core_ (orb_core)
00141 {
00142 }
00143 
00144 
00145 ACE_INLINE
00146 TAO_InputCDR::TAO_InputCDR (ACE_Data_Block *data,
00147                             ACE_Message_Block::Message_Flags flag,
00148                             size_t rd_pos,
00149                             size_t wr_pos,
00150                             int byte_order,
00151                             ACE_CDR::Octet major_version,
00152                             ACE_CDR::Octet minor_version,
00153                             TAO_ORB_Core* orb_core)
00154   : ACE_InputCDR (data,
00155                   flag,
00156                   rd_pos,
00157                   wr_pos,
00158                   byte_order,
00159                   major_version,
00160                   minor_version),
00161     orb_core_ (orb_core)
00162 {
00163 }
00164 
00165 
00166 ACE_INLINE
00167 TAO_InputCDR::TAO_InputCDR (const TAO_InputCDR& rhs,
00168                             size_t size,
00169                             ACE_CDR::Long offset)
00170   : ACE_InputCDR (rhs,
00171                   size,
00172                   offset),
00173     orb_core_ (rhs.orb_core_)
00174 {
00175 }
00176 
00177 ACE_INLINE
00178 TAO_InputCDR::TAO_InputCDR (const TAO_InputCDR& rhs,
00179                             size_t size)
00180   : ACE_InputCDR (rhs,
00181                   size),
00182     orb_core_ (rhs.orb_core_)
00183 {
00184 }
00185 
00186 ACE_INLINE
00187 TAO_InputCDR::TAO_InputCDR (const TAO_InputCDR& rhs)
00188   : ACE_InputCDR (rhs),
00189     orb_core_ (rhs.orb_core_)
00190 {
00191 }
00192 
00193 ACE_INLINE
00194 TAO_InputCDR::TAO_InputCDR (ACE_InputCDR::Transfer_Contents rhs,
00195                             TAO_ORB_Core* orb_core)
00196   : ACE_InputCDR (rhs),
00197     orb_core_ (orb_core)
00198 {
00199 }
00200 
00201 ACE_INLINE
00202 TAO_InputCDR::~TAO_InputCDR (void)
00203 {
00204 }
00205 
00206 ACE_INLINE TAO_ORB_Core*
00207 TAO_InputCDR::orb_core (void) const
00208 {
00209   return this->orb_core_;
00210 }
00211 
00212 // ****************************************************************
00213 
00214 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00215                                       CORBA::Short x)
00216 {
00217   return
00218     os.fragment_stream (ACE_CDR::SHORT_ALIGN,
00219                         sizeof (CORBA::Short))
00220     && static_cast<ACE_OutputCDR &> (os) << x;
00221 }
00222 
00223 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00224                                       CORBA::UShort x)
00225 {
00226   return
00227     os.fragment_stream (ACE_CDR::SHORT_ALIGN,
00228                         sizeof (CORBA::UShort))
00229     && static_cast<ACE_OutputCDR &> (os) << x;
00230 }
00231 
00232 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00233                                       CORBA::Long x)
00234 {
00235   return
00236     os.fragment_stream (ACE_CDR::LONG_ALIGN,
00237                         sizeof (CORBA::Long))
00238     && static_cast<ACE_OutputCDR &> (os) << x;
00239 }
00240 
00241 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00242                                       CORBA::ULong x)
00243 {
00244   return
00245     os.fragment_stream (ACE_CDR::LONG_ALIGN,
00246                         sizeof (CORBA::ULong))
00247     && static_cast<ACE_OutputCDR &> (os) << x;
00248 }
00249 
00250 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00251                                       CORBA::LongLong x)
00252 {
00253   return
00254     os.fragment_stream (ACE_CDR::LONGLONG_ALIGN,
00255                         sizeof (CORBA::LongLong))
00256     && static_cast<ACE_OutputCDR &> (os) << x;
00257 }
00258 
00259 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00260                                       CORBA::ULongLong x)
00261 {
00262   return
00263     os.fragment_stream (ACE_CDR::LONGLONG_ALIGN,
00264                         sizeof (CORBA::ULongLong))
00265     && static_cast<ACE_OutputCDR &> (os) << x;
00266 }
00267 
00268 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR& os,
00269                                       CORBA::LongDouble x)
00270 {
00271   return
00272     os.fragment_stream (ACE_CDR::LONGDOUBLE_ALIGN,
00273                         sizeof (CORBA::LongDouble))
00274     && static_cast<ACE_OutputCDR &> (os) << x;
00275 }
00276 
00277 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00278                                       CORBA::Float x)
00279 {
00280   return
00281     os.fragment_stream (ACE_CDR::LONG_ALIGN,
00282                         sizeof (CORBA::Float))
00283     && static_cast<ACE_OutputCDR &> (os) << x;
00284 }
00285 
00286 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00287                                       CORBA::Double x)
00288 {
00289   return
00290     os.fragment_stream (ACE_CDR::LONGLONG_ALIGN,
00291                         sizeof (CORBA::Double))
00292     && static_cast<ACE_OutputCDR &> (os) << x;
00293 }
00294 
00295 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00296                                       const char * x)
00297 {
00298   return
00299     os.fragment_stream (ACE_CDR::OCTET_ALIGN,
00300                         sizeof (char))
00301     && static_cast<ACE_OutputCDR &> (os) << x;
00302 }
00303 
00304 ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &os,
00305                                       const CORBA::WChar * x)
00306 {
00307   return
00308     os.fragment_stream ((sizeof (CORBA::WChar) == 2
00309                          ? ACE_CDR::SHORT_ALIGN
00310                          : ACE_CDR::LONG_ALIGN),
00311                         sizeof (CORBA::WChar))
00312     && static_cast<ACE_OutputCDR &> (os) << x;
00313 }
00314 
00315 // ****************************************************************
00316 
00317 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00318                                       CORBA::Short &x)
00319 {
00320   return static_cast<ACE_InputCDR &> (is) >> x;
00321 }
00322 
00323 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00324                                       CORBA::UShort &x)
00325 {
00326   return static_cast<ACE_InputCDR &> (is) >> x;
00327 }
00328 
00329 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00330                                       CORBA::Long &x)
00331 {
00332   return static_cast<ACE_InputCDR&> (is) >> x;
00333 }
00334 
00335 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00336                                       CORBA::ULong &x)
00337 {
00338   return static_cast<ACE_InputCDR &> (is) >> x;
00339 }
00340 
00341 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00342                                       CORBA::LongLong &x)
00343 {
00344   return static_cast<ACE_InputCDR &> (is) >> x;
00345 }
00346 
00347 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00348                                       CORBA::ULongLong &x)
00349 {
00350   return static_cast<ACE_InputCDR &> (is) >> x;
00351 }
00352 
00353 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00354                                       CORBA::LongDouble &x)
00355 {
00356   return static_cast<ACE_InputCDR &> (is) >> x;
00357 }
00358 
00359 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00360                                       CORBA::Float &x)
00361 {
00362   return static_cast<ACE_InputCDR &> (is) >> x;
00363 }
00364 
00365 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00366                                       CORBA::Double &x)
00367 {
00368   return static_cast<ACE_InputCDR &> (is) >> x;
00369 }
00370 
00371 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00372                                       CORBA::Char* &x)
00373 {
00374   return static_cast<ACE_InputCDR &> (is) >> x;
00375 }
00376 
00377 ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &is,
00378                                       CORBA::WChar* &x)
00379 {
00380   return static_cast<ACE_InputCDR &> (is) >> x;
00381 }
00382 
00383 TAO_END_VERSIONED_NAMESPACE_DECL

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