#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... | |
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 (std::vector< ParameterSet > &iConfiguration) | |
ServicesManager (ServiceToken iToken, ServiceLegacy iLegacy, std::vector< ParameterSet > &iConfiguration, bool associate=true) | |
~ServicesManager () | |
Private Member Functions | |
void | createServiceFor (MakerHolder const &) |
void | createServices () |
void | fillListOfMakers (std::vector< ParameterSet > &) |
ServicesManager const & | operator= (ServicesManager const &)=delete |
ServicesManager (ServicesManager const &)=delete | |
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 43 of file ServicesManager.h.
typedef std::map<TypeIDBase, MakerHolder> edm::serviceregistry::ServicesManager::Type2Maker |
Definition at line 55 of file ServicesManager.h.
typedef std::map<TypeIDBase, std::shared_ptr<ServiceWrapperBase> > edm::serviceregistry::ServicesManager::Type2Service |
Definition at line 54 of file ServicesManager.h.
ServicesManager::ServicesManager | ( | std::vector< ParameterSet > & | iConfiguration | ) |
Definition at line 65 of file ServicesManager.cc.
References createServices(), and fillListOfMakers().
Referenced by put().
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().
ServicesManager::~ServicesManager | ( | ) |
Definition at line 175 of file ServicesManager.cc.
References actualCreationOrder_, and type2Service_.
|
privatedelete |
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 Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::__init__(), Vispa.Views.PropertyView.BooleanProperty::__init__(), Vispa.Gui.FindDialog.FindDialog::_addScript(), Vispa.Gui.FindDialog.FindDialog::_addStringProperty(), Vispa.Main.Application.Application::_connectSignals(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::_createItem(), Vispa.Gui.BoxContentDialog.BoxContentDialog::addButton(), Vispa.Gui.ToolBoxContainer.ToolBoxContainer::addWidget(), Vispa.Views.PropertyView.PropertyView::append(), Vispa.Views.PropertyView.PropertyView::appendAddRow(), Vispa.Main.Application.Application::createAction(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createButton(), Vispa.Views.LineDecayView.LineDecayView::createLineDecayContainer(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createLineEdit(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createTextEdit(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filterDialog(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Gui.PortWidget.PortWidget::mouseMoveEvent(), put(), Vispa.Views.PropertyView.BooleanProperty::setChecked(), Vispa.Main.SplitterTab.SplitterTab::setController(), Vispa.Plugins.Browser.BrowserTab.BrowserTab::setController(), Vispa.Views.PropertyView.BooleanProperty::setReadOnly(), Vispa.Views.PropertyView.DropDownProperty::setReadOnly(), Vispa.Views.PropertyView.TextEditWithButtonProperty::setReadOnly(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setTab(), Vispa.Views.PropertyView.IntegerProperty::setValue(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView(), o2o_db_cfgmap.DbManagerDAQ::update_hashmap(), Vispa.Plugins.EdmBrowser.EdmBrowserTabController.EdmBrowserTabController::updateViewMenu(), and Vispa.Plugins.ConfigEditor.ConfigEditorTabController.ConfigEditorTabController::updateViewMenu().
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_.
Referenced by put(), and edm::ServiceToken::ServiceToken().
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_.
Referenced by put(), and edm::ServiceToken::ServiceToken().
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_.
Referenced by put(), and edm::ServiceToken::ServiceToken().
|
private |
Definition at line 251 of file ServicesManager.cc.
References edm::serviceregistry::ServicesManager::MakerHolder::add(), cms::Exception::addContext(), beamerCreator::create(), trigObjTnPSource_cfi::filler, timingPdfMaker::get, edm::ParameterSet::getParameter(), edm::serviceregistry::ServicesManager::MakerHolder::pset_, AlCaHLTBitMon_QueryRunRegistry::string, and edm::convertException::wrap().
Referenced by createServices(), get(), isAvailable(), and put().
|
private |
Definition at line 279 of file ServicesManager.cc.
References createServiceFor(), requestedCreationOrder_, unpackBuffers-CaloStage2::token, and type2Maker_.
Referenced by put(), and ServicesManager().
|
private |
Definition at line 220 of file ServicesManager.cc.
References newFWLiteAna::base, edm::errors::Configuration, beamerCreator::create(), Exception, timingPdfMaker::get, registry_, requestedCreationOrder_, AlCaHLTBitMon_QueryRunRegistry::string, and type2Maker_.
Referenced by put(), and ServicesManager().
|
inline |
Definition at line 72 of file ServicesManager.h.
References createServiceFor(), 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(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.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 98 of file ServicesManager.h.
References createServiceFor(), edm::propagate_const< T >::get(), type2Maker_, and type2Service_.
|
privatedelete |
Referenced by put().
|
inline |
returns false if put fails because a service of this type already exists
Definition at line 123 of file ServicesManager.h.
References actualCreationOrder_, connect(), connectTo(), copySlotsFrom(), copySlotsTo(), createServiceFor(), createServices(), fillListOfMakers(), operator=(), ServicesManager(), 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 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().