wrap_resource_bundle_handler

Macro wrap_resource_bundle_handler 

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

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

ยงExample


wrap_resource_bundle_handler! {
    struct MyResourceBundleHandler {
        payload: String,
    }

    impl ResourceBundleHandler {
        // ...
    }
}

fn make_my_struct() -> ResourceBundleHandler {
    MyResourceBundleHandler::new("payload".to_string())
}