File indexing completed on 2024-05-12 12:00:17

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