Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

vrpn_Mutex_Remote Class Reference

#include <vrpn_Mutex.h>

Class diagram for vrpn_Mutex_Remote:

vrpn_Mutex

List of all members.


Public Members

 vrpn_Mutex_Remote (const char * name, vrpn_Connection * = NULL)
virtual ~vrpn_Mutex_Remote (void)
vrpn_bool isAvailable (void) const
message.

vrpn_bool isHeldLocally (void) const
release() is called.

vrpn_bool isHeldRemotely (void) const
another process.

void request (void)
if !isAvailable(), instead automatically triggering DeniedCallbacks.

void release (void)
and there isn't a request pending.

void addRequestGrantedCallback (void * userdata, int (*) (void *))
These callbacks are triggered when OUR request is granted.

void addRequestDeniedCallback (void * userdata, int (*) (void *))
These callbacks are triggered when OUR request is denied.

void addTakeCallback (void * userdata, int (*) (void *))
These callbacks are triggered when ANY peer gets the mutex.

void addReleaseCallback (void * userdata, int (*) (void *))
mutex.


Protected Members

enum  state { OURS, REQUESTING, AVAILABLE, HELD_REMOTELY }
void requestIndex (void)
void triggerGrantCallbacks (void)
void triggerDenyCallbacks (void)
void triggerTakeCallbacks (void)
void triggerReleaseCallbacks (void)
state d_state
vrpn_int32 d_myIndex
vrpn_bool d_requestBeforeInit
mutexCallbackd_reqGrantedCB
mutexCallbackd_reqDeniedCB
mutexCallbackd_takeCB
mutexCallbackd_releaseCB

Static Protected Members

int handle_grantRequest (void *, vrpn_HANDLERPARAM)
int handle_denyRequest (void *, vrpn_HANDLERPARAM)
int handle_releaseNotification (void *, vrpn_HANDLERPARAM)
int handle_initialize (void *, vrpn_HANDLERPARAM)
int handle_gotConnection (void *, vrpn_HANDLERPARAM)

Detailed Description


Member Enumeration Documentation

enum vrpn_Mutex_Remote::state [protected]

Enumeration values:
OURS  
REQUESTING  
AVAILABLE  
HELD_REMOTELY  

Member Function Documentation

vrpn_Mutex_Remote::vrpn_Mutex_Remote (const char * name, vrpn_Connection * c = NULL)

vrpn_Mutex_Remote::~vrpn_Mutex_Remote (void) [virtual]

vrpn_bool vrpn_Mutex_Remote::isAvailable (void) const

message.

vrpn_bool vrpn_Mutex_Remote::isHeldLocally (void) const

release() is called.

vrpn_bool vrpn_Mutex_Remote::isHeldRemotely (void) const

another process.

void vrpn_Mutex_Remote::request (void)

if !isAvailable(), instead automatically triggering DeniedCallbacks.

void vrpn_Mutex_Remote::release (void)

and there isn't a request pending.

void vrpn_Mutex_Remote::addRequestGrantedCallback (void * userdata, int(* f)(void *))

These callbacks are triggered when OUR request is granted.

void vrpn_Mutex_Remote::addRequestDeniedCallback (void * userdata, int(* f)(void *))

These callbacks are triggered when OUR request is denied.

void vrpn_Mutex_Remote::addTakeCallback (void * userdata, int(* f)(void *))

These callbacks are triggered when ANY peer gets the mutex.

void vrpn_Mutex_Remote::addReleaseCallback (void * userdata, int(* f)(void *))

mutex.

void vrpn_Mutex_Remote::requestIndex (void) [protected]

void vrpn_Mutex_Remote::triggerGrantCallbacks (void) [protected]

void vrpn_Mutex_Remote::triggerDenyCallbacks (void) [protected]

void vrpn_Mutex_Remote::triggerTakeCallbacks (void) [protected]

void vrpn_Mutex_Remote::triggerReleaseCallbacks (void) [protected]

int vrpn_Mutex_Remote::handle_grantRequest (void * userdata, vrpn_HANDLERPARAM p) [static, protected]

int vrpn_Mutex_Remote::handle_denyRequest (void * userdata, vrpn_HANDLERPARAM p) [static, protected]

int vrpn_Mutex_Remote::handle_releaseNotification (void * userdata, vrpn_HANDLERPARAM) [static, protected]

int vrpn_Mutex_Remote::handle_initialize (void * userdata, vrpn_HANDLERPARAM p) [static, protected]

int vrpn_Mutex_Remote::handle_gotConnection (void * userdata, vrpn_HANDLERPARAM) [static, protected]


Member Data Documentation

state vrpn_Mutex_Remote::d_state [protected]

vrpn_int32 vrpn_Mutex_Remote::d_myIndex [protected]

vrpn_bool vrpn_Mutex_Remote::d_requestBeforeInit [protected]

mutexCallback* vrpn_Mutex_Remote::d_reqGrantedCB [protected]

mutexCallback* vrpn_Mutex_Remote::d_reqDeniedCB [protected]

mutexCallback* vrpn_Mutex_Remote::d_takeCB [protected]

mutexCallback* vrpn_Mutex_Remote::d_releaseCB [protected]


The documentation for this class was generated from the following files:
Generated at Fri Sep 13 15:04:17 2002 for vrpn by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999