#include <ace/Token_Manager.h>
class ACE_Token_Manager : public ACE_Cleanup {
public:
ACE_Token_Manager (void);
virtual ~ACE_Token_Manager (void);
static ACE_Token_Manager *instance (void);
void instance (ACE_Token_Manager *);
void get_token (ACE_Token_Proxy *, const ASYS_TCHAR *token_name);
int check_deadlock (ACE_Token_Proxy *proxy);
int check_deadlock (ACE_Tokens *token, ACE_Token_Proxy *proxy);
void release_token (ACE_Tokens *&token);
ACE_TOKEN_CONST::MUTEX &mutex (void);
void dump (void) const;
void debug (int d);
private:
int debug_;
static ACE_Token_Manager *token_manager_;
ACE_Tokens *token_waiting_for (const ASYS_TCHAR *client_id);
ACE_TOKEN_CONST::MUTEX lock_;
typedef ACE_Token_Name TOKEN_NAME;
typedef ACE_Map_Manager<TOKEN_NAME, ACE_Tokens *, ACE_Null_Mutex> COLLECTION; typedef ACE_Map_Iterator<TOKEN_NAME, ACE_Tokens *, ACE_Null_Mutex> COLLECTION_ITERATOR;typedef ACE_Map_Entry<TOKEN_NAME, ACE_Tokens *> COLLECTION_ENTRY;
COLLECTION collection_;
};
ACE_Token_Manager (void);
virtual ~ACE_Token_Manager (void);
static ACE_Token_Manager *instance (void);
void instance (ACE_Token_Manager *);
void get_token (ACE_Token_Proxy *, const ASYS_TCHAR *token_name);
token_name
uniquely
id's the token name.
int check_deadlock (ACE_Token_Proxy *proxy);
int check_deadlock (ACE_Tokens *token, ACE_Token_Proxy *proxy);
void release_token (ACE_Tokens *&token);
ACE_TOKEN_CONST::MUTEX &mutex (void);
void dump (void) const;
void debug (int d);
int debug_;
static ACE_Token_Manager *token_manager_;
ACE_Tokens *token_waiting_for (const ASYS_TCHAR *client_id);
ACE_TOKEN_CONST::MUTEX lock_;
typedef ACE_Token_Name TOKEN_NAME;
typedef ACE_Map_Manager<TOKEN_NAME, ACE_Tokens *, ACE_Null_Mutex> COLLECTION;
typedef ACE_Map_Iterator<TOKEN_NAME, ACE_Tokens *, ACE_Null_Mutex> COLLECTION_ITERATOR;
typedef ACE_Map_Entry<TOKEN_NAME, ACE_Tokens *> COLLECTION_ENTRY;
COLLECTION collection_;