Belle II Software  release-08-01-10
NSMNodeDaemon.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_NSMNodeDaemon_h
9 #define _Belle2_NSMNodeDaemon_h
10 
11 #include "daq/slc/nsm/NSMCallback.h"
12 
13 namespace Belle2 {
19  class NSMNodeDaemon {
20 
21  public:
22  NSMNodeDaemon() : m_timeout(0) {}
23  NSMNodeDaemon(NSMCallback* callback1,
24  const std::string& host1, int port1,
25  NSMCallback* callback2 = NULL,
26  const std::string& host2 = "", int port2 = 0)
27  : m_timeout(0)
28  {
29  add(callback1, host1, port1);
30  add(callback2, host2, port2);
31  }
32  virtual ~NSMNodeDaemon() {}
33 
34  public:
35  void add(NSMCallback* callback, const std::string& host, int port);
36 
37  public:
38  void run();
39 
40  private:
41  int m_timeout;
42  std::vector<NSMCallback*> m_callback;
43 
44  };
45 
47 }
48 
49 #endif
Abstract base class for different kinds of events.