xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/wifi/hostapdcli.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* 依赖 hostapd_cli 处理WIFI Ap信息*/
2 #ifndef HOSTAPDCLI_H
3 #define HOSTAPDCLI_H
4 #include "processhandler.h"
5 #include <QObject>
6 
7 
8 typedef struct WIFI_INFO_AP{
9     QString ssid;
10     int signal;
11     QString rx_bytes;
12     QString tx_bytes;
13     QString connected_time;
14 
15     bool operator ==(const WIFI_INFO_AP &info)
16     {
17         return info.ssid == ssid;
18     }
clearWIFI_INFO_AP19     void clear(){
20         ssid.clear();
21     }
isEmptyWIFI_INFO_AP22     bool isEmpty(){return ssid.isEmpty();}
23 } ScanInfoAp;
24 
25 class HostapdcliPrivate;
26 class Hostapdcli: public QObject,public ProcessHandler
27 {
28     Q_OBJECT
29 public:
30     Hostapdcli(QObject *parent=nullptr);
31     ~Hostapdcli();
32 
33     //    m_hostapdcil->start_hostapd("/lib/modules/4.9.170/8821cs.ko",
34     //                                "8821cs",
35     //                                "nl80211",
36     //                                "wlan0",
37     //                                "172.16.0.50");
38     void start_hostapd(const QString & ko,
39                        const QString &ModuleName,
40                        const QString &driverName,
41                        const QString &cardName,
42                        const QString &ip);
43     void stop_hostapd();
44 
45     void setStart(bool bStart);
46 
47     void setWifiName(const QString &ssid);
48 
49     void setWifiPassword(const QString &passphrase);
50 
51     void setInterface(const QString &interface);
52 
53     void reload();
54 
55     void allsta();
56 
57 Q_SIGNALS:
58     void hospapdStartFinish();
59     void newConnected(const QString &ssid);
60     void lostConnected(const QString &ssid);
61     void newStaInfo(const QList<ScanInfoAp> &infos);
62 
63 protected:
64 
65     void processMessage(const QString &d) override;
66     friend class HostapdcliPrivate;
67 private:
68     HostapdcliPrivate *m_d;
69 };
70 
71 #endif // HOSTAPDCLI_H
72