1use sim_citizen_derive::Citizen;
2use sim_kernel::{CapabilityName, Symbol};
3
4#[derive(Clone, Debug, PartialEq, Citizen)]
6#[citizen(symbol = "view/LensDescriptor", version = 1)]
7pub struct ViewLensDescriptor {
8 pub id: Symbol,
10 pub kind: Symbol,
12 pub claimed_classes: Vec<Symbol>,
14 pub required_capabilities: Vec<CapabilityName>,
16 pub universal_default: bool,
18}
19
20impl Default for ViewLensDescriptor {
21 fn default() -> Self {
22 Self {
23 id: Symbol::new(crate::UNIVERSAL_DEFAULT_LENS),
24 kind: Symbol::new("view"),
25 claimed_classes: Vec::new(),
26 required_capabilities: Vec::new(),
27 universal_default: true,
28 }
29 }
30}
31
32pub fn view_lens_descriptor_class_symbol() -> Symbol {
34 Symbol::qualified("view", "LensDescriptor")
35}