1 #[cfg(default_log_impl)] 2 use super::log_ffi; 3 4 /// Possible identifiers of a specific buffer of Android logging system for 5 /// logging a message. 6 #[derive(Clone, Copy, Debug, Eq, PartialEq)] 7 pub enum LogId { 8 /// Main log buffer. 9 /// 10 /// This is the only log buffer available to apps. 11 Main, 12 13 /// Radio log buffer. 14 Radio, 15 16 /// Event log buffer. 17 Events, 18 19 /// System log buffer. 20 System, 21 22 /// Crash log buffer. 23 Crash, 24 25 /// Kernel log buffer. 26 Kernel, 27 28 /// Security log buffer. 29 Security, 30 31 /// Statistics log buffer. 32 Stats, 33 } 34 35 #[cfg(target_os = "android")] 36 impl LogId { to_native(log_id: Option<Self>) -> Option<log_ffi::log_id_t>37 pub(crate) const fn to_native(log_id: Option<Self>) -> Option<log_ffi::log_id_t> { 38 match log_id { 39 Some(Self::Main) => Some(log_ffi::log_id_t::MAIN), 40 Some(Self::Radio) => Some(log_ffi::log_id_t::RADIO), 41 Some(Self::Events) => Some(log_ffi::log_id_t::EVENTS), 42 Some(Self::System) => Some(log_ffi::log_id_t::SYSTEM), 43 Some(Self::Crash) => Some(log_ffi::log_id_t::CRASH), 44 Some(Self::Kernel) => Some(log_ffi::log_id_t::KERNEL), 45 Some(Self::Security) => Some(log_ffi::log_id_t::SECURITY), 46 Some(Self::Stats) => Some(log_ffi::log_id_t::STATS), 47 None => None, 48 } 49 } 50 } 51