Trait rushell_deps_linefeed::terminal::Terminal[][src]

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>; }

Defines a low-level interface to the terminal

Associated Types

type PrepareState[src]

Returned by prepare; passed to restore to restore state.

Loading content...

Required methods

fn name(&self) -> &str[src]

Returns the name of the terminal.

fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>[src]

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.

fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>[src]

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.

Loading content...

Implementors

impl Terminal for MemoryTerminal[src]

type PrepareState = ()

fn name(&self) -> &str[src]

fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>[src]

fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>[src]

impl Terminal for DefaultTerminal[src]

type PrepareState = PrepareState

fn name(&self) -> &str[src]

fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>[src]

fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>[src]

Loading content...