File indexing completed on 2024-05-19 11:47:22

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