blob: b31bcefbe9e6be35c912d8e21ec0a1bc8b693c6e [file] [log] [blame]
Zhi Doue8a4ee72023-12-18 20:32:55 +00001//! codegenerated rust flag lib
2
3/// flag provider
4pub struct FlagProvider;
5
6lazy_static::lazy_static! \{
7 {{ for flag in template_flags }}
8 /// flag value cache for {flag.name}
9 static ref CACHED_{flag.name}: bool = flags_rust::GetServerConfigurableFlag(
10 "aconfig_flags.{flag.device_config_namespace}",
11 "{flag.device_config_flag}",
12 "false") == "true";
13 {{ endfor }}
14}
15
16impl FlagProvider \{
17
18 {{ for flag in template_flags }}
19 /// query flag {flag.name}
20 pub fn {flag.name}(&self) -> bool \{
21 *CACHED_{flag.name}
22 }
23 {{ endfor }}
24
25}
26
27/// flag provider
28pub static PROVIDER: FlagProvider = FlagProvider;
29
30{{ for flag in template_flags }}
31/// query flag {flag.name}
32#[inline(always)]
33pub fn {flag.name}() -> bool \{
34 PROVIDER.{flag.name}()
35}
36{{ endfor }}