automapper_validation/generated/fv2610/
utilmd_gas_conditions_fv2610.rs1#![allow(clippy::style, clippy::complexity)]
9
10#[allow(unused_imports)]
11use crate::eval::format_validators::*;
12use crate::eval::{ConditionEvaluator, ConditionResult, EvaluationContext};
13use crate::generated::fv2604::UtilmdGasConditionEvaluatorFV2604;
14
15pub struct UtilmdGasConditionEvaluatorFV2610 {
20 fallback: UtilmdGasConditionEvaluatorFV2604,
21}
22
23impl Default for UtilmdGasConditionEvaluatorFV2610 {
24 fn default() -> Self {
25 Self {
26 fallback: UtilmdGasConditionEvaluatorFV2604::default(),
27 }
28 }
29}
30
31const FV2610_OVERRIDES: &[u32] = &[44, 203];
33
34impl ConditionEvaluator for UtilmdGasConditionEvaluatorFV2610 {
35 fn message_type(&self) -> &str {
36 "UTILMD_Gas"
37 }
38
39 fn format_version(&self) -> &str {
40 "FV2610"
41 }
42
43 fn evaluate(&self, condition: u32, ctx: &EvaluationContext) -> ConditionResult {
44 match condition {
45 203 => self.evaluate_203(ctx),
46 44 => self.evaluate_44(ctx),
47 other => self.fallback.evaluate(other, ctx),
48 }
49 }
50
51 fn is_external(&self, condition: u32) -> bool {
52 self.fallback.is_external(condition)
53 }
54
55 fn is_known(&self, condition: u32) -> bool {
56 FV2610_OVERRIDES.contains(&condition) || self.fallback.is_known(condition)
57 }
58}
59
60impl UtilmdGasConditionEvaluatorFV2610 {
61 fn evaluate_203(&self, ctx: &EvaluationContext) -> ConditionResult {
63 ctx.has_qualified_value(
64 "STS",
65 0,
66 "7",
67 2,
68 0,
69 &["E06", "Z39", "ZC6", "ZC7", "ZT6", "ZT7", "Z02", "ZZD"],
70 )
71 }
72
73 fn evaluate_44(&self, ctx: &EvaluationContext) -> ConditionResult {
75 ConditionResult::from(ctx.self_segment_value_equals("DTM", 0, 2, "106"))
76 }
77}