Zhi Dou | e8a4ee7 | 2023-12-18 20:32:55 +0000 | [diff] [blame] | 1 | //! codegenerated rust flag lib |
| 2 | |
| 3 | /// flag provider |
| 4 | pub struct FlagProvider; |
| 5 | |
| 6 | lazy_static::lazy_static! \{ |
Zhi Dou | 533421c | 2023-12-19 21:48:51 +0000 | [diff] [blame] | 7 | {{ for flag in template_flags }} |
Zhi Dou | e8a4ee7 | 2023-12-18 20:32:55 +0000 | [diff] [blame] | 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"; |
Zhi Dou | 533421c | 2023-12-19 21:48:51 +0000 | [diff] [blame] | 13 | {{ endfor }} |
Zhi Dou | e8a4ee7 | 2023-12-18 20:32:55 +0000 | [diff] [blame] | 14 | } |
| 15 | |
| 16 | impl FlagProvider \{ |
Zhi Dou | 533421c | 2023-12-19 21:48:51 +0000 | [diff] [blame] | 17 | {{ for flag in template_flags }} |
Zhi Dou | e8a4ee7 | 2023-12-18 20:32:55 +0000 | [diff] [blame] | 18 | /// query flag {flag.name} |
| 19 | pub fn {flag.name}(&self) -> bool \{ |
| 20 | *CACHED_{flag.name} |
| 21 | } |
Zhi Dou | 533421c | 2023-12-19 21:48:51 +0000 | [diff] [blame] | 22 | {{ endfor }} |
Zhi Dou | e8a4ee7 | 2023-12-18 20:32:55 +0000 | [diff] [blame] | 23 | |
| 24 | } |
| 25 | |
| 26 | /// flag provider |
| 27 | pub static PROVIDER: FlagProvider = FlagProvider; |
| 28 | |
| 29 | {{ for flag in template_flags }} |
| 30 | /// query flag {flag.name} |
| 31 | #[inline(always)] |
| 32 | pub fn {flag.name}() -> bool \{ |
| 33 | PROVIDER.{flag.name}() |
| 34 | } |
| 35 | {{ endfor }} |