00001 #ifndef HLTCONFIGSVC_H 00002 #define HLTCONFIGSVC_H 00003 00004 #include <string> 00005 //#include <stdio.h> 00006 //#include <iostream> 00007 //#include <strstream> 00008 //#include <map> 00009 00010 #include "GaudiKernel/Service.h" 00011 //#include "GaudiKernel/IInterface.h" 00012 #include "GaudiKernel/PropertyMgr.h" 00013 #include "GaudiKernel/IIncidentListener.h" 00014 #include "GaudiKernel/IDataProviderSvc.h" 00015 #include "DatabaseSvc/IDatabaseSvc.h" 00016 00017 #include "HltSteerData/Signature.h" 00018 #include "HltSteerData/Sequence.h" 00019 #include "HltConfig/MyFrame.h" 00020 00021 using namespace HltProcessor; 00022 00023 static const InterfaceID IID_IHltConfigSvc("IHltConfigSvc", 1, 0); 00024 00025 class HltConfigSvc :public Service , virtual public IIncidentListener { 00026 00027 public: 00028 00029 HltConfigSvc(const std::string& name, ISvcLocator* sl); 00030 ~HltConfigSvc(); 00031 00032 virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvIF); 00033 virtual StatusCode initialize ( ); 00034 virtual StatusCode finalize ( ); 00035 virtual void handle(const Incident&); 00036 StatusCode GenFileFromDatabase(); 00037 00038 const std::vector<std::pair<Signature*, Sequence*> >& retrieve(); 00039 00040 private: 00041 00042 //HltConfigSvc* m_HltConfigSvc; 00043 IDatabaseSvc* m_dbsvc; 00044 IDataProviderSvc* m_eventSvc; 00045 00046 bool m_fromDatabase; 00047 std::string m_seqListFile; 00048 std::string m_sigListFile; 00049 00050 PropertyMgr m_propMgr; 00051 00052 public: 00053 00054 static const InterfaceID& interfaceID() { return IID_IHltConfigSvc; } 00055 00056 }; 00057 00058 #endif 00059 00060