00001 // -*- C++ -*- 00002 // 00003 // $Id: Tagged_Profile.inl 78305 2007-05-11 14:07:59Z johnnyw $ 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE 00008 TAO_Tagged_Profile::TAO_Tagged_Profile (TAO_ORB_Core *orb_core) 00009 : orb_core_ (orb_core), 00010 discriminator_ (0), 00011 object_key_ (), 00012 profile_ (), 00013 profile_index_ (0), 00014 type_id_ (0) 00015 { 00016 00017 } 00018 00019 ACE_INLINE TAO::ObjectKey & 00020 TAO_Tagged_Profile::object_key (void) 00021 { 00022 if (!this->object_key_extracted_) 00023 this->object_key_extracted_ = this->extract_object_key (this->profile_); 00024 00025 return this->object_key_; 00026 } 00027 00028 ACE_INLINE void 00029 TAO_Tagged_Profile::object_key (TAO::ObjectKey &object_key) 00030 { 00031 this->object_key_.replace (object_key.length (), 00032 object_key.length (), 00033 object_key.get_buffer ()); 00034 this->object_key_extracted_ = true; 00035 } 00036 00037 ACE_INLINE const TAO::ObjectKey & 00038 TAO_Tagged_Profile::object_key (void) const 00039 { 00040 return const_cast<TAO_Tagged_Profile *> (this)->object_key (); 00041 } 00042 00043 ACE_INLINE const IOP::TaggedProfile & 00044 TAO_Tagged_Profile::tagged_profile (void) const 00045 { 00046 return this->profile_; 00047 } 00048 00049 ACE_INLINE CORBA::ULong 00050 TAO_Tagged_Profile::profile_index (void) const 00051 { 00052 return this->profile_index_; 00053 } 00054 00055 ACE_INLINE const char* 00056 TAO_Tagged_Profile::type_id (void) const 00057 { 00058 return this->type_id_ == 0 ? "" : this->type_id_; 00059 } 00060 00061 ACE_INLINE CORBA::Short 00062 TAO_Tagged_Profile::discriminator (void) const 00063 { 00064 return this->discriminator_; 00065 } 00066 00067 TAO_END_VERSIONED_NAMESPACE_DECL