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"