#include <ESProxyFactoryProducer.h>
Public Member Functions | |
ESProxyFactoryProducer () | |
virtual void | newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) |
overrides DataProxyProvider method | |
virtual | ~ESProxyFactoryProducer () |
Protected Member Functions | |
template<class TFactory > | |
void | registerFactory (std::auto_ptr< TFactory > iFactory, const std::string &iLabel=std::string()) |
virtual void | registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::auto_ptr< eventsetup::ProxyFactoryBase > &iFactory, const std::string &iLabel=std::string()) |
virtual void | registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) |
override DataProxyProvider method | |
Private Member Functions | |
ESProxyFactoryProducer (const ESProxyFactoryProducer &) | |
const ESProxyFactoryProducer & | operator= (const ESProxyFactoryProducer &) |
Private Attributes | |
std::multimap < eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > | record2Factories_ |
Definition at line 79 of file ESProxyFactoryProducer.h.
ESProxyFactoryProducer::ESProxyFactoryProducer | ( | ) |
Definition at line 38 of file ESProxyFactoryProducer.cc.
: record2Factories_() { }
ESProxyFactoryProducer::~ESProxyFactoryProducer | ( | ) | [virtual] |
Definition at line 47 of file ESProxyFactoryProducer.cc.
{ }
edm::ESProxyFactoryProducer::ESProxyFactoryProducer | ( | const ESProxyFactoryProducer & | ) | [private] |
void ESProxyFactoryProducer::newInterval | ( | const eventsetup::EventSetupRecordKey & | iRecordType, |
const ValidityInterval & | iInterval | ||
) | [virtual] |
overrides DataProxyProvider method
Implements edm::eventsetup::DataProxyProvider.
Definition at line 117 of file ESProxyFactoryProducer.cc.
References edm::eventsetup::DataProxyProvider::invalidateProxies().
{ invalidateProxies(iRecordType); }
const ESProxyFactoryProducer& edm::ESProxyFactoryProducer::operator= | ( | const ESProxyFactoryProducer & | ) | [private] |
void edm::ESProxyFactoryProducer::registerFactory | ( | std::auto_ptr< TFactory > | iFactory, |
const std::string & | iLabel = std::string() |
||
) | [inline, protected] |
iFactory | auto_ptr holding a new instance of a Factory |
iLabel | extra string label used to get data (optional) Producer takes ownership of the Factory and uses it create the appropriate Proxy which is then registered with the EventSetup. If used, this method should be called in inheriting class' constructor. |
Definition at line 107 of file ESProxyFactoryProducer.h.
References registerFactoryWithKey(), and groupFilesInBlocks::temp.
Referenced by edm::ESProducer::registerProduct().
{ std::auto_ptr<eventsetup::ProxyFactoryBase> temp(iFactory.release()); registerFactoryWithKey( eventsetup::EventSetupRecordKey::makeKey<typename TFactory::record_type>(), temp, iLabel); }
void ESProxyFactoryProducer::registerFactoryWithKey | ( | const eventsetup::EventSetupRecordKey & | iRecord, |
std::auto_ptr< eventsetup::ProxyFactoryBase > & | iFactory, | ||
const std::string & | iLabel = std::string() |
||
) | [protected, virtual] |
Reimplemented in edm::ESProducerLooper.
Definition at line 79 of file ESProducerLooper.cc.
Referenced by registerFactory().
{ findingRecordWithKey(iRecord); ESProxyFactoryProducer::registerFactoryWithKey(iRecord, iFactory,iLabel); }
void ESProxyFactoryProducer::registerProxies | ( | const eventsetup::EventSetupRecordKey & | iRecord, |
KeyedProxies & | aProxyList | ||
) | [protected, virtual] |
override DataProxyProvider method
Implements edm::eventsetup::DataProxyProvider.
Definition at line 67 of file ESProxyFactoryProducer.cc.
References tests::test_CacheProxy::proxy, and record2Factories_.
{ typedef Record2Factories::iterator Iterator; std::pair< Iterator, Iterator > range = record2Factories_.equal_range(iRecord); for(Iterator it = range.first; it != range.second; ++it) { boost::shared_ptr<DataProxy> proxy(it->second.factory_->makeProxy().release()); if(0 != proxy.get()) { iProxies.push_back(KeyedProxies::value_type((*it).second.key_, proxy)); } } }
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > edm::ESProxyFactoryProducer::record2Factories_ [private] |
Definition at line 127 of file ESProxyFactoryProducer.h.
Referenced by registerProxies().