Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
FWCore
Framework
src
Factory.h
Go to the documentation of this file.
1
#ifndef FWCore_Framework_Factory_h
2
#define FWCore_Framework_Factory_h
3
4
#include "
FWCore/PluginManager/interface/PluginFactory.h
"
5
#include "
FWCore/Framework/src/Worker.h
"
6
#include "
FWCore/Framework/src/WorkerMaker.h
"
7
#include "
FWCore/Framework/src/WorkerParams.h
"
8
9
#include <map>
10
#include <string>
11
#include <memory>
12
#include "
FWCore/Utilities/interface/Signal.h
"
13
14
namespace
edm {
15
typedef
edmplugin::PluginFactory<Maker* ()>
MakerPluginFactory
;
16
17
class
Factory
18
{
19
public
:
20
typedef
std::map<std::string, Maker*>
MakerMap
;
21
22
~Factory
();
23
24
static
Factory
*
get
();
25
26
std::unique_ptr<Worker>
makeWorker
(
const
WorkerParams
&,
27
signalslot::Signal
<
void
(
const
ModuleDescription
&)>& pre,
28
signalslot::Signal
<
void
(
const
ModuleDescription
&)>& post)
const
;
29
30
31
private
:
32
Factory
();
33
static
Factory
singleInstance_
;
34
mutable
MakerMap
makers_
;
35
};
36
37
}
38
#endif
Worker.h
edm::WorkerParams
Definition:
WorkerParams.h:21
WorkerParams.h
WorkerMaker.h
edmplugin::PluginFactory
Definition:
PluginFactory.h:31
Signal.h
edm::Factory::makeWorker
std::unique_ptr< Worker > makeWorker(const WorkerParams &, signalslot::Signal< void(const ModuleDescription &)> &pre, signalslot::Signal< void(const ModuleDescription &)> &post) const
Definition:
Factory.cc:34
edm::Factory
Definition:
Factory.h:17
PluginFactory.h
edm::MakerPluginFactory
edmplugin::PluginFactory< Maker *()> MakerPluginFactory
Definition:
Factory.h:15
edm::signalslot::Signal
Definition:
Signal.h:36
edm::Factory::MakerMap
std::map< std::string, Maker * > MakerMap
Definition:
Factory.h:20
edm::ModuleDescription
Definition:
ModuleDescription.h:23
edm::Factory::Factory
Factory()
Definition:
Factory.cc:24
edm::Factory::~Factory
~Factory()
Definition:
Factory.cc:19
edm::Factory::singleInstance_
static Factory singleInstance_
Definition:
Factory.h:33
edm::Factory::makers_
MakerMap makers_
Definition:
Factory.h:34
Generated for CMSSW Reference Manual by
1.8.5