Skip to main content

ical/prop/
action.rs

1//! # ACTION
2//!
3//! The `ACTION` property: what an alarm does when it fires: `AUDIO`, `DISPLAY`
4//! or `EMAIL` (RFC 5545 3.8.6.1).
5
6use crate::{
7    prop::{IcalPropKind, cardinality::IcalPropCardinality, spec::IcalPropSpec},
8    version::IcalVersion,
9};
10
11/// The `ACTION` property marker.
12pub struct ACTION;
13
14impl IcalPropSpec for ACTION {
15    const KIND: IcalPropKind = IcalPropKind::Action;
16
17    fn allowed_versions() -> &'static [IcalVersion] {
18        &[IcalVersion::V2_0]
19    }
20
21    fn cardinality(_version: IcalVersion) -> IcalPropCardinality {
22        IcalPropCardinality::AtMostOne
23    }
24}