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 #ifndef MODEMMANAGERQT_FAKE_MODEM_SMS_H
0008 #define MODEMMANAGERQT_FAKE_MODEM_SMS_H
0009 
0010 #include "generictypes.h"
0011 
0012 #include <QObject>
0013 
0014 #include <QDBusObjectPath>
0015 
0016 class Sms : public QObject
0017 {
0018     Q_OBJECT
0019     Q_CLASSINFO("D-Bus Interface", "org.kde.fakemodem.Sms")
0020 public:
0021     explicit Sms(QObject *parent = nullptr);
0022     ~Sms() override;
0023 
0024     Q_PROPERTY(int SmsClass READ smsClass)
0025     Q_PROPERTY(QByteArray Data READ data)
0026     Q_PROPERTY(bool DeliveryReportRequest READ deliveryReportRequest)
0027     Q_PROPERTY(uint DeliveryState READ deliveryState)
0028     Q_PROPERTY(QString DischargeTimestamp READ dischargeTimestamp)
0029     Q_PROPERTY(uint MessageReference READ messageReference)
0030     Q_PROPERTY(QString Number READ number)
0031     Q_PROPERTY(uint PduType READ pduType)
0032     Q_PROPERTY(QString SMSC READ SMSC)
0033     Q_PROPERTY(uint ServiceCategory READ serviceCategory)
0034     Q_PROPERTY(uint State READ state)
0035     Q_PROPERTY(uint Storage READ storage)
0036     Q_PROPERTY(uint TeleserviceId READ teleserviceId)
0037     Q_PROPERTY(QString Text READ text)
0038     Q_PROPERTY(QString Timestamp READ timestamp)
0039     Q_PROPERTY(ModemManager::ValidityPair Validity READ validity)
0040 
0041     int smsClass() const;
0042     QByteArray data() const;
0043     bool deliveryReportRequest() const;
0044     uint deliveryState() const;
0045     QString dischargeTimestamp() const;
0046     uint messageReference() const;
0047     QString number() const;
0048     uint pduType() const;
0049     QString SMSC() const;
0050     uint serviceCategory() const;
0051     uint state() const;
0052     uint storage() const;
0053     uint teleserviceId() const;
0054     QString text() const;
0055     QString timestamp() const;
0056     ModemManager::ValidityPair validity() const;
0057 
0058     /* Not part of dbus interface */
0059     QString smsPath() const;
0060     void setSmsPath(const QString &path);
0061     void setEnableNotifications(bool enable);
0062     void setSmsClass(int smsClass);
0063     void setData(const QByteArray &data);
0064     void setDeliveryReportRequest(bool deliveryReportRequest);
0065     void setDeliveryState(uint state);
0066     void setDischargeTimestamp(const QString &timestamp);
0067     void setMessageReference(uint messageReference);
0068     void setNumber(const QString &number);
0069     void setPduType(uint pduType);
0070     void setSMSC(const QString &smsc);
0071     void setServiceCategory(uint serviceCategory);
0072     void setState(uint state);
0073     void setStorage(uint storage);
0074     void setTeleserviceId(uint teleserviceId);
0075     void setText(const QString &text);
0076     void setTimestamp(const QString &timestamp);
0077     void setValidity(const ModemManager::ValidityPair &validity);
0078 
0079 public Q_SLOTS:
0080     Q_SCRIPTABLE void Send();
0081     Q_SCRIPTABLE void Store(uint storage);
0082 
0083 private:
0084     QString m_smsPath;
0085     bool m_enabledNotifications;
0086     int m_smsClass;
0087     QByteArray m_data;
0088     bool m_deliveryReportRequest;
0089     uint m_deliveryState;
0090     QString m_dischargeTimestamp;
0091     uint m_messageReference;
0092     QString m_number;
0093     uint m_pduType;
0094     QString m_SMSC;
0095     uint m_serviceCategory;
0096     uint m_state;
0097     uint m_storage;
0098     uint m_teleserviceId;
0099     QString m_text;
0100     QString m_timestamp;
0101     ModemManager::ValidityPair m_validity;
0102 };
0103 
0104 #endif