-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathknxserverdiscovery.h
58 lines (46 loc) · 1.76 KB
/
knxserverdiscovery.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright 2013 - 2020, nymea GmbH
* Contact: [email protected]
*
* This file is part of nymea.
*
* GNU Lesser General Public License Usage
* This project may be redistributed and/or modified under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; version 3. This project is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this project. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef KNXSERVERDISCOVERY_H
#define KNXSERVERDISCOVERY_H
#include <QObject>
#include <QHostAddress>
#include <QKnxNetIpServerDiscoveryAgent>
#include <QKnxNetIpServerDescriptionAgent>
class KnxServerDiscovery : public QObject
{
Q_OBJECT
public:
explicit KnxServerDiscovery(QObject *parent = nullptr);
QList<QKnxNetIpServerInfo> discoveredServers() const;
static QString serviceFamilyToString(QKnx::NetIp::ServiceFamily id);
static void printServerInfo(const QKnxNetIpServerInfo &serverInfo);
private:
int m_discoveryTimeout = 5000;
QList<QKnxNetIpServerDiscoveryAgent *> m_runningDiscoveryAgents;
QList<QKnxNetIpServerInfo> m_discoveredServers;
signals:
void discoveryFinished();
private slots:
void onDiscoveryAgentErrorOccured(QKnxNetIpServerDiscoveryAgent::Error error);
void onDiscoveryAgentFinished();
public slots:
bool startDisovery();
};
#endif // KNXSERVERDISCOVERY_H