wrap_permission_handler

Macro wrap_permission_handler 

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

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

ยงExample


wrap_permission_handler! {
    struct MyPermissionHandler {
        payload: String,
    }

    impl PermissionHandler {
        // ...
    }
}

fn make_my_struct() -> PermissionHandler {
    MyPermissionHandler::new("payload".to_string())
}