1 #ifndef FWCore_PluginManager_PluginManager_h
2 #define FWCore_PluginManager_PluginManager_h
25 #include <boost/filesystem/path.hpp>
26 #include "boost/shared_ptr.hpp"
27 #include "sigc++/signal.h"
42 typedef std::vector<PluginInfo>
Infos;
63 const std::string& iPlugin);
66 const std::string& iPlugin);
77 const std::string& iPlugin);
108 const std::string& iPlugin,
109 bool& ioThrowIfFailElseSucceedStatus);
112 std::map<boost::filesystem::path, boost::shared_ptr<SharedLibrary> >
loadables_;
CategoryToInfos categoryToInfos_
const CategoryToInfos & categoryToInfos() const
std::map< boost::filesystem::path, boost::shared_ptr< SharedLibrary > > loadables_
const boost::filesystem::path & loadableFor(const std::string &iCategory, const std::string &iPlugin)
const SharedLibrary * tryToLoad(const std::string &iCategory, const std::string &iPlugin)
sigc::signal< void, const boost::filesystem::path & > goingToLoad_
static PluginManager & configure(const Config &)
static PluginManager *& singleton()
const boost::filesystem::path & loadableFor_(const std::string &iCategory, const std::string &iPlugin, bool &ioThrowIfFailElseSucceedStatus)
static const std::string & staticallyLinkedLoadingFileName()
if the value returned from loadingFile matches this string then the file is statically linked ...
static bool isAvailable()
const SearchPath & searchPath() const
sigc::signal< void, const std::string &, const std::string & > askedToLoadCategoryWithPlugin_
const PluginManager & operator=(const PluginManager &)
static const std::string & loadingFile()
file name of the shared object being loaded
std::map< std::string, Infos > CategoryToInfos
std::vector< std::string > SearchPath
Config & searchPath(const SearchPath &iPath)
static std::string & loadingLibraryNamed_()
std::vector< PluginInfo > Infos
void newFactory(const PluginFactoryBase *)
const SharedLibrary & load(const std::string &iCategory, const std::string &iPlugin)
sigc::signal< void, const SharedLibrary & > justLoaded_
PluginManager(const Config &)