Belle II Software  release-08-01-10
RFMaster.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 RF_MASTER_H
9 #define RF_MASTER_H
10 
11 #include "daq/rfarm/manager/RFConf.h"
12 #include "daq/rfarm/manager/RFSharedMem.h"
13 #include "daq/rfarm/manager/RFLogManager.h"
14 
15 #include "daq/rfarm/manager/RFServerBase.h"
16 
17 namespace Belle2 {
22  class RFMaster : public RFServerBase {
23  public:
24  RFMaster(std::string conf);
25  ~RFMaster();
26 
27  // Functions to be hooked to NSM
28  int Configure(NSMmsg*, NSMcontext*) override;
29  int UnConfigure(NSMmsg*, NSMcontext*) override;
30  int Start(NSMmsg*, NSMcontext*) override;
31  int Stop(NSMmsg*, NSMcontext*) override;
32  int Restart(NSMmsg*, NSMcontext*) override;
33 
34  // Function to hook message funnctions
35  void Hook_Message_Handlers();
36 
37  // Message functions
38  static void Log_Handler(NSMmsg* msg, NSMcontext* ctx);
39 
40  // Server function
41  void monitor_loop();
42 
43 
44  private:
45  RFConf* m_conf;
46  RFSharedMem* m_shm;
47  RFLogManager* m_log;
48 
49  };
50 
52 }
53 #endif
54 
55 
56 
Abstract base class for different kinds of events.
Definition: nsm2.h:224