• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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