#ifndef IPPDISCOVERY_H #define IPPDISCOVERY_H #include #include #include #include #include #include #include #include #include "bytestream.h" class IppDiscovery : public QStringListModel, public QQuickImageProvider { Q_OBJECT public: static IppDiscovery* instance(); Q_PROPERTY(QStringList favourites MEMBER _favourites NOTIFY favouritesChanged) Q_INVOKABLE void discover(); Q_INVOKABLE void reset(); signals: void favouritesChanged(); public slots: void readPendingDatagrams(); void update(); void ignoreKnownSslErrors(QNetworkReply *reply, const QList &errors); protected: private: static IppDiscovery* m_Instance; IppDiscovery(); ~IppDiscovery(); IppDiscovery(const IppDiscovery &); IppDiscovery& operator=(const IppDiscovery &); void sendQuery(quint16 qtype, QStringList addr); QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override; QStringList _ipp; QMap _rps; QMap _ports; QMap _targets; QMultiMap _AAs; QMultiMap _AAAAs; QStringList _favourites; QUdpSocket* socket; }; #endif // IPPDISCOVERY_H