26 lines
1.1 KiB
C++
26 lines
1.1 KiB
C++
|
|
#pragma once
|
||
|
|
|
||
|
|
#include <QString>
|
||
|
|
#include <QStringList>
|
||
|
|
|
||
|
|
namespace JavaLocator {
|
||
|
|
|
||
|
|
// Все java, которые удалось найти: рантайм самого Minecraft, JAVA_HOME, PATH,
|
||
|
|
// стандартные каталоги установки JDK/JRE. Без дублей, в порядке приоритета.
|
||
|
|
QStringList findAll(const QString &gameDir);
|
||
|
|
|
||
|
|
// Мажорная версия (8, 17, 21...) или 0, если запустить не удалось. Результат кешируется.
|
||
|
|
int majorVersion(const QString &javaPath);
|
||
|
|
|
||
|
|
// java.exe -> javaw.exe, чтобы игра не открывала окно консоли. На Unix возвращает вход.
|
||
|
|
QString windowlessVariant(const QString &javaPath);
|
||
|
|
|
||
|
|
// Выбирает java не ниже requiredMajor. preferred, если задан, проверяется первым.
|
||
|
|
// При неудаче возвращает пустую строку и заполняет error.
|
||
|
|
QString select(const QString &gameDir,
|
||
|
|
int requiredMajor,
|
||
|
|
const QString &preferred,
|
||
|
|
QString *error);
|
||
|
|
|
||
|
|
} // namespace JavaLocator
|