CMS 3D CMS Logo

SignallingProductRegistry.h

Go to the documentation of this file.
00001 #ifndef Framework_SignallingProductRegistry_h
00002 #define Framework_SignallingProductRegistry_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Framework
00006 // Class  :     SignallingProductRegistry
00007 // 
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Fri Sep 23 16:47:10 CEST 2005
00019 // $Id: SignallingProductRegistry.h,v 1.6 2007/03/04 06:10:25 wmtan Exp $
00020 //
00021 
00022 // system include files
00023 #include "sigc++/signal.h"
00024 #include <map>
00025 #include <string>
00026 
00027 // user include files
00028 #include "DataFormats/Provenance/interface/ProductRegistry.h"
00029 
00030 // forward declarations
00031 namespace edm {
00032    class SignallingProductRegistry : public ProductRegistry
00033    {
00034 
00035    public:
00036       SignallingProductRegistry() : ProductRegistry(), productAddedSignal_(), typeAddedStack_() {}
00037       sigc::signal<void, BranchDescription const&> productAddedSignal_;
00038       
00039    private:
00040       SignallingProductRegistry(const SignallingProductRegistry&); // stop default
00041 
00042       const SignallingProductRegistry& operator=(const SignallingProductRegistry&); // stop default
00043 
00044       virtual void addCalled(BranchDescription const&, bool);
00045       // ---------- member data --------------------------------
00046       std::map<std::string, unsigned int> typeAddedStack_;
00047    };
00048 }
00049 
00050 #endif

Generated on Tue Jun 9 17:36:12 2009 for CMSSW by  doxygen 1.5.4