#include <ace/Token_Invariants.h>
class ACE_Token_Invariant_Manager : public ACE_Cleanup {
public:
static ACE_Token_Invariant_Manager *instance (void);
int acquired (const ACE_Token_Proxy *proxy);
void releasing (const ACE_Token_Proxy *proxy);
int mutex_acquired (const char *token_name);
void mutex_releasing (const char *token_name);
int reader_acquired (const char *token_name);
int writer_acquired (const char *token_name);
void rwlock_releasing (const char *token_name);
void dump (void) const;
ACE_Token_Invariant_Manager (void);
virtual ~ACE_Token_Invariant_Manager (void);
protected:
int get_mutex ( const char *token_name, ACE_Mutex_Invariants *&inv );
int get_rwlock ( const char *token_name, ACE_RWLock_Invariants *&inv );
ACE_TOKEN_CONST::MUTEX lock_;
typedef ACE_Token_Name TOKEN_NAME;
typedef ACE_Map_Manager<TOKEN_NAME, ACE_Mutex_Invariants *, ACE_Null_Mutex> MUTEX_COLLECTION; typedef ACE_Map_Iterator<TOKEN_NAME, ACE_Mutex_Invariants *, ACE_Null_Mutex> MUTEX_COLLECTION_ITERATOR; typedef ACE_Map_Entry<TOKEN_NAME, ACE_Mutex_Invariants *> MUTEX_COLLECTION_ENTRY;MUTEX_COLLECTION mutex_collection_;
typedef ACE_Map_Manager<TOKEN_NAME, ACE_RWLock_Invariants *, ACE_Null_Mutex> RWLOCK_COLLECTION; typedef ACE_Map_Iterator<TOKEN_NAME, ACE_RWLock_Invariants *, ACE_Null_Mutex> RWLOCK_COLLECTION_ITERATOR; typedef ACE_Map_Entry<TOKEN_NAME, ACE_RWLock_Invariants *> RWLOCK_COLLECTION_ENTRY;RWLOCK_COLLECTION rwlock_collection_;
static ACE_Token_Invariant_Manager *instance_;
};
int acquired (const ACE_Token_Proxy *proxy);
void releasing (const ACE_Token_Proxy *proxy);
int mutex_acquired (const char *token_name);
void mutex_releasing (const char *token_name);
int reader_acquired (const char *token_name);
int writer_acquired (const char *token_name);
void rwlock_releasing (const char *token_name);
void dump (void) const;
ACE_Token_Invariant_Manager (void);
virtual ~ACE_Token_Invariant_Manager (void);