File indexing completed on 2024-04-28 03:59:49

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include "modem3gpp.h"
0008 
0009 #include <QDBusConnection>
0010 #include <QDBusMessage>
0011 
0012 Modem3gpp::Modem3gpp(QObject *parent)
0013     : QDBusAbstractAdaptor(parent)
0014     , m_enabledNotifications(false)
0015     , m_enabledFacilityLocks(0)
0016     , m_registrationState(0)
0017     , m_subscriptionState(0)
0018 {
0019 }
0020 
0021 Modem3gpp::~Modem3gpp()
0022 {
0023 }
0024 
0025 uint Modem3gpp::enabledFacilityLocks() const
0026 {
0027     return m_enabledFacilityLocks;
0028 }
0029 
0030 QString Modem3gpp::imei() const
0031 {
0032     return m_imei;
0033 }
0034 
0035 QString Modem3gpp::operatorCode() const
0036 {
0037     return m_operatorCode;
0038 }
0039 
0040 QString Modem3gpp::operatorName() const
0041 {
0042     return m_operatorName;
0043 }
0044 
0045 uint Modem3gpp::registrationState() const
0046 {
0047     return m_registrationState;
0048 }
0049 
0050 uint Modem3gpp::subscriptionState() const
0051 {
0052     return m_subscriptionState;
0053 }
0054 
0055 void Modem3gpp::Register(const QString &operator_id)
0056 {
0057     Q_UNUSED(operator_id);
0058 }
0059 
0060 ModemManager::QVariantMapList Modem3gpp::Scan()
0061 {
0062     return ModemManager::QVariantMapList();
0063 }
0064 
0065 void Modem3gpp::setModemPath(const QString &path)
0066 {
0067     m_modemPath = path;
0068 }
0069 
0070 void Modem3gpp::setEnableNotifications(bool enable)
0071 {
0072     m_enabledNotifications = enable;
0073 }
0074 
0075 void Modem3gpp::setEnabledFacilityLocks(uint enabledFacilityLocks)
0076 {
0077     m_enabledFacilityLocks = enabledFacilityLocks;
0078 
0079     if (m_enabledNotifications) {
0080         QVariantMap map;
0081         map.insert(QLatin1String("EnabledFacilityLocks"), m_enabledFacilityLocks);
0082         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0083         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp") << map << QStringList();
0084         QDBusConnection::sessionBus().send(message);
0085     }
0086 }
0087 
0088 void Modem3gpp::setImei(const QString &imei)
0089 {
0090     m_imei = imei;
0091 
0092     if (m_enabledNotifications) {
0093         QVariantMap map;
0094         map.insert(QLatin1String("Imei"), m_imei);
0095         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0096         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp") << map << QStringList();
0097         QDBusConnection::sessionBus().send(message);
0098     }
0099 }
0100 
0101 void Modem3gpp::setOperatorCode(const QString &operatorCode)
0102 {
0103     m_operatorCode = operatorCode;
0104 
0105     if (m_enabledNotifications) {
0106         QVariantMap map;
0107         map.insert(QLatin1String("OperatorCode"), m_operatorCode);
0108         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0109         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp") << map << QStringList();
0110         QDBusConnection::sessionBus().send(message);
0111     }
0112 }
0113 
0114 void Modem3gpp::setOperatorName(const QString &operatorName)
0115 {
0116     m_operatorName = operatorName;
0117 
0118     if (m_enabledNotifications) {
0119         QVariantMap map;
0120         map.insert(QLatin1String("OperatorName"), m_operatorName);
0121         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0122         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp") << map << QStringList();
0123         QDBusConnection::sessionBus().send(message);
0124     }
0125 }
0126 
0127 void Modem3gpp::setRegistrationState(uint registrationState)
0128 {
0129     m_registrationState = registrationState;
0130 
0131     if (m_enabledNotifications) {
0132         QVariantMap map;
0133         map.insert(QLatin1String("RegistrationState"), m_registrationState);
0134         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0135         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp") << map << QStringList();
0136         QDBusConnection::sessionBus().send(message);
0137     }
0138 }
0139 
0140 void Modem3gpp::setSubscriptionState(uint subscriptionState)
0141 {
0142     m_subscriptionState = subscriptionState;
0143 
0144     if (m_enabledNotifications) {
0145         QVariantMap map;
0146         map.insert(QLatin1String("SubscriptionState"), m_subscriptionState);
0147         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0148         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp") << map << QStringList();
0149         QDBusConnection::sessionBus().send(message);
0150     }
0151 }
0152 
0153 QVariantMap Modem3gpp::toMap() const
0154 {
0155     QVariantMap map;
0156     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_PROPERTY_IMEI), m_imei);
0157     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_PROPERTY_REGISTRATIONSTATE), m_registrationState);
0158     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_PROPERTY_OPERATORCODE), m_operatorCode);
0159     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_PROPERTY_OPERATORNAME), m_operatorName);
0160     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_PROPERTY_ENABLEDFACILITYLOCKS), m_enabledFacilityLocks);
0161 #if MM_CHECK_VERSION(1, 2, 0)
0162     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_PROPERTY_SUBSCRIPTIONSTATE), m_subscriptionState);
0163 #endif
0164     return map;
0165 }
0166 
0167 #include "moc_modem3gpp.cpp"