CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/FWCore/Utilities/interface/OutletBase.h

Go to the documentation of this file.
00001 #ifndef Utilities_OutletBase_h
00002 #define Utilities_OutletBase_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Utilities
00006 // Class  :     OutletBase
00007 // 
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Fri Sep 22 12:39:16 EDT 2006
00019 // $Id: OutletBase.h,v 1.1 2006/09/22 18:42:58 chrjones Exp $
00020 //
00021 
00022 // system include files
00023 
00024 // user include files
00025 #include "FWCore/Utilities/interface/ExtensionCord.h"
00026 
00027 // forward declarations
00028 namespace edm {
00029 template <class T>
00030 class OutletBase
00031 {
00032 
00033    protected:
00034       OutletBase( ExtensionCord<T>& iCord) : cord_(iCord) {}
00035       virtual ~OutletBase() { this->setGetter(0); }
00036 
00037       void setGetter( extensioncord::ECGetterBase<T>* iGetter) {
00038         cord_.setGetter(iGetter);
00039       }
00040 
00041 
00042   
00043    private:
00044       OutletBase(const OutletBase&); // stop default
00045 
00046       const OutletBase& operator=(const OutletBase&); // stop default
00047 
00048       // ---------- member data --------------------------------
00049       ExtensionCord<T>& cord_;
00050 };
00051 }
00052 
00053 #endif