25 #ifndef __XRD_CL_PLUGIN_MANAGER__
26 #define __XRD_CL_PLUGIN_MANAGER__
120 typedef void *(*PlugInFunc_t)(
const void *arg );
124 FactoryHelper(): plugin(0), factory(0), isEnv(
false), counter(0) {}
128 if(plugin) plugin->Unload();
140 void ProcessConfigDir(
const std::string &dir );
145 void ProcessPlugInConfig(
const std::string &confFile );
150 std::pair<XrdOucPinLoader*,PlugInFactory*> LoadFactory(
151 const std::string &lib,
152 const std::map<std::string, std::string> &config );
159 const std::string &lib,
166 std::string NormalizeURL(
const std::string url );
168 std::map<std::string, FactoryHelper*> pFactoryMap;
169 FactoryHelper *pDefaultFactory;
Manage client-side plug-ins and match them agains URLs.
void ProcessEnvironmentSettings()
bool RegisterFactory(const std::string &url, PlugInFactory *factory)
PlugInManager()
Constructor.
bool RegisterDefaultFactory(PlugInFactory *factory)
Register a plug-in factory applying to all URLs.
~PlugInManager()
Destructor.
PlugInFactory * GetFactory(const std::string url)