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
|
// SPDX-FileCopyrightText: 2020 Jonah BrĂ¼chert <jbb@kaidan.im>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include <QCommandLineParser>
#include <QCoreApplication>
#include <QtDBus/QDBusMetaType>
#include <KAboutData>
#include <KCrash>
#include <KDBusService>
#include <KLocalizedString>
#include "../version.h"
#include "channellogger.h"
#include "global.h"
#include <database.h>
using namespace Qt::Literals;
int main(int argc, char *argv[])
{
QCommandLineParser parser;
QCoreApplication app(argc, argv);
// Ensure DBus service is registered as org.kde.spacebar.Daemon
KAboutData about(u"spacebar.Daemon"_s, u"Spacebar"_s, QStringLiteral(SPACEBAR_VERSION_STRING));
KAboutData::setApplicationData(about);
KCrash::initialize();
KLocalizedString::setApplicationDomain("spacebar");
app.setQuitLockEnabled(false); // prevent a finishing KJob from closing the daemon
qRegisterMetaType<StringMapList>();
qDBusRegisterMetaType<StringMap>();
qDBusRegisterMetaType<StringMapList>();
parser.addVersionOption();
parser.addHelpOption();
parser.setApplicationDescription(i18n("Spacebar background service"));
const auto modemOpt = QCommandLineOption(SL("modem"), SL("Modem path to use, for development purpose"), SL("modem"));
parser.addOption(modemOpt);
parser.process(app);
KDBusService service(KDBusService::Unique);
// Create observer
auto modemPath = parser.isSet(modemOpt) && !parser.value(modemOpt).isEmpty() ? parser.value(modemOpt) : std::optional<QString>();
ChannelLogger logger(modemPath);
QCoreApplication::exec();
}
|