Belle II Software  release-08-01-10
EventServerCallback.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #ifndef _Belle2_EventServerCallback_hh
9 #define _Belle2_EventServerCallback_hh
10 
11 #include <pthread.h>
12 
13 #include <daq/slc/runcontrol/RCCallback.h>
14 
15 #include <daq/rfarm/manager/RFConf.h>
16 #include <daq/rfarm/manager/RFProcessManager.h>
17 #include <daq/rfarm/manager/RFSharedMem.h>
18 #include <daq/rfarm/manager/RFLogManager.h>
19 
20 namespace Belle2 {
27 
28  public:
30  virtual ~EventServerCallback() noexcept;
31 
32  public:
33  virtual void load(const DBObject&);
34  virtual void start();
35  void stop() override;
36  virtual void recover(const DBObject&);
37  void abort() override;
38 
39  void EventServerLogger();
40 
41  private:
42  RFConf* m_conf;
43  RFProcessManager* m_proc;
44  RFLogManager* m_log;
45  char* m_nodename;
46  RFSharedMem* m_shm;
47  int m_pid_server;
48  pthread_t m_logthread;
49 
50  };
51 
53 }
54 
55 #endif
Abstract base class for different kinds of events.