hex_patch/app/plugins/
exported_header_parsers.rs

1use super::header_parser_info::HeaderParserInfo;
2
3#[derive(Debug, Clone, Default)]
4pub struct ExportedHeaderParsers {
5    pub parsers: Vec<HeaderParserInfo>,
6}
7
8impl ExportedHeaderParsers {
9    pub fn add_header_parser(&mut self, parser: String) {
10        self.parsers.push(HeaderParserInfo { parser });
11    }
12
13    pub fn remove_header_parser(&mut self, parser: &str) -> bool {
14        if let Some(index) = self.parsers.iter().position(|c| c.parser == parser) {
15            self.parsers.remove(index);
16            true
17        } else {
18            false
19        }
20    }
21
22    pub fn take(&mut self) -> Self {
23        std::mem::take(self)
24    }
25}