ev_apple/
macros.rs

1// macro to easier implement Message trait which
2// defines where do messages go
3
4#[macro_export]
5macro_rules! messages_internal {
6    ($i:ty) => {
7        _
8    };
9}
10
11#[macro_export]
12macro_rules! messages {
13    ($enu:ident, $( $x:ident $( ( $( $s:ty),* ) )? => $y:expr ),* $( , )?) => {
14        use ev_apple::messages_internal;
15
16        #[derive(Clone, PartialEq, Debug)]
17        pub enum $enu {
18            $( $x $( ( $( $s ),* ) )? ),*
19        }
20
21        impl Message for $enu {
22            fn id(&self) -> u32 {
23                match self {
24                    $( $enu::$x $( ( $( messages_internal!($s) ),* ) )? => $y ),*
25                }
26            }
27        }
28    }
29}