yang_rs/
config.rs

1//
2// YANG - Parser config.
3//  Copyright (C) 2021 Toshiaki Takada
4//
5
6/// Parser config.
7pub struct Config {
8    /// Run parser in debug mode.
9    debug: bool,
10
11    /// Strict Yang Verson check (default: false).
12    yang_version: Option<String>,
13
14    /// Strict sub statement count check (default: true).
15    sub_stmts_count_check: bool,
16}
17
18impl Config {
19    pub fn new() -> Config {
20        Config {
21            debug: false,
22            yang_version: None,
23            sub_stmts_count_check: true,
24        }
25    }
26
27    pub fn set_debug(&mut self, debug: bool) {
28        self.debug = debug;
29    }
30
31    pub fn debug(&self) -> bool {
32        self.debug
33    }
34
35    pub fn set_yang_version(&mut self, yang_version: Option<String>) {
36        self.yang_version = yang_version;
37    }
38
39    pub fn yang_version(&self) -> Option<&str> {
40        match &self.yang_version {
41            Some(s) => Some(s),
42            None => None,
43        }
44    }
45
46    pub fn sub_stmts_count_check(&self) -> bool {
47        self.sub_stmts_count_check
48    }
49}