00001 #ifndef FWCore_Framework_NoProxyException_h 00002 #define FWCore_Framework_NoProxyException_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Framework 00006 // Module: NoProxyException 00007 // 00015 // 00016 // Author: Valentine Kouznetsov 00017 // Created: Wed Apr 23 10:58:26 EDT 2003 00018 // $Id: NoProxyException.h,v 1.9 2007/06/14 17:52:15 wmtan Exp $ 00019 // 00020 // 00021 00022 // system include files 00023 #include <string> 00024 00025 // user include files 00026 #include "FWCore/Framework/interface/NoDataException.h" 00027 #include "FWCore/Framework/interface/EventSetupRecord.h" 00028 00029 // forward declarations 00030 namespace edm { 00031 namespace eventsetup { 00032 template <class T> 00033 class NoProxyException : public NoDataException<T> 00034 { 00035 // ---------- friend classes and functions --------------- 00036 00037 public: 00038 // ---------- constants, enums and typedefs -------------- 00039 00040 // ---------- Constructors and destructor ---------------- 00041 NoProxyException(const EventSetupRecord& iRecord, 00042 const DataKey& iDataKey) : 00043 NoDataException<T>(iRecord.key(), iDataKey,"NoProxyException",standardMessage()) 00044 { 00045 } 00046 virtual ~NoProxyException() throw() {} 00047 00048 // ---------- member functions --------------------------- 00049 00050 private: 00051 // ---------- const member functions --------------------- 00052 std::string standardMessage()const throw() { 00053 return std::string("Please add an ESSource or ESProducer to your job which can deliver this data.\n"); 00054 } 00055 00056 // ---------- static member functions -------------------- 00057 00058 // ---------- Constructors and destructor ---------------- 00059 //NoProxyException(const NoProxyException&) ; //allow default 00060 00061 //const NoProxyException& operator=(const NoProxyException&); // allow default 00062 00063 // ---------- data members ------------------------------- 00064 }; 00065 } 00066 } 00067 // inline function definitions 00068 00069 #endif