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
edmplugin
Definition: AlignmentAlgorithmPluginFactory.cc:9
edmplugin::PluginFactoryManager::PluginFactoryManager
PluginFactoryManager()
Definition: PluginFactoryManager.cc:31
edmplugin::PluginFactoryManager::begin
const_iterator begin() const
Definition: PluginFactoryManager.cc:63
PluginFactoryManager.h
edmplugin::PluginFactoryManager::newFactory_
edm::signalslot::Signal< void(const PluginFactoryBase *)> newFactory_
Definition: PluginFactoryManager.h:48
edmplugin::PluginFactoryManager::addFactory
void addFactory(const PluginFactoryBase *)
Definition: PluginFactoryManager.cc:55
edmplugin::PluginFactoryManager
Definition: PluginFactoryManager.h:32
edmplugin::PluginFactoryManager::~PluginFactoryManager
~PluginFactoryManager()
Definition: PluginFactoryManager.cc:38
CMS_THREAD_SAFE
#define CMS_THREAD_SAFE
Definition: thread_safety_macros.h:4
thread_safety_macros.h
edmplugin::PluginFactoryBase
Definition: PluginFactoryBase.h:37
edmplugin::PluginFactoryManager::factories_
std::vector< const PluginFactoryBase * > factories_
Definition: PluginFactoryManager.h:57
edmplugin::PluginFactoryManager::const_iterator
std::vector< const PluginFactoryBase * >::const_iterator const_iterator
Definition: PluginFactoryManager.h:38
edmplugin::PluginFactoryManager::end
const_iterator end() const
Definition: PluginFactoryManager.cc:65
edmplugin::PluginFactoryManager::get
static PluginFactoryManager * get()
Definition: PluginFactoryManager.cc:70