QWlanManager
Loading...
Searching...
No Matches
network.h
1#ifndef QWLANMAN_DATAS_NETWORK_H
2#define QWLANMAN_DATAS_NETWORK_H
3
4#include "qwlanmanager/qwlanman_global.h"
5#include "qwlanmanager/qwlantypes.h"
6
7#include <QDebug>
8#include <QHash>
9#include <QObject>
10#include <QSharedPointer>
11#include <QString>
12
13/*****************************/
14/* Namespace instructions */
15/*****************************/
16namespace qwm
17{
18
19/*****************************/
20/* Class definitions */
21/*****************************/
22
23class NetworkData;
24class QWLANMAN_EXPORT Network
25{
26 Q_GADGET
27
28 Q_PROPERTY(QString ssid READ getSsid)
29 Q_PROPERTY(QString profile READ getProfileName)
30 Q_PROPERTY(AuthAlgo authAlgo READ getAuthAlgo)
31 Q_PROPERTY(CipherAlgo cipherAlgo READ getCipherAlgo)
32 Q_PROPERTY(uint signalQuality READ getSignalQuality)
33
34 friend class NetworkMutator;
35
36public:
37 Network();
38
39 Network(const Network &other);
40 Network(Network &&other);
41
42 ~Network();
43
44public:
45 bool isValid() const;
46
47 const QString& getSsid() const;
48 const QString& getProfileName() const;
49 AuthAlgo getAuthAlgo() const;
50 CipherAlgo getCipherAlgo() const;
51 uint getSignalQuality() const;
52
53public:
54 Network& operator=(const Network &other);
55 Network& operator=(Network &&other);
56
57public:
58 bool operator==(const Network &other) const;
59 bool operator!=(const Network &other) const;
60
61private:
62 QSharedPointer<NetworkData> d_ptr;
63};
64
65/*****************************/
66/* Qt specific methods */
67/*****************************/
68
69QWLANMAN_EXPORT QDebug operator<<(QDebug debug, const Network &net);
70
71/*****************************/
72/* Alias for related types */
73/*****************************/
74
75using ListNetworks = QList<Network>;
76using MapNetworks = QHash<QString, Network>;
78/*****************************/
79/* End namespaces */
80/*****************************/
81
82} // namespace qwm
83
84/*****************************/
85/* Qt specific meta-system */
86/*****************************/
87
88Q_DECLARE_METATYPE(qwm::Network)
89
90#endif // QWLANMAN_DATAS_NETWORK_H
Class containing network properties.
Definition network.h:25
Namespace used for QWlanManager library.
Definition cachepolicy.h:13
QHash< QString, Network > MapNetworks
Definition network.h:76
CipherAlgo
Enumeration of supported wireless encryption (cipher) algorithms.
Definition qwlantypes.h:199
AuthAlgo
Enumeration of supported wireless authentication algorithms.
Definition qwlantypes.h:170