diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-07-11 09:01:07 +0200 |
---|---|---|
committer | Sefa Eyeoglu <contact@scrumplex.net> | 2022-09-20 15:59:43 +0200 |
commit | 09e85e948cdb361c306a1cccbc3557a464366a21 (patch) | |
tree | 9a33804b4370079902d7715ff5bc0c1e539b46e0 /launcher/RuntimeContext.h | |
parent | 9ec1c00887579e97c7b7a190756f6ddae583563f (diff) | |
download | PrismLauncher-09e85e948cdb361c306a1cccbc3557a464366a21.tar.gz PrismLauncher-09e85e948cdb361c306a1cccbc3557a464366a21.tar.bz2 PrismLauncher-09e85e948cdb361c306a1cccbc3557a464366a21.zip |
refactor: introduce RuntimeContext
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'launcher/RuntimeContext.h')
-rw-r--r-- | launcher/RuntimeContext.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/launcher/RuntimeContext.h b/launcher/RuntimeContext.h new file mode 100644 index 00000000..76785728 --- /dev/null +++ b/launcher/RuntimeContext.h @@ -0,0 +1,39 @@ +#pragma once + +#include <QString> +#include "settings/SettingsObject.h" + +struct RuntimeContext { + QString javaArchitecture; + QString javaRealArchitecture; + QString javaPath; + + QString mappedJavaRealArchitecture() const { + if (javaRealArchitecture == "aarch64") { + return "arm64"; + } + return javaRealArchitecture; + } + + void updateFromInstanceSettings(SettingsObjectPtr instanceSettings) { + javaArchitecture = instanceSettings->get("JavaArchitecture").toString(); + javaRealArchitecture = instanceSettings->get("JavaRealArchitecture").toString(); + javaPath = instanceSettings->get("JavaPath").toString(); + } + + static QString currentSystem() { +#if defined(Q_OS_LINUX) + return "linux"; +#elif defined(Q_OS_MACOS) + return "osx"; +#elif defined(Q_OS_WINDOWS) + return "windows"; +#elif defined(Q_OS_FREEBSD) + return "freebsd"; +#elif defined(Q_OS_OPENBSD) + return "openbsd"; +#else + return "unknown"; +#endif + } +}; |