NetworkManagerQt

devicestatistics.h
1/*
2 SPDX-FileCopyrightText: 2017 Jan Grulich <jgrulich@redhat.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef NETWORKMANAGERQT_DEVICE_STATISTICS_H
8#define NETWORKMANAGERQT_DEVICE_STATISTICS_H
9
10#include <networkmanagerqt/networkmanagerqt_export.h>
11
12#include <nm-version.h>
13
14#include <QObject>
15#include <QSharedPointer>
16
17namespace NetworkManager
18{
19class DeviceStatisticsPrivate;
20
21/**
22 * Represents device statistics interface
23 */
24class NETWORKMANAGERQT_EXPORT DeviceStatistics : public QObject
25{
27 Q_PROPERTY(uint refreshRateMs READ refreshRateMs WRITE setRefreshRateMs NOTIFY refreshRateMsChanged)
28 Q_PROPERTY(qulonglong txBytes READ txBytes NOTIFY txBytesChanged)
29 Q_PROPERTY(qulonglong rxBytes READ rxBytes NOTIFY rxBytesChanged)
30
31public:
33 typedef QList<Ptr> List;
34
35 explicit DeviceStatistics(const QString &path, QObject *parent = nullptr);
36 ~DeviceStatistics() override;
37
38 /**
39 * Refresh rate of the rest of properties of this interface. The properties are guaranteed to be refreshed
40 * each RefreshRateMs milliseconds in case the underlying counter has changed too. If zero, there is no guaranteed
41 * refresh rate of the properties.
42 */
43 uint refreshRateMs() const;
44 void setRefreshRateMs(uint refreshRate);
45 /**
46 * Number of received bytes
47 */
48 qulonglong rxBytes() const;
49 /**
50 * Number of transmitted bytes
51 */
52 qulonglong txBytes() const;
53
55 /**
56 * Emitted when the refresh rate has changed
57 */
58 void refreshRateMsChanged(uint refreshRate);
59 /**
60 * Emitted when the received bytes has changed
61 */
62 void rxBytesChanged(qulonglong rxBytes);
63 /**
64 * Emitted when the transmitted bytes has changed
65 */
66 void txBytesChanged(qulonglong txBytes);
67
68private:
69 Q_DECLARE_PRIVATE(DeviceStatistics)
70 DeviceStatisticsPrivate *const d_ptr;
71};
72
73}
74#endif
void refreshRateMsChanged(uint refreshRate)
Emitted when the refresh rate has changed.
void rxBytesChanged(qulonglong rxBytes)
Emitted when the received bytes has changed.
void txBytesChanged(qulonglong txBytes)
Emitted when the transmitted bytes has changed.
This class allows querying the underlying system to discover the available network interfaces and rea...
Definition accesspoint.h:21
QObject(QObject *parent)
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
Q_SIGNALSQ_SIGNALS
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Jan 24 2025 11:57:19 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.