aboutsummaryrefslogtreecommitdiff
path: root/src/src/steamdetection.h
blob: fd8dc3f5685d53d33643097b6a0bcddbaca8121d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef STEAMDETECTION_H
#define STEAMDETECTION_H

#include <QString>
#include <QStringList>
#include <QVector>

/// Information about an installed Proton version.
struct SteamProtonInfo {
  QString name;
  QString config_name;
  QString path;
  bool is_steam_proton  = false;
  bool is_experimental  = false;

  /// Get the path to the wine binary (files/bin/wine or dist/bin/wine).
  QString wineBinary() const;

  /// Get the path to the wineserver binary.
  QString wineserverBinary() const;

  /// Get the bin directory containing wine executables.
  QString binDir() const;
};

/// Find the Steam installation path (returns empty string if not found).
__attribute__((visibility("default"))) QString findSteamPath();

/// Find all installed Proton versions (Proton 10+ only, sorted newest first).
__attribute__((visibility("default"))) QVector<SteamProtonInfo> findSteamProtons();

#endif // STEAMDETECTION_H