Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

AbstractBase.inl

Go to the documentation of this file.
00001 // This may not look like C++, but it's really -*- C++ -*-
00002 // $Id: AbstractBase.inl,v 1.1.1.1 2003/02/21 18:36:44 chad Exp $
00003 
00004 ACE_INLINE 
00005 CORBA::AbstractBase_ptr
00006 CORBA_AbstractBase::_nil (void)
00007 {
00008   return 0;
00009 }
00010 
00011 ACE_INLINE 
00012 CORBA_AbstractBase_ptr
00013 CORBA_AbstractBase::_duplicate (CORBA_AbstractBase_ptr obj)
00014 {
00015   if (obj)
00016     {
00017       obj->_add_ref ();
00018     }
00019 
00020   return obj;
00021 }
00022 
00023 /// Just call _duplicate and let it decide what to do.
00024 ACE_INLINE 
00025 CORBA::AbstractBase_ptr
00026 CORBA_AbstractBase::_narrow (CORBA::AbstractBase_ptr obj
00027                              ACE_ENV_ARG_DECL_NOT_USED)
00028 {
00029   return CORBA_AbstractBase::_duplicate (obj);
00030 }
00031 
00032 /// Same for this one.
00033 ACE_INLINE 
00034 CORBA::AbstractBase_ptr
00035 CORBA_AbstractBase::_unchecked_narrow (CORBA::AbstractBase_ptr obj
00036                                        ACE_ENV_ARG_DECL_NOT_USED)
00037 {
00038   return CORBA_AbstractBase::_duplicate (obj);
00039 }
00040 
00041 ACE_INLINE
00042 CORBA::Boolean
00043 CORBA_AbstractBase::_is_a (const char *type_id
00044                            ACE_ENV_ARG_DECL_NOT_USED)
00045 {
00046   return ! ACE_OS::strcmp (type_id,
00047                            "IDL:omg.org/CORBA/AbstractBase:1.0");
00048 }
00049 
00050 ACE_INLINE
00051 const char *
00052 CORBA_AbstractBase::_interface_repository_id (void) const
00053 {
00054   return "IDL:omg.org/CORBA/AbstractBase:1.0";
00055 }
00056 
00057 ACE_INLINE
00058 const char *
00059 CORBA_AbstractBase::_tao_obv_repository_id (void) const
00060 {
00061   return "IDL:omg.org/CORBA/AbstractBase:1.0";
00062 }
00063 
00064 ACE_INLINE
00065 void *
00066 CORBA_AbstractBase::_tao_obv_narrow (ptr_arith_t /* type_id */)
00067 {
00068   return this;
00069 }
00070 
00071 ACE_INLINE
00072 CORBA::Boolean
00073 CORBA_AbstractBase::_is_objref (void) const
00074 {
00075   return this->is_objref_;
00076 }
00077 
00078 ACE_INLINE
00079 TAO_Stub *
00080 CORBA_AbstractBase::_stubobj (void) const
00081 {
00082   return this->concrete_stubobj_;
00083 }
00084 
00085 ACE_INLINE
00086 CORBA::Boolean
00087 CORBA_AbstractBase::_is_collocated (void) const
00088 {
00089   return this->is_collocated_;
00090 }
00091 
00092 ACE_INLINE
00093 TAO_Abstract_ServantBase *
00094 CORBA_AbstractBase::_servant (void) const
00095 {
00096   return this->servant_;
00097 }
00098 
00099 ACE_INLINE
00100 CORBA::Boolean
00101 CORBA_AbstractBase::_is_local (void) const
00102 {
00103   return this->is_local_;
00104 }
00105 
00106 // ************************************************************
00107 // These are in CORBA namespace
00108 
00109 ACE_INLINE 
00110 void
00111 CORBA::release (CORBA::AbstractBase_ptr obj)
00112 {
00113   if (obj)
00114     {
00115       obj->_remove_ref ();
00116     }
00117 }
00118 
00119 ACE_INLINE 
00120 CORBA::Boolean
00121 CORBA::is_nil (CORBA::AbstractBase_ptr obj)
00122 {
00123   return (obj == 0);
00124 }
00125 
00126 // *************************************************************
00127 // Inline operations for class CORBA_AbstractBase_var
00128 // *************************************************************
00129 
00130 ACE_INLINE
00131 CORBA_AbstractBase_var::CORBA_AbstractBase_var (void)
00132   : ptr_ (CORBA::AbstractBase::_nil ())
00133 {
00134 }
00135 
00136 ACE_INLINE
00137 CORBA_AbstractBase_var::CORBA_AbstractBase_var (CORBA::AbstractBase_ptr p)
00138   : ptr_ (p)
00139 {
00140 }
00141 
00142 ACE_INLINE
00143 CORBA_AbstractBase_var::~CORBA_AbstractBase_var (void)
00144 {
00145   CORBA::release (this->ptr_);
00146 }
00147 
00148 ACE_INLINE CORBA::AbstractBase_ptr
00149 CORBA_AbstractBase_var::ptr (void) const
00150 {
00151   return this->ptr_;
00152 }
00153 
00154 ACE_INLINE
00155 CORBA_AbstractBase_var::CORBA_AbstractBase_var (const CORBA_AbstractBase_var &p)
00156   : ptr_ (CORBA_AbstractBase::_duplicate (p.ptr ()))
00157 {
00158 }
00159 
00160 ACE_INLINE CORBA_AbstractBase_var &
00161 CORBA_AbstractBase_var::operator= (CORBA::AbstractBase_ptr p)
00162 {
00163   CORBA::release (this->ptr_);
00164   this->ptr_ = p;
00165   return *this;
00166 }
00167 
00168 ACE_INLINE CORBA_AbstractBase_var &
00169 CORBA_AbstractBase_var::operator= (const CORBA_AbstractBase_var &p)
00170 {
00171   if (this != &p)
00172     {
00173       CORBA::release (this->ptr_);
00174       this->ptr_ = CORBA_AbstractBase::_duplicate (p.ptr ());
00175     }
00176 
00177   return *this;
00178 }
00179 
00180 ACE_INLINE
00181 CORBA_AbstractBase_var::operator const CORBA::AbstractBase_ptr &() const // cast
00182 {
00183   return this->ptr_;
00184 }
00185 
00186 ACE_INLINE
00187 CORBA_AbstractBase_var::operator CORBA::AbstractBase_ptr &() // cast
00188 {
00189   return this->ptr_;
00190 }
00191 
00192 ACE_INLINE CORBA::AbstractBase_ptr
00193 CORBA_AbstractBase_var::operator-> (void) const
00194 {
00195   return this->ptr_;
00196 }
00197 
00198 ACE_INLINE CORBA::AbstractBase_ptr
00199 CORBA_AbstractBase_var::in (void) const
00200 {
00201   return this->ptr_;
00202 }
00203 
00204 ACE_INLINE CORBA::AbstractBase_ptr &
00205 CORBA_AbstractBase_var::inout (void)
00206 {
00207   return this->ptr_;
00208 }
00209 
00210 ACE_INLINE CORBA::AbstractBase_ptr &
00211 CORBA_AbstractBase_var::out (void)
00212 {
00213   CORBA::release (this->ptr_);
00214   this->ptr_ = CORBA_AbstractBase::_nil ();
00215   return this->ptr_;
00216 }
00217 
00218 ACE_INLINE CORBA::AbstractBase_ptr
00219 CORBA_AbstractBase_var::_retn (void)
00220 {
00221   // Yield ownership of valuebase.
00222   CORBA::AbstractBase_ptr val = this->ptr_;
00223   this->ptr_ = CORBA_AbstractBase::_nil ();
00224   return val;
00225 }
00226 
00227 ACE_INLINE CORBA::AbstractBase_ptr
00228 CORBA_AbstractBase_var::tao_duplicate (CORBA::AbstractBase_ptr p)
00229 {
00230   return CORBA_AbstractBase::_duplicate (p);
00231 }
00232 
00233 ACE_INLINE void
00234 CORBA_AbstractBase_var::tao_release (CORBA::AbstractBase_ptr p)
00235 {
00236   CORBA::release (p);
00237 }
00238 
00239 ACE_INLINE CORBA::AbstractBase_ptr
00240 CORBA_AbstractBase_var::tao_nil (void)
00241 {
00242   return CORBA_AbstractBase::_nil ();
00243 }
00244 
00245 ACE_INLINE CORBA::AbstractBase_ptr
00246 CORBA_AbstractBase_var::tao_narrow (
00247     CORBA::AbstractBase *p
00248     ACE_ENV_ARG_DECL_NOT_USED
00249   )
00250 {
00251   return CORBA_AbstractBase::_duplicate (p);
00252 }
00253 
00254 ACE_INLINE CORBA::AbstractBase *
00255 CORBA_AbstractBase_var::tao_upcast (void *src)
00256 {
00257   CORBA_AbstractBase **tmp =
00258     ACE_static_cast (CORBA_AbstractBase **, src);
00259   return *tmp;
00260 }
00261 
00262 // *************************************************************
00263 // Inline operations for class CORBA_AbstractBase_out
00264 // *************************************************************
00265 
00266 ACE_INLINE
00267 CORBA_AbstractBase_out::CORBA_AbstractBase_out (CORBA::AbstractBase_ptr &p)
00268   : ptr_ (p)
00269 {
00270   this->ptr_ = CORBA_AbstractBase::_nil ();
00271 }
00272 
00273 ACE_INLINE
00274 CORBA_AbstractBase_out::CORBA_AbstractBase_out (CORBA_AbstractBase_var &p)
00275   : ptr_ (p.out ())
00276 {
00277   CORBA::release (this->ptr_);
00278   this->ptr_ = CORBA_AbstractBase::_nil ();
00279 }
00280 
00281 ACE_INLINE
00282 CORBA_AbstractBase_out::CORBA_AbstractBase_out (const CORBA_AbstractBase_out &p)
00283   : ptr_ (p.ptr_)
00284 {
00285 }
00286 
00287 ACE_INLINE CORBA_AbstractBase_out &
00288 CORBA_AbstractBase_out::operator= (const CORBA_AbstractBase_out &p)
00289 {
00290   this->ptr_ = p.ptr_;
00291   return *this;
00292 }
00293 
00294 ACE_INLINE CORBA_AbstractBase_out &
00295 CORBA_AbstractBase_out::operator= (const CORBA_AbstractBase_var &p)
00296 {
00297   this->ptr_ = CORBA_AbstractBase::_duplicate (p.ptr ());
00298   return *this;
00299 }
00300 
00301 ACE_INLINE CORBA_AbstractBase_out &
00302 CORBA_AbstractBase_out::operator= (CORBA::AbstractBase_ptr p)
00303 {
00304   this->ptr_ = p;
00305   return *this;
00306 }
00307 
00308 ACE_INLINE
00309 CORBA_AbstractBase_out::operator CORBA::AbstractBase_ptr &() // cast
00310 {
00311   return this->ptr_;
00312 }
00313 
00314 ACE_INLINE CORBA::AbstractBase_ptr &
00315 CORBA_AbstractBase_out::ptr (void) // ptr
00316 {
00317   return this->ptr_;
00318 }
00319 
00320 ACE_INLINE CORBA::AbstractBase_ptr
00321 CORBA_AbstractBase_out::operator-> (void)
00322 {
00323   return this->ptr_;
00324 }
00325 
00326 

Generated on Mon Jun 16 13:47:56 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002