File indexing completed on 2024-04-28 03:59:50

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 "sms.h"
0008 
0009 #include <QDBusConnection>
0010 #include <QDBusMessage>
0011 
0012 Sms::Sms(QObject *parent)
0013     : QObject(parent)
0014     , m_enabledNotifications(false)
0015     , m_smsClass(0)
0016     , m_deliveryReportRequest(false)
0017     , m_deliveryState(0)
0018     , m_messageReference(0)
0019     , m_pduType(0)
0020     , m_serviceCategory(0)
0021     , m_state(0)
0022     , m_storage(0)
0023     , m_teleserviceId(0)
0024     , m_validity({MM_SMS_VALIDITY_TYPE_RELATIVE, MM_SMS_VALIDITY_TYPE_ENHANCED})
0025 {
0026 }
0027 
0028 Sms::~Sms()
0029 {
0030 }
0031 
0032 int Sms::smsClass() const
0033 {
0034     return m_smsClass;
0035 }
0036 
0037 QByteArray Sms::data() const
0038 {
0039     return m_data;
0040 }
0041 
0042 bool Sms::deliveryReportRequest() const
0043 {
0044     return m_deliveryReportRequest;
0045 }
0046 
0047 uint Sms::deliveryState() const
0048 {
0049     return m_deliveryState;
0050 }
0051 
0052 QString Sms::dischargeTimestamp() const
0053 {
0054     return m_dischargeTimestamp;
0055 }
0056 
0057 uint Sms::messageReference() const
0058 {
0059     return m_messageReference;
0060 }
0061 
0062 QString Sms::number() const
0063 {
0064     return m_number;
0065 }
0066 
0067 uint Sms::pduType() const
0068 {
0069     return m_pduType;
0070 }
0071 
0072 QString Sms::SMSC() const
0073 {
0074     return m_SMSC;
0075 }
0076 
0077 uint Sms::serviceCategory() const
0078 {
0079     return m_serviceCategory;
0080 }
0081 
0082 uint Sms::state() const
0083 {
0084     return m_state;
0085 }
0086 
0087 uint Sms::storage() const
0088 {
0089     return m_storage;
0090 }
0091 
0092 uint Sms::teleserviceId() const
0093 {
0094     return m_teleserviceId;
0095 }
0096 
0097 QString Sms::text() const
0098 {
0099     return m_text;
0100 }
0101 
0102 QString Sms::timestamp() const
0103 {
0104     return m_timestamp;
0105 }
0106 
0107 ModemManager::ValidityPair Sms::validity() const
0108 {
0109     return m_validity;
0110 }
0111 
0112 void Sms::Send()
0113 {
0114 }
0115 
0116 void Sms::Store(uint storage)
0117 {
0118     Q_UNUSED(storage);
0119 }
0120 
0121 QString Sms::smsPath() const
0122 {
0123     return m_smsPath;
0124 }
0125 
0126 void Sms::setSmsPath(const QString &path)
0127 {
0128     m_smsPath = path;
0129 }
0130 
0131 void Sms::setEnableNotifications(bool enable)
0132 {
0133     m_enabledNotifications = enable;
0134 }
0135 
0136 void Sms::setSmsClass(int smsClass)
0137 {
0138     m_smsClass = smsClass;
0139 
0140     if (m_enabledNotifications) {
0141         QVariantMap map;
0142         map.insert(QLatin1String("Class"), m_smsClass);
0143         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0144         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0145         QDBusConnection::sessionBus().send(message);
0146     }
0147 }
0148 
0149 void Sms::setData(const QByteArray &data)
0150 {
0151     m_data = data;
0152 
0153     if (m_enabledNotifications) {
0154         QVariantMap map;
0155         map.insert(QLatin1String("Data"), m_data);
0156         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0157         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0158         QDBusConnection::sessionBus().send(message);
0159     }
0160 }
0161 
0162 void Sms::setDeliveryReportRequest(bool deliveryReportRequest)
0163 {
0164     m_deliveryReportRequest = deliveryReportRequest;
0165 
0166     if (m_enabledNotifications) {
0167         QVariantMap map;
0168         map.insert(QLatin1String("DeliveryReportRequest"), m_deliveryReportRequest);
0169         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0170         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0171         QDBusConnection::sessionBus().send(message);
0172     }
0173 }
0174 
0175 void Sms::setDeliveryState(uint state)
0176 {
0177     m_deliveryState = state;
0178 
0179     if (m_enabledNotifications) {
0180         QVariantMap map;
0181         map.insert(QLatin1String("DeliveryState"), m_deliveryState);
0182         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0183         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0184         QDBusConnection::sessionBus().send(message);
0185     }
0186 }
0187 
0188 void Sms::setDischargeTimestamp(const QString &timestamp)
0189 {
0190     m_dischargeTimestamp = timestamp;
0191 
0192     if (m_enabledNotifications) {
0193         QVariantMap map;
0194         map.insert(QLatin1String("DischargeTimestamp"), m_dischargeTimestamp);
0195         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0196         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0197         QDBusConnection::sessionBus().send(message);
0198     }
0199 }
0200 
0201 void Sms::setMessageReference(uint messageReference)
0202 {
0203     m_messageReference = messageReference;
0204 
0205     if (m_enabledNotifications) {
0206         QVariantMap map;
0207         map.insert(QLatin1String("MessageReference"), m_messageReference);
0208         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0209         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0210         QDBusConnection::sessionBus().send(message);
0211     }
0212 }
0213 
0214 void Sms::setNumber(const QString &number)
0215 {
0216     m_number = number;
0217 
0218     if (m_enabledNotifications) {
0219         QVariantMap map;
0220         map.insert(QLatin1String("Number"), m_number);
0221         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0222         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0223         QDBusConnection::sessionBus().send(message);
0224     }
0225 }
0226 void Sms::setPduType(uint pduType)
0227 {
0228     m_pduType = pduType;
0229 
0230     if (m_enabledNotifications) {
0231         QVariantMap map;
0232         map.insert(QLatin1String("PduType"), m_pduType);
0233         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0234         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0235         QDBusConnection::sessionBus().send(message);
0236     }
0237 }
0238 
0239 void Sms::setSMSC(const QString &smsc)
0240 {
0241     m_SMSC = smsc;
0242 
0243     if (m_enabledNotifications) {
0244         QVariantMap map;
0245         map.insert(QLatin1String("SMSC"), m_SMSC);
0246         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0247         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0248         QDBusConnection::sessionBus().send(message);
0249     }
0250 }
0251 
0252 void Sms::setServiceCategory(uint serviceCategory)
0253 {
0254     m_serviceCategory = serviceCategory;
0255 
0256     if (m_enabledNotifications) {
0257         QVariantMap map;
0258         map.insert(QLatin1String("ServiceCategory"), m_serviceCategory);
0259         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0260         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0261         QDBusConnection::sessionBus().send(message);
0262     }
0263 }
0264 
0265 void Sms::setState(uint state)
0266 {
0267     m_state = state;
0268 
0269     if (m_enabledNotifications) {
0270         QVariantMap map;
0271         map.insert(QLatin1String("State"), m_state);
0272         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0273         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0274         QDBusConnection::sessionBus().send(message);
0275     }
0276 }
0277 
0278 void Sms::setStorage(uint storage)
0279 {
0280     m_storage = storage;
0281 
0282     if (m_enabledNotifications) {
0283         QVariantMap map;
0284         map.insert(QLatin1String("Storage"), m_storage);
0285         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0286         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0287         QDBusConnection::sessionBus().send(message);
0288     }
0289 }
0290 
0291 void Sms::setTeleserviceId(uint teleserviceId)
0292 {
0293     m_teleserviceId = teleserviceId;
0294 
0295     if (m_enabledNotifications) {
0296         QVariantMap map;
0297         map.insert(QLatin1String("TeleserviceId"), m_teleserviceId);
0298         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0299         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0300         QDBusConnection::sessionBus().send(message);
0301     }
0302 }
0303 
0304 void Sms::setText(const QString &text)
0305 {
0306     m_text = text;
0307 
0308     if (m_enabledNotifications) {
0309         QVariantMap map;
0310         map.insert(QLatin1String("Text"), m_text);
0311         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0312         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0313         QDBusConnection::sessionBus().send(message);
0314     }
0315 }
0316 
0317 void Sms::setTimestamp(const QString &timestamp)
0318 {
0319     m_timestamp = timestamp;
0320 
0321     if (m_enabledNotifications) {
0322         QVariantMap map;
0323         map.insert(QLatin1String("Timestamp"), m_timestamp);
0324         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0325         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0326         QDBusConnection::sessionBus().send(message);
0327     }
0328 }
0329 
0330 void Sms::setValidity(const ModemManager::ValidityPair &validity)
0331 {
0332     m_validity.validity = validity.validity;
0333     m_validity.value = validity.value;
0334 
0335     if (m_enabledNotifications) {
0336         QVariantMap map;
0337         map.insert(QLatin1String("Validity"), QVariant::fromValue<ModemManager::ValidityPair>(m_validity));
0338         QDBusMessage message = QDBusMessage::createSignal(m_smsPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0339         message << QLatin1String("org.kde.fakemodem.Sms") << map << QStringList();
0340         QDBusConnection::sessionBus().send(message);
0341     }
0342 }
0343 
0344 #include "moc_sms.cpp"