2017-10-06 15:55:46 +02:00
|
|
|
#ifndef QZEROCONFSERVICE_H
|
|
|
|
#define QZEROCONFSERVICE_H
|
|
|
|
|
|
|
|
#include <QHostAddress>
|
2019-03-05 21:19:32 -05:00
|
|
|
#include <QMutexLocker>
|
|
|
|
#include <QSharedPointer>
|
2017-10-31 20:30:42 -04:00
|
|
|
#include "qzeroconfglobal.h"
|
2017-10-06 15:55:46 +02:00
|
|
|
|
2017-11-05 13:00:19 -05:00
|
|
|
class QZeroConfPrivate;
|
2017-10-06 15:55:46 +02:00
|
|
|
|
2019-03-05 21:19:32 -05:00
|
|
|
class Q_ZEROCONF_EXPORT QZeroConfServiceData
|
2017-10-06 15:55:46 +02:00
|
|
|
{
|
2017-10-31 20:07:07 -04:00
|
|
|
Q_GADGET
|
|
|
|
Q_PROPERTY( QString name READ name )
|
|
|
|
Q_PROPERTY( QString type READ type )
|
|
|
|
Q_PROPERTY( QString domain READ domain )
|
|
|
|
Q_PROPERTY( QString host READ host )
|
2017-10-17 18:46:23 +02:00
|
|
|
|
2017-11-05 13:00:19 -05:00
|
|
|
friend class QZeroConfPrivate;
|
|
|
|
|
2017-10-06 15:55:46 +02:00
|
|
|
public:
|
2019-03-05 21:19:32 -05:00
|
|
|
inline QString name() const {return m_name;}
|
|
|
|
inline QString type() const {return m_type;}
|
|
|
|
inline QString domain() const {return m_domain;}
|
|
|
|
inline QString host() const {return m_host;}
|
|
|
|
QHostAddress ip()
|
|
|
|
{
|
|
|
|
QMutexLocker locker(&m_lock);
|
|
|
|
return m_ip;
|
|
|
|
}
|
|
|
|
inline quint32 interfaceIndex() const {return m_interfaceIndex;}
|
|
|
|
quint16 port() const {return m_port;}
|
|
|
|
QMap <QByteArray, QByteArray> txt() const {return m_txt;}
|
2017-10-06 15:55:46 +02:00
|
|
|
|
|
|
|
private:
|
2019-03-05 21:19:32 -05:00
|
|
|
void setIp(QHostAddress &ip)
|
|
|
|
{
|
|
|
|
QMutexLocker locker(&m_lock);
|
|
|
|
m_ip = ip;
|
|
|
|
}
|
|
|
|
QString m_name;
|
|
|
|
QString m_type;
|
|
|
|
QString m_domain;
|
|
|
|
QString m_host;
|
|
|
|
QHostAddress m_ip;
|
|
|
|
quint32 m_interfaceIndex;
|
|
|
|
quint16 m_port;
|
|
|
|
QMap <QByteArray, QByteArray> m_txt;
|
|
|
|
QMutex m_lock;
|
2017-10-06 15:55:46 +02:00
|
|
|
};
|
|
|
|
|
2019-03-05 21:19:32 -05:00
|
|
|
typedef QSharedPointer<QZeroConfServiceData> QZeroConfService;
|
2017-11-02 14:12:21 -04:00
|
|
|
|
2017-10-17 18:46:23 +02:00
|
|
|
Q_DECLARE_METATYPE(QZeroConfService)
|
|
|
|
|
2020-09-11 09:35:25 +02:00
|
|
|
QDebug Q_ZEROCONF_EXPORT operator<<(QDebug debug, const QZeroConfService &service);
|
2019-03-05 21:19:32 -05:00
|
|
|
|
2017-10-06 15:55:46 +02:00
|
|
|
#endif // QZEROCONFSERVICE_H
|