diff options
Diffstat (limited to 'trunk/TAO/tao/Cache_Entries.cpp')
-rw-r--r-- | trunk/TAO/tao/Cache_Entries.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/trunk/TAO/tao/Cache_Entries.cpp b/trunk/TAO/tao/Cache_Entries.cpp new file mode 100644 index 00000000000..99ecb2ad72b --- /dev/null +++ b/trunk/TAO/tao/Cache_Entries.cpp @@ -0,0 +1,52 @@ +//$Id$ + +#include "tao/Cache_Entries.h" +#include "tao/Transport.h" + + +#if !defined (__ACE_INLINE__) +# include "tao/Cache_Entries.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(tao, + Cache_Entries, + "$Id$") + + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + Cache_IntId::Cache_IntId (TAO_Transport *transport) + : transport_ (transport) + , recycle_state_ (ENTRY_UNKNOWN) + { + transport->add_reference (); + } + + Cache_IntId::~Cache_IntId (void) + { + if (this->transport_) + this->transport_->remove_reference (); + } + + Cache_IntId& + Cache_IntId::operator= (const Cache_IntId &rhs) + { + if (this != &rhs) + { + this->recycle_state_ = rhs.recycle_state_; + + TAO_Transport *old_transport = this->transport_; + this->transport_ = rhs.transport_; + if (this->transport_) + this->transport_->add_reference (); + if (old_transport) + old_transport->remove_reference (); + } + + return *this; + } +} + +TAO_END_VERSIONED_NAMESPACE_DECL |