File indexing completed on 2024-04-21 04:44:13
0001 /* 0002 SPDX-FileCopyrightText: 2015 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef UPNPDISCOVERYRESULT_H 0008 #define UPNPDISCOVERYRESULT_H 0009 0010 #include "upnplibqt_export.h" 0011 0012 #include "upnpssdpengine.h" 0013 0014 #include <QDateTime> 0015 #include <QString> 0016 #include <QTimer> 0017 0018 #include <memory> 0019 0020 class UpnpDiscoveryResultPrivate; 0021 class QDebug; 0022 0023 /** 0024 * @brief The UpnpDiscoveryResult class contains the result of the discovery of device or service via the SSDP protocol 0025 */ 0026 class UPNPLIBQT_EXPORT UpnpDiscoveryResult 0027 { 0028 0029 public: 0030 UpnpDiscoveryResult(); 0031 0032 UpnpDiscoveryResult(QString aNT, QString aUSN, QString aLocation, 0033 UpnpSsdpEngine::NotificationSubType aNTS, QString aAnnounceDate, 0034 int aCacheDuration); 0035 0036 UpnpDiscoveryResult(const UpnpDiscoveryResult &other); 0037 0038 UpnpDiscoveryResult(UpnpDiscoveryResult &&other) noexcept; 0039 0040 ~UpnpDiscoveryResult(); 0041 0042 UpnpDiscoveryResult &operator=(const UpnpDiscoveryResult &other); 0043 0044 UpnpDiscoveryResult &operator=(UpnpDiscoveryResult &&other) noexcept; 0045 0046 void setNT(const QString &value); 0047 0048 [[nodiscard]] const QString &nt() const; 0049 0050 void setUSN(const QString &value); 0051 0052 [[nodiscard]] const QString &usn() const; 0053 0054 void setLocation(const QString &value); 0055 0056 [[nodiscard]] const QString &location() const; 0057 0058 void setNTS(UpnpSsdpEngine::NotificationSubType value); 0059 0060 [[nodiscard]] UpnpSsdpEngine::NotificationSubType nts() const; 0061 0062 void setAnnounceDate(const QString &value); 0063 0064 [[nodiscard]] const QString &announceDate() const; 0065 0066 void setCacheDuration(int value); 0067 0068 [[nodiscard]] int cacheDuration() const; 0069 0070 void setValidityTimestamp(const QDateTime &value); 0071 0072 [[nodiscard]] QDateTime validityTimestamp() const; 0073 0074 private: 0075 std::unique_ptr<UpnpDiscoveryResultPrivate> d; 0076 }; 0077 0078 UPNPLIBQT_EXPORT QDebug operator<<(QDebug stream, const UpnpDiscoveryResult &data); 0079 0080 Q_DECLARE_TYPEINFO(UpnpDiscoveryResult, Q_MOVABLE_TYPE); 0081 0082 Q_DECLARE_METATYPE(UpnpDiscoveryResult) 0083 0084 #endif // UPNPDISCOVERYRESULT_H