a-la-karte/src/gamecenter/main.cpp

47 lines
1.3 KiB
C++
Raw Normal View History

// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2026 A-La-Karte Contributors
#include <QCommandLineOption>
#include <QCommandLineParser>
#include <QCoreApplication>
#include <KDBusService>
#include <KSignalHandler>
#include "gamecenterdaemon.h"
#include <signal.h>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
app.setOrganizationDomain(QStringLiteral("kde.org"));
app.setApplicationName(QStringLiteral("GameCenter1"));
QCommandLineParser parser;
parser.setApplicationDescription(QStringLiteral("A-La-Karte Game Center"));
parser.addHelpOption();
parser.process(app);
GameCenterDaemon daemon;
if (!daemon.init()) {
qWarning() << "GameCenter daemon initialization failed";
return 1;
}
KDBusService service(KDBusService::Unique | KDBusService::NoExitOnFailure);
if (!service.isRegistered()) {
qWarning() << "Failed to register D-Bus service" << service.serviceName() << service.errorMessage();
return 1;
}
KSignalHandler::self()->watchSignal(SIGTERM);
KSignalHandler::self()->watchSignal(SIGINT);
QObject::connect(KSignalHandler::self(), &KSignalHandler::signalReceived, &app, [&app](int signal) {
Q_UNUSED(signal);
app.quit();
});
return app.exec();
}