CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PluginFactoryManager.h
Go to the documentation of this file.
1 #ifndef FWCore_PluginManager_PluginFactoryManager_h
2 #define FWCore_PluginManager_PluginFactoryManager_h
3 // -*- C++ -*-
4 //
5 // Package: PluginManager
6 // Class : PluginFactoryManager
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Wed Apr 4 12:49:41 EDT 2007
19 // $Id: PluginFactoryManager.h,v 1.2 2007/04/12 12:51:12 wmtan Exp $
20 //
21 
22 // system include files
23 #include <string>
24 #include <vector>
25 #include "sigc++/signal.h"
26 
27 // user include files
28 
29 // forward declarations
30 namespace edmplugin {
31  class PluginFactoryBase;
32  class DummyFriend;
34 {
35 
36  public:
37  friend class DummyFriend;
38 
40 
41  typedef std::vector<const PluginFactoryBase*>::const_iterator const_iterator;
42  // ---------- const member functions ---------------------
43  const_iterator begin() const;
44  const_iterator end() const;
45 
46  // ---------- static member functions --------------------
47  static PluginFactoryManager* get();
48 
49  // ---------- member functions ---------------------------
50  void addFactory(const PluginFactoryBase*);
51  sigc::signal<void,const PluginFactoryBase*> newFactory_;
52 
53  private:
55  PluginFactoryManager(const PluginFactoryManager&); // stop default
56 
57  const PluginFactoryManager& operator=(const PluginFactoryManager&); // stop default
58 
59  // ---------- member data --------------------------------
60  std::vector<const PluginFactoryBase*> factories_;
61 
62 };
63 
64 }
65 #endif
const PluginFactoryManager & operator=(const PluginFactoryManager &)
void addFactory(const PluginFactoryBase *)
std::vector< const PluginFactoryBase * > factories_
sigc::signal< void, const PluginFactoryBase * > newFactory_
std::vector< const PluginFactoryBase * >::const_iterator const_iterator