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