aboutsummaryrefslogtreecommitdiff
path: root/libs/uibase/src/executableinfo.cpp
blob: 1573a0b19f2e03dd56cac77057b4ac929c26b9ea (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <uibase/executableinfo.h>

using namespace MOBase;

ExecutableForcedLoadSetting::ExecutableForcedLoadSetting(const QString& process,
                                                         const QString& library)
    : m_Enabled(false), m_Process(process), m_Library(library), m_Forced(false)
{}

ExecutableForcedLoadSetting& ExecutableForcedLoadSetting::withEnabled(bool enabled)
{
  m_Enabled = enabled;
  return *this;
}

ExecutableForcedLoadSetting& ExecutableForcedLoadSetting::withForced(bool forced)
{
  m_Forced = forced;
  return *this;
}

bool ExecutableForcedLoadSetting::enabled() const
{
  return m_Enabled;
}

bool ExecutableForcedLoadSetting::forced() const
{
  return m_Forced;
}

QString ExecutableForcedLoadSetting::library() const
{
  return m_Library;
}

QString ExecutableForcedLoadSetting::process() const
{
  return m_Process;
}

MOBase::ExecutableInfo::ExecutableInfo(const QString& title, const QFileInfo& binary)
    : m_Title(title), m_Binary(binary),
      m_WorkingDirectory(binary.exists() ? binary.absoluteDir() : QString()),
      m_SteamAppID()
{}

ExecutableInfo& ExecutableInfo::withArgument(const QString& argument)
{
  m_Arguments.append(argument);
  return *this;
}

ExecutableInfo& ExecutableInfo::withWorkingDirectory(const QDir& workingDirectory)
{
  m_WorkingDirectory = workingDirectory;
  return *this;
}

ExecutableInfo& MOBase::ExecutableInfo::withSteamAppId(const QString& appId)
{
  m_SteamAppID = appId;
  return *this;
}

ExecutableInfo& ExecutableInfo::asCustom()
{
  m_Custom = true;
  return *this;
}

bool ExecutableInfo::isValid() const
{
  return m_Binary.exists();
}

QString ExecutableInfo::title() const
{
  return m_Title;
}

QFileInfo ExecutableInfo::binary() const
{
  return m_Binary;
}

QStringList ExecutableInfo::arguments() const
{
  return m_Arguments;
}

QDir ExecutableInfo::workingDirectory() const
{
  return m_WorkingDirectory;
}

QString ExecutableInfo::steamAppID() const
{
  return m_SteamAppID;
}

bool ExecutableInfo::isCustom() const
{
  return m_Custom;
}