use std::time::SystemTime;
use super::alarm::{AlarmSeverity, AnalogAlarmConfig};
use super::scan::ScanType;
#[derive(Clone, Debug)]
pub struct CommonFields {
pub sevr: AlarmSeverity,
pub stat: u16,
pub nsev: AlarmSeverity,
pub nsta: u16,
pub acks: AlarmSeverity,
pub ackt: bool,
pub udf: bool,
pub udfs: AlarmSeverity,
pub scan: ScanType,
pub sscn: ScanType,
pub pini: bool,
pub tpro: bool,
pub bkpt: u8,
pub flnk: String,
pub inp: String,
pub out: String,
pub dtyp: String,
pub time: SystemTime,
pub tse: i16,
pub tsel: String,
pub analog_alarm: Option<AnalogAlarmConfig>,
pub asg: String,
pub desc: String,
pub phas: i16,
pub evnt: i16,
pub prio: i16,
pub disv: i16,
pub disa: i16,
pub sdis: String,
pub diss: AlarmSeverity,
pub hyst: f64,
pub lcnt: i16,
pub disp: bool,
pub putf: bool,
pub rpro: bool,
pub mlst: Option<f64>,
pub alst: Option<f64>,
}
impl Default for CommonFields {
fn default() -> Self {
Self {
sevr: AlarmSeverity::NoAlarm,
stat: 0,
nsev: AlarmSeverity::NoAlarm,
nsta: 0,
acks: AlarmSeverity::NoAlarm,
ackt: true,
udf: true,
udfs: AlarmSeverity::Invalid,
scan: ScanType::Passive,
sscn: ScanType::Passive,
pini: false,
tpro: false,
bkpt: 0,
flnk: String::new(),
inp: String::new(),
out: String::new(),
dtyp: String::new(),
time: SystemTime::UNIX_EPOCH,
tse: 0,
tsel: String::new(),
analog_alarm: None,
asg: "DEFAULT".to_string(),
desc: String::new(),
phas: 0,
evnt: 0,
prio: 0,
disv: 1,
disa: 0,
sdis: String::new(),
diss: AlarmSeverity::NoAlarm,
hyst: 0.0,
lcnt: 0,
disp: false,
putf: false,
rpro: false,
mlst: None,
alst: None,
}
}
}