This file is indexed.

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

  Program:   ParaView
  Module:    vtkPVPluginLoader.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 vtkPVPluginLoader - Used to load ParaView plugins.
// .SECTION Description
// vtkPVPluginLoader can be used to load plugins for ParaView. vtkPVPluginLoader
// loads the plugin on the local process. For verbose details during the process
// of loading the plugin, try setting the environment variable PV_PLUGIN_DEBUG.
// This class only needed when loading plugins from shared libraries
// dynamically. For statically importing plugins, one directly uses
// PV_PLUGIN_IMPORT() macro defined in vtkPVPlugin.h.

#ifndef vtkPVPluginLoader_h
#define vtkPVPluginLoader_h

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

class vtkIntArray;
class vtkPVPlugin;
class vtkStringArray;
class vtkPVPlugin;

typedef bool (*vtkPluginLoadFunction)(const char*);

class VTKPVCLIENTSERVERCORECORE_EXPORT vtkPVPluginLoader : public vtkObject
{
public:
  static vtkPVPluginLoader* New();
  vtkTypeMacro(vtkPVPluginLoader, vtkObject);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Tries to the load the plugin given the path to the plugin file.
  bool LoadPlugin(const char* filename)
    { return this->LoadPluginInternal(filename, false); }
  bool LoadPluginSilently(const char* filename)
    { return this->LoadPluginInternal(filename, true); }

  // Description:
  // Simply forwards the call to
  // vtkPVPluginLoader::LoadPluginConfigurationXMLFromString to load
  // configuration xml.
  void LoadPluginConfigurationXMLFromString(const char* xmlcontents);

  // Description:
  // Loads all plugins under the directories mentioned in the SearchPaths.
  void LoadPluginsFromPluginSearchPath();

  // Description:
  // Use PV_PLUGIN_CONFILE_FILE xml file to load specified plugins
  // It can contain path to multiples xml pluginc config files
  // sperated by env separator.
  // It allow user to fine pick which plugins to load, instead of using PV_PLUGIN_PATH
  // the format a xml plugin file should be the following :
  // <?xml version="1.0"?>
  //  <Plugins>
  //    <Plugin name="MyPlugin" filename="absolute/path/to/libMyPlugin.so"/>
  //    ...
  //  </Plugins>
  void LoadPluginsFromPluginConfigFile();

  // Description:
  // Loads all plugin libraries at a path.
  void LoadPluginsFromPath(const char* path);

  // Description:
  // Returns the full filename for the plugin attempted to load most recently
  // using LoadPlugin().
  vtkGetStringMacro(FileName);

  // Description:
  // Get the plugin name. This returns a valid name only after the plugin has
  // been loaded.
  vtkGetStringMacro(PluginName);

  // Description:
  // Get the plugin version string. This returns a valid version string only
  // after the plugin has been loaded.
  vtkGetStringMacro(PluginVersion);

  // Description:
  // Get the error string if the plugin failed to load. Returns NULL if the
  // plugin was loaded successfully.
  vtkGetStringMacro(ErrorString);

  // Description:
  // Get a string of standard search paths (path1;path2;path3)
  // search paths are based on PV_PLUGIN_PATH,
  // plugin dir relative to executable.
  vtkGetStringMacro(SearchPaths);

  // Description:
  // Returns the status of most recent LoadPlugin call.
  vtkGetMacro(Loaded, bool);

  // Description:
  // Sets the function used to load static plugins.
  static void SetStaticPluginLoadFunction(vtkPluginLoadFunction function);

protected:
  vtkPVPluginLoader();
  ~vtkPVPluginLoader();

  bool LoadPluginInternal(const char* filename, bool no_errors);

  // Description:
  // Called by LoadPluginInternal() to do the final steps in loading of a
  // plugin.
  bool LoadPlugin(const char*file, vtkPVPlugin* plugin);

  vtkSetStringMacro(ErrorString);
  vtkSetStringMacro(PluginName);
  vtkSetStringMacro(PluginVersion);
  vtkSetStringMacro(FileName);
  vtkSetStringMacro(SearchPaths);

  char* ErrorString;
  char* PluginName;
  char* PluginVersion;
  char* FileName;
  char* SearchPaths;
  bool DebugPlugin;
  bool Loaded;
private:
  vtkPVPluginLoader(const vtkPVPluginLoader&); // Not implemented.
  void operator=(const vtkPVPluginLoader&); // Not implemented.

  static vtkPluginLoadFunction StaticPluginLoadFunction;
};

//BTX
// Implementation of Schwartz counter idiom to ensure that the plugin library
// unloading doesn't happen before the ParaView application is finalized.
static class VTKPVCLIENTSERVERCORECORE_EXPORT vtkPVPluginLoaderCleanerInitializer
{
public:
  vtkPVPluginLoaderCleanerInitializer();
  ~vtkPVPluginLoaderCleanerInitializer();
} vtkPVPluginLoaderCleanerInitializerInstance; // object here in header.
//ETX
#endif