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