00001 // -*- C++ -*- 00002 // 00003 // $Id: Tagged_Profile.inl 79701 2007-09-21 23:25:30Z ossama $ 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_extracted_ (false), 00012 object_key_ (), 00013 profile_ (), 00014 profile_index_ (0), 00015 type_id_ (0) 00016 { 00017 00018 } 00019 00020 ACE_INLINE TAO::ObjectKey & 00021 TAO_Tagged_Profile::object_key (void) 00022 { 00023 if (!this->object_key_extracted_) 00024 this->object_key_extracted_ = this->extract_object_key (this->profile_); 00025 00026 return this->object_key_; 00027 } 00028 00029 ACE_INLINE void 00030 TAO_Tagged_Profile::object_key (TAO::ObjectKey &object_key) 00031 { 00032 this->object_key_.replace (object_key.length (), 00033 object_key.length (), 00034 object_key.get_buffer ()); 00035 this->object_key_extracted_ = true; 00036 } 00037 00038 ACE_INLINE const TAO::ObjectKey & 00039 TAO_Tagged_Profile::object_key (void) const 00040 { 00041 return const_cast<TAO_Tagged_Profile *> (this)->object_key (); 00042 } 00043 00044 ACE_INLINE const IOP::TaggedProfile & 00045 TAO_Tagged_Profile::tagged_profile (void) const 00046 { 00047 return this->profile_; 00048 } 00049 00050 ACE_INLINE CORBA::ULong 00051 TAO_Tagged_Profile::profile_index (void) const 00052 { 00053 return this->profile_index_; 00054 } 00055 00056 ACE_INLINE const char* 00057 TAO_Tagged_Profile::type_id (void) const 00058 { 00059 return this->type_id_ == 0 ? "" : this->type_id_; 00060 } 00061 00062 ACE_INLINE CORBA::Short 00063 TAO_Tagged_Profile::discriminator (void) const 00064 { 00065 return this->discriminator_; 00066 } 00067 00068 TAO_END_VERSIONED_NAMESPACE_DECL