Skip to main content

AppPathsProvider

Trait AppPathsProvider 

Source
pub trait AppPathsProvider: Send + Sync {
    // Required methods
    fn config_dir(&self) -> Option<PathBuf>;
    fn data_dir(&self) -> Option<PathBuf>;
    fn cache_dir(&self) -> Option<PathBuf>;

    // Provided methods
    fn state_dir(&self) -> Option<PathBuf> { ... }
    fn runtime_dir(&self) -> Option<PathBuf> { ... }
    fn system_fonts_dir(&self) -> Option<PathBuf> { ... }
    fn sans_serif_candidates(&self) -> Vec<String> { ... }
}

Required Methods§

Provided Methods§

Source

fn state_dir(&self) -> Option<PathBuf>

Machine-written state the user never edits. Defaults to data_dir, which is where it lives on every platform that does not separate the two.

Source

fn runtime_dir(&self) -> Option<PathBuf>

Session-scoped runtime files — a socket, a lock. None where the platform has no such place, which is the caller’s cue to pick its own rather than be handed a directory that outlives the session.

Source

fn system_fonts_dir(&self) -> Option<PathBuf>

OS system-font directory to scan for fallback family resolution. None on platforms where the renderer’s default font discovery suffices (desktop); the platform adapter overrides it where the OS keeps fonts in a fixed location (Android → /system/fonts).

Source

fn sans_serif_candidates(&self) -> Vec<String>

Sans-serif family names to try in priority order, OS/OEM-specific. Empty when default discovery suffices; the platform adapter overrides it (Android OEM font stacks).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§