Skip to main content

wasmtime/runtime/component/bindgen_examples/
_6_exported_resources.rs

1bindgen!({
2    inline: r#"
3        package example:exported-resources;
4
5        world export-some-resources {
6            export logging;
7        }
8
9        interface logging {
10            enum level {
11                debug,
12                info,
13                warn,
14                error,
15            }
16
17            resource logger {
18                constructor(max-level: level);
19
20                get-max-level: func() -> level;
21                set-max-level: func(level: level);
22
23                log: func(level: level, msg: string);
24            }
25
26            inspect-logger: func(logger: borrow<logger>) -> level;
27            take-logger: func(logger: logger);
28            get-default-logger: func() -> logger;
29        }
30    "#,
31});