automapper_validation/generated/fv2610/
iftsta_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::fv2510::IftstaConditionEvaluatorFV2510;
14
15pub struct IftstaConditionEvaluatorFV2610 {
20 fallback: IftstaConditionEvaluatorFV2510,
21}
22
23impl Default for IftstaConditionEvaluatorFV2610 {
24 fn default() -> Self {
25 Self {
26 fallback: IftstaConditionEvaluatorFV2510::default(),
27 }
28 }
29}
30
31const FV2610_OVERRIDES: &[u32] = &[155];
33
34impl ConditionEvaluator for IftstaConditionEvaluatorFV2610 {
35 fn message_type(&self) -> &str {
36 "IFTSTA"
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 155 => self.evaluate_155(ctx),
46 other => self.fallback.evaluate(other, ctx),
47 }
48 }
49
50 fn is_external(&self, condition: u32) -> bool {
51 matches!(condition, 155) || self.fallback.is_external(condition)
52 }
53
54 fn is_known(&self, condition: u32) -> bool {
55 FV2610_OVERRIDES.contains(&condition) || self.fallback.is_known(condition)
56 }
57}
58
59impl IftstaConditionEvaluatorFV2610 {
60 fn evaluate_155(&self, ctx: &EvaluationContext) -> ConditionResult {
63 ctx.external
64 .evaluate("use_case_is_messlokationsaenderung_to_msb")
65 }
66}