Skip to main content

Config

Struct Config 

Source
pub struct Config {
    pub cache_dir: PathBuf,
    pub data_dir: PathBuf,
    pub music_dir: PathBuf,
    pub socket_name: String,
    pub addr_claim_mode: AddrClaimMode,
    pub socket_type: SocketType,
    pub can_raise: bool,
    pub can_set_fullscreen: bool,
    pub can_quit: bool,
    pub playback_config: Config,
}
Expand description

Configuration options for the daemon.

Used with the start function.

Fields§

§cache_dir: PathBuf

The directory containing daemon cache.

§data_dir: PathBuf

The directory containing the program data, eg. the playlist file.

§music_dir: PathBuf

The directory containing the music library/audio files to load.

§socket_name: String

The name of the socket to listen on.

This will either resolve to a namespaced socket with the same name, or, in case of a filesystem socket, a file with the same name in the temporary directory.

§addr_claim_mode: AddrClaimMode

Defines under which conditions should the daemon claim an occupied socket address.

§socket_type: SocketType

Defines the type of socket the daemon should use.

§can_raise: bool

Whether the player’s user interface can be brought to the front using any appropriate mechanism available.

Players that have no ability to raise (eg. players CLI or TUI interfaces) should set this to false.

§can_set_fullscreen: bool§can_quit: bool

Whether clients can request the daemon to quit.

This only affects clients that connect to the daemon over a local socket, it does not affect the quit function.

§playback_config: Config

Configuration options specific to the playback module.

Implementations§

Source§

impl Config

Source

pub fn try_default() -> Result<Self, ConfigError>

Get the default daemon config.

For a custom music player, you probably want to create your own config from scratch, or use the Config::try_from_name constructor.

§Examples
let conf = chilen_daemon::Config::try_default().unwrap();
Source

pub fn try_from_name(name: &str, socket_name: &str) -> Result<Self, ConfigError>

Create a new config from program and socket names.

The generated paths will contain the name of the program, eg. ~/.cache/<PROGRAM_NAME>, ~/.local/share/<PROGRAM_NAME>.

Fails if the path to the home directory cannot be obtained.

§Examples
let conf = chilen_daemon::Config::try_from_name("my-player", "MY_PLAYER");

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Config

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for Config

Source§

impl Hash for Config

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Config

Source§

fn eq(&self, other: &Config) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Config

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Config

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

§

fn into_sample(self) -> T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

§

impl<T> TryClone for T
where T: Clone,

§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.