#include <PluginFactoryBase.h>
Public Types | |
typedef std::map< std::string, PMakers > | Plugins |
typedef std::vector< std::pair < void *, std::string > > | PMakers |
Public Member Functions | |
virtual std::vector< PluginInfo > | available () const |
return info about all plugins which are already available in the program More... | |
virtual const std::string & | category () const =0 |
returns the name of the category to which this plugin factory belongs More... | |
PluginFactoryBase () | |
virtual | ~PluginFactoryBase () |
Public Attributes | |
edm::signalslot::Signal< void(const std::string &, const PluginInfo &)> | newPluginAdded_ |
signal containing plugin category, and plugin info for newly added plugin More... | |
Protected Member Functions | |
void | fillAvailable (std::vector< PluginInfo > &iReturn) const |
void | fillInfo (const PMakers &makers, PluginInfo &iInfo, std::vector< PluginInfo > &iReturn) const |
Plugins::const_iterator | findPMaker (const std::string &iName) const |
void | finishedConstruction () |
void | newPlugin (const std::string &iName) |
void | registerPMaker (void *iPMaker, const std::string &iName) |
Plugins::const_iterator | tryToFindPMaker (const std::string &iName) const |
Protected Attributes | |
Plugins | m_plugins |
Private Member Functions | |
void | checkProperLoadable (const std::string &iName, const std::string &iLoadedFrom) const |
const PluginFactoryBase & | operator= (const PluginFactoryBase &) |
PluginFactoryBase (const PluginFactoryBase &) | |
Definition at line 33 of file PluginFactoryBase.h.
typedef std::map<std::string, PMakers > edmplugin::PluginFactoryBase::Plugins |
Definition at line 41 of file PluginFactoryBase.h.
typedef std::vector<std::pair<void*, std::string> > edmplugin::PluginFactoryBase::PMakers |
Definition at line 40 of file PluginFactoryBase.h.
|
inline |
Definition at line 37 of file PluginFactoryBase.h.
|
virtual |
Definition at line 41 of file PluginFactoryBase.cc.
|
private |
|
virtual |
return info about all plugins which are already available in the program
Reimplemented in edmplugin::PluginCapabilities.
Definition at line 165 of file PluginFactoryBase.cc.
References fillAvailable(), and m_plugins.
|
pure virtual |
returns the name of the category to which this plugin factory belongs
Implemented in edmplugin::PluginFactory< R *(Args...)>, and edmplugin::PluginCapabilities.
Referenced by checkProperLoadable(), findPMaker(), newPlugin(), and tryToFindPMaker().
|
private |
Definition at line 141 of file PluginFactoryBase.cc.
References category(), edm::hlt::Exception, edmplugin::PluginManager::get(), edmplugin::PluginManager::isAvailable(), edmplugin::PluginManager::loadableFor(), and edmplugin::PluginManager::staticallyLinkedLoadingFileName().
Referenced by findPMaker(), and tryToFindPMaker().
|
protected |
Definition at line 129 of file PluginFactoryBase.cc.
References fillInfo(), info, m_plugins, and edmplugin::PluginInfo::name_.
Referenced by available().
|
protected |
Definition at line 117 of file PluginFactoryBase.cc.
References edmplugin::PluginInfo::loadable_.
Referenced by fillAvailable().
|
protected |
Definition at line 77 of file PluginFactoryBase.cc.
References category(), checkProperLoadable(), edm::hlt::Exception, edmplugin::PluginManager::get(), edmplugin::PluginManager::load(), m_plugins, edmplugin::SharedLibrary::path(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by edmplugin::PluginFactory< R *(Args...)>::create().
|
protected |
call this as the last line in the constructor of inheriting classes this is done so that the virtual table will be properly initialized when the routine is called
Definition at line 61 of file PluginFactoryBase.cc.
References edmplugin::PluginFactoryManager::addFactory(), and edmplugin::PluginFactoryManager::get().
Referenced by edmplugin::PluginCapabilities::PluginCapabilities().
|
protected |
Definition at line 67 of file PluginFactoryBase.cc.
References category(), info, edmplugin::PluginInfo::loadable_, edmplugin::PluginManager::loadingFile(), edmplugin::PluginInfo::name_, newPluginAdded_, and getHLTPrescaleColumns::path.
Referenced by registerPMaker().
|
private |
|
protected |
Definition at line 159 of file PluginFactoryBase.cc.
References edmplugin::PluginManager::loadingFile(), m_plugins, and newPlugin().
Referenced by edmplugin::PluginFactory< R *(Args...)>::registerPMaker().
|
protected |
Definition at line 96 of file PluginFactoryBase.cc.
References category(), checkProperLoadable(), edm::hlt::Exception, edmplugin::PluginManager::get(), m_plugins, edmplugin::SharedLibrary::path(), AlCaHLTBitMon_QueryRunRegistry::string, and edmplugin::PluginManager::tryToLoad().
Referenced by edmplugin::PluginFactory< R *(Args...)>::tryToCreate().
|
protected |
Definition at line 83 of file PluginFactoryBase.h.
Referenced by available(), fillAvailable(), findPMaker(), registerPMaker(), and tryToFindPMaker().
|
mutable |
signal containing plugin category, and plugin info for newly added plugin
Definition at line 52 of file PluginFactoryBase.h.
Referenced by newPlugin(), and edmplugin::PluginCapabilities::tryToFind().