1#![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::arithmetic_side_effects))]
21#![cfg_attr(not(test), forbid(clippy::indexing_slicing))]
22#![cfg_attr(not(test), forbid(clippy::string_slice))]
23#![allow(
24 clippy::match_bool,
25 clippy::mixed_read_write_in_expression,
26 clippy::bool_assert_comparison,
27 clippy::manual_split_once,
28 clippy::format_push_string,
29 clippy::bool_to_int_with_if
30)]
31
32#[macro_use]
33extern crate num_derive;
34#[macro_use]
35extern crate smallvec;
36#[macro_use]
37extern crate rusqlite;
38#[macro_use]
39extern crate strum_macros;
40
41#[macro_use]
42pub mod log;
43
44#[cfg(feature = "internals")]
45#[macro_use]
46pub mod sql;
47#[cfg(not(feature = "internals"))]
48#[macro_use]
49mod sql;
50
51pub mod headerdef;
52
53pub(crate) mod events;
54pub use events::*;
55
56mod aheader;
57pub mod blob;
58pub mod calls;
59pub mod chat;
60pub mod chatlist;
61pub mod config;
62mod configure;
63pub mod constants;
64pub mod contact;
65pub mod context;
66mod decrypt;
67pub mod download;
68mod e2ee;
69pub mod ephemeral;
70mod imap;
71pub mod imex;
72pub mod key;
73pub mod location;
74pub mod login_param;
75pub mod message;
76mod mimefactory;
77pub mod mimeparser;
78pub mod oauth2;
79mod param;
80#[cfg(not(feature = "internals"))]
81mod pgp;
82#[cfg(feature = "internals")]
83pub mod pgp;
84pub mod provider;
85pub mod qr;
86pub mod qr_code_generator;
87pub mod quota;
88pub mod release;
89mod scheduler;
90pub mod securejoin;
91mod simplify;
92mod smtp;
93pub mod stock_str;
94pub mod storage_usage;
95mod sync;
96mod timesmearing;
97mod token;
98mod transport;
99mod update_helper;
100pub mod webxdc;
101#[macro_use]
102mod dehtml;
103mod authres;
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
125pub const DCC_MIME_DEBUG: &str = "DCC_MIME_DEBUG";
127
128#[cfg(test)]
129mod test_utils;
130#[cfg(test)]
131mod tests;