deltachat/
lib.rs

1//! # Delta Chat Core Library
2
3#![recursion_limit = "256"]
4#![forbid(unsafe_code)]
5#![warn(
6    unused,
7    clippy::correctness,
8    missing_debug_implementations,
9    missing_docs,
10    clippy::all,
11    clippy::wildcard_imports,
12    clippy::needless_borrow,
13    clippy::cast_lossless,
14    clippy::unused_async,
15    clippy::explicit_iter_loop,
16    clippy::explicit_into_iter_loop,
17    clippy::cloned_instead_of_copied
18)]
19#![cfg_attr(not(test), forbid(clippy::indexing_slicing))]
20#![cfg_attr(not(test), forbid(clippy::string_slice))]
21#![allow(
22    clippy::match_bool,
23    clippy::mixed_read_write_in_expression,
24    clippy::bool_assert_comparison,
25    clippy::manual_split_once,
26    clippy::format_push_string,
27    clippy::bool_to_int_with_if
28)]
29
30#[macro_use]
31extern crate num_derive;
32#[macro_use]
33extern crate smallvec;
34#[macro_use]
35extern crate rusqlite;
36#[macro_use]
37extern crate strum_macros;
38
39#[macro_use]
40pub mod log;
41
42#[cfg(feature = "internals")]
43#[macro_use]
44pub mod sql;
45#[cfg(not(feature = "internals"))]
46#[macro_use]
47mod sql;
48
49pub mod headerdef;
50
51pub(crate) mod events;
52pub use events::*;
53
54mod aheader;
55pub mod blob;
56pub mod calls;
57pub mod chat;
58pub mod chatlist;
59pub mod config;
60mod configure;
61pub mod constants;
62pub mod contact;
63pub mod context;
64mod decrypt;
65pub mod download;
66mod e2ee;
67pub mod ephemeral;
68mod imap;
69pub mod imex;
70pub mod key;
71pub mod location;
72pub mod login_param;
73pub mod message;
74mod mimefactory;
75pub mod mimeparser;
76pub mod oauth2;
77mod param;
78#[cfg(not(feature = "internals"))]
79mod pgp;
80#[cfg(feature = "internals")]
81pub mod pgp;
82pub mod provider;
83pub mod qr;
84pub mod qr_code_generator;
85pub mod quota;
86pub mod release;
87mod scheduler;
88pub mod securejoin;
89mod simplify;
90mod smtp;
91pub mod stock_str;
92mod sync;
93mod timesmearing;
94mod token;
95mod transport;
96mod update_helper;
97pub mod webxdc;
98#[macro_use]
99mod dehtml;
100mod authres;
101pub mod color;
102pub mod html;
103pub mod net;
104pub mod plaintext;
105pub mod push;
106mod stats;
107pub use stats::SecurejoinSource;
108pub use stats::SecurejoinUiPath;
109pub mod summary;
110
111mod debug_logging;
112pub mod receive_imf;
113pub mod tools;
114
115pub mod accounts;
116pub mod peer_channels;
117pub mod reaction;
118
119#[cfg(feature = "internals")]
120pub mod internals_for_benches;
121
122/// If set IMAP/incoming and SMTP/outgoing MIME messages will be printed.
123pub const DCC_MIME_DEBUG: &str = "DCC_MIME_DEBUG";
124
125#[cfg(test)]
126mod test_utils;
127#[cfg(test)]
128mod tests;