1/*
2 SPDX-FileCopyrightText: 2025 Martin Rodriguez Reboredo <yakoyoku@gmail.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_WIFIP2PPEER_H
8#define NETWORKMANAGERQT_WIFIP2PPEER_H
9
10#include "accesspoint.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <nm-version.h>
14
15#include <QObject>
16#include <QSharedPointer>
17#include <QVariantMap>
18
19namespace NetworkManager
20{
21class WifiP2PPeerPrivate;
22
23/*!
24 * \class NetworkManager::WifiP2PPeer
25 * \inheaderfile NetworkManagerQt/WifiP2PPeer
26 * \inmodule NetworkManagerQt
27 *
28 * \brief Represents a wifip2p peer.
29 * \since 6.20
30 */
31class NETWORKMANAGERQT_EXPORT WifiP2PPeer : public QObject
32{
33 Q_OBJECT
34
35 /*!
36 * \property NetworkManager::WifiP2PPeer::flags
37 */
38 Q_PROPERTY(uint flags READ flags NOTIFY flagsChanged)
39
40 /*!
41 * \property NetworkManager::WifiP2PPeer::hardwareAddress
42 */
43 Q_PROPERTY(QString hardwareAddress READ hardwareAddress NOTIFY hardwareAddressChanged)
44
45 /*!
46 * \property NetworkManager::WifiP2PPeer::lastSeen
47 */
48 Q_PROPERTY(int lastSeen READ lastSeen NOTIFY lastSeenChanged)
49
50 /*!
51 * \property NetworkManager::WifiP2PPeer::manufacturer
52 */
53 Q_PROPERTY(QString manufacturer READ manufacturer NOTIFY manufacturerChanged)
54
55 /*!
56 * \property NetworkManager::WifiP2PPeer::model
57 */
58 Q_PROPERTY(QString model READ model NOTIFY modelChanged)
59
60 /*!
61 * \property NetworkManager::WifiP2PPeer::modelNumber
62 */
63 Q_PROPERTY(QString modelNumber READ modelNumber NOTIFY modelNumberChanged)
64
65 /*!
66 * \property NetworkManager::WifiP2PPeer::name
67 */
68 Q_PROPERTY(QString name READ name NOTIFY nameChanged)
69
70 /*!
71 * \property NetworkManager::WifiP2PPeer::serial
72 */
73 Q_PROPERTY(QString serial READ serial NOTIFY serialChanged)
74
75 /*!
76 * \property NetworkManager::WifiP2PPeer::strength
77 */
78 Q_PROPERTY(uchar strength READ strength NOTIFY strengthChanged)
79
80 /*!
81 * \property NetworkManager::WifiP2PPeer::wfdIEs
82 */
83 Q_PROPERTY(QByteArray wfdIEs READ wfdIEs NOTIFY wfdIEsChanged)
84
85public:
86 /*!
87 * \typedef NetworkManager::WifiP2PPeer::Ptr
88 */
89 using Ptr = QSharedPointer<WifiP2PPeer>;
90
91 /*!
92 *
93 */
94 explicit WifiP2PPeer(const QString &path, QObject *parent = nullptr);
95 ~WifiP2PPeer() override;
96
97 uint flags() const;
98
99 QString hardwareAddress() const;
100
101 int lastSeen() const;
102
103 QString manufacturer() const;
104
105 QString model() const;
106
107 QString modelNumber() const;
108
109 QString name() const;
110
111 QString serial() const;
112
113 uchar strength() const;
114
115 QByteArray wfdIEs() const;
116
117Q_SIGNALS:
118 void flagsChanged(uint flags);
119
120 void hardwareAddressChanged(const QString &hardwareAddress);
121
122 void lastSeenChanged(int lastSeen);
123
124 void manufacturerChanged(const QString &manufacturer);
125
126 void modelChanged(const QString &model);
127
128 void modelNumberChanged(const QString &modelNumber);
129
130 void nameChanged(const QString &name);
131
132 void serialChanged(const QString &serial);
133
134 void strengthChanged(uchar strength);
135
136 void wfdIEsChanged(const QByteArray &wfdIEs);
137
138private:
139 Q_DECLARE_PRIVATE(WifiP2PPeer)
140
141 std::unique_ptr<WifiP2PPeerPrivate> d_ptr;
142};
143
144}
145
146#endif /* NETWORKMANAGERQT_WIFIP2PPEER_H */
147

source code of networkmanager-qt/src/wifip2ppeer.h