vrpn  07.33
Virtual Reality Peripheral Network
vrpn_Shared_String_Server Class Reference

#include <vrpn_SharedObject.h>

Inheritance diagram for vrpn_Shared_String_Server:
Collaboration diagram for vrpn_Shared_String_Server:

Public Member Functions

 vrpn_Shared_String_Server (const char *name, const char *defaultValue=NULL, vrpn_int32 defaultMode=VRPN_SO_DEFAULT)
 
virtual ~vrpn_Shared_String_Server (void)
 
vrpn_Shared_String_Serveroperator= (const char *)
 
virtual void bindConnection (vrpn_Connection *)
 Every derived class should call this, do what it needs to, < and ALSO call {server,remote}PostBindCleanup() to get < myId and peerId set up and to get standard handlers registered. More...
 
- Public Member Functions inherited from vrpn_Shared_String
 vrpn_Shared_String (const char *name, const char *defaultValue=NULL, vrpn_int32 mode=VRPN_SO_DEFAULT)
 
virtual ~vrpn_Shared_String (void)
 
const char * value (void) const
 
 operator const char * () const
 
vrpn_Shared_Stringoperator= (const char *newValue)
 
virtual vrpn_Shared_Stringset (const char *newValue, timeval when)
 
void register_handler (vrpnSharedStringCallback, void *)
 
void unregister_handler (vrpnSharedStringCallback, void *)
 
void register_handler (vrpnTimedSharedStringCallback, void *)
 
void unregister_handler (vrpnTimedSharedStringCallback, void *)
 
void setSerializerPolicy (vrpn_SerializerPolicy policy=vrpn_ACCEPT, vrpnSharedStringSerializerPolicy f=NULL, void *userdata=NULL)
 
- Public Member Functions inherited from vrpn_SharedObject
 vrpn_SharedObject (const char *name, const char *tname, vrpn_int32 mode)
 
virtual ~vrpn_SharedObject (void)
 
const char * name (void) const
 
vrpn_bool isSerializer (void) const
 
void useLamportClock (vrpn_LamportClock *)
 Lamport Clocks are NOT currently integrated. They should < provide serialization (virtual timestamps) that work even < when the clocks of the computers communicating are not < roughly synchronized. More...
 
void becomeSerializer (void)
 Requests that this instance of the shared object becomes < the serializer (i.e. lock-arbitrator), and we can then use < setSerializerPolicy to imitate a complete lock. Does nothing < if we already are the serializer (isSerializer() returns true); < otherwise initiates a 3-phase request protocol with the < current serializer. There currently isn't any provision for < notification of success (or failure). More...
 
void registerDeferredUpdateCallback (vrpnDeferredUpdateCallback, void *userdata)
 The specified function will be passed userdata when this < particular shared object defers an update (receives a local < update but is not the serializer and so sends the update off < to the serializer). Intended to allow insertion of timing < code for those times when you really want to know how long < every little thing is taking. More...
 

Additional Inherited Members

- Protected Member Functions inherited from vrpn_Shared_String
vrpn_Shared_Stringset (const char *, timeval, vrpn_bool isLocalSet)
 
virtual vrpn_bool shouldAcceptUpdate (const char *newValue, timeval when, vrpn_bool isLocalSet)
 
virtual void sendUpdate (void)
 Should invoke default sendUpdate() for this derived type. More...
 
void sendUpdate (const char *newValue, timeval when)
 
void encode (char **buffer, vrpn_int32 *len, const char *newValue, timeval when) const
 
void decode (const char **buffer, vrpn_int32 *len, char *newValue, timeval *when) const
 
int yankCallbacks (vrpn_bool isLocal)
 
int handleUpdate (vrpn_HANDLERPARAM)
 
- Protected Member Functions inherited from vrpn_SharedObject
virtual vrpn_bool shouldSendUpdate (vrpn_bool isLocalSet, vrpn_bool acceptedUpdate)
 
int yankCallbacks (vrpn_bool isLocal)
 must set d_lastUpdate BEFORE calling yankCallbacks() More...
 
int yankDeferredUpdateCallbacks (void)
 returns -1 on error (i.e. nonzero return by a callback) More...
 
