File indexing completed on 2024-05-19 15:21:41

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 "modem3gppussd.h"
0008 
0009 Modem3gppUssd::Modem3gppUssd(QObject *parent)
0010     : QDBusAbstractAdaptor(parent)
0011     , m_enabledNotifications(false)
0012     , m_state(0)
0013 {
0014 }
0015 
0016 Modem3gppUssd::~Modem3gppUssd()
0017 {
0018 }
0019 
0020 QString Modem3gppUssd::networkNotification() const
0021 {
0022     return m_networkNotification;
0023 }
0024 
0025 QString Modem3gppUssd::networkRequest() const
0026 {
0027     return m_networkRequest;
0028 }
0029 
0030 uint Modem3gppUssd::state() const
0031 {
0032     return m_state;
0033 }
0034 
0035 void Modem3gppUssd::Cancel()
0036 {
0037 }
0038 
0039 QString Modem3gppUssd::Initiate(const QString &command)
0040 {
0041     Q_UNUSED(command);
0042     return QString();
0043 }
0044 
0045 QString Modem3gppUssd::Respond(const QString &response)
0046 {
0047     Q_UNUSED(response);
0048     return QString();
0049 }
0050 
0051 void Modem3gppUssd::setModemPath(const QString &path)
0052 {
0053     m_modemPath = path;
0054 }
0055 
0056 void Modem3gppUssd::setEnableNotifications(bool enable)
0057 {
0058     m_enabledNotifications = enable;
0059 }
0060 
0061 void Modem3gppUssd::setNetworkNotification(const QString &networkNotification)
0062 {
0063     m_networkNotification = networkNotification;
0064 
0065     if (m_enabledNotifications) {
0066         QVariantMap map;
0067         map.insert(QLatin1String("NetworkNotification"), m_networkNotification);
0068         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0069         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp.Ussd") << map << QStringList();
0070         QDBusConnection::sessionBus().send(message);
0071     }
0072 }
0073 
0074 void Modem3gppUssd::setNetworkRequest(const QString &networkRequest)
0075 {
0076     m_networkRequest = networkRequest;
0077 
0078     if (m_enabledNotifications) {
0079         QVariantMap map;
0080         map.insert(QLatin1String("NetworkRequest"), m_networkRequest);
0081         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0082         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp.Ussd") << map << QStringList();
0083         QDBusConnection::sessionBus().send(message);
0084     }
0085 }
0086 
0087 void Modem3gppUssd::setState(uint state)
0088 {
0089     m_state = state;
0090 
0091     if (m_enabledNotifications) {
0092         QVariantMap map;
0093         map.insert(QLatin1String("State"), m_state);
0094         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0095         message << QLatin1String("org.kde.fakemodem.Modem.Modem3gpp.Ussd") << map << QStringList();
0096         QDBusConnection::sessionBus().send(message);
0097     }
0098 }
0099 
0100 QVariantMap Modem3gppUssd::toMap() const
0101 {
0102     QVariantMap map;
0103     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_USSD_PROPERTY_STATE), m_state);
0104     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKNOTIFICATION), m_networkNotification);
0105     map.insert(QLatin1String(MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKREQUEST), m_networkRequest);
0106     return map;
0107 }
0108 
0109 #include "moc_modem3gppussd.cpp"