File indexing completed on 2024-05-12 11:32:23

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2016 Ivan Lakhtanov <ivan.lakhtanov@gmail.com>
0004 */
0005 
0006 #include <QApplication>
0007 #include <QDBusConnection>
0008 #include <QDBusError>
0009 #include <QDebug>
0010 #include <QTextStream>
0011 
0012 #include "juliaserver.h"
0013 
0014 int main(int argc, char *argv[])
0015 {
0016     QCoreApplication app(argc, argv);
0017 
0018     if (!QDBusConnection::sessionBus().isConnected()) {
0019         qWarning() << "Can't connect to the D-Bus session bus.\n"
0020                       "To start it, run: eval `dbus-launch --auto-syntax`";
0021         return 1;
0022     }
0023 
0024     const QString &serviceName =
0025         QString::fromLatin1("org.kde.Cantor.Julia-%1").arg(app.applicationPid());
0026 
0027     if (!QDBusConnection::sessionBus().registerService(serviceName)) {
0028         qWarning() << QDBusConnection::sessionBus().lastError().message();
0029         return 2;
0030     }
0031 
0032     JuliaServer server;
0033     QDBusConnection::sessionBus().registerObject(
0034         QLatin1String("/"),
0035         &server,
0036         QDBusConnection::ExportAllSlots
0037     );
0038 
0039     QTextStream(stdout) << "ready" << endl;
0040 
0041     return app.exec();
0042 }