Skip to main content

espforge_lib/parse/
processor.rs

1use anyhow::Result;
2use espforge_common::EspforgeConfiguration;
3use serde_yaml_ng::Value;
4
5//use crate::parse::model::EspforgeConfiguration;
6
7pub trait SectionProcessor {
8    fn section_key(&self) -> &'static str;
9    fn priority(&self) -> u32 {
10        50
11    } // Default priority
12    fn process(&self, content: &Value, model: &mut EspforgeConfiguration) -> Result<()>;
13}
14
15pub struct ProcessorRegistration {
16    pub factory: fn() -> Box<dyn SectionProcessor>,
17}
18
19inventory::collect!(ProcessorRegistration);