#include <PluginManager.h>
Classes | |
class | Config |
Public Types | |
typedef std::map< std::string, Infos > | CategoryToInfos |
typedef std::vector< PluginInfo > | Infos |
typedef std::vector< std::string > | SearchPath |
Public Member Functions | |
const CategoryToInfos & | categoryToInfos () const |
const SharedLibrary & | load (const std::string &iCategory, const std::string &iPlugin) |
const boost::filesystem::path & | loadableFor (const std::string &iCategory, const std::string &iPlugin) |
const SharedLibrary * | tryToLoad (const std::string &iCategory, const std::string &iPlugin) |
~PluginManager () | |
Static Public Member Functions | |
static PluginManager & | configure (const Config &) |
static PluginManager * | get () |
static bool | isAvailable () |
static const std::string & | loadingFile () |
file name of the shared object being loaded More... | |
static const std::string & | staticallyLinkedLoadingFileName () |
if the value returned from loadingFile matches this string then the file is statically linked More... | |
Public Attributes | |
sigc::signal< void, const std::string &, const std::string & > | askedToLoadCategoryWithPlugin_ |
sigc::signal< void, const boost::filesystem::path & > | goingToLoad_ |
sigc::signal< void, const SharedLibrary & > | justLoaded_ |
Private Member Functions | |
const boost::filesystem::path & | loadableFor_ (const std::string &iCategory, const std::string &iPlugin, bool &ioThrowIfFailElseSucceedStatus) |
void | newFactory (const PluginFactoryBase *) |
const PluginManager & | operator= (const PluginManager &) |
PluginManager (const Config &) | |
PluginManager (const PluginManager &) | |
Static Private Member Functions | |
static std::string & | loadingLibraryNamed_ () |
static PluginManager *& | singleton () |
Private Attributes | |
CategoryToInfos | categoryToInfos_ |
std::map < boost::filesystem::path, boost::shared_ptr < SharedLibrary > > | loadables_ |
SearchPath | searchPath_ |
Friends | |
class | DummyFriend |
Definition at line 37 of file PluginManager.h.
typedef std::map<std::string, Infos > edmplugin::PluginManager::CategoryToInfos |
Definition at line 43 of file PluginManager.h.
typedef std::vector<PluginInfo> edmplugin::PluginManager::Infos |
Definition at line 42 of file PluginManager.h.
typedef std::vector<std::string> edmplugin::PluginManager::SearchPath |
Definition at line 41 of file PluginManager.h.
PluginManager::~PluginManager | ( | ) |
Definition at line 98 of file PluginManager.cc.
|
private |
Definition at line 44 of file PluginManager.cc.
References edmplugin::PluginFactoryManager::begin(), edmplugin::standard::cachefileName(), categoryToInfos_, dir, edmplugin::PluginFactoryManager::end(), edm::hlt::Exception, mergeVDriftHistosByStation::file, edmplugin::PluginFactoryManager::get(), i, loadingLibraryNamed_(), newFactory(), edmplugin::PluginFactoryManager::newFactory_, path(), edmplugin::CacheParser::read(), and searchPath_.
Referenced by configure().
|
private |
|
inline |
The container is ordered by category, then plugin name and then by precidence order of the plugin files. Therefore the first match on category and plugin name will be the proper file to load
Definition at line 71 of file PluginManager.h.
References categoryToInfos_.
Referenced by PrintLoadingPlugins::askedToLoad(), FWEveViewManager::FWEveViewManager(), edm::RootAutoLibraryLoader::loadAll(), edm::service::LoadAllDictionaries::LoadAllDictionaries(), and main().
|
static |
Definition at line 282 of file PluginManager.cc.
References edm::hlt::Exception, PluginManager(), asciidump::s, edmplugin::PluginManager::Config::searchPath(), and singleton().
Referenced by AutoLibraryLoader::enable(), StorageFactory::getMaker(), HcalO2OManager::HcalO2OManager(), cond::Utilities::initializePluginManager(), HPDNoiseLibraryReader::initializeServices(), main(), edm::ProblemTracker::ProblemTracker(), and cond::topinit().
|
static |
Definition at line 272 of file PluginManager.cc.
References edm::hlt::Exception, and singleton().
Referenced by Options.Options::__getitem__(), PrintLoadingPlugins::askedToLoad(), edmplugin::PluginFactoryBase::checkProperLoadable(), edmplugin::PluginFactoryBase::findPMaker(), FWEveViewManager::FWEveViewManager(), edmplugin::PluginCapabilities::load(), edm::RootAutoLibraryLoader::loadAll(), edm::service::LoadAllDictionaries::LoadAllDictionaries(), main(), PrintLoadingPlugins::PrintLoadingPlugins(), edmplugin::PluginFactoryBase::tryToFindPMaker(), and edmplugin::PluginCapabilities::tryToLoad().
|
static |
Definition at line 319 of file PluginManager.cc.
References singleton().
Referenced by edmplugin::PluginFactoryBase::checkProperLoadable(), StorageFactory::getMaker(), HPDNoiseLibraryReader::initializeServices(), edm::ProblemTracker::ProblemTracker(), and cond::topinit().
const SharedLibrary & PluginManager::load | ( | const std::string & | iCategory, |
const std::string & | iPlugin | ||
) |
Definition at line 218 of file PluginManager.cc.
References askedToLoadCategoryWithPlugin_, goingToLoad_, justLoaded_, loadableFor(), loadables_, loadingLibraryNamed_(), L1TEmulatorMonitor_cff::p, path(), and asciidump::s.
Referenced by edmplugin::PluginFactoryBase::findPMaker(), and edmplugin::PluginCapabilities::load().
const boost::filesystem::path & PluginManager::loadableFor | ( | const std::string & | iCategory, |
const std::string & | iPlugin | ||
) |
Definition at line 134 of file PluginManager.cc.
References loadableFor_().
Referenced by edmplugin::PluginFactoryBase::checkProperLoadable(), and load().
|
private |
Definition at line 142 of file PluginManager.cc.
References categoryToInfos_, edm::hlt::Exception, i, edmplugin::PluginInfo::name_, and path().
Referenced by loadableFor(), and tryToLoad().
|
inlinestatic |
file name of the shared object being loaded
Definition at line 81 of file PluginManager.h.
References loadingLibraryNamed_().
Referenced by edmplugin::PluginFactoryBase::newPlugin(), and edmplugin::PluginFactoryBase::registerPMaker().
|
staticprivate |
Definition at line 306 of file PluginManager.cc.
References staticallyLinkedLoadingFileName().
Referenced by load(), loadingFile(), PluginManager(), and tryToLoad().
|
private |
|
private |
|
staticprivate |
Definition at line 312 of file PluginManager.cc.
Referenced by configure(), get(), and isAvailable().
|
static |
if the value returned from loadingFile matches this string then the file is statically linked
Definition at line 299 of file PluginManager.cc.
Referenced by edmplugin::PluginFactoryBase::checkProperLoadable(), and loadingLibraryNamed_().
const SharedLibrary * PluginManager::tryToLoad | ( | const std::string & | iCategory, |
const std::string & | iPlugin | ||
) |
Definition at line 241 of file PluginManager.cc.
References askedToLoadCategoryWithPlugin_, goingToLoad_, justLoaded_, loadableFor_(), loadables_, loadingLibraryNamed_(), L1TEmulatorMonitor_cff::p, path(), and asciidump::s.
Referenced by edmplugin::PluginFactoryBase::tryToFindPMaker(), and edmplugin::PluginCapabilities::tryToLoad().
|
friend |
Definition at line 39 of file PluginManager.h.
sigc::signal<void,const std::string&,const std::string&> edmplugin::PluginManager::askedToLoadCategoryWithPlugin_ |
Definition at line 96 of file PluginManager.h.
Referenced by load(), PrintLoadingPlugins::PrintLoadingPlugins(), and tryToLoad().
|
private |
Definition at line 114 of file PluginManager.h.
Referenced by categoryToInfos(), loadableFor_(), and PluginManager().
sigc::signal<void,const boost::filesystem::path&> edmplugin::PluginManager::goingToLoad_ |
Definition at line 94 of file PluginManager.h.
Referenced by load(), PrintLoadingPlugins::PrintLoadingPlugins(), and tryToLoad().
sigc::signal<void,const SharedLibrary&> edmplugin::PluginManager::justLoaded_ |
Definition at line 95 of file PluginManager.h.
Referenced by load(), and tryToLoad().
|
private |
Definition at line 112 of file PluginManager.h.
Referenced by load(), and tryToLoad().
|
private |
Definition at line 111 of file PluginManager.h.
Referenced by PluginManager().