Struct SteamConfig

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

Represents a copy of a Steam configuration file.

This struct only allows modification to the global Proton version to be used by Steam.

§Examples

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

let path = Path::from("/some/path");
let steam_config = SteamConfig::create_copy(path).unwrap();

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

Implementations§

Source§

impl SteamConfig

Source

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

Create a copy of a Steam config provided by path.

This method reads a global Steam configuration file 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 to make future modifications easier.

§Errors

This method will return an error in the following cases:

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

pub fn proton_version(&self) -> String

Get the global Proton version stored in the Steam config file.

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

Source

pub fn set_proton_version(&mut self, proton_dir_name: &str)

Set the global Proton version for this file copy.

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

Trait Implementations§

Source§

impl Into<Vec<u8>> for SteamConfig

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,