#include <PluginFactoryBase.h>
Definition at line 36 of file PluginFactoryBase.h.
edmplugin::PluginFactoryBase::PluginFactoryBase |
( |
| ) |
|
|
inline |
PluginFactoryBase::~PluginFactoryBase |
( |
| ) |
|
|
virtual |
std::vector< PluginInfo > PluginFactoryBase::available |
( |
| ) |
const |
|
virtual |
virtual const std::string& edmplugin::PluginFactoryBase::category |
( |
| ) |
const |
|
pure virtual |
void PluginFactoryBase::checkProperLoadable |
( |
const std::string & |
iName, |
|
|
const std::string & |
iLoadedFrom |
|
) |
| const |
|
private |
void PluginFactoryBase::fillAvailable |
( |
std::vector< PluginInfo > & |
iReturn | ) |
const |
|
protected |
void * PluginFactoryBase::findPMaker |
( |
const std::string & |
iName | ) |
const |
|
protected |
Definition at line 76 of file PluginFactoryBase.cc.
References category(), checkProperLoadable(), Exception, edmplugin::PluginManager::get(), mps_check::lib, edmplugin::PluginManager::load(), m_plugins, edmplugin::SharedLibrary::path(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by edmplugin::PluginFactory< R *(Args...)>::create().
79 Plugins::const_iterator itFound =
m_plugins.find(iName);
84 throw cms::Exception(
"PluginCacheError")<<
"The plugin '"<<iName<<
"' should have been in loadable\n '" 85 <<lib<<
"'\n but was not there. This means the plugin cache is incorrect. Please run 'EdmPluginRefresh "<<lib<<
"'";
89 auto const&
value= itFound->second.front();
90 while(
value.m_ptr.load(std::memory_order_acquire)==
nullptr) {}
93 return itFound->second.front().m_ptr.load(std::memory_order_acquire);
virtual const std::string & category() const =0
returns the name of the category to which this plugin factory belongs
void checkProperLoadable(const std::string &iName, const std::string &iLoadedFrom) const
const SharedLibrary & load(const std::string &iCategory, const std::string &iPlugin)
const boost::filesystem::path & path() const
static PluginManager * get()
void PluginFactoryBase::finishedConstruction |
( |
| ) |
|
|
protected |
void PluginFactoryBase::newPlugin |
( |
const std::string & |
iName | ) |
|
|
protected |
void PluginFactoryBase::registerPMaker |
( |
void * |
iPMaker, |
|
|
const std::string & |
iName |
|
) |
| |
|
protected |
void * PluginFactoryBase::tryToFindPMaker |
( |
const std::string & |
iName | ) |
const |
|
protected |
Definition at line 98 of file PluginFactoryBase.cc.
References category(), checkProperLoadable(), Exception, edmplugin::PluginManager::get(), mps_check::lib, m_plugins, edmplugin::SharedLibrary::path(), AlCaHLTBitMon_QueryRunRegistry::string, and edmplugin::PluginManager::tryToLoad().
Referenced by edmplugin::PluginFactory< R *(Args...)>::tryToCreate().
101 Plugins::const_iterator itFound =
m_plugins.find(iName);
108 throw cms::Exception(
"PluginCacheError")<<
"The plugin '"<<iName<<
"' should have been in loadable\n '" 109 <<lib<<
"'\n but was not there. This means the plugin cache is incorrect. Please run 'EdmPluginRefresh "<<lib<<
"'";
114 auto const&
value= itFound->second.front();
115 while(
value.m_ptr.load(std::memory_order_acquire)==
nullptr) {}
118 return itFound !=
m_plugins.end()? itFound->second.front().m_ptr.load(std::memory_order_acquire) :
nullptr;
const SharedLibrary * tryToLoad(const std::string &iCategory, const std::string &iPlugin)
virtual const std::string & category() const =0
returns the name of the category to which this plugin factory belongs
void checkProperLoadable(const std::string &iName, const std::string &iLoadedFrom) const
static PluginManager * get()
Plugins edmplugin::PluginFactoryBase::m_plugins |
|
private |