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 "modemcdma.h" 0008 0009 #include <QDBusConnection> 0010 #include <QDBusMessage> 0011 0012 ModemCdma::ModemCdma(QObject *parent) 0013 : QDBusAbstractAdaptor(parent) 0014 , m_enabledNotifications(false) 0015 , m_activationState(0) 0016 , m_cdma1xRegistrationState(0) 0017 , m_evdoRegistrationState(0) 0018 , m_nid(0) 0019 , m_sid(0) 0020 { 0021 } 0022 0023 ModemCdma::~ModemCdma() 0024 { 0025 } 0026 0027 uint ModemCdma::activationState() const 0028 { 0029 return m_activationState; 0030 } 0031 0032 uint ModemCdma::cdma1xRegistrationState() const 0033 { 0034 return m_cdma1xRegistrationState; 0035 } 0036 0037 QString ModemCdma::esn() const 0038 { 0039 return m_esn; 0040 } 0041 0042 uint ModemCdma::evdoRegistrationState() const 0043 { 0044 return m_evdoRegistrationState; 0045 } 0046 0047 QString ModemCdma::meid() const 0048 { 0049 return m_meid; 0050 } 0051 0052 uint ModemCdma::nid() const 0053 { 0054 return m_nid; 0055 } 0056 0057 uint ModemCdma::sid() const 0058 { 0059 return m_sid; 0060 } 0061 0062 void ModemCdma::Activate(const QString &carrier_code) 0063 { 0064 Q_UNUSED(carrier_code); 0065 } 0066 0067 void ModemCdma::ActivateManual(const QVariantMap &properties) 0068 { 0069 Q_UNUSED(properties); 0070 } 0071 0072 void ModemCdma::setModemPath(const QString &path) 0073 { 0074 m_modemPath = path; 0075 } 0076 0077 void ModemCdma::setEnableNotifications(bool enable) 0078 { 0079 m_enabledNotifications = enable; 0080 } 0081 0082 void ModemCdma::setActivationState(uint state) 0083 { 0084 m_activationState = state; 0085 0086 if (m_enabledNotifications) { 0087 Q_EMIT ActivationStateChanged(state, MM_CDMA_ACTIVATION_ERROR_NONE, QVariantMap()); 0088 } 0089 } 0090 0091 void ModemCdma::setCdma1xRegistrationState(uint state) 0092 { 0093 m_cdma1xRegistrationState = state; 0094 0095 if (m_enabledNotifications) { 0096 QVariantMap map; 0097 map.insert(QLatin1String("Cdma1xRegistrationState"), m_cdma1xRegistrationState); 0098 QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged")); 0099 message << QLatin1String("org.kde.fakemodem.Modem.ModemCdma") << map << QStringList(); 0100 QDBusConnection::sessionBus().send(message); 0101 } 0102 } 0103 0104 void ModemCdma::setEsn(const QString &esn) 0105 { 0106 m_esn = esn; 0107 0108 if (m_enabledNotifications) { 0109 QVariantMap map; 0110 map.insert(QLatin1String("Esn"), m_esn); 0111 QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged")); 0112 message << QLatin1String("org.kde.fakemodem.Modem.ModemCdma") << map << QStringList(); 0113 QDBusConnection::sessionBus().send(message); 0114 } 0115 } 0116 0117 void ModemCdma::setEvdoRegistrationState(uint state) 0118 { 0119 m_evdoRegistrationState = state; 0120 0121 if (m_enabledNotifications) { 0122 QVariantMap map; 0123 map.insert(QLatin1String("EvdoRegistrationState"), m_evdoRegistrationState); 0124 QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged")); 0125 message << QLatin1String("org.kde.fakemodem.Modem.ModemCdma") << map << QStringList(); 0126 QDBusConnection::sessionBus().send(message); 0127 } 0128 } 0129 0130 void ModemCdma::setMeid(const QString &meid) 0131 { 0132 m_meid = meid; 0133 0134 if (m_enabledNotifications) { 0135 QVariantMap map; 0136 map.insert(QLatin1String("Meid"), m_meid); 0137 QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged")); 0138 message << QLatin1String("org.kde.fakemodem.Modem.ModemCdma") << map << QStringList(); 0139 QDBusConnection::sessionBus().send(message); 0140 } 0141 } 0142 0143 void ModemCdma::setNid(uint nid) 0144 { 0145 m_nid = nid; 0146 0147 if (m_enabledNotifications) { 0148 QVariantMap map; 0149 map.insert(QLatin1String("Nid"), m_nid); 0150 QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged")); 0151 message << QLatin1String("org.kde.fakemodem.Modem.ModemCdma") << map << QStringList(); 0152 QDBusConnection::sessionBus().send(message); 0153 } 0154 } 0155 0156 void ModemCdma::setSid(uint sid) 0157 { 0158 m_sid = sid; 0159 0160 if (m_enabledNotifications) { 0161 QVariantMap map; 0162 map.insert(QLatin1String("Sid"), m_sid); 0163 QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged")); 0164 message << QLatin1String("org.kde.fakemodem.Modem.ModemCdma") << map << QStringList(); 0165 QDBusConnection::sessionBus().send(message); 0166 } 0167 } 0168 0169 QVariantMap ModemCdma::toMap() const 0170 { 0171 QVariantMap map; 0172 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_ACTIVATIONSTATE), m_activationState); 0173 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_MEID), m_meid); 0174 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_ESN), m_esn); 0175 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_SID), m_sid); 0176 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_NID), m_nid); 0177 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_CDMA1XREGISTRATIONSTATE), m_cdma1xRegistrationState); 0178 map.insert(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_EVDOREGISTRATIONSTATE), m_evdoRegistrationState); 0179 return map; 0180 } 0181 0182 #include "moc_modemcdma.cpp"