void serverPostBindCleanup (void)
 
void remotePostBindCleanup (void)
 
- Static Protected Member Functions inherited from vrpn_Shared_String
static int VRPN_CALLBACK handle_lamportUpdate (void *, vrpn_HANDLERPARAM)
 
- Static Protected Member Functions inherited from vrpn_SharedObject
static int VRPN_CALLBACK handle_requestSerializer (void *, vrpn_HANDLERPARAM)
 
static int VRPN_CALLBACK handle_grantSerializer (void *, vrpn_HANDLERPARAM)
 
static int VRPN_CALLBACK handle_assumeSerializer (void *, vrpn_HANDLERPARAM)
 
static int VRPN_CALLBACK handle_gotConnection (void *, vrpn_HANDLERPARAM)
 Register this handler in postBindCleanup(); < it calls sendUpdate() to make sure the remote has the < correct value on first connection. More...
 
static int VRPN_CALLBACK handle_update (void *, vrpn_HANDLERPARAM)
 Passes arguments to handleUpdate() for this type; < registered in postBindCleanup();. More...
 
- Protected Attributes inherited from vrpn_Shared_String
char * d_value
 
callbackEntryd_callbacks
 
timedCallbackEntryd_timedCallbacks
 
vrpn_SerializerPolicy d_policy
 
vrpnSharedStringSerializerPolicy d_policyCallback
 
void * d_policyUserdata
 
- Protected Attributes inherited from vrpn_SharedObject
char * d_name
 
vrpn_int32 d_mode
 
timeval d_lastUpdate
 
char * d_typename
 
vrpn_Connectiond_connection
 
vrpn_int32 d_serverId
 
vrpn_int32 d_remoteId
 
vrpn_int32 d_myId
 
vrpn_int32 d_peerId
 
vrpn_int32 d_update_type
 
vrpn_int32 d_requestSerializer_type
 Sent to the serializer to assume its duties. More...
 
vrpn_int32 d_grantSerializer_type
 Sent by the serializer to grant a request. More...
 
vrpn_int32 d_assumeSerializer_type
 Sent by a new serializer once it has been notified that < its request has been granted. More...
 
vrpn_int32 d_lamportUpdate_type
 
vrpn_bool d_isSerializer
 default to vrpn_TRUE for servers, FALSE for remotes More...
 
vrpn_bool d_isNegotiatingSerializer
 As long as we have inorder delivery, this should be < sufficient to keep us from getting many at once. More...
 
vrpn_bool d_queueSets
 If this is true, no set()s are processed; instead, they < are queued for later execution. < NOT IMPLEMENTED. More...
 
vrpn_LamportClockd_lClock
 
vrpn_LamportTimestampd_lastLamportUpdate
 
deferredUpdateCallbackEntryd_deferredUpdateCallbacks
 

Detailed Description

Definition at line 546 of file vrpn_SharedObject.h.

Constructor & Destructor Documentation

vrpn_Shared_String_Server::vrpn_Shared_String_Server ( const char *  name,
const char *  defaultValue = NULL,
vrpn_int32  defaultMode = VRPN_SO_DEFAULT 
)

Definition at line 1445 of file vrpn_SharedObject.C.

References vrpn_SharedObject::d_isSerializer.

vrpn_Shared_String_Server::~vrpn_Shared_String_Server ( void  )
virtual

Definition at line 1455 of file vrpn_SharedObject.C.

Member Function Documentation

void vrpn_Shared_String_Server::bindConnection ( vrpn_Connection c)
virtual

Every derived class should call this, do what it needs to, < and ALSO call {server,remote}PostBindCleanup() to get < myId and peerId set up and to get standard handlers registered.

Reimplemented from vrpn_SharedObject.

Definition at line 1464 of file vrpn_SharedObject.C.

References vrpn_SharedObject::bindConnection(), and vrpn_SharedObject::serverPostBindCleanup().

Here is the call graph for this function:

vrpn_Shared_String_Server & vrpn_Shared_String_Server::operator= ( const char *  c)

Definition at line 1457 of file vrpn_SharedObject.C.

References vrpn_Shared_String::operator=().

Here is the call graph for this function:


The documentation for this class was generated from the following files: