machine_check_gui/
shared.rs1use machine_check_common::check::Property;
2use serde::{Deserialize, Serialize};
3use snapshot::{RootPropertyIndex, Snapshot};
4
5pub mod snapshot;
6
7#[derive(Clone, Debug, Serialize, Deserialize)]
9pub struct StepSettings {
10 pub max_refinements: Option<u64>,
11 pub selected_property: Property,
12}
13
14#[derive(Clone, Debug, Serialize, Deserialize)]
16pub enum Request {
17 InitialContent,
18 GetContent,
19 Query,
20 Cancel,
21 Reset,
22 Step(StepSettings),
23 AddProperty(Property),
24 RemoveProperty(RootPropertyIndex),
25}
26
27#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
29pub enum BackendStatus {
30 Cancelling,
31 Waiting,
32 Running,
33}
34
35impl BackendStatus {
36 pub fn is_waiting(&self) -> bool {
37 matches!(self, BackendStatus::Waiting)
38 }
39}
40
41#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
42pub struct BackendSpaceInfo {
43 pub num_refinements: usize,
44 pub num_states: usize,
45 pub num_transitions: usize,
46}
47
48#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
50pub struct BackendInfo {
51 pub status: BackendStatus,
52 pub space_info: BackendSpaceInfo,
53}
54
55#[derive(Clone, Debug, Serialize, Deserialize)]
57pub struct Response {
58 pub info: BackendInfo,
59 pub snapshot: Option<Snapshot>,
60}