Class used to broadcast message from one client to the others. More...
#include <vtkSMCollaborationManager.h>
Public Types | |
enum | EventType { CollaborationNotification = 12345, UpdateUserName = 12346, UpdateUserList = 12347, UpdateMasterUser = 12348, FollowUserCamera = 12349, CameraChanged = 12350, LastMessageUpdated = 12351 } |
typedef vtkSMRemoteObject | Superclass |
Public Types inherited from vtkSMRemoteObject | |
typedef vtkSMSessionObject | Superclass |
Public Types inherited from vtkSMSessionObject | |
typedef vtkSMObject | Superclass |
Public Types inherited from vtkSMObject | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
vtkTypeUInt32 | GetGlobalID () override |
Get the global unique id for this object. More... | |
void | SetSession (vtkSMSession *) override |
Override the session setting in order to update only once our current local user id. More... | |
virtual void | PromoteToMaster (int clientId) |
This method is used promote a new Master user. More... | |
virtual void | FollowUser (int clientId) |
Share the decision that user should follow that given user if master or follow someone else on your own. More... | |
int | GetFollowedUser () |
Return the local followed user. More... | |
virtual bool | IsMaster () |
Return true if the current client is the master. More... | |
virtual int | GetMasterId () |
Return the userId of the current master. More... | |
bool | GetDisableFurtherConnections () |
Return true if further connections are disabled. More... | |
virtual int | GetUserId () |
Return the id of the current client. More... | |
virtual int | GetUserId (int index) |
Return the id of the nth connected client. More... | |
virtual const char * | GetUserLabel (int userID) |
return the name of the provided userId More... | |
virtual void | SetUserLabel (const char *userName) |
Update ou local user name. More... | |
virtual void | SetUserLabel (int userId, const char *userName) |
Update any user name. More... | |
virtual int | GetNumberOfConnectedClients () |
return the number of currently connected clients. More... | |
void | UpdateUserInformations () |
Request an update of the user list from the server. More... | |
int | GetServerConnectID () |
Return the server connect id if this is the master. More... | |
int | GetConnectID () |
Return the client connect id. More... | |
void | SendToOtherClients (vtkSMMessage *msg) |
Send message to other clients which will trigger Observer. More... | |
const vtkSMMessage * | GetFullState () override |
This method return the state of the connected clients. More... | |
void | LoadState (const vtkSMMessage *msg, vtkSMProxyLocator *locator) override |
This method is used to either load its internal connected clients information or to forward messages across clients. More... | |
void | DisableFurtherConnections (bool disable) |
Enable or disable further connections to the server. More... | |
void | SetConnectID (int connectID) |
Change the connect-id. More... | |
const char * | GetLastReceivedMessage () const |
Allow to get the last received message from the chat. More... | |
Public Member Functions inherited from vtkSMRemoteObject | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | SetSession (vtkSMSession *) override |
Override the SetSession so if the object already have an ID we automatically register it to the associated session. More... | |
bool | HasGlobalID () |
Allow the user to test if the RemoteObject has already a GlobalID without assigning a new one to it. More... | |
virtual void | EnableLocalPushOnly () |
Allow to switch off any push of state change to the server for that particular object. More... | |
virtual void | DisableLocalPushOnly () |
Enable the given remote object to communicate its state normally to the server location. More... | |
virtual bool | IsLocalPushOnly () |
Let the session be aware that even if the Location is client only, the message should not be send to the server for a general broadcast. More... | |
virtual void | SetLocation (vtkTypeUInt32) |
Get/Set the location where the underlying VTK-objects are created. More... | |
virtual vtkTypeUInt32 | GetLocation () |
Get/Set the location where the underlying VTK-objects are created. More... | |
const char * | GetGlobalIDAsString () |
Get the global unique id for this object. More... | |
virtual void | PrototypeOn () |
Allow user to set the remote object to be discard for Undo/Redo action. More... | |
virtual void | PrototypeOff () |
Allow user to set the remote object to be discard for Undo/Redo action. More... | |
bool | IsPrototype () |
Allow user to set the remote object to be discard for Undo/Redo action. More... | |
virtual void | SetPrototype (bool) |
Allow user to set the remote object to be discard for Undo/Redo action. More... | |
Public Member Functions inherited from vtkSMSessionObject | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
virtual vtkSMSessionProxyManager * | GetSessionProxyManager () |
Return the corresponding ProxyManager if any. More... | |
virtual vtkSMSession * | GetSession () |
Get/Set the session on wihch this object exists. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual vtkMTimeType | GetMTime () |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
Static Public Member Functions | |
static vtkTypeUInt32 | GetReservedGlobalID () |
Return the GlobalID that should be used to refer to the TimeKeeper. More... | |
static vtkSMCollaborationManager * | New () |
static int | IsTypeOf (const char *type) |
static vtkSMCollaborationManager * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkSMRemoteObject | |
static int | IsTypeOf (const char *type) |
static vtkSMRemoteObject * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkSMSessionObject | |
static vtkSMSessionObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkSMSessionObject * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkSMObject | |
static vtkSMObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkSMObject * | SafeDownCast (vtkObject *o) |
static std::string | CreatePrettyLabel (const std::string &name) |
Return a well-formated label using provided name by adding spaces between lower cases and upper cases: More... | |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
static vtkObjectBase * | New () |
Protected Member Functions | |
vtkSMCollaborationManager () | |
Default constructor. More... | |
~vtkSMCollaborationManager () override | |
Destructor. More... | |
Protected Member Functions inherited from vtkSMRemoteObject | |
vtkSMRemoteObject () | |
Default constructor. More... | |
~vtkSMRemoteObject () override | |
Destructor. More... | |
void | PushState (vtkSMMessage *msg) |
Subclasses can call this method to send a message to its state object on the server processes specified. More... | |
bool | PullState (vtkSMMessage *msg) |
Subclasses can call this method to pull the state from the state-object on the server processes specified. More... | |
void | SetGlobalID (vtkTypeUInt32 guid) |
Set the GlobalUniqueId. More... | |
vtkTypeUInt32 | GetFilteredLocation () |
Protected Member Functions inherited from vtkSMSessionObject | |
vtkSMSessionObject () | |
~vtkSMSessionObject () override | |
Protected Member Functions inherited from vtkSMObject | |
vtkSMObject () | |
~vtkSMObject () override | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
virtual | ~vtkObject () |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Additional Inherited Members | |
Protected Attributes inherited from vtkSMRemoteObject | |
vtkTypeUInt32 | GlobalID |
vtkTypeUInt32 | Location |
bool | Prototype |
bool | ClientOnlyLocationFlag |
Protected Attributes inherited from vtkSMSessionObject | |
vtkWeakPointer< vtkSMSession > | Session |
Identifies the session id to which this object is related. More... | |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Class used to broadcast message from one client to the others.
This class allow to trigger protobuf messages on all the clients that are connected to the server. Those clients can attach listeners and handle those message in the way they want. The message sender do not receive its message again, only other clients do.
To listen collaboration notification messages you should have a code that look like that:
collaborationManager->AddObserver( vtkSMCollaborationManager::CollaborationNotification, callback);
void callback(vtkObject* src, unsigned long event, void* method, void* data) { vtkSMMessage* msg = reinterpret_cast<vtkSMMessage*>(data); => do what you want with the message }
Definition at line 36 of file vtkSMCollaborationManager.h.
Definition at line 45 of file vtkSMCollaborationManager.h.
Enumerator | |
---|---|
CollaborationNotification | |
UpdateUserName | |
UpdateUserList | |
UpdateMasterUser | |
FollowUserCamera | |
CameraChanged | |
LastMessageUpdated |
Definition at line 143 of file vtkSMCollaborationManager.h.
|
protected |
Default constructor.
|
overrideprotected |
Destructor.
|
static |
Return the GlobalID that should be used to refer to the TimeKeeper.
|
static |
|
virtual |
Reimplemented from vtkSMRemoteObject.
Reimplemented from vtkSMRemoteObject.
|
static |
|
overridevirtual |
Reimplemented from vtkObject.
|
overridevirtual |
Get the global unique id for this object.
If none is set and the session is valid, a new global id will be assigned automatically.
Reimplemented from vtkSMRemoteObject.
|
overridevirtual |
Override the session setting in order to update only once our current local user id.
Reimplemented from vtkSMSessionObject.
|
virtual |
This method is used promote a new Master user.
Master/Slave user doesn't buy you anything here. It just provide you the information, and it is your call to prevent slaves users to do or achieve some actions inside your client. When you call that method a SMMessage is also propagated to the other client so they could follow who is the Master without fetching the information again.
|
virtual |
Share the decision that user should follow that given user if master or follow someone else on your own.
int vtkSMCollaborationManager::GetFollowedUser | ( | ) |
Return the local followed user.
|
virtual |
Return true if the current client is the master.
|
virtual |
Return the userId of the current master.
bool vtkSMCollaborationManager::GetDisableFurtherConnections | ( | ) |
Return true if further connections are disabled.
|
virtual |
Return the id of the current client.
Return the id of the nth connected client.
In the list you will find yourself as well.
return the name of the provided userId
|
virtual |
Update ou local user name.
Update any user name.
|
virtual |
return the number of currently connected clients.
This size is used to bound the GetUserId() method.
void vtkSMCollaborationManager::UpdateUserInformations | ( | ) |
Request an update of the user list from the server.
(A pull request is done)
int vtkSMCollaborationManager::GetServerConnectID | ( | ) |
Return the server connect id if this is the master.
Else return -1.
int vtkSMCollaborationManager::GetConnectID | ( | ) |
Return the client connect id.
void vtkSMCollaborationManager::SendToOtherClients | ( | vtkSMMessage * | msg | ) |
Send message to other clients which will trigger Observer.
|
overridevirtual |
This method return the state of the connected clients.
Reimplemented from vtkSMRemoteObject.
|
overridevirtual |
This method is used to either load its internal connected clients information or to forward messages across clients.
Reimplemented from vtkSMRemoteObject.
void vtkSMCollaborationManager::DisableFurtherConnections | ( | bool | disable | ) |
Enable or disable further connections to the server.
Already connected clients stay connected.
void vtkSMCollaborationManager::SetConnectID | ( | int | connectID | ) |
Change the connect-id.
Already connected clients stay connected.
connectID | the new connect-id for the server. |
const char* vtkSMCollaborationManager::GetLastReceivedMessage | ( | ) | const |
Allow to get the last received message from the chat.
Easy API to be wrapped and used in python scripting.