//! Idiomatic and hopefully safe abstractions for developing an Orthanc plugin in Rust.
//!
//! The documentation here aims to be concise. Please refer to the
//! [example plugin code](https://github.com/FNNDSC/orthanc-rs/blob/master/example_plugin/src/plugin.rs)
//! as a gentler introduction on how to use this crate.

/// Orthanc plugin bindings generated by [rust-bindgen](https://rust-lang.github.io/rust-bindgen/).
#[allow(dead_code)]
#[allow(non_snake_case)]
#[allow(non_camel_case_types)]
#[allow(non_upper_case_globals)]
#[allow(clippy::redundant_static_lifetimes)]
#[allow(clippy::unreadable_literal)]
#[allow(clippy::cognitive_complexity)]
#[allow(clippy::useless_transmute)]
#[allow(improper_ctypes)]
#[allow(unnecessary_transmutes)]
pub mod bindings;
pub use orthanc_client_ogen::models as openapi;

pub mod api;
pub mod http;
pub mod utils;

mod callback;
mod config;
mod helpers;
mod tracing_subscriber;

pub use callback::*;
pub use config::{OrthancConfigurationBuffer, get_configuration};
pub use tracing_subscriber::OrthancLogger;
