summaryrefslogtreecommitdiff
path: root/trunk/TAO/tao/Cache_Entries.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tao/Cache_Entries.cpp')
-rw-r--r--trunk/TAO/tao/Cache_Entries.cpp52
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