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