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