00001
00002
00003
00004
00005 #include "tao/SystemException.h"
00006
00007 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00008
00009 namespace TAO
00010 {
00011 namespace Portable_Server
00012 {
00013 ACE_INLINE void
00014 POA_Current_Impl::poa (::TAO_Root_POA *p)
00015 {
00016 this->poa_ = p;
00017 }
00018
00019 ACE_INLINE ::TAO_Root_POA *
00020 POA_Current_Impl::poa (void) const
00021 {
00022 return this->poa_;
00023 }
00024
00025 ACE_INLINE void
00026 POA_Current_Impl::object_id (const PortableServer::ObjectId &id)
00027 {
00028 if (this->object_id_.release () ||
00029 this->object_id_.get_buffer() == this->object_id_buf_)
00030 {
00031
00032
00033 size_t id_size = id.length ();
00034 this->object_id_.length (id_size);
00035
00036
00037 ACE_OS::memcpy (this->object_id_.get_buffer (),
00038 id.get_buffer (), id_size);
00039 }
00040 else
00041 {
00042 this->object_id_ = id;
00043 }
00044 }
00045
00046 ACE_INLINE const PortableServer::ObjectId &
00047 POA_Current_Impl::object_id (void) const
00048 {
00049 return this->object_id_;
00050 }
00051
00052 ACE_INLINE void
00053 POA_Current_Impl::replace_object_id (
00054 const PortableServer::ObjectId &system_id)
00055 {
00056
00057
00058 object_id_.replace (system_id.maximum (),
00059 system_id.length (),
00060 const_cast <CORBA::Octet *> (system_id.get_buffer ()),
00061 0);
00062 }
00063
00064 ACE_INLINE void
00065 POA_Current_Impl::object_key (const TAO::ObjectKey &key)
00066 {
00067 this->object_key_ = &key;
00068 }
00069
00070 ACE_INLINE const TAO::ObjectKey &
00071 POA_Current_Impl::object_key (void) const
00072 {
00073 return *this->object_key_;
00074 }
00075
00076 ACE_INLINE void
00077 POA_Current_Impl::servant (PortableServer::Servant servant)
00078 {
00079 this->servant_ = servant;
00080 }
00081
00082 ACE_INLINE PortableServer::Servant
00083 POA_Current_Impl::servant (void) const
00084 {
00085 return this->servant_;
00086 }
00087
00088 ACE_INLINE void
00089 POA_Current_Impl::priority (CORBA::Short priority)
00090 {
00091 this->priority_ = priority;
00092 }
00093
00094 ACE_INLINE CORBA::Short
00095 POA_Current_Impl::priority (void) const
00096 {
00097 return this->priority_;
00098 }
00099
00100 }
00101 }
00102
00103 TAO_END_VERSIONED_NAMESPACE_DECL