ical/tree/component/
vcalendar.rs1use crate::{
6 component::IcalComponentKind,
7 prop::IcalPropKind,
8 tree::component::{IcalComponentLens, IcalComponentSpec},
9};
10
11#[allow(non_camel_case_types)]
13pub struct VCALENDAR;
14
15impl IcalComponentLens for VCALENDAR {}
16
17impl IcalComponentSpec for VCALENDAR {
18 const KIND: IcalComponentKind = IcalComponentKind::VCalendar;
19
20 fn allowed_children() -> &'static [IcalComponentKind] {
21 &[
22 IcalComponentKind::VEvent,
23 IcalComponentKind::VTodo,
24 IcalComponentKind::VJournal,
25 IcalComponentKind::VFreeBusy,
26 IcalComponentKind::VTimezone,
27 IcalComponentKind::VAvailability,
28 ]
29 }
30
31 fn required_props() -> &'static [IcalPropKind] {
32 &[IcalPropKind::ProdId]
33 }
34}