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)]
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;
92pub mod storage_usage;
93mod sync;
94mod timesmearing;
95mod token;
96mod transport;
97mod update_helper;
98pub mod webxdc;
99#[macro_use]
100mod dehtml;
101mod authres;
102pub mod color;
103pub mod html;
104pub mod net;
105pub mod plaintext;
106pub mod push;
107mod stats;
108pub use stats::SecurejoinSource;
109pub use stats::SecurejoinUiPath;
110pub mod summary;
111
112mod debug_logging;
113pub mod receive_imf;
114pub mod tools;
115
116pub mod accounts;
117pub mod peer_channels;
118pub mod reaction;
119
120#[cfg(feature = "internals")]
121pub mod internals_for_benches;
122
123pub const DCC_MIME_DEBUG: &str = "DCC_MIME_DEBUG";
125
126#[cfg(test)]
127mod test_utils;
128#[cfg(test)]
129mod tests;