#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 &);