DtkNetworkManager
NetworkManager DBus interface binding for Qt
dwirelessdevice.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 -2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DWIRELESSDEVICE_H
6#define DWIRELESSDEVICE_H
7
8#include "ddevice.h"
9#include <QFlags>
10#include <DExpected>
11
12DNETWORKMANAGER_BEGIN_NAMESPACE
13
14using DCORE_NAMESPACE::DExpected;
15
16class DWirelessDevicePrivate;
17
19{
20 Q_OBJECT
21 Q_PROPERTY(QList<quint64> accessPoints READ accessPoints NOTIFY accessPointsChanged)
22 Q_PROPERTY(QByteArray HwAddress READ HwAddress NOTIFY HwAddressChanged)
23 Q_PROPERTY(QByteArray permHwAddress READ permHwAddress NOTIFY permHwAddressChanged)
24 Q_PROPERTY(NM80211Mode mode READ mode NOTIFY modeChanged)
25 Q_PROPERTY(quint32 bitrate READ bitrate NOTIFY bitrateChanged)
26 Q_PROPERTY(quint64 activeAccessPoint READ activeAccessPoint NOTIFY activeAccessPointChanged)
27 Q_PROPERTY(NMWifiCap wirelessCapabilities READ wirelessCapabilities NOTIFY wirelessCapabilitiesChanged)
28 Q_PROPERTY(qint64 lastScan READ lastScan NOTIFY lastScanChanged)
29public:
30 Q_DECLARE_FLAGS(NMWifiCap, NMDeviceWiFiCapabilities);
31
32 explicit DWirelessDevice(const quint64 id, QObject *parent = nullptr);
33 ~DWirelessDevice() override = default;
34
35 QList<quint64> accessPoints() const;
36 QByteArray HwAddress() const;
37 QByteArray permHwAddress() const;
39 quint32 bitrate() const;
40 quint64 activeAccessPoint() const;
41 NMWifiCap wirelessCapabilities() const;
42 qint64 lastScan() const;
43
44public Q_SLOTS:
45 DExpected<void> requestScan(const Config &options = {}) const;
46 DExpected<QList<quint64>> getAllAccessPoints() const;
47
48Q_SIGNALS:
49 void accessPointsChanged(const QList<quint64> &aps);
50 void HwAddressChanged(const QByteArray &address);
51 void permHwAddressChanged(const QByteArray &address);
52 void modeChanged(const NM80211Mode mode);
53 void bitrateChanged(const quint32 bitrate);
54 void activeAccessPointChanged(const quint64 &path);
55 void wirelessCapabilitiesChanged(const NMWifiCap wirelessCapabilities);
56 void lastScanChanged(const qint64 time);
57
58 void AccessPointAdded(const quint64 &ap);
59 void AccessPointRemoved(const quint64 &ap);
60
61private:
62 Q_DECLARE_PRIVATE(DWirelessDevice)
63};
64
65Q_DECLARE_OPERATORS_FOR_FLAGS(DWirelessDevice::NMWifiCap)
66
67DNETWORKMANAGER_END_NAMESPACE
68
69#endif
对于所有设备都有的属性和方法的封装
Definition: ddevice.h:18
对于Wireless设备属性的封装
Definition: dwirelessdevice.h:19
void HwAddressChanged(const QByteArray &address)
信号, 当HwAddress属性发生改变时触发
void modeChanged(const NM80211Mode mode)
信号, 当mode属性改变时触发
NMWifiCap wirelessCapabilities() const
获取无线设备的功能
NM80211Mode mode() const
获取该设备的操作模式
void activeAccessPointChanged(const quint64 &path)
信号, 当activeAccessPoint属性改变时触发
void permHwAddressChanged(const QByteArray &address)
信号. 当permHwAddress属性发生变化时触发
quint64 activeAccessPoint() const
获取该设备上激活的ap接入点
void accessPointsChanged(const QList< quint64 > &aps)
信号, 当accessPoints属性改变时触发
QByteArray HwAddress() const
获取设备的活动硬件地址
void AccessPointRemoved(const quint64 &ap)
信号, 当有接入点被移除时触发
quint32 bitrate() const
获取当前设备的速率, 单位是KB/s
void wirelessCapabilitiesChanged(const NMWifiCap wirelessCapabilities)
信号, 当wirelessCapabilities属性改变时触发
void bitrateChanged(const quint32 bitrate)
信号, 当bitrate属性改变时触发
void AccessPointAdded(const quint64 &ap)
信号, 当有接入点加入时触发
QList< quint64 > accessPoints() const
获取设备上的接入点
QByteArray permHwAddress() const
获取设备的永久硬件地址 @retunrn 永久硬件地址
NM80211Mode
指示接入点或设备当前所处的802.11模式
Definition: dnetworkmanagertypes.h:214
NMDeviceWiFiCapabilities
802.11 特定的设备加密和身份验证功能
Definition: dnetworkmanagertypes.h:216