#include <ServicesManager.h>
Classes | |
struct | MakerHolder |
Public Types | |
typedef std::map< TypeIDBase, MakerHolder > | Type2Maker |
typedef std::map< TypeIDBase, std::shared_ptr< ServiceWrapperBase > > | Type2Service |
Public Member Functions | |
void | connect (ActivityRegistry &iOther) |
causes our ActivityRegistry's signals to be forwarded to iOther More... | |
void | connectTo (ActivityRegistry &iOther) |
causes iOther's signals to be forward to us More... | |
void | copySlotsFrom (ActivityRegistry &) |
the copy the argument's slots to the our signals More... | |
void | copySlotsTo (ActivityRegistry &) |
copy our Service's slots to the argument's signals More... | |
template<typename T > | |
T & | get () const |
template<typename T > | |
bool | isAvailable () const |
returns true of the particular service is accessible More... | |
ServicesManager const & | operator= (ServicesManager const &)=delete |
template<typename T > | |
bool | put (std::shared_ptr< ServiceWrapper< T >> iPtr) |
returns false if put fails because a service of this type already exists More... | |
ServicesManager (ServicesManager const &)=delete | |
ServicesManager (ServiceToken iToken, ServiceLegacy iLegacy, std::vector< ParameterSet > &iConfiguration, bool associate=true) | |
ServicesManager (std::vector< ParameterSet > &iConfiguration) | |
~ServicesManager () | |
Private Member Functions | |
void | createServiceFor (MakerHolder const &) |
void | createServices () |
void | fillListOfMakers (std::vector< ParameterSet > &) |
Private Attributes | |
std::vector< TypeIDBase > | actualCreationOrder_ |
edm::propagate_const< std::shared_ptr< ServicesManager > > | associatedManager_ |
ActivityRegistry | registry_ |
std::vector< TypeIDBase > | requestedCreationOrder_ |
edm::propagate_const< std::unique_ptr< Type2Maker > > | type2Maker_ |
Type2Service | type2Service_ |
Definition at line 44 of file ServicesManager.h.
typedef std::map<TypeIDBase, MakerHolder> edm::serviceregistry::ServicesManager::Type2Maker |
Definition at line 57 of file ServicesManager.h.
typedef std::map<TypeIDBase, std::shared_ptr<ServiceWrapperBase> > edm::serviceregistry::ServicesManager::Type2Service |
Definition at line 56 of file ServicesManager.h.
ServicesManager::ServicesManager | ( | std::vector< ParameterSet > & | iConfiguration | ) |
Definition at line 65 of file ServicesManager.cc.
References createServices(), and fillListOfMakers().
ServicesManager::ServicesManager | ( | ServiceToken | iToken, |
ServiceLegacy | iLegacy, | ||
std::vector< ParameterSet > & | iConfiguration, | ||
bool | associate = true |
||
) |
Takes the services described by iToken and places them into the manager. Conflicts over Services provided by both the iToken and iConfiguration are resolved based on the value of iLegacy
Definition at line 72 of file ServicesManager.cc.
References associatedManager_, edm::errors::Configuration, edm::ActivityRegistry::copySlotsFrom(), createServices(), Exception, fillListOfMakers(), reco::helper::VirtualJetProducerHelper::intersection(), edm::serviceregistry::kConfigurationOverrides, edm::serviceregistry::kOverlapIsError, edm::serviceregistry::kTokenOverrides, edm::ServiceToken::manager_, registry_, AlCaHLTBitMon_QueryRunRegistry::string, type2Maker_, type2Service_, and edm::typeDemangle().
|
delete |
ServicesManager::~ServicesManager | ( | ) |
Definition at line 175 of file ServicesManager.cc.
References actualCreationOrder_, and type2Service_.
void ServicesManager::connect | ( | ActivityRegistry & | iOther | ) |
causes our ActivityRegistry's signals to be forwarded to iOther
Definition at line 212 of file ServicesManager.cc.
References edm::ActivityRegistry::connect(), and registry_.
Referenced by o2o_db_cfgmap.DbManagerDAQ::update_hashmap().
void ServicesManager::connectTo | ( | ActivityRegistry & | iOther | ) |
causes iOther's signals to be forward to us
Definition at line 214 of file ServicesManager.cc.
References edm::ActivityRegistry::connect(), and registry_.
void ServicesManager::copySlotsFrom | ( | ActivityRegistry & | iOther | ) |
the copy the argument's slots to the our signals
Definition at line 216 of file ServicesManager.cc.
References edm::ActivityRegistry::copySlotsFrom(), and registry_.
void ServicesManager::copySlotsTo | ( | ActivityRegistry & | iOther | ) |
copy our Service's slots to the argument's signals
Definition at line 218 of file ServicesManager.cc.
References edm::ActivityRegistry::copySlotsFrom(), and registry_.
|
private |
Definition at line 251 of file ServicesManager.cc.
References edm::serviceregistry::ServicesManager::MakerHolder::add(), cms::Exception::addContext(), beamerCreator::create(), trigObjTnPSource_cfi::filler, get, edm::ParameterSet::getParameter(), edm::serviceregistry::ServicesManager::MakerHolder::pset_, AlCaHLTBitMon_QueryRunRegistry::string, and edm::convertException::wrap().
Referenced by createServices().
|
private |
Definition at line 279 of file ServicesManager.cc.
References createServiceFor(), requestedCreationOrder_, unpackBuffers-CaloStage2::token, and type2Maker_.
Referenced by ServicesManager().
|
private |
Definition at line 220 of file ServicesManager.cc.
References newFWLiteAna::base, edm::errors::Configuration, beamerCreator::create(), Exception, get, registry_, requestedCreationOrder_, AlCaHLTBitMon_QueryRunRegistry::string, and type2Maker_.
Referenced by ServicesManager().
|
inline |
Definition at line 76 of file ServicesManager.h.
References cms::cuda::assert(), edm::propagate_const< T >::get(), Skims_PA_cff::name, edm::errors::NotFound, edm::Exception::throwThis(), type2Maker_, and type2Service_.
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().
|
inline |
returns true of the particular service is accessible
Definition at line 102 of file ServicesManager.h.
References cms::cuda::assert(), edm::propagate_const< T >::get(), type2Maker_, and type2Service_.
|
delete |
|
inline |
returns false if put fails because a service of this type already exists
Definition at line 127 of file ServicesManager.h.
References actualCreationOrder_, and type2Service_.
Referenced by edm::serviceregistry::ServiceMaker< T, TMaker >::make().
|
private |
Definition at line 164 of file ServicesManager.h.
Referenced by put(), and ~ServicesManager().
|
private |
Definition at line 158 of file ServicesManager.h.
Referenced by ServicesManager().
|
private |
Definition at line 160 of file ServicesManager.h.
Referenced by edm::serviceregistry::ServicesManager::MakerHolder::add(), connect(), connectTo(), copySlotsFrom(), copySlotsTo(), fillListOfMakers(), and ServicesManager().
|
private |
Definition at line 163 of file ServicesManager.h.
Referenced by createServices(), and fillListOfMakers().
|
private |
Definition at line 162 of file ServicesManager.h.
Referenced by createServices(), fillListOfMakers(), get(), isAvailable(), and ServicesManager().
|
private |
Definition at line 161 of file ServicesManager.h.
Referenced by get(), isAvailable(), put(), ServicesManager(), and ~ServicesManager().