summaryrefslogtreecommitdiffstats
path: root/src/icalwrap/mod.rs
blob: e52aabe10ddd1bfabe50b22446fdcfd17b9fe853 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
mod icalcomponent;
mod icalduration;
mod icalproperty;
mod icaltime;
mod icaltimezone;
mod icalvcalendar;
mod icalvevent;

// libical does some weird, non-threadsafe things in timezone methods, notably
// icaltime_convert_to_zone (which is also called in icaltime_as_timet_with_zone)
// see these two (independent!) bugs:
// https://github.com/libical/libical/issues/86
// https://github.com/libical/libical/commit/0ebf2d9a7183be94991c2681c6e3f009c64cf7cc
use std::sync::Mutex;
lazy_static! {
  static ref TZ_MUTEX: Mutex<i32> = Mutex::new(0);
}

pub use self::icalcomponent::IcalComponent;
pub use self::icalduration::IcalDuration;
pub use self::icalproperty::IcalProperty;
pub use self::icaltime::IcalTime;
pub use self::icaltimezone::IcalTimeZone;
pub use self::icalvcalendar::IcalEventIter;
pub use self::icalvcalendar::IcalVCalendar;
pub use self::icalvevent::IcalVEvent;