From 7cce85709ad4d167d34cd362d8d8be817b74d698 Mon Sep 17 00:00:00 2001 From: meh Date: Sun, 24 May 2015 18:52:28 +0200 Subject: [PATCH] lib: add a crate init function --- src/lib.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index da12899..fd95b83 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -45,3 +45,31 @@ pub use codec::threading; #[cfg(feature = "device")] pub mod device; + +fn init_error() { + util::error::register_all(); +} + +#[cfg(feature = "format")] +fn init_format() { + format::register_all(); +} + +#[cfg(not(feature = "format"))] +fn init_format() { } + +#[cfg(feature = "device")] +fn init_device() { + device::register_all(); +} + +#[cfg(not(feature = "device"))] +fn init_device() { } + +pub fn init() -> Result<(), Error> { + init_error(); + init_format(); + init_device(); + + Ok(()) +}