--- /dev/null
+#ifndef DISCOVERYITEM_H_
+#define DISCOVERYITEM_H_
+
+#include <QQuickItem>
+#include "discovery.h"
+
+class DiscoveryItem: public QQuickItem
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool active READ is_active WRITE set_active NOTIFY active_changed)
+ Q_PROPERTY(QString serverName READ get_server_name NOTIFY server_name_changed)
+
+private:
+ Discovery discovery;
+ bool active;
+ QHostAddress server_addr;
+
+public:
+ DiscoveryItem();
+
+ void set_active(bool);
+ bool is_active() const { return active; }
+ QString get_server_name() const { return server_addr.toString(); }
+
+signals:
+ void server_name_changed();
+ void active_changed();
+
+private slots:
+ void server_discovered(const QHostAddress &);
+};
+
+#endif