CMS 3D CMS Logo

PluginFactoryManager.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: PluginManager
4 // Class : PluginFactoryManager
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Chris Jones
10 // Created: Wed Apr 4 13:09:31 EDT 2007
11 //
12 
13 // system include files
14 
15 // user include files
18 
19 namespace edmplugin{
20 //
21 // constants, enums and typedefs
22 //
23 
24 //
25 // static data member definitions
26 //
27 
28 //
29 // constructors and destructor
30 //
32 {
33 }
34 
35 // PluginFactoryManager::PluginFactoryManager(const PluginFactoryManager& rhs)
36 // {
37 // // do actual copying here;
38 // }
39 
41 {
42 }
43 
44 //
45 // assignment operators
46 //
47 // const PluginFactoryManager& PluginFactoryManager::operator=(const PluginFactoryManager& rhs)
48 // {
49 // //An exception safe implementation is
50 // PluginFactoryManager temp(rhs);
51 // swap(rhs);
52 //
53 // return *this;
54 // }
55 
56 //
57 // member functions
58 //
59 void
61 {
62  factories_.push_back(iFactory);
63  newFactory_(iFactory);
64 }
65 
66 //
67 // const member functions
68 //
71 {
72  return factories_.begin();
73 }
74 
77 {
78  return factories_.end();
79 }
80 
81 //
82 // static member functions
83 //
86 {
87  CMS_THREAD_SAFE static PluginFactoryManager s_instance;
88  return &s_instance;
89 }
90 }
edm::signalslot::Signal< void(const PluginFactoryBase *)> newFactory_
#define CMS_THREAD_SAFE
void addFactory(const PluginFactoryBase *)
std::vector< const PluginFactoryBase * > factories_
std::vector< const PluginFactoryBase * >::const_iterator const_iterator
static PluginFactoryManager * get()