6363//! }
6464//! ```
6565
66+ use crate :: cli:: WasiCliView ;
6667use crate :: p2:: bindings:: {
6768 cli:: {
6869 stderr:: Host as _, stdin:: Host as _, stdout:: Host as _, terminal_input, terminal_output,
@@ -288,19 +289,21 @@ struct Descriptors {
288289
289290impl Descriptors {
290291 /// Initializes [Self] using `preopens`
291- fn new ( mut host : WasiCtxView < ' _ > ) -> Result < Self , types:: Error > {
292+ fn new ( host : & mut WasiP1Ctx ) -> Result < Self , types:: Error > {
292293 let mut descriptors = Self :: default ( ) ;
293294 descriptors. push ( Descriptor :: Stdin {
294295 stream : host
296+ . cli ( )
295297 . get_stdin ( )
296298 . context ( "failed to call `get-stdin`" )
297299 . map_err ( types:: Error :: trap) ?,
298300 isatty : if let Some ( term_in) = host
301+ . cli ( )
299302 . get_terminal_stdin ( )
300303 . context ( "failed to call `get-terminal-stdin`" )
301304 . map_err ( types:: Error :: trap) ?
302305 {
303- terminal_input:: HostTerminalInput :: drop ( & mut host, term_in)
306+ terminal_input:: HostTerminalInput :: drop ( & mut host. cli ( ) , term_in)
304307 . context ( "failed to call `drop-terminal-input`" )
305308 . map_err ( types:: Error :: trap) ?;
306309 IsATTY :: Yes
@@ -310,15 +313,17 @@ impl Descriptors {
310313 } ) ?;
311314 descriptors. push ( Descriptor :: Stdout {
312315 stream : host
316+ . cli ( )
313317 . get_stdout ( )
314318 . context ( "failed to call `get-stdout`" )
315319 . map_err ( types:: Error :: trap) ?,
316320 isatty : if let Some ( term_out) = host
321+ . cli ( )
317322 . get_terminal_stdout ( )
318323 . context ( "failed to call `get-terminal-stdout`" )
319324 . map_err ( types:: Error :: trap) ?
320325 {
321- terminal_output:: HostTerminalOutput :: drop ( & mut host, term_out)
326+ terminal_output:: HostTerminalOutput :: drop ( & mut host. cli ( ) , term_out)
322327 . context ( "failed to call `drop-terminal-output`" )
323328 . map_err ( types:: Error :: trap) ?;
324329 IsATTY :: Yes
@@ -328,15 +333,17 @@ impl Descriptors {
328333 } ) ?;
329334 descriptors. push ( Descriptor :: Stderr {
330335 stream : host
336+ . cli ( )
331337 . get_stderr ( )
332338 . context ( "failed to call `get-stderr`" )
333339 . map_err ( types:: Error :: trap) ?,
334340 isatty : if let Some ( term_out) = host
341+ . cli ( )
335342 . get_terminal_stderr ( )
336343 . context ( "failed to call `get-terminal-stderr`" )
337344 . map_err ( types:: Error :: trap) ?
338345 {
339- terminal_output:: HostTerminalOutput :: drop ( & mut host, term_out)
346+ terminal_output:: HostTerminalOutput :: drop ( & mut host. cli ( ) , term_out)
340347 . context ( "failed to call `drop-terminal-output`" )
341348 . map_err ( types:: Error :: trap) ?;
342349 IsATTY :: Yes
@@ -346,6 +353,7 @@ impl Descriptors {
346353 } ) ?;
347354
348355 for dir in host
356+ . ctx ( )
349357 . get_directories ( )
350358 . context ( "failed to call `get-directories`" )
351359 . map_err ( types:: Error :: trap) ?
@@ -507,7 +515,7 @@ impl WasiP1Ctx {
507515 let descriptors = if let Some ( descriptors) = self . adapter . descriptors . take ( ) {
508516 descriptors
509517 } else {
510- Descriptors :: new ( self . as_wasi_impl ( ) ) ?
518+ Descriptors :: new ( self ) ?
511519 } ;
512520 Ok ( Transaction {
513521 view : self ,
@@ -1132,7 +1140,7 @@ impl wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiP1Ctx {
11321140 argv : GuestPtr < GuestPtr < u8 > > ,
11331141 argv_buf : GuestPtr < u8 > ,
11341142 ) -> Result < ( ) , types:: Error > {
1135- self . as_wasi_impl ( )
1143+ self . cli ( )
11361144 . get_arguments ( )
11371145 . context ( "failed to call `get-arguments`" )
11381146 . map_err ( types:: Error :: trap) ?
@@ -1155,7 +1163,7 @@ impl wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiP1Ctx {
11551163 _memory : & mut GuestMemory < ' _ > ,
11561164 ) -> Result < ( types:: Size , types:: Size ) , types:: Error > {
11571165 let args = self
1158- . as_wasi_impl ( )
1166+ . cli ( )
11591167 . get_arguments ( )
11601168 . context ( "failed to call `get-arguments`" )
11611169 . map_err ( types:: Error :: trap) ?;
@@ -1176,7 +1184,7 @@ impl wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiP1Ctx {
11761184 environ : GuestPtr < GuestPtr < u8 > > ,
11771185 environ_buf : GuestPtr < u8 > ,
11781186 ) -> Result < ( ) , types:: Error > {
1179- self . as_wasi_impl ( )
1187+ self . cli ( )
11801188 . get_environment ( )
11811189 . context ( "failed to call `get-environment`" )
11821190 . map_err ( types:: Error :: trap) ?
@@ -1204,7 +1212,7 @@ impl wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiP1Ctx {
12041212 _memory : & mut GuestMemory < ' _ > ,
12051213 ) -> Result < ( types:: Size , types:: Size ) , types:: Error > {
12061214 let environ = self
1207- . as_wasi_impl ( )
1215+ . cli ( )
12081216 . get_environment ( )
12091217 . context ( "failed to call `get-environment`" )
12101218 . map_err ( types:: Error :: trap) ?;
0 commit comments