This file is indexed.

/usr/include/paraview/vtkPVSession.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
/*=========================================================================

  Program:   ParaView
  Module:    vtkPVSession.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 vtkPVSession - extends vtkSession to add API for ParaView sessions.
// .SECTION Description
// vtkPVSession adds APIs to vtkSession for ParaView-specific sessions, namely
// those that are used to communicate between data-server,render-server and
// client. This is an abstract class.

#ifndef vtkPVSession_h
#define vtkPVSession_h

#include "vtkPVClientServerCoreCoreModule.h" //needed for exports
#include "vtkSession.h"

class vtkMPIMToNSocketConnection;
class vtkMultiProcessController;
class vtkPVProgressHandler;
class vtkPVServerInformation;

class VTKPVCLIENTSERVERCORECORE_EXPORT vtkPVSession : public vtkSession
{
public:
  vtkTypeMacro(vtkPVSession, vtkSession);
  void PrintSelf(ostream& os, vtkIndent indent);

  enum ServerFlags
    {
    NONE = 0,
    DATA_SERVER = 0x01,
    DATA_SERVER_ROOT = 0x02,
    RENDER_SERVER = 0x04,
    RENDER_SERVER_ROOT = 0x08,
    SERVERS = DATA_SERVER | RENDER_SERVER,
    CLIENT = 0x10,
    CLIENT_AND_SERVERS = DATA_SERVER | CLIENT | RENDER_SERVER
    };

  // Description:
  // Returns a ServerFlags indicate the nature of the current processes. e.g. if
  // the current processes acts as a data-server and a render-server, it returns
  // DATA_SERVER | RENDER_SERVER.
  virtual ServerFlags GetProcessRoles();

  // Description:
  // Convenience method that returns true if the current session is serving the
  // indicated role on this process.
  bool HasProcessRole(vtkTypeUInt32 flag)
    {
    return ((flag & static_cast<vtkTypeUInt32>(this->GetProcessRoles())) == flag);
    }

  // Description:
  // Returns the controller used to communicate with the process. Value must be
  // DATA_SERVER_ROOT or RENDER_SERVER_ROOT or CLIENT.
  // Default implementation returns NULL.
  virtual vtkMultiProcessController* GetController(ServerFlags processType);

  // Description:
  // This is socket connection, if any to communicate between the data-server
  // and render-server nodes.
  virtual vtkMPIMToNSocketConnection* GetMPIMToNSocketConnection()
    { return NULL; }

  // Description:
  // vtkPVServerInformation is an information-object that provides information
  // about the server processes. These include server-side capabilities as well
  // as server-side command line arguments e.g. tile-display parameters. Use
  // this method to obtain the server-side information.
  // NOTE: For now, we are not bothering to provide separate informations from
  // data-server and render-server (as was the case earlier). We can easily add
  // API for the same if needed.
  virtual vtkPVServerInformation* GetServerInformation()=0;

  // Description:
  // Allow anyone to know easily if the current session is involved in
  // collaboration or not. This is mostly true for the Client side.
  virtual bool IsMultiClients();

  // Description:
  // Provides access to the progress handler.
  vtkGetObjectMacro(ProgressHandler, vtkPVProgressHandler);

  // Description:
  // Should be called to begin/end receiving progresses on this session.
  void PrepareProgress();
  void CleanupPendingProgress();

  // Description:
  // Returns true if the session is within a PrepareProgress() and
  // CleanupPendingProgress() block.
  bool GetPendingProgress();

//BTX
protected:
  vtkPVSession();
  ~vtkPVSession();

  enum 
    {
    EXCEPTION_EVENT_TAG=31416
    };

  // Description:
  // Callback when any vtkMultiProcessController subclass fires a WrongTagEvent.
  // Return true if the event was handle localy.
  virtual bool OnWrongTagEvent(vtkObject* caller, unsigned long eventid,
    void* calldata);

  // Description:
  // Virtual methods subclasses can override.
  virtual void PrepareProgressInternal();
  virtual void CleanupPendingProgressInternal();

  vtkPVProgressHandler* ProgressHandler;
private:
  vtkPVSession(const vtkPVSession&); // Not implemented
  void operator=(const vtkPVSession&); // Not implemented

  int ProgressCount;
  // This flags ensures that while we are waiting for an previous progress-pair
  // to finish, we don't start new progress-pairs.
  bool InCleanupPendingProgress;
//ETX
};

#endif