41 lines
956 B
Rust
41 lines
956 B
Rust
use config::define_config;
|
|
use config_derive::ConfigOption;
|
|
use serde::{Deserialize, Serialize};
|
|
use std::path::PathBuf;
|
|
|
|
define_config! {
|
|
Language(Language),
|
|
MusicPath(MusicPath),
|
|
PlaylistDatabasePath(PlaylistDatabasePath),
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ConfigOption)]
|
|
pub struct Language(String);
|
|
|
|
impl std::ops::Deref for Language {
|
|
type Target = String;
|
|
fn deref(&self) -> &Self::Target {
|
|
&self.0
|
|
}
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ConfigOption)]
|
|
pub struct MusicPath(PathBuf);
|
|
|
|
impl std::ops::Deref for MusicPath {
|
|
type Target = PathBuf;
|
|
fn deref(&self) -> &Self::Target {
|
|
&self.0
|
|
}
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ConfigOption)]
|
|
pub struct PlaylistDatabasePath(PathBuf);
|
|
|
|
impl std::ops::Deref for PlaylistDatabasePath {
|
|
type Target = PathBuf;
|
|
fn deref(&self) -> &Self::Target {
|
|
&self.0
|
|
}
|
|
}
|