This file is indexed.

/usr/include/CLAM/RunTimeLibraryLoader.hxx is in libclam-dev 1.4.0-5build1.

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

#include <string>
#include <vector>
#include <map>
#include <list>


class RunTimeLibraryLoader
{
public:

	virtual ~RunTimeLibraryLoader() {}
	void Load() const;
	void ReLoad();

	const std::string CompletePathFor(const std::string & subpathAndName) const; // if subpathAndName exists on environment paths, returns full path

	// static methods for dynamic libraries handles
	static void * FullyLoadLibrary(const std::string & libraryPath);
	static void * LazyLoadLibrary(const std::string & libraryPath);
	static bool ReleaseLibraryHandler(void * handle, const std::string pluginFullFilename="");
	static const std::string LibraryLoadError();
	static const std::string FileOfSymbol (void * symbolAddress);
	static void * GetSymbol(void * libraryHandler, const std::string & symbolName);

protected:
	void LoadLibrariesFromPath(const std::string & path) const;
	std::vector<std::string> SplitPathVariable(const std::string & pathVariable) const;
	void * GetLibraryHandler(const std::string & libraryPath) const;
	const char * pathSeparator() const
	{
		return 
			#ifdef WIN32
				";";
			#else
				":";
			#endif
	}
	// to implement by subclasses (ex. Ladspa, CLAM processings, etc)
	virtual const char ** standardPaths() const = 0;
	virtual const char * homePath() const = 0;
	virtual const char * pathEnvironmentVar() const = 0;
	virtual const char * libraryType() const = 0;
	virtual const bool needReleaseHandlerOnReload() const =0;
	virtual void SetupLibrary( void* handle, const std::string & pluginFullFilename ) const {}
	const std::string getPathFromFullFileName(const std::string & fullFileNameConst) const
	{
		std::string fullFileName = fullFileNameConst;
		return fullFileName.substr(0,fullFileName.rfind("/"));
	}
	bool IsOnPath(const std::string & path) const;
	virtual std::list<std::string> GetUsedLibraries();

private:
	const std::string GetPaths() const;
};

#endif //RunTimeLibraryLoader_hxx