/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DYBDUALEVENTLOOPMGR_H 00002 #define DYBDUALEVENTLOOPMGR_H 00003 00004 #include "DybEventLoopMgr.h" 00005 00006 #include <list> 00007 00008 class IAlgorithm; 00009 class HEIHandler; 00010 class IIncidentSvc; 00011 class IAesFeeder; 00012 00013 class ELMState; 00014 00015 class DybDualEventLoopMgr : public DybEventLoopMgr 00016 { 00017 public: 00018 00019 DybDualEventLoopMgr(const std::string& nam, ISvcLocator* svcLoc); 00020 virtual ~DybDualEventLoopMgr(); 00021 00022 // IService 00023 virtual StatusCode initialize(); 00024 virtual StatusCode finalize(); 00025 virtual StatusCode reinitialize(); 00026 00027 // IEventProcessor 00028 virtual StatusCode nextEvent(int maxevt); 00029 virtual StatusCode executeRun(int maxevt); 00030 00031 private: 00032 00033 ELMState *m_theState, *m_theLastState, *m_state1, *m_state2; 00034 bool switch_state(bool force = false); 00035 void union_alg_list(); 00036 00038 std::string m_eventBuilderAlgName; 00039 00040 IIncidentSvc* m_incsvc; 00041 IAesFeeder* m_aesfeed; 00042 00043 HEIHandler* m_heiHandler; 00044 00045 StatusCode initialize_algs(); 00046 00047 // override 00048 StatusCode decodeTopAlgs() { return SUCCESS; } 00049 00050 }; 00051 #endif // DYBDUALEVENTLOOPMGR_H