wrap_keyboard_handler

Macro wrap_keyboard_handler 

Source
macro_rules! wrap_keyboard_handler {
    ($ vis : vis struct $ name : ident ; impl KeyboardHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
    ($ vis : vis struct $ name : ident $ (< $ ($ generic_type : ident : $ first_generic_type_bound : tt $ (+ $ generic_type_bound : tt) *) , + $ (,) ? >) ? { $ ($ field_vis : vis $ field_name : ident : $ field_type : ty) , * $ (,) ? } impl KeyboardHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

Implement the WrapKeyboardHandler trait for the specified struct. You can declare more members for your struct, and in the impl KeyboardHandler block you can override default methods implemented by the ImplKeyboardHandler trait.

ยงExample


wrap_keyboard_handler! {
    struct MyKeyboardHandler {
        payload: String,
    }

    impl KeyboardHandler {
        // ...
    }
}

fn make_my_struct() -> KeyboardHandler {
    MyKeyboardHandler::new("payload".to_string())
}