Belle II Software development
RFMasterCallback.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_RFMasterCallback_h
9#define _Belle2_RFMasterCallback_h
10
11#include <daq/slc/runcontrol/RCState.h>
12#include <daq/slc/runcontrol/RCCallback.h>
13
14#include <daq/slc/base/StringUtil.h>
15
16#include <vector>
17
18namespace Belle2 {
24 class RFRunControlCallback;
25
27
28 public:
29 RFMasterCallback() throw();
30 virtual ~RFMasterCallback() throw() {}
31
32 public:
33 virtual void initialize(const DBObject& obj) throw(RCHandlerException);
34 virtual void configure(const DBObject& obj) throw(RCHandlerException);
35 virtual void monitor() throw(RCHandlerException);
36 virtual void ok(const char* node, const char* data) throw();
37 virtual void error(const char* node, const char* data) throw();
38 virtual void load(const DBObject& obj) throw(RCHandlerException);
39 virtual void start(int expno, int runno) throw(RCHandlerException);
40 virtual void stop() throw(RCHandlerException);
41 virtual void recover(const DBObject& obj) throw(RCHandlerException);
42 virtual bool resume(int subno) throw(RCHandlerException);
43 virtual bool pause() throw(RCHandlerException);
44 virtual void abort() throw(RCHandlerException);
45 virtual bool perform(NSMCommunicator& com) throw();
46
47 public:
48 void setState(NSMNode& node, const RCState& state);
49 void setCallback(RFRunControlCallback* callback) { m_callback = callback; }
50 void addData(const std::string& dataname, const std::string& format);
51
52 private:
53 RFRunControlCallback* m_callback;
54 StringList m_dataname;
55 typedef std::vector<NSMNode> NSMNodeList;
56 NSMNodeList m_nodes;
57
58 };
59
61}
62
63#endif
Abstract base class for different kinds of events.