pub struct App {
pub screen: AppScreen,
pub global_error: Option<String>,
/* private fields */
}Expand description
Root application object for the TUI.
Owns shared services (RommClient, RomCache, DownloadManager)
as well as the currently active AppScreen.
Fields§
§screen: AppScreen§global_error: Option<String>Implementations§
Source§impl App
impl App
Sourcepub fn new(
client: RommClient,
config: Config,
registry: EndpointRegistry,
server_version: Option<String>,
startup_splash: Option<StartupSplash>,
) -> Self
pub fn new( client: RommClient, config: Config, registry: EndpointRegistry, server_version: Option<String>, startup_splash: Option<StartupSplash>, ) -> Self
Construct a new App with fresh cache and empty download list.
Sourcepub fn poll_background_tasks(&mut self)
pub fn poll_background_tasks(&mut self)
Drain background work (e.g. library metadata refresh). Safe to call each frame.
pub fn set_error(&mut self, err: Error)
Sourcepub async fn run(&mut self) -> Result<()>
pub async fn run(&mut self) -> Result<()>
Main TUI event loop.
This method owns the terminal for the lifetime of the app, repeatedly drawing the current screen and dispatching key events until the user chooses to quit.
pub async fn handle_key(&mut self, key: KeyCode) -> Result<bool>
Auto Trait Implementations§
impl Freeze for App
impl !RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
impl !UnwindSafe for App
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more