1 #ifndef FWCore_PluginManager_PluginManager_h 2 #define FWCore_PluginManager_PluginManager_h 27 #include <boost/filesystem/path.hpp> 29 #include "tbb/concurrent_unordered_map.h" 43 tbb::tbb_hash<std::string> hasher;
44 return hasher( iPath.native() );
50 friend class DummyFriend;
53 typedef std::vector<PluginInfo>
Infos;
67 m_mustHaveCache =
false;
71 return m_mustHaveCache;
75 bool m_mustHaveCache =
true;
91 return categoryToInfos_;
101 return loadingLibraryNamed_();}
104 static const std::string& staticallyLinkedLoadingFileName();
110 static bool isAvailable();
130 bool& ioThrowIfFailElseSucceedStatus);
CategoryToInfos categoryToInfos_
const CategoryToInfos & categoryToInfos() const
tbb::concurrent_unordered_map< boost::filesystem::path, std::shared_ptr< SharedLibrary >, PluginManagerPathHasher > loadables_
const SearchPath & searchPath() const
static const std::string & loadingFile()
file name of the shared object being loaded
std::map< std::string, Infos > CategoryToInfos
std::vector< std::string > SearchPath
edm::signalslot::Signal< void(const SharedLibrary &)> justLoaded_
bool mustHaveCache() const
edm::signalslot::Signal< void(const std::string &, const std::string &)> askedToLoadCategoryWithPlugin_
std::recursive_mutex & pluginLoadMutex()
edm::signalslot::Signal< void(const boost::filesystem::path &)> goingToLoad_
Config & searchPath(const SearchPath &iPath)
size_t operator()(boost::filesystem::path const &iPath) const
std::vector< PluginInfo > Infos
std::recursive_mutex pluginLoadMutex_