#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 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 69 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 77 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 215 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 220 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 225 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 230 of file ServicesManager.cc.
References edm::ActivityRegistry::copySlotsFrom(), and registry_.
Referenced by put(), and edm::ServiceToken::ServiceToken().
|
private |
Definition at line 271 of file ServicesManager.cc.
References edm::serviceregistry::ServicesManager::MakerHolder::add(), cms::Exception::addContext(), beamerCreator::create(), objects.autophobj::filler, reco::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 304 of file ServicesManager.cc.
References createServiceFor(), cmsPerfStripChart::operate(), requestedCreationOrder_, and type2Maker_.
Referenced by put(), and ServicesManager().
|
private |
Definition at line 235 of file ServicesManager.cc.
References runEdmFileComparison::base, edm::errors::Configuration, beamerCreator::create(), Exception, reco::get(), registry_, requestedCreationOrder_, AlCaHLTBitMon_QueryRunRegistry::string, and type2Maker_.
Referenced by put(), and ServicesManager().
|
inline |
Definition at line 74 of file ServicesManager.h.
References createServiceFor(), edm::propagate_const< T >::get(), dataset::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 100 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 125 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 166 of file ServicesManager.h.
Referenced by put(), and ~ServicesManager().
|
private |
Definition at line 160 of file ServicesManager.h.
Referenced by ServicesManager().
|
private |
Definition at line 162 of file ServicesManager.h.
Referenced by connect(), connectTo(), copySlotsFrom(), copySlotsTo(), fillListOfMakers(), and ServicesManager().
|
private |
Definition at line 165 of file ServicesManager.h.
Referenced by createServices(), and fillListOfMakers().
|
private |
Definition at line 164 of file ServicesManager.h.
Referenced by createServices(), fillListOfMakers(), get(), isAvailable(), and ServicesManager().
|
private |
Definition at line 163 of file ServicesManager.h.
Referenced by get(), isAvailable(), put(), ServicesManager(), and ~ServicesManager().