wrap_command_handler

Macro wrap_command_handler 

Source
macro_rules! wrap_command_handler {
    ($ vis : vis struct $ name : ident ; impl CommandHandler { $ ($ (# [$ 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 CommandHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

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

ยงExample


wrap_command_handler! {
    struct MyCommandHandler {
        payload: String,
    }

    impl CommandHandler {
        // ...
    }
}

fn make_my_struct() -> CommandHandler {
    MyCommandHandler::new("payload".to_string())
}