Struct LutrisConfig

Source
pub struct LutrisConfig { /* private fields */ }
Expand description

Represents a copy of the global Lutris config file

This struct only provides functionality for reading and setting the global Wine version to use in Lutris.

§Examples

The struct can be written to a file by using its Into trait.

let path = Path::from("/some/path");
let lutris_config = LutrisConfig::create_copy(path).unwrap();

lutris_config.set_proton_version("Proton-6.20-GE-1");
let lutris_config: Vec<u8> = lutris_config.into();
std::fs::write(path, lutris_config).unwrap();

Implementations§

Source§

impl LutrisConfig

Source

pub fn create_copy(config_file_path: &Path) -> Result<Self, LutrisConfigError>

Create a copy of a Lutris config provided by path.

This method reads the global Wine configuration file of Lutris and creates a copy of it by reading it line by line. While reading each line the following information is determined:

  • The line that contains the default compatibility tool directory name (dir_name_line)
  • The index of the dir_name_line
  • The index where the value of dir_name_line begins
  • The index where the value of dir_name_line ends

This above information is stored make future modifications easier.

§Errors
  • When the default compatibility tool attribute could not be found
  • When any filesystem operations return an IO error
Source

pub fn set_wine_version(&mut self, wine_directory_name: &str)

Set the global Wine version for this file copy.

The “version” is actually the name of the directory that contains all the version data.

Source

pub fn wine_version(&self) -> String

Get the global Wine version stored in global Wine config for Lutris.

The “version” is actually the name of the directory that contains all the version data.

Trait Implementations§

Source§

impl Into<Vec<u8>> for LutrisConfig

Source§

fn into(self) -> Vec<u8>

Converts this type into the (usually inferred) input type.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,