Skip to main content

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 token;
98mod transport;
99mod update_helper;
100pub mod webxdc;
101#[macro_use]
102mod dehtml;
103pub mod color;
104pub mod html;
105pub mod net;
106pub mod plaintext;
107pub mod push;
108mod stats;
109pub use stats::SecurejoinSource;
110pub use stats::SecurejoinUiPath;
111pub mod summary;
112
113mod debug_logging;
114pub mod receive_imf;
115pub mod tools;
116
117pub mod accounts;
118pub mod peer_channels;
119pub mod reaction;
120
121#[cfg(feature = "internals")]
122pub mod internals_for_benches;
123
124/// If set IMAP/incoming and SMTP/outgoing MIME messages will be printed.
125pub const DCC_MIME_DEBUG: &str = "DCC_MIME_DEBUG";
126
127#[cfg(test)]
128mod test_utils;
129#[cfg(test)]
130mod tests;