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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Copyright 2026 Dominikos Pritis
// SPDX-License-Identifier: MPL-2.0
//! The layer that makes the calendar actually sync.
//!
//! Three crates below this one each solve half a problem:
//!
//! - `cosmic-pim-caldav` speaks the protocol, but has no idea whose account it
//! is or where the password lives.
//! - `cosmic-pim-accounts` holds accounts and credentials, but never opens a
//! socket.
//! - `cosmic-pim-core` owns the vdir, and has never heard of a server.
//!
//! This crate is the only place that knows about all three, which is what keeps
//! each of them independently testable and separately reusable — a contacts app
//! will want the same three-way join with CardDAV substituted for CalDAV.
//!
//! - [`provision`] — binds a discovered calendar or address book to a vdir
//! collection, exactly once, across restarts.
//! - [`engine`] — one pass over every enabled account, failing per-collection
//! rather than per-run.
//! - [`writeback`] — makes a local save or delete and its queued push one
//! step.
//! - [`conflict`] — what a pass could not decide on its own: both sides
//! changed the same resource, and a person has to choose.
//! - [`setup`] — from an address to a stored, working account: which
//! provider, which ways to sign in, and the sign-in itself.
//! - `mail` — the mail pass, behind the default `mail` feature. A contacts
//! or calendar app turns it off (`default-features = false`) and keeps the
//! mail and OpenPGP stack out of its build.
pub use all as conflicts;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;