Definition for a synchronised refcountable interface. More...
#include <Configurable_Refcount.h>

Public Types | |
| enum | Lock_Type { TAO_NULL_LOCK, TAO_THREAD_LOCK } |
Public Member Functions | |
| TAO_Configurable_Refcount (Lock_Type type=TAO_THREAD_LOCK, unsigned long value=1) | |
| unsigned long | increment (void) |
| unsigned long | decrement (void) |
| unsigned long | value (void) const |
Private Attributes | |
| Lock_Type | type_ |
| ACE_Atomic_Op < ACE_SYNCH_NULL_MUTEX, unsigned long > | null_refcount_ |
| ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > | mutex_refcount_ |
Definition for a synchronised refcountable interface.
Definition at line 37 of file Configurable_Refcount.h.
Definition at line 40 of file Configurable_Refcount.h.
{
TAO_NULL_LOCK,
TAO_THREAD_LOCK
};
| TAO_Configurable_Refcount::TAO_Configurable_Refcount | ( | TAO_Configurable_Refcount::Lock_Type | type = TAO_THREAD_LOCK, |
|
| unsigned long | value = 1 | |||
| ) |
Definition at line 7 of file Configurable_Refcount.inl.
: type_ (type), null_refcount_ (value), mutex_refcount_ (value) { }
| unsigned long TAO_Configurable_Refcount::decrement | ( | void | ) |
Definition at line 30 of file Configurable_Refcount.inl.
{
switch(this->type_)
{
case TAO_NULL_LOCK:
return --this->null_refcount_;
case TAO_THREAD_LOCK:
default:
return --this->mutex_refcount_;
}
}
| unsigned long TAO_Configurable_Refcount::increment | ( | void | ) |
Definition at line 17 of file Configurable_Refcount.inl.
{
switch(this->type_)
{
case TAO_NULL_LOCK:
return this->null_refcount_++;
case TAO_THREAD_LOCK:
default:
return this->mutex_refcount_++;
}
}
| unsigned long TAO_Configurable_Refcount::value | ( | void | ) | const |
Definition at line 43 of file Configurable_Refcount.inl.
{
switch(this->type_)
{
case TAO_NULL_LOCK:
return this->null_refcount_.value ();
case TAO_THREAD_LOCK:
default:
return this->mutex_refcount_.value ();
}
}
ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> TAO_Configurable_Refcount::mutex_refcount_ [private] |
Definition at line 57 of file Configurable_Refcount.h.
ACE_Atomic_Op<ACE_SYNCH_NULL_MUTEX, unsigned long> TAO_Configurable_Refcount::null_refcount_ [private] |
Definition at line 56 of file Configurable_Refcount.h.
Lock_Type TAO_Configurable_Refcount::type_ [private] |
Definition at line 55 of file Configurable_Refcount.h.
1.7.0