pub trait Terminal: Sized + Send + Sync {
type PrepareState;
fn name(&self) -> &str;
fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>;
fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>;
}
Expand description
Defines a low-level interface to the terminal
Required Associated Types
sourcetype PrepareState
type PrepareState
Returned by prepare
; passed to restore
to restore state.
Required Methods
sourcefn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>
fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>
Acquires a lock on terminal read operations and returns a value holding that lock and granting access to such operations.
The lock must not be released until the returned value is dropped.
sourcefn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>
fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>
Acquires a lock on terminal write operations and returns a value holding that lock and granting access to such operations.
The lock must not be released until the returned value is dropped.