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 ×tamp) 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 ×tamp) 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"