This file is indexed.

/usr/include/cppunit/plugin/PlugInManager.h is in libcppunit-dev 1.13.2-2.1.

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
#ifndef CPPUNIT_PLUGIN_PLUGINMANAGER_H
#define CPPUNIT_PLUGIN_PLUGINMANAGER_H

#include <cppunit/Portability.h>

#if !defined(CPPUNIT_NO_TESTPLUGIN)

#if CPPUNIT_NEED_DLL_DECL
#pragma warning( push )
#pragma warning( disable: 4251 )  // X needs to have dll-interface to be used by clients of class Z
#endif

#include <cppunit/plugin/PlugInParameters.h>
struct CppUnitTestPlugIn;

CPPUNIT_NS_BEGIN


class DynamicLibraryManager;
class TestResult;
class XmlOutputter;


/*! \brief Manges TestPlugIn.
 */
class CPPUNIT_API PlugInManager
{
public:
  /*! Constructs a PlugInManager object.
   */
  PlugInManager();

  /// Destructor.
  virtual ~PlugInManager();

  /*! \brief Loads the specified plug-in.
   *
   * After being loaded, the CppUnitTestPlugIn::initialize() is called.
   *
   * \param libraryFileName Name of the file that contains the TestPlugIn.
   * \param parameters List of string passed to the plug-in.
   * \return Pointer on the DynamicLibraryManager associated to the library.
   *         Valid until the library is unloaded. Never \c NULL.
   * \exception DynamicLibraryManagerException is thrown if an error occurs during loading.
   */
  void load( const std::string &libraryFileName,
             const PlugInParameters &parameters = PlugInParameters() );

  /*! \brief Unloads the specified plug-in.
   * \param libraryFileName Name of the file that contains the TestPlugIn passed
   *                        to a previous call to load().
   */
  void unload( const std::string &libraryFileName );

  /*! \brief Gives a chance to each loaded plug-in to register TestListener.
   *
   * For each plug-in, call CppUnitTestPlugIn::addListener().
   */
  void addListener( TestResult *eventManager );

  /*! \brief Gives a chance to each loaded plug-in to unregister TestListener.
   * For each plug-in, call CppUnitTestPlugIn::removeListener().
   */
  void removeListener( TestResult *eventManager );

  /*! \brief Provides a way for the plug-in to register some XmlOutputterHook.
   */
  void addXmlOutputterHooks( XmlOutputter *outputter );

  /*! \brief Called when the XmlOutputter is destroyed.
   * 
   * Can be used to free some resources allocated by addXmlOutputterHooks().
   */
  void removeXmlOutputterHooks();

protected:
  /*! \brief (INTERNAL) Information about a specific plug-in.
   */
  struct PlugInInfo
  {
    std::string m_fileName;
    DynamicLibraryManager *m_manager;
    CppUnitTestPlugIn *m_interface;
  };

  /*! Unloads the specified plug-in.
   * \param plugIn Information about the plug-in.
   */
  void unload( PlugInInfo &plugIn );

private:
  /// Prevents the use of the copy constructor.
  PlugInManager( const PlugInManager &copy );

  /// Prevents the use of the copy operator.
  void operator =( const PlugInManager &copy );

private:
  typedef CppUnitDeque<PlugInInfo> PlugIns;
  PlugIns m_plugIns;
};


CPPUNIT_NS_END

#if CPPUNIT_NEED_DLL_DECL
#pragma warning( pop )
#endif

#endif // !defined(CPPUNIT_NO_TESTPLUGIN)


#endif  // CPPUNIT_PLUGIN_PLUGINMANAGER_H