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