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.

Implementors§