CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/FWCore/Framework/interface/ProxyFactoryBase.h

Go to the documentation of this file.
00001 #ifndef Framework_ProxyFactoryBase_h
00002 #define Framework_ProxyFactoryBase_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Framework
00006 // Class  :     ProxyFactoryBase
00007 // 
00016 //
00017 // Author:      Chris Jones
00018 // Created:     Thu Apr  7 21:50:36 CDT 2005
00019 //
00020 
00021 // system include files
00022 #include <memory>
00023 #include <string>
00024 
00025 // user include files
00026 #include "FWCore/Framework/interface/DataKey.h"
00027 
00028 // forward declarations
00029 namespace edm {
00030    namespace eventsetup {
00031       class DataProxy;
00032 class ProxyFactoryBase
00033 {
00034 
00035    public:
00036       ProxyFactoryBase() {}
00037       virtual ~ProxyFactoryBase() {}
00038 
00039       // ---------- const member functions ---------------------
00040       virtual std::auto_ptr<DataProxy> makeProxy() const = 0;
00041       
00042       virtual DataKey makeKey(const std::string& iName) const = 0;
00043       // ---------- static member functions --------------------
00044 
00045       // ---------- member functions ---------------------------
00046 
00047    private:
00048       ProxyFactoryBase(const ProxyFactoryBase&); // stop default
00049 
00050       const ProxyFactoryBase& operator=(const ProxyFactoryBase&); // stop default
00051 
00052       // ---------- member data --------------------------------
00053 
00054 };
00055 
00056    }
00057 }
00058 
00059 #endif