#include <ace/Local_Tokens.h>
class ACE_Token_Proxy {
public:
friend class ACE_Token_Manager;
friend class ACE_Token_Invariant_Manager; // For testing.;
ACE_Token_Proxy (void);
virtual ~ACE_Token_Proxy (void);
virtual int open ( const ASYS_TCHAR *name, int ignore_deadlock = 0, int debug = 0 );
virtual int acquire (int notify = 0, void (*sleep_hook)( void *) = 0, ACE_Synch_Options &options = ACE_Synch_Options::defaults );
virtual int renew ( int requeue_position = -1, ACE_Synch_Options &options = ACE_Synch_Options::defaults );
virtual int tryacquire (void (*sleep_hook)(void *) = 0);
ACE_Synch_Options::defaults);
ACE_Synch_Options::defaults);
virtual int acquire_read (int notify = 0, void (*sleep_hook)( void *) = 0, ACE_Synch_Options &options = ACE_Synch_Options::defaults );
virtual int acquire_write (int notify = 0, void (*sleep_hook)( void *) = 0, ACE_Synch_Options &options = ACE_Synch_Options::defaults );
virtual int tryacquire_read (void (*sleep_hook)(void *) = 0);
virtual int tryacquire_write (void (*sleep_hook)(void *) = 0);
virtual const ASYS_TCHAR *client_id (void) const;
virtual void client_id (const ASYS_TCHAR *client_id);
virtual const ASYS_TCHAR *name (void) const;
virtual void sleep_hook (void);
virtual void token_acquired (ACE_TPQ_Entry *);
virtual const ASYS_TCHAR *owner_id (void);
virtual ACE_Token_Proxy *clone (void) const = 0;
void dump (void) const;
virtual int type (void) const;
protected:
ACE_Token_Proxy (const ACE_Token_Proxy &);
int ignore_deadlock_;
int debug_;
ACE_Tokens *token_;
int handle_options ( ACE_Synch_Options &options, ACE_TOKEN_CONST::COND_VAR &cv );
ACE_TSS_TPQ_Entry waiter_;
virtual ACE_Tokens *create_token (const ASYS_TCHAR *name) = 0;
};
public: 7. ACE_Token_Proxy 8. ACE_Null_Token : public ACE_Token_Proxy 9. ACE_Local_Mutex : public ACE_Token_Proxy *. ACE_Local_RLock : public ACE_Local_Mutex &. ACE_Local_WLock : public ACE_Local_Mutex private: 1. ACE_TOKEN_CONST 3. ACE_TPQ_Entry b. ACE_TSS_TPQ_Entry c. ACE_TPQ_Iterator 4. ACE_Token_Proxy_Queue 5. ACE_Tokens 6. ACE_Mutex_Token : public ACE_Tokens 12. ACE_RW_Token : public ACE_Tokens a. ACE_Token_Name
virtual int acquire (int notify = 0, void (*sleep_hook)(
void *) = 0,
ACE_Synch_Options &options = ACE_Synch_Options::defaults
);
virtual int renew (
int requeue_position = -1,
ACE_Synch_Options &options = ACE_Synch_Options::defaults
);
virtual int tryacquire (void (*sleep_hook)(void *) = 0);
ACE_Synch_Options::defaults);
ACE_Synch_Options::defaults);
virtual int acquire_read (int notify = 0, void (*sleep_hook)(
void *) = 0,
ACE_Synch_Options &options = ACE_Synch_Options::defaults
);
acquire
.
virtual int acquire_write (int notify = 0, void (*sleep_hook)(
void *) = 0,
ACE_Synch_Options &options = ACE_Synch_Options::defaults
);
acquire
.
virtual int tryacquire_read (void (*sleep_hook)(void *) = 0);
tryacquire
.
virtual int tryacquire_write (void (*sleep_hook)(void *) = 0);
tryacquire
.
virtual const ASYS_TCHAR *client_id (void) const;
virtual void client_id (const ASYS_TCHAR *client_id);
virtual const ASYS_TCHAR *name (void) const;
virtual void sleep_hook (void);
virtual void token_acquired (ACE_TPQ_Entry *);
virtual const ASYS_TCHAR *owner_id (void);
virtual ACE_Token_Proxy *clone (void) const = 0;
void dump (void) const;
virtual int type (void) const;