File indexing completed on 2024-05-12 09:30:04
0001 // SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru> 0002 // 0003 // SPDX-License-Identifier: LicenseRef-KDE-Accepted-GPL 0004 0005 #include <QCoreApplication> 0006 0007 #include "version.h" 0008 0009 #include "callutilsadaptor.h" 0010 #include "deviceutilsadaptor.h" 0011 #include "ussdutilsadaptor.h" 0012 0013 #include "call-manager.h" 0014 #include "device-manager.h" 0015 #include "ussd-manager.h" 0016 0017 #if defined(MODEM_SUBSYSTEM_MM) 0018 #include "mm-modem-controller.h" 0019 #elif defined(MODEM_SUBSYSTEM_OFONO) 0020 // TODO: oFono modem controller 0021 #else 0022 #include "modem-controller.h" 0023 #endif 0024 0025 int main(int argc, char **argv) 0026 { 0027 QCoreApplication app(argc, argv); 0028 0029 app.setApplicationVersion(QStringLiteral(PLASMADIALER_VERSION_STRING)); 0030 app.setOrganizationDomain(QStringLiteral("kde.org")); 0031 app.setApplicationName(QStringLiteral("modem-daemon")); 0032 0033 #if defined(MODEM_SUBSYSTEM_MM) 0034 ModemManagerController modemController; 0035 #elif defined(MODEM_SUBSYSTEM_OFONO) 0036 // TODO: oFono modem controller 0037 #else 0038 ModemController modemController; 0039 #endif 0040 DialerTypes::registerMetaTypes(); 0041 0042 auto deviceUtils = new DeviceUtils(&app); 0043 auto ussdUtils = new UssdUtils(&app); 0044 auto callUtils = new CallUtils(&app); 0045 0046 DeviceManager deviceManager(&modemController, deviceUtils, &app); 0047 UssdManager ussdManager(&modemController, ussdUtils, &app); 0048 CallManager callManager(&modemController, callUtils, &app); 0049 0050 QDBusConnection dbus = QDBusConnection::sessionBus(); 0051 auto protocol = modemController.protocol(); 0052 auto subsystem = modemController.subsystem(); 0053 0054 new DeviceUtilsAdaptor(deviceUtils); 0055 dbus.registerObject(QStringLiteral("/org/kde/telephony/DeviceUtils/") + protocol + QStringLiteral("/") + subsystem, deviceUtils); 0056 dbus.registerService(QStringLiteral("org.kde.telephony.DeviceUtils")); 0057 0058 new UssdUtilsAdaptor(ussdUtils); 0059 dbus.registerObject(QStringLiteral("/org/kde/telephony/UssdUtils/") + protocol + QStringLiteral("/") + subsystem, ussdUtils); 0060 dbus.registerService(QStringLiteral("org.kde.telephony.UssdUtils")); 0061 0062 new CallUtilsAdaptor(callUtils); 0063 dbus.registerObject(QStringLiteral("/org/kde/telephony/CallUtils/") + protocol + QStringLiteral("/") + subsystem, callUtils); 0064 dbus.registerService(QStringLiteral("org.kde.telephony.CallUtils")); 0065 0066 qDebug() << Q_FUNC_INFO << protocol << subsystem; 0067 0068 return app.exec(); 0069 }