#include <vrpn_Mutex.h>
Class diagram for vrpn_Mutex_Remote:

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 |
![]() | ![]() | mutexCallback* | d_reqGrantedCB |
![]() | ![]() | mutexCallback* | d_reqDeniedCB |
![]() | ![]() | mutexCallback* | d_takeCB |
![]() | ![]() | mutexCallback* | d_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) |
enum vrpn_Mutex_Remote::state [protected]
|
| OURS | |
| REQUESTING | |
| AVAILABLE | |
| HELD_REMOTELY |
| 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]
|
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]
|
1.0.0 written by Dimitri van Heesch,
© 1997-1999