Belle II Software  release-08-01-10
RFServerBase.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 SERVER_BASE_H
9 #define SERVER_BASE_H
10 
11 #include "daq/rfarm/manager/RfNodeInfo.h"
12 #include <nsm2/nsm2.h>
13 
14 namespace Belle2 {
19  class RFServerBase {
20  public:
21  RFServerBase() {};
22  ~RFServerBase() {};
23 
24  virtual int Configure(NSMmsg*, NSMcontext*) { return 0; };
25  virtual int UnConfigure(NSMmsg*, NSMcontext*) { return 0; };
26  virtual int Start(NSMmsg*, NSMcontext*) { return 0; };
27  virtual int Stop(NSMmsg*, NSMcontext*) { return 0; };
28  virtual int Pause(NSMmsg*, NSMcontext*) { return 0; };
29  virtual int Resume(NSMmsg*, NSMcontext*) { return 0; };
30  virtual int Restart(NSMmsg*, NSMcontext*) { return 0; };
31  virtual int Status(NSMmsg*, NSMcontext*) { return 0; };
32 
33  virtual void SetNodeInfo(RfNodeInfo* ptr)
34  {
35  m_nsmmem = ptr;
36  };
37 
38  virtual RfNodeInfo* GetNodeInfo()
39  {
40  return m_nsmmem;
41  };
42 
43  public:
44  static RFServerBase* s_instance;
45 
46  private:
47  RfNodeInfo* m_nsmmem;
48 
49  };
51 }
52 #endif
Abstract base class for different kinds of events.
Definition: nsm2.h:224