Trait rust_utils::config::Config

source ·
pub trait Config: Serialize + Default + for<'de> Deserialize<'de> {
    const FILE_NAME: &'static str;
    const TYPE: ConfigType = ConfigType::Toml;

    // Required method
    fn get_save_dir() -> String;

    // Provided methods
    fn get_full_path() -> String { ... }
    fn load() -> Self { ... }
    fn save(&self) -> IoResult<()> { ... }
}
Expand description

The Config trait allows a type to have an associated config file

Requires the Default, Serialize, and Deserialize traits (can be derived) to be implemented

Required Associated Constants§

source

const FILE_NAME: &'static str

This constant must be set to the file name of the config file

Provided Associated Constants§

source

const TYPE: ConfigType = ConfigType::Toml

This constant is the type of config

Defaults to TOML

Required Methods§

source

fn get_save_dir() -> String

Returns the save directory of the config file.

This method must be defined

Provided Methods§

source

fn get_full_path() -> String

Returns the full path of the config file

source

fn load() -> Self

Load from the config file

Returns the defaults if the file does not exist or is corrupted

Panics if the config directory cannot be created

source

fn save(&self) -> IoResult<()>

Save to the config file

It is recommended to call this in every method that has &mut self as an argument!

Object Safety§

This trait is not object safe.

Implementors§