wasmtime_wasi/p2/host/
env.rs1use crate::cli::WasiCliCtxView;
2use crate::p2::bindings::cli::environment;
3
4impl environment::Host for WasiCliCtxView<'_> {
5 fn get_environment(&mut self) -> wasmtime::Result<Vec<(String, String)>> {
6 Ok(self.ctx.environment.clone())
7 }
8 fn get_arguments(&mut self) -> wasmtime::Result<Vec<String>> {
9 Ok(self.ctx.arguments.clone())
10 }
11 fn initial_cwd(&mut self) -> wasmtime::Result<Option<String>> {
12 Ok(self.ctx.initial_cwd.clone())
13 }
14}
15
16mod named {
17 use crate::cli::WasiCliNamedView;
18 use crate::p2::bindings::named_imports::wasi::cli::environment;
19 use crate::{NamedId, WasiCtxNamedView};
20
21 impl<T> environment::Host for WasiCtxNamedView<'_, T>
22 where
23 T: WasiCliNamedView,
24 {
25 fn get_environment(&mut self, id: NamedId) -> wasmtime::Result<Vec<(String, String)>> {
26 super::environment::Host::get_environment(&mut self.0.cli(id))
27 }
28
29 fn get_arguments(&mut self, id: NamedId) -> wasmtime::Result<Vec<String>> {
30 super::environment::Host::get_arguments(&mut self.0.cli(id))
31 }
32
33 fn initial_cwd(&mut self, id: NamedId) -> wasmtime::Result<Option<String>> {
34 super::environment::Host::initial_cwd(&mut self.0.cli(id))
35 }
36 }
37}