wrap_resource_handler

Macro wrap_resource_handler 

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

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

ยงExample


wrap_resource_handler! {
    struct MyResourceHandler {
        payload: String,
    }

    impl ResourceHandler {
        // ...
    }
}

fn make_my_struct() -> ResourceHandler {
    MyResourceHandler::new("payload".to_string())
}