Belle II Software development
RCState.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_RCState_hh
9#define _Belle2_RCState_hh
10
11#include <daq/slc/nsm/NSMState.h>
12
13namespace Belle2 {
19 class RCState : public NSMState {
20
21 public:
22 static const RCState OFF_S;
23 static const RCState NOTREADY_S;
24 static const RCState READY_S;
25 static const RCState RUNNING_S;
26 static const RCState PAUSED_S;
27 static const RCState CONFIGURING_TS;
28 static const RCState LOADING_TS;
29 static const RCState STARTING_TS;
30 static const RCState STOPPING_TS;
31 static const RCState ERROR_ES;
32 static const RCState FATAL_ES;
33 static const RCState RECOVERING_RS;
34 static const RCState ABORTING_RS;
35 static const RCState BOOTING_RS;
36
37 public:
38 RCState() : NSMState(Enum::UNKNOWN) {}
39 RCState(const Enum& e) : NSMState(e) {}
40 RCState(const NSMState& num) : NSMState(num) {}
41 RCState(const RCState& st) : NSMState(st) {}
42 RCState(const char* st) { *this = st; }
43 RCState(const std::string& st) { *this = st; }
44 RCState(int id) { *this = id; }
45 ~RCState() {}
46
47 protected:
48 RCState(int id, const char* label)
49 : NSMState(id, label) {}
50
51 public:
52 bool isStable() const { return getId() > 1 && getId() <= 5; }
53 bool isTransition() const { return getId() > 5 && getId() <= 9; }
54 bool isError() const { return getId() > 9 && getId() <= 11; }
55 bool isRecovering() const { return getId() > 11 && getId() <= 14; }
56 RCState next() const;
57
58 public:
59
63 const RCState& operator=(const RCState& state);
64 const RCState& operator=(const std::string& msg);
65 const RCState& operator=(const char* msg);
66 const RCState& operator=(int id);
67
68 };
69
71}
72
73#endif
const RCState & operator=(const RCState &state)
Operator =.
Definition: RCState.cc:27
Abstract base class for different kinds of events.