kitchen-freezer/src/lib.rs

39 lines
1.2 KiB
Rust

//! This crate provides a way to manage CalDAV data.
//!
//! It provides a CalDAV client in the [`client`] module, that can be used as a stand-alone module.
//!
//! Because the connection to the server may be slow, and a user-frendly app may want to quicky display cached data on startup, this crate also provides a local cache for CalDAV data in the [`cache`] module.
//!
//! These two "data sources" (actual client and local cache) can be used together in a [`Provider`](provider::Provider). \
//! A `Provider` abstracts these two sources by merging them together into one virtual source. \
//! It also handles synchronisation between the local cache and the server.
//!
//! Note that many methods are defined in common traits (see [`crate::traits`]).
//!
//! See example usage in the `examples/` folder
pub mod traits;
pub mod calendar;
mod item;
pub use item::Item;
pub use item::ItemId;
pub use item::VersionTag;
pub use item::SyncStatus;
pub mod task;
pub use task::Task;
mod event;
pub use event::Event;
pub mod provider;
pub use provider::Provider;
pub mod mock_behaviour;
pub mod client;
pub use client::Client;
pub mod cache;
pub use cache::Cache;
pub mod ical;
pub mod settings;
pub mod utils;
pub mod resource;