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  // PluginFactoryManager::PluginFactoryManager(const PluginFactoryManager& rhs)
34  // {
35  // // do actual copying here;
36  // }
37 
39 
40  //
41  // assignment operators
42  //
43  // const PluginFactoryManager& PluginFactoryManager::operator=(const PluginFactoryManager& rhs)
44  // {
45  // //An exception safe implementation is
46  // PluginFactoryManager temp(rhs);
47  // swap(rhs);
48  //
49  // return *this;
50  // }
51 
52  //
53  // member functions
54  //
56  factories_.push_back(iFactory);
57  newFactory_(iFactory);
58  }
59 
60  //
61  // const member functions
62  //
64 
66 
67  //
68  // static member functions
69  //
71  CMS_THREAD_SAFE static PluginFactoryManager s_instance;
72  return &s_instance;
73  }
74 } // namespace edmplugin
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()