#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_ |
std::shared_ptr< ServicesManager > | associatedManager_ |
ActivityRegistry | registry_ |
std::vector< TypeIDBase > | requestedCreationOrder_ |
std::auto_ptr< Type2Maker > | type2Maker_ |
Type2Service | type2Service_ |
Definition at line 42 of file ServicesManager.h.
typedef std::map<TypeIDBase, MakerHolder> edm::serviceregistry::ServicesManager::Type2Maker |
Definition at line 56 of file ServicesManager.h.
typedef std::map<TypeIDBase, std::shared_ptr<ServiceWrapperBase> > edm::serviceregistry::ServicesManager::Type2Service |
Definition at line 55 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(), edm::hlt::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, 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(), edm::hlt::Exception, reco::get(), registry_, requestedCreationOrder_, AlCaHLTBitMon_QueryRunRegistry::string, and type2Maker_.
Referenced by ServicesManager().
|
inline |
Definition at line 73 of file ServicesManager.h.
References assert(), mergeVDriftHistosByStation::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 99 of file ServicesManager.h.
References assert(), type2Maker_, and type2Service_.
|
private |
|
inline |
returns false if put fails because a service of this type already exists
Definition at line 124 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().