Public Member Functions | Protected Member Functions | Private Attributes | Friends

TAO::Refcounted_ObjectKey Class Reference

A wrapper class that ties together a refcount to an ObjectKey. More...

#include <Refcounted_ObjectKey.h>

List of all members.

Public Member Functions

 Refcounted_ObjectKey (const ObjectKey &ref)
 Constructor.
const ObjectKeyobject_key (void) const
 Accessor for the underlying ObjectKey.

Protected Member Functions

 ~Refcounted_ObjectKey (void)
 Protected destructor.
void incr_refcount (void)
 Methods for incrementing refcount.
CORBA::ULong decr_refcount (void)

Private Attributes

ObjectKey object_key_
 The object key.
CORBA::ULong ref_count_
 The refcount on the object key..

Friends

class ObjectKey_Table

Detailed Description

A wrapper class that ties together a refcount to an ObjectKey.

The refcount in this class is manipulated within the context of the lock in the TAO::ObjectKey_Table. Manipulating the refcount from anywhere else is strictly forbidden.

Definition at line 40 of file Refcounted_ObjectKey.h.


Constructor & Destructor Documentation

TAO::Refcounted_ObjectKey::Refcounted_ObjectKey ( const ObjectKey ref  ) 

Constructor.

Definition at line 16 of file Refcounted_ObjectKey.cpp.

  : object_key_ (key)
  , ref_count_ (1)
{
}

TAO::Refcounted_ObjectKey::~Refcounted_ObjectKey ( void   )  [protected]

Protected destructor.

Definition at line 22 of file Refcounted_ObjectKey.cpp.

{
}


Member Function Documentation

CORBA::ULong TAO::Refcounted_ObjectKey::decr_refcount ( void   )  [protected]

Methods for decrementing refcount. Return the refcount, used by the ObjectKey table.

Definition at line 27 of file Refcounted_ObjectKey.cpp.

{
  if (--this->ref_count_ > 0)
    {
      return this->ref_count_;
    }

  ACE_ASSERT (this->ref_count_ == 0);

  delete this;

  return 0;
}

void TAO::Refcounted_ObjectKey::incr_refcount ( void   )  [protected]

Methods for incrementing refcount.

Definition at line 9 of file Refcounted_ObjectKey.inl.

{
  ++this->ref_count_;
}

const TAO::ObjectKey & TAO::Refcounted_ObjectKey::object_key ( void   )  const

Accessor for the underlying ObjectKey.

Definition at line 15 of file Refcounted_ObjectKey.inl.

{
  return this->object_key_;
}


Friends And Related Function Documentation

friend class ObjectKey_Table [friend]

Definition at line 50 of file Refcounted_ObjectKey.h.


Member Data Documentation

ObjectKey TAO::Refcounted_ObjectKey::object_key_ [private]

The object key.

Definition at line 64 of file Refcounted_ObjectKey.h.

CORBA::ULong TAO::Refcounted_ObjectKey::ref_count_ [private]

The refcount on the object key..

Definition at line 67 of file Refcounted_ObjectKey.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines