CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::serviceregistry::ServicesManager Class Reference

#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 >
Tget () 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< TypeIDBaseactualCreationOrder_
 
edm::propagate_const
< std::shared_ptr
< ServicesManager > > 
associatedManager_
 
ActivityRegistry registry_
 
std::vector< TypeIDBaserequestedCreationOrder_
 
edm::propagate_const
< std::unique_ptr< Type2Maker > > 
type2Maker_
 
Type2Service type2Service_
 

Detailed Description

Definition at line 43 of file ServicesManager.h.

Member Typedef Documentation

Definition at line 57 of file ServicesManager.h.

Definition at line 56 of file ServicesManager.h.

Constructor & Destructor Documentation

ServicesManager::ServicesManager ( std::vector< ParameterSet > &  iConfiguration)

Definition at line 69 of file ServicesManager.cc.

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.

ServicesManager::~ServicesManager ( )

Definition at line 175 of file ServicesManager.cc.

edm::serviceregistry::ServicesManager::ServicesManager ( ServicesManager const &  )
private

Member Function Documentation

void ServicesManager::connect ( ActivityRegistry iOther)
void ServicesManager::connectTo ( ActivityRegistry iOther)

causes iOther's signals to be forward to us

Definition at line 220 of file ServicesManager.cc.

void ServicesManager::copySlotsFrom ( ActivityRegistry iOther)

the copy the argument's slots to the our signals

Definition at line 225 of file ServicesManager.cc.

void ServicesManager::copySlotsTo ( ActivityRegistry iOther)

copy our Service's slots to the argument's signals

Definition at line 230 of file ServicesManager.cc.

void ServicesManager::createServices ( )
private

Definition at line 271 of file ServicesManager.cc.

void ServicesManager::fillListOfMakers ( std::vector< ParameterSet > &  iConfiguration)
private

Definition at line 235 of file ServicesManager.cc.

template<typename T >
T& edm::serviceregistry::ServicesManager::get ( ) const
inline

Definition at line 74 of file ServicesManager.h.

Referenced by Options.Options::__getitem__().

template<typename T >
bool edm::serviceregistry::ServicesManager::isAvailable ( ) const
inline

returns true of the particular service is accessible

Definition at line 100 of file ServicesManager.h.

ServicesManager const& edm::serviceregistry::ServicesManager::operator= ( ServicesManager const &  )
private
template<typename T >
bool edm::serviceregistry::ServicesManager::put ( std::shared_ptr< ServiceWrapper< T > >  iPtr)
inline

returns false if put fails because a service of this type already exists

Definition at line 125 of file ServicesManager.h.

Referenced by edm::serviceregistry::ServiceMaker< T, TMaker >::make().

Member Data Documentation

std::vector<TypeIDBase> edm::serviceregistry::ServicesManager::actualCreationOrder_
private

Definition at line 165 of file ServicesManager.h.

edm::propagate_const<std::shared_ptr<ServicesManager> > edm::serviceregistry::ServicesManager::associatedManager_
private

Definition at line 159 of file ServicesManager.h.

ActivityRegistry edm::serviceregistry::ServicesManager::registry_
private

Definition at line 161 of file ServicesManager.h.

std::vector<TypeIDBase> edm::serviceregistry::ServicesManager::requestedCreationOrder_
private

Definition at line 164 of file ServicesManager.h.

edm::propagate_const<std::unique_ptr<Type2Maker> > edm::serviceregistry::ServicesManager::type2Maker_
private

Definition at line 163 of file ServicesManager.h.

Type2Service edm::serviceregistry::ServicesManager::type2Service_
private

Definition at line 162 of file ServicesManager.h.