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"