#include <ace/Object_Manager.h>
class ACE_Object_Manager_Base {
public:
static int get_singleton_lock (ACE_Null_Mutex *&);
static int get_singleton_lock (ACE_Thread_Mutex *&);
static int get_singleton_lock (ACE_Mutex *&);
static int get_singleton_lock (ACE_Recursive_Thread_Mutex *&);
static int get_singleton_lock (ACE_RW_Thread_Mutex *&);
protected:
ACE_Object_Manager_Base (void);
virtual ~ACE_Object_Manager_Base (void);
ACE_Unbounded_Queue<ACE_Cleanup_Info> *registered_objects_;
ACE_Recursive_Thread_Mutex *internal_lock_;
ACE_Cleanup_Adapter<ACE_Null_Mutex> *singleton_null_lock_;
ACE_Array<ACE_Thread_Mutex *> *singleton_thread_locks_;
ACE_Array<ACE_Mutex *> *singleton_mutex_locks_;
ACE_Cleanup_Adapter<ACE_Recursive_Thread_Mutex> *singleton_recursive_lock_;ACE_Array<ACE_RW_Thread_Mutex *> *singleton_rw_locks_;
private:
ACE_Object_Manager_Base (const ACE_Object_Manager_Base &);
ACE_Object_Manager_Base &operator= ( const ACE_Object_Manager_Base & );
};
static int get_singleton_lock (ACE_Null_Mutex *&);
ACE_Null_Mutex
to be used for construction of
ACE_Singletons
. Returns 0, and the lock in the argument, on
success; returns -1 on failure. The argument is ignored -- it is
only used for overload resolution.
static int get_singleton_lock (ACE_Thread_Mutex *&);
ACE_Thread_Mutex
to be used for
construction of ACE_Singletons
. Returns 0, and the lock in the
argument, on success; returns -1 on failure. The argument is
ignored -- it is only used for overload resolution.
static int get_singleton_lock (ACE_Mutex *&);
ACE_Mutex
to be used for construction
of ACE_Singletons
. Returns 0, and the lock in the argument, on
success; returns -1 on failure. The argument is ignored -- it is
only used for overload resolution.
static int get_singleton_lock (ACE_Recursive_Thread_Mutex *&);
ACE_Recursive_Thread_Mutex
to be used for
construction of ACE_Singletons
. Returns 0, and the lock in the
argument, on success; returns -1 on failure.
static int get_singleton_lock (ACE_RW_Thread_Mutex *&);
ACE_RW_Thread_Mutex
to be used for
construction of ACE_Singletons
. Returns 0, and the lock in the
argument, on success; returns -1 on failure.
ACE_Object_Manager_Base (void);
virtual ~ACE_Object_Manager_Base (void);
ACE_Unbounded_Queue<ACE_Cleanup_Info> *registered_objects_;
ACE_Recursive_Thread_Mutex *internal_lock_;
ACE_Cleanup_Adapter<ACE_Null_Mutex> *singleton_null_lock_;
ACE_Array<ACE_Thread_Mutex *> *singleton_thread_locks_;
ACE_Array<ACE_Mutex *> *singleton_mutex_locks_;
ACE_Cleanup_Adapter<ACE_Recursive_Thread_Mutex> *singleton_recursive_lock_;
ACE_Array<ACE_RW_Thread_Mutex *> *singleton_rw_locks_;
ACE_Object_Manager_Base (const ACE_Object_Manager_Base &);
ACE_Object_Manager_Base &operator= (const ACE_Object_Manager_Base &);