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_WIFIP2P_SETTING_H
8#define NETWORKMANAGERQT_WIFIP2P_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QSharedPointer>
14#include <QStringList>
15
16namespace NetworkManager
17{
18class WifiP2PSettingPrivate;
19
20/*!
21 * \class NetworkManager::WifiP2PSetting
22 * \inheaderfile NetworkManagerQt/WifiP2PSetting
23 * \inmodule NetworkManagerQt
24 *
25 * \brief Represents wifip2p setting.
26 * \since 6.20
27 */
28class NETWORKMANAGERQT_EXPORT WifiP2PSetting : public Setting
29{
30public:
31 Q_PROPERTY(name READ name)
32
33 Q_PROPERTY(peer READ peer WRITE setPeer NOTIFY peerChanged)
34
35 Q_PROPERTY(wfdIEs READ wfdIEs WRITE setWfdIES NOTIFY wfdIEsChanged)
36
37 /*!
38 * \typedef NetworkManager::WifiP2PSetting::Ptr
39 */
40 using Ptr = QSharedPointer<WifiP2PSetting>;
41 /*!
42 * \typedef NetworkManager::WifiP2PSetting::List
43 */
44 using List = QList<Ptr>;
45
46 /*!
47 */
48 WifiP2PSetting();
49 /*!
50 */
51 explicit WifiP2PSetting(const Ptr &setting);
52 ~WifiP2PSetting() override;
53
54 QString name() const override;
55
56 QString peer() const;
57 void setPeer(const QString &peer);
58
59 QByteArray wfdIEs() const;
60 void setWfdIEs(const QByteArray &wfdIEs);
61
62 void fromMap(const QVariantMap &setting) override;
63
64 QVariantMap toMap() const override;
65
66Q_SIGNALS:
67 void peerChanged(const QString &peer);
68 void wfdIEsChanged(const QByteArray &wfdIEs);
69
70protected:
71 std::unique_ptr<WifiP2PSettingPrivate> d_ptr;
72
73private:
74 Q_DECLARE_PRIVATE(WifiP2PSetting)
75};
76
77NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const WifiP2PSetting &setting);
78
79}
80
81#endif // NETWORKMANAGERQT_WIFIP2P_SETTING_H
82

source code of networkmanager-qt/src/settings/wifip2psetting.h