#![recursion_limit = "192"] #![allow(clippy::wildcard_imports)] #![allow(clippy::enum_glob_use)] pub(crate) mod admin; pub(crate) mod command; pub(crate) mod processor; mod tests; pub(crate) mod utils; pub(crate) mod appservice; pub(crate) mod check; pub(crate) mod debug; pub(crate) mod federation; pub(crate) mod media; pub(crate) mod query; pub(crate) mod room; pub(crate) mod server; pub(crate) mod user; extern crate conduwuit_api as api; extern crate conduwuit_core as conduwuit; extern crate conduwuit_service as service; pub(crate) use conduwuit::Result; pub(crate) use conduwuit_macros::{admin_command, admin_command_dispatch}; pub(crate) use crate::{ command::Command, utils::{escape_html, get_room_info}, }; pub(crate) const PAGE_SIZE: usize = 100; conduwuit::mod_ctor! {} conduwuit::mod_dtor! {} conduwuit::rustc_flags_capture! {} /// Install the admin command processor pub async fn init(admin_service: &service::admin::Service) { _ = admin_service .complete .write() .expect("locked for writing") .insert(processor::complete); _ = admin_service .handle .write() .await .insert(processor::dispatch); } /// Uninstall the admin command handler pub async fn fini(admin_service: &service::admin::Service) { _ = admin_service.handle.write().await.take(); _ = admin_service .complete .write() .expect("locked for writing") .take(); }