ui: drop system-bus GameCenter fallback

This commit is contained in:
Marco Allegretti 2026-02-14 14:02:07 +01:00
parent 8891e85dbc
commit f3b130008f
6 changed files with 6 additions and 56 deletions

View file

@ -1,13 +0,0 @@
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="org.kde.GameCenter1"/>
</policy>
<policy context="default">
<allow send_destination="org.kde.GameCenter1"/>
<allow receive_sender="org.kde.GameCenter1"/>
</policy>
</busconfig>

View file

@ -1,4 +0,0 @@
[D-BUS Service]
Name=org.kde.GameCenter1
Exec=@CMAKE_INSTALL_PREFIX@/@KDE_INSTALL_BINDIR@/alakarte-gamecenter --system
SystemdService=org.kde.GameCenter1.service

View file

@ -1,8 +0,0 @@
[Unit]
Description=A-La-Karte Game Center
[Service]
ExecStart=@CMAKE_INSTALL_PREFIX@/@KDE_INSTALL_BINDIR@/alakarte-gamecenter --system
Type=dbus
BusName=org.kde.GameCenter1
Restart=no

View file

@ -270,7 +270,6 @@ static QStringList steamCandidateRoots()
GameLauncher::GameLauncher(QObject *parent)
: QObject(parent)
, m_daemonAvailable(false)
, m_usingSystemBus(false)
{
if (auto *app = qobject_cast<App *>(parent)) {
connect(app->gameModel(), &GameModel::countChanged, this, [this]() {
@ -557,10 +556,7 @@ void GameLauncher::launchGame(Game *game)
// Always try daemon first — for all launch types
{
QDBusInterface iface(kGameCenterService,
kGameCenterPath,
kGameCenterInterface,
m_usingSystemBus ? QDBusConnection::systemBus() : QDBusConnection::sessionBus());
QDBusInterface iface(kGameCenterService, kGameCenterPath, kGameCenterInterface, QDBusConnection::sessionBus());
QVariantMap launchSpec = {
{QStringLiteral("command"), launchCommand},
{QStringLiteral("gameId"), game->id()},
@ -631,10 +627,7 @@ void GameLauncher::stopGame(Game *game)
return;
}
QDBusInterface iface(kGameCenterService,
kGameCenterPath,
kGameCenterInterface,
m_usingSystemBus ? QDBusConnection::systemBus() : QDBusConnection::sessionBus());
QDBusInterface iface(kGameCenterService, kGameCenterPath, kGameCenterInterface, QDBusConnection::sessionBus());
iface.call(QStringLiteral("StopByGameId"), game->id());
}
@ -765,10 +758,7 @@ void GameLauncher::onDaemonLaunchFailed(const QVariantMap &error)
void GameLauncher::syncDaemonSessions()
{
QDBusInterface iface(kGameCenterService,
kGameCenterPath,
kGameCenterInterface,
m_usingSystemBus ? QDBusConnection::systemBus() : QDBusConnection::sessionBus());
QDBusInterface iface(kGameCenterService, kGameCenterPath, kGameCenterInterface, QDBusConnection::sessionBus());
const QDBusReply<QVariantList> reply = iface.call(QStringLiteral("ListSessions"));
if (!reply.isValid()) {
@ -805,28 +795,14 @@ void GameLauncher::applyRunningStateToLibrary()
void GameLauncher::checkDaemonAvailability()
{
const bool systemAvailable = pingDaemon(QDBusConnection::systemBus());
const bool sessionAvailable = systemAvailable ? false : pingDaemon(QDBusConnection::sessionBus());
const bool available = systemAvailable || sessionAvailable;
const bool useSystemBus = systemAvailable;
const bool available = pingDaemon(QDBusConnection::sessionBus());
disconnectDaemonSignals(QDBusConnection::systemBus(), this);
disconnectDaemonSignals(QDBusConnection::sessionBus(), this);
if (available) {
connectDaemonSignals(useSystemBus ? QDBusConnection::systemBus() : QDBusConnection::sessionBus(), this);
connectDaemonSignals(QDBusConnection::sessionBus(), this);
}
const bool busChanged = m_usingSystemBus != useSystemBus;
if (busChanged) {
m_daemonGameToSession.clear();
m_daemonSessionToGame.clear();
Q_EMIT runningGamesChanged();
applyRunningStateToLibrary();
}
m_usingSystemBus = useSystemBus;
if (available != m_daemonAvailable) {
m_daemonAvailable = available;
Q_EMIT daemonAvailableChanged();

View file

@ -48,7 +48,6 @@ private:
QHash<QString, QString> m_daemonGameToSession;
QHash<QString, QString> m_daemonSessionToGame;
bool m_daemonAvailable = false;
bool m_usingSystemBus = false;
void checkDaemonAvailability();
void syncDaemonSessions();

View file

@ -181,7 +181,7 @@ void AlakarteRunner::run(const KRunner::RunnerContext &context, const KRunner::Q
{QStringLiteral("origin"), QStringLiteral("krunner")},
};
if (launchViaDaemon(QDBusConnection::systemBus(), launchSpec) || launchViaDaemon(QDBusConnection::sessionBus(), launchSpec)) {
if (launchViaDaemon(QDBusConnection::sessionBus(), launchSpec)) {
return;
}
}