xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/wifi/wifiwidget.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifndef WIFIWIDGET_H
2 #define WIFIWIDGET_H
3 
4 #include <QWidget>
5 #include "iwidget.h"
6 #include "iplugin.h"
7 #include "serverhandler.h"
8 #include "wifiview.h"
9 namespace Ui {
10 class WIFIWidget;
11 }
12 
13 class Hostapdcli;
14 class QLabel;
15 class Wpaclicmd;
16 class  WIFIWidget : public IWidget
17 {
18     Q_OBJECT
19     Q_PLUGIN_METADATA(IID PLUGIN_INTERFACE_iid FILE "wifi.json")
20 
21 
22 public:
23     struct WIFIMODE{
24         QString cardName;  //wlan0
25         QString driverName; //nl80211
26         QString moduleName; //8821cs
27         QString ko;//lib/modules/4.9.170/8821cs.koFile.
28         QString ip;
29     };
30     explicit WIFIWidget(QWidget *parent = 0);
31     ~WIFIWidget();
32 
33     virtual QString id()override;
34     virtual void loadData(const QDomElement &head, const QDomElement &body)override;
35     virtual void initUi()override;
36 
37     void createAP();
38     void createSTA();
39 
40     void setListenLoad(bool bListen);
41 
42     virtual void processMessage(const QString &info)override;
43 
44 private slots:
45     void on_connect_clicked();
46 
47     void on_pingBtn_clicked();
48 
49     void on_returnBtn_clicked();
50 
51     void on_openTestBtn_clicked();
52 
53 protected:
54     Ui::WIFIWidget *ui;
55 
56     QString  m_Name;
57     QString m_wifiName;
58     QString m_connBssid;
59     WIFIMODE m_staConfig;
60     WifiModel *m_wpaModel;
61     Wpaclicmd *m_wpaCli;
62 
63     WIFIMODE m_apConfig;
64     WifiModel *m_hostModel;
65     Hostapdcli *m_hostapdcil;
66 
67     QLabel *m_loadLbl;
68     QTimer *m_loadTimer;
69 };
70 
71 #endif // M4GWIDGET_H
72