Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
NetworkMonitor.h
Go to the documentation of this file.
1
/*
2
* Deskflow -- mouse and keyboard sharing utility
3
* SPDX-FileCopyrightText: (C) 2025 - 2026 Deskflow Developers
4
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5
*/
6
7
#pragma once
8
9
#include <QHostAddress>
10
#include <QList>
11
#include <QObject>
12
13
class
QTimer;
14
namespace
deskflow::gui
{
15
22
class
NetworkMonitor
:
public
QObject
23
{
24
Q_OBJECT
25
26
public
:
31
explicit
NetworkMonitor
(QObject *parent =
nullptr
);
32
36
~NetworkMonitor
()
override
=
default
;
37
42
void
startMonitoring
(
int
intervalMs = 3000);
43
47
void
stopMonitoring
();
48
53
static
QStringList
validAddresses
();
54
60
static
bool
isVirtualInterface
(
const
QString &interfaceName);
61
62
Q_SIGNALS:
67
void
ipAddressesChanged
(
const
QStringList &addresses);
68
69
private
:
70
void
setIpAddresses(
const
QStringList &newAddresses);
71
75
void
updateNetworkState();
76
77
QTimer *m_checkTimer;
78
QStringList m_lastAddresses;
79
bool
m_isMonitoring =
false
;
80
};
81
82
}
// namespace deskflow::gui
deskflow::gui::NetworkMonitor::~NetworkMonitor
~NetworkMonitor() override=default
Destroy the NetworkMonitor object.
deskflow::gui::NetworkMonitor::isVirtualInterface
static bool isVirtualInterface(const QString &interfaceName)
Check if a network interface is virtual.
Definition
NetworkMonitor.cpp:18
deskflow::gui::NetworkMonitor::stopMonitoring
void stopMonitoring()
Stop network monitoring.
Definition
NetworkMonitor.cpp:45
deskflow::gui::NetworkMonitor::startMonitoring
void startMonitoring(int intervalMs=3000)
Start network monitoring.
Definition
NetworkMonitor.cpp:33
deskflow::gui::NetworkMonitor::validAddresses
static QStringList validAddresses()
Get list of all available IP addresses (excluding local and link-local addresses).
Definition
NetworkMonitor.cpp:55
deskflow::gui::NetworkMonitor::NetworkMonitor
NetworkMonitor(QObject *parent=nullptr)
Construct a new NetworkMonitor object.
Definition
NetworkMonitor.cpp:28
deskflow::gui::NetworkMonitor::ipAddressesChanged
void ipAddressesChanged(const QStringList &addresses)
Emitted when IP addresses change.
deskflow::gui
Definition
CoreProcess.cpp:30
src
lib
gui
core
NetworkMonitor.h
Generated by
1.18.0