This file is indexed.

/usr/include/paraview/vtkSMCollaborationManager.h is in paraview-dev 5.0.1+dfsg1-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/*=========================================================================

  Program:   ParaView
  Module:    vtkSMCollaborationManager.h

  Copyright (c) Kitware, Inc.
  All rights reserved.
  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
// .NAME vtkSMCollaborationManager - Class used to broadcast message from
// one client to the others.
// .SECTION Description
// 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
// }

#ifndef vtkSMCollaborationManager_h
#define vtkSMCollaborationManager_h

#include "vtkPVServerManagerCoreModule.h" //needed for exports
#include "vtkSMRemoteObject.h"
#include "vtkSMMessageMinimal.h" // needed for vtkSMMessage

class vtkSMProxyLocator;

class VTKPVSERVERMANAGERCORE_EXPORT vtkSMCollaborationManager : public vtkSMRemoteObject
{
public:
  // Description:
  // Return the GlobalID that should be used to refer to the TimeKeeper
  static vtkTypeUInt32 GetReservedGlobalID();

  static vtkSMCollaborationManager* New();
  vtkTypeMacro(vtkSMCollaborationManager,vtkSMRemoteObject);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // 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.
  virtual vtkTypeUInt32 GetGlobalID();

  // Description:
  // Override the session setting in order to update only once our current
  // local user id
  virtual void SetSession(vtkSMSession*);

  // Description:
  // 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 void PromoteToMaster(int clientId);

  // Description:
  // Share the decision that user should follow that given user if master or
  // follow someone else on your own
  virtual void FollowUser(int clientId);

  // Description:
  // Return the local followed user
  int GetFollowedUser();

  // Description:
  // Return true if the current client is the master
  virtual bool IsMaster();

  // Description:
  // Return the userId of the current master
  virtual int GetMasterId();

  // Description:
  // Return the id of the current client
  virtual int GetUserId();

  // Description:
  // Return the id of the nth connected client.
  // In the list you will find yourself as well.
  virtual int GetUserId(int index);

  // Description:
  // return the name of the provided userId
  virtual const char* GetUserLabel(int userID);

  // Description:
  // Update ou local user name
  virtual void SetUserLabel(const char* userName);

  // Description:
  // Update any user name
  virtual void SetUserLabel(int userId, const char* userName);

  // Description:
  // return the number of currently connected clients. This size is used to bound
  // the GetUserId() method.
  virtual int GetNumberOfConnectedClients();

  // Description:
  // Request an update of the user list from the server. (A pull request is done)
  void UpdateUserInformations();

//BTX
  enum EventType
    {
    CollaborationNotification = 12345,
    UpdateUserName = 12346,
    UpdateUserList = 12347,
    UpdateMasterUser = 12348,
    FollowUserCamera = 12349,
    CameraChanged = 12350
    };

  // Description:
  // Send message to other clients which will trigger Observer
  void SendToOtherClients(vtkSMMessage* msg);

  // Description:
  // This method return the state of the connected clients
  virtual const vtkSMMessage* GetFullState();

  // Description:
  // This method is used to either load its internal connected clients
  // informations or to forward messages across clients
  virtual void LoadState( const vtkSMMessage* msg, vtkSMProxyLocator* locator);

protected:
  // Description:
  // Default constructor.
  vtkSMCollaborationManager();

  // Description:
  // Destructor.
  virtual ~vtkSMCollaborationManager();

private:
  class vtkInternal;
  vtkInternal* Internal;

  vtkSMCollaborationManager(const vtkSMCollaborationManager&); // Not implemented
  void operator=(const vtkSMCollaborationManager&);       // Not implemented
//ETX
};
#endif // #ifndef vtkSMCollaborationManager_h