diff options
Diffstat (limited to 'trunk/TAO/tao/Tagged_Profile.inl')
-rw-r--r-- | trunk/TAO/tao/Tagged_Profile.inl | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/trunk/TAO/tao/Tagged_Profile.inl b/trunk/TAO/tao/Tagged_Profile.inl new file mode 100644 index 00000000000..688bcd6a0ba --- /dev/null +++ b/trunk/TAO/tao/Tagged_Profile.inl @@ -0,0 +1,67 @@ +// -*- C++ -*- +// +// $Id$ + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +ACE_INLINE +TAO_Tagged_Profile::TAO_Tagged_Profile (TAO_ORB_Core *orb_core) + : orb_core_ (orb_core), + discriminator_ (0), + object_key_ (), + profile_ (), + profile_index_ (0), + type_id_ (0) +{ + +} + +ACE_INLINE TAO::ObjectKey & +TAO_Tagged_Profile::object_key (void) +{ + if (this->object_key_extracted_ == 0) + this->object_key_extracted_ = this->extract_object_key (this->profile_); + + return this->object_key_; +} + +ACE_INLINE void +TAO_Tagged_Profile::object_key (TAO::ObjectKey &object_key) +{ + this->object_key_.replace (object_key.length (), + object_key.length (), + object_key.get_buffer ()); + this->object_key_extracted_ = 1; +} + +ACE_INLINE const TAO::ObjectKey & +TAO_Tagged_Profile::object_key (void) const +{ + return const_cast<TAO_Tagged_Profile *> (this)->object_key (); +} + +ACE_INLINE const IOP::TaggedProfile & +TAO_Tagged_Profile::tagged_profile (void) const +{ + return this->profile_; +} + +ACE_INLINE CORBA::ULong +TAO_Tagged_Profile::profile_index (void) const +{ + return this->profile_index_; +} + +ACE_INLINE const char* +TAO_Tagged_Profile::type_id (void) const +{ + return this->type_id_ == 0 ? "" : this->type_id_; +} + +ACE_INLINE CORBA::Short +TAO_Tagged_Profile::discriminator (void) const +{ + return this->discriminator_; +} + +TAO_END_VERSIONED_NAMESPACE_DECL |