File indexing completed on 2024-05-12 15:48:11

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