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"