etcetera::base_strategy

Trait BaseStrategy

Source
pub trait BaseStrategy: Sized {
    type CreationError: Error;

    // Required methods
    fn new() -> Result<Self, Self::CreationError>;
    fn home_dir(&self) -> &Path;
    fn config_dir(&self) -> PathBuf;
    fn data_dir(&self) -> PathBuf;
    fn cache_dir(&self) -> PathBuf;
    fn state_dir(&self) -> Option<PathBuf>;
    fn runtime_dir(&self) -> Option<PathBuf>;
}
Expand description

Provides configuration, data, and cache directories of the current user.

Required Associated Types§

Source

type CreationError: Error

The error type returned by new.

Required Methods§

Source

fn new() -> Result<Self, Self::CreationError>

Base strategies are constructed without knowledge of the application.

Source

fn home_dir(&self) -> &Path

Gets the home directory of the current user.

Source

fn config_dir(&self) -> PathBuf

Gets the user’s configuration directory.

Source

fn data_dir(&self) -> PathBuf

Gets the user’s data directory.

Source

fn cache_dir(&self) -> PathBuf

Gets the user’s cache directory.

Source

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

Gets the user’s state directory. State directory may not exist for all conventions.

Source

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

Gets the user’s runtime directory. Runtime directory may not exist for all conventions.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§