| // Take a look at the license at the top of the repository in the LICENSE file. |
| |
| #[cfg(feature = "debug")] |
| #[doc(hidden)] |
| #[allow(unused)] |
| macro_rules! sysinfo_debug { |
| ($($x:tt)*) => {{ |
| eprintln!($($x)*); |
| }} |
| } |
| |
| #[cfg(not(feature = "debug"))] |
| #[doc(hidden)] |
| #[allow(unused)] |
| macro_rules! sysinfo_debug { |
| ($($x:tt)*) => {{}}; |
| } |
| |
| macro_rules! declare_signals { |
| ($kind:ty, _ => None,) => ( |
| use crate::Signal; |
| |
| pub(crate) const fn supported_signals() -> &'static [Signal] { |
| &[] |
| } |
| ); |
| |
| ($kind:ty, $(Signal::$signal:ident => $map:expr,)+ _ => None,) => ( |
| use crate::Signal; |
| |
| pub(crate) const fn supported_signals() -> &'static [Signal] { |
| &[$(Signal::$signal,)*] |
| } |
| |
| #[inline] |
| pub(crate) fn convert_signal(s: Signal) -> Option<$kind> { |
| match s { |
| $(Signal::$signal => Some($map),)* |
| _ => None, |
| } |
| } |
| ); |
| |
| ($kind:ty, $(Signal::$signal:ident => $map:expr,)+) => ( |
| use crate::Signal; |
| |
| pub(crate) const fn supported_signals() -> &'static [Signal] { |
| &[$(Signal::$signal,)*] |
| } |
| |
| #[inline] |
| pub(crate) fn convert_signal(s: Signal) -> Option<$kind> { |
| match s { |
| $(Signal::$signal => Some($map),)* |
| } |
| } |
| ) |
| } |