00001 #ifndef L1RPCHWCONFIGSOURCEHANDLER 00002 #define L1RPCHWCONFIGSOURCEHANDLER 00003 00004 #include <vector> 00005 #include <string> 00006 #include <iostream> 00007 #include <typeinfo> 00008 00009 #include "FWCore/Framework/interface/MakerMacros.h" 00010 #include "CondCore/PopCon/interface/PopConSourceHandler.h" 00011 //#include "CondCore/PopCon/interface/LogReader.h" 00012 #include "FWCore/Framework/interface/ESHandle.h" 00013 #include "FWCore/Framework/interface/Event.h" 00014 #include "DataFormats/Common/interface/Handle.h" 00015 #include "FWCore/Framework/interface/EventSetup.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h" 00017 00018 #include "CondFormats/RPCObjects/interface/L1RPCHwConfig.h" 00019 #include "CondFormats/DataRecord/interface/L1RPCHwConfigRcd.h" 00020 00021 00022 00023 #include "CondCore/DBCommon/interface/DbTransaction.h" 00024 #include "CondCore/DBCommon/interface/DbSession.h" 00025 #include "CondCore/DBCommon/interface/DbConnection.h" 00026 #include "RelationalAccess/ITable.h" 00027 #include "RelationalAccess/ISchema.h" 00028 #include "RelationalAccess/IQuery.h" 00029 #include "RelationalAccess/ICursor.h" 00030 #include "CoralBase/AttributeList.h" 00031 #include "CoralBase/Attribute.h" 00032 #include "CoralBase/AttributeSpecification.h" 00033 00034 namespace popcon 00035 { 00036 class L1RPCHwConfigSourceHandler : public popcon::PopConSourceHandler<L1RPCHwConfig> 00037 { 00038 00039 public: 00040 L1RPCHwConfigSourceHandler(const edm::ParameterSet& ps); 00041 ~L1RPCHwConfigSourceHandler(); 00042 void getNewObjects(); 00043 std::string id() const {return m_name;} 00044 void ConnectOnlineDB(std::string connect, std::string authPath); 00045 void DisconnectOnlineDB(); 00046 void readHwConfig1(); 00047 int Compare2Configs(Ref set1, L1RPCHwConfig* set2); 00048 00049 private: 00050 L1RPCHwConfig * disabledDevs; 00051 cond::DbSession * session; 00052 cond::DbConnection * connection ; 00053 std::string m_name; 00054 int m_dummy; 00055 int m_validate; 00056 std::vector<int> m_disableCrates; 00057 std::vector<int> m_disableTowers; 00058 std::string m_connect; 00059 std::string m_authpath; 00060 00061 }; 00062 } 00063 #endif