Skip to main content

ical/prop/
refresh_interval.rs

1//! # REFRESH-INTERVAL
2//!
3//! The `REFRESH-INTERVAL` property: how often a client should refetch a
4//! published calendar (RFC 7986 5.7).
5
6use crate::{
7    prop::{IcalPropKind, cardinality::IcalPropCardinality, spec::IcalPropSpec},
8    value::IcalValueKind,
9    version::IcalVersion,
10};
11
12/// The `REFRESH-INTERVAL` property marker.
13#[allow(non_camel_case_types)]
14pub struct REFRESH_INTERVAL;
15
16impl IcalPropSpec for REFRESH_INTERVAL {
17    const KIND: IcalPropKind = IcalPropKind::RefreshInterval;
18
19    fn allowed_versions() -> &'static [IcalVersion] {
20        &[IcalVersion::V2_0]
21    }
22
23    fn cardinality(_version: IcalVersion) -> IcalPropCardinality {
24        IcalPropCardinality::AtMostOne
25    }
26
27    fn allowed_values(_version: IcalVersion) -> &'static [IcalValueKind] {
28        &[IcalValueKind::Duration]
29    }
30}