#ifndef MDNSPROVIDER_H #define MDNSPROVIDER_H #include #include #include #include // Qt includes #include #include // Utility includes #include class MdnsProvider : public QObject { public: MdnsProvider(QObject* parent = nullptr); ~MdnsProvider() override; QList getServiceTypesProvided() const { return _providedServiceTypes.keys(); } public slots: /// /// @brief Init MdnsProvider after thread start /// void init(); void publishService (const QString& serviceType, quint16 servicePort, const QByteArray& serviceName = ""); private slots: void onHostnameChanged(const QByteArray& hostname); private: /// The logger instance for mDNS-Service Logger* _log; QMdnsEngine::Server* _server; QMdnsEngine::Hostname* _hostname; /// map of services provided QMap _providedServiceTypes; }; #endif // MDNSPROVIDER_H