#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 | createServices () |
void | fillListOfMakers (std::vector< ParameterSet > &) |
ServicesManager const & | operator= (ServicesManager const &) |
ServicesManager (ServicesManager const &) | |
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().
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_.
|
private |
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(), 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(), 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_.
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_.
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_.
|
private |
Definition at line 271 of file ServicesManager.cc.
References cms::Exception::addContext(), SurfaceDeformationFactory::create(), reco::get(), cmsPerfStripChart::operate(), requestedCreationOrder_, AlCaHLTBitMon_QueryRunRegistry::string, unpackBuffers-CaloStage2::token, type2Maker_, and edm::convertException::wrap().
Referenced by ServicesManager().
|
private |
Definition at line 235 of file ServicesManager.cc.
References newFWLiteAna::base, edm::errors::Configuration, SurfaceDeformationFactory::create(), Exception, reco::get(), registry_, requestedCreationOrder_, AlCaHLTBitMon_QueryRunRegistry::string, and type2Maker_.
Referenced by ServicesManager().
|
inline |
Definition at line 74 of file ServicesManager.h.
References assert(), edm::propagate_const< T >::get(), mergeVDriftHistosByStation::name, edm::errors::NotFound, edm::Exception::throwThis(), type2Maker_, and type2Service_.
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), and betterConfigParser.BetterConfigParser::getResultingSection().
|
inline |
returns true of the particular service is accessible
Definition at line 100 of file ServicesManager.h.
References assert(), edm::propagate_const< T >::get(), type2Maker_, and type2Service_.
|
private |
|
inline |
returns false if put fails because a service of this type already exists
Definition at line 125 of file ServicesManager.h.
References actualCreationOrder_, and type2Service_.
Referenced by edm::serviceregistry::ServiceMaker< T, TMaker >::make().
|
private |
Definition at line 165 of file ServicesManager.h.
Referenced by put(), and ~ServicesManager().
|
private |
Definition at line 159 of file ServicesManager.h.
Referenced by ServicesManager().
|
private |
Definition at line 161 of file ServicesManager.h.
Referenced by edm::serviceregistry::ServicesManager::MakerHolder::add(), connect(), connectTo(), copySlotsFrom(), copySlotsTo(), fillListOfMakers(), and ServicesManager().
|
private |
Definition at line 164 of file ServicesManager.h.
Referenced by createServices(), and fillListOfMakers().
|
private |
Definition at line 163 of file ServicesManager.h.
Referenced by createServices(), fillListOfMakers(), get(), isAvailable(), and ServicesManager().
|
private |
Definition at line 162 of file ServicesManager.h.
Referenced by get(), isAvailable(), put(), ServicesManager(), and ~ServicesManager().