/usr/include/KF5/ModemManagerQt/sms.h is in modemmanager-qt-dev 5.44.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | /*
Copyright 2013 Anant Kamath <kamathanant@gmail.com>
Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
Copyright 2013-2015 Jan Grulich <jgrulich@redhat.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
successor approved by the membership of KDE e.V.), which shall
act as a proxy defined in Section 6 of version 3 of the license.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MODEMMANAGERQT_SMS_H
#define MODEMMANAGERQT_SMS_H
#include <modemmanagerqt_export.h>
#include <QObject>
#include <QSharedPointer>
#include <QDBusPendingReply>
#include "generictypes.h"
namespace ModemManager
{
class SmsPrivate;
/**
* Provides an interface to manipulate and control an SMS
*
* Note: MMSmsStorage, MMSmsState, MMSmsPduType and MMSmsDeliveryState enums are defined in <ModemManager/ModemManager-enums.h>
* See http://www.freedesktop.org/software/ModemManager/api/1.0.0/ModemManager-Flags-and-Enumerations.html
*/
class MODEMMANAGERQT_EXPORT Sms : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(Sms)
public:
typedef QSharedPointer<Sms> Ptr;
typedef QList<Ptr> List;
explicit Sms(const QString &path, QObject *parent = nullptr);
~Sms();
QString uni() const;
/**
* Send the SMS
*/
QDBusPendingReply<> send();
/**
* Store the SMS
*
* @param storage the storage location of the SMS (empty for default storage)
*/
QDBusPendingReply<> store(MMSmsStorage storage = MM_SMS_STORAGE_UNKNOWN);
/**
* This method returns the state of the SMS
*/
MMSmsState state() const;
/**
* This method returns the Protocol Data Unit (PDU) type of the SMS
*/
MMSmsPduType pduType() const;
/**
* This method returns the phone number to which the SMS is addressed to
*/
QString number() const;
/**
* This method returns the text of the SMS. text() and data() are not valid at the same time
*/
QString text() const;
/**
* This method returns the SMS service center number
*/
QString SMSC() const;
/**
* This method returns the SMS message data. text() and data() are not valid at the same time
*/
QByteArray data() const;
/**
* This method returns the validity of the SMS
*
* @return A ValidityPair struct composed of a MMSmsValidityType type and a value indicating the validity of the SMS
*/
ValidityPair validity() const;
/**
* This method returns the 3GPP class of the SMS
*/
int smsClass() const;
/**
* @return @c true if a delivery report is requested, @c false otherwise
*/
bool deliveryReportRequest() const;
/**
* This method returns the message reference of the last PDU sent/received in the SMS.
* The message reference is the number used to identify the SMS in the SMSC.
* If the PDU type is MM_SMS_PDU_TYPE_STATUS_REPORT, this field identifies the Message Reference of the PDU associated to the status report
*/
uint messageReference() const;
/**
* Time when the SMS arrived at the SMSC
*/
QDateTime timestamp() const;
/**
* Time when the SMS left the SMSC
*/
QDateTime dischargeTimestamp() const;
/**
* This method returns the delivery state of the SMS
*/
MMSmsDeliveryState deliveryState() const;
/**
* This method returns the storage area/location of the SMS
*/
MMSmsStorage storage() const;
#if MM_CHECK_VERSION(1, 2, 0)
/**
* @return service category for CDMA SMS, as defined in 3GPP2 C.R1001-D (section 9.3).
* @since 1.1.91
*/
MMSmsCdmaServiceCategory serviceCategory() const;
/**
* @return teleservice IDs supported for CDMA SMS, as defined in 3GPP2 X.S0004-550-E
* (section 2.256) and 3GPP2 C.S0015-B (section 3.4.3.1)
* @since 1.1.91
*/
MMSmsCdmaTeleserviceId teleserviceId() const;
#endif
Q_SIGNALS:
/**
* This signal is emitted when the state of the SMS has changed
*
* @param newState the new state of the SMS
*/
void stateChanged(MMSmsState newState);
void pduTypeChanged(MMSmsPduType pduType);
void numberChanged(const QString &number);
void SMSCChanged(const QString &smsc);
void dataChanged(const QByteArray &data);
void textChanged(const QString &text);
void validityChanged(const ModemManager::ValidityPair &validity);
void smsClassChanged(int smsClass);
void deliveryReportRequestChanged(bool deliveryReportRequest);
void messageReferenceChanged(uint messageReference);
void timestampChanged(const QDateTime ×tamp);
void dischargeTimestampChanged(const QDateTime &dischargeTimestamp);
/**
* This signal is emitted when the delivery state of the SMS has changed
*
* @param newDeliveryState the new delivery state of the SMS
*/
void deliveryStateChanged(MMSmsDeliveryState newDeliveryState);
void storageChanged(MMSmsStorage storage);
void serviceCategoryChanged(MMSmsCdmaServiceCategory serviceCategory);
void teleserviceIdChanged(MMSmsCdmaTeleserviceId teleserviceId);
private:
SmsPrivate *const d_ptr;
};
} // namespace ModemManager
#endif
|