Belle II Software  release-08-01-10
RCCommand.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_RCCommand_h
9 #define _Belle2_RCCommand_h
10 
11 #include <daq/slc/nsm/NSMCommand.h>
12 
13 #include "daq/slc/runcontrol/RCState.h"
14 
15 namespace Belle2 {
21  class RCCommand : public NSMCommand {
22 
23  public:
24  static const RCCommand CONFIGURE;
25  static const RCCommand BOOT;
26  static const RCCommand LOAD;
27  static const RCCommand START;
28  static const RCCommand STOP;
29  static const RCCommand RECOVER;
30  static const RCCommand RESUME;
31  static const RCCommand PAUSE;
32  static const RCCommand ABORT;
33  static const RCCommand STATUS;
34 
35  public:
36  RCCommand() {}
37  RCCommand(const Enum& e) : NSMCommand(e) {}
38  RCCommand(const NSMCommand& e) : NSMCommand(e) {}
39  RCCommand(const RCCommand& cmd) : NSMCommand(cmd) {}
40  RCCommand(const std::string& label) { *this = label; }
41  RCCommand(const char* label) { *this = label; }
42  RCCommand(int id) { *this = id; }
43  ~RCCommand() {}
44 
45  protected:
46  RCCommand(int id, const char* label)
47  : NSMCommand(id, label) {}
48 
49  public:
50  int isAvailable(const RCState& state) const;
51  RCState nextState() const;
52  RCState nextTState() const;
53 
54  public:
55 
59  const RCCommand& operator=(const RCCommand& command);
60  const RCCommand& operator=(const std::string& label);
61  const RCCommand& operator=(const char* label);
62  const RCCommand& operator=(int id);
63 
64  };
65 
67 }
68 
69 #endif
const RCCommand & operator=(const RCCommand &command)
Operator =.
Definition: RCCommand.cc:25
Abstract base class for different kinds of events.