This file is indexed.

/usr/include/arc/security/ClassLoader.h is in nordugrid-arc-dev 4.2.0-2.

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

#include <map>
#include <string>

#include <arc/ArcConfig.h>
#include <arc/Logger.h>
#include <arc/loader/Plugin.h>

//Some implicit idea in the ClassLoader/ModuleManager stuff:
//share_lib_name (e.g. mccsoap) should be global identical
//plugin_name (e.g. __arc_attrfactory_modules__) should be global identical
//desc->name (e.g. attr.factory) should also be global identical

namespace Arc{

typedef Plugin LoadableClass;

// TODO: Unify  with Loader
class ClassLoader : public PluginsFactory {
  protected:
    ClassLoader(Config *cfg = NULL);
  protected:
    void load_all_instances(Config *cfg);    

  public:
    static ClassLoader* getClassLoader(Config* cfg = NULL); 

    LoadableClass *Instance(const std::string& classId, XMLNode* arg = NULL, const std::string& className = "");
    LoadableClass *Instance(XMLNode* arg = NULL, const std::string& className = "");

    ~ClassLoader();
  
  private:
    static Logger logger;
    static ClassLoader* _instance;
};

class ClassLoaderPluginArgument: public PluginArgument {
  private:
    XMLNode* xml_;
  public:
    ClassLoaderPluginArgument(XMLNode* xml):xml_(xml) { };
    virtual ~ClassLoaderPluginArgument(void) { };
    operator XMLNode* (void) { return xml_; };
};

} // namespace Arc

#endif /* __ARC_CLASSLOADER_H__ */