//! Bluetooth common library #[macro_use] extern crate lazy_static; /// Provides waking timer abstractions pub mod time; #[macro_use] mod ready; #[cfg(test)] #[macro_use] mod asserts; /// Provides runtime configured-at-startup flags pub mod init_flags; /// Provides runtime configured system properties. Stubbed for non-Android. pub mod sys_prop; /// Inits logging for Android #[cfg(target_os = "android")] pub fn init_logging() { android_logger::init_once( android_logger::Config::default().with_tag("bt").with_min_level(log::Level::Debug), ); } /// Inits logging for host #[cfg(not(target_os = "android"))] pub fn init_logging() { env_logger::Builder::new() .filter(None, log::LevelFilter::Debug) .parse_default_env() .try_init() .ok(); } /// Indicates the object can be converted to a GRPC service pub trait GrpcFacade { /// Convert the object into the service fn into_grpc(self) -> grpcio::Service; } /// Useful for distinguishing between BT classic & LE in functions that support both #[derive(Debug, Clone, Copy)] pub enum Bluetooth { /// Classic BT we all know and love, started in the 90s. Classic, /// Bluetooth low energy from the 2010s. Also known as BLE, BTLE, etc. Le, }