xref: /OK3568_Linux_fs/app/qsetting/qtwifi.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef QTWIFI_H
2*4882a593Smuzhiyun #define QTWIFI_H
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #include <QDebug>
5*4882a593Smuzhiyun #include <QInputDialog>
6*4882a593Smuzhiyun #include <QLabel>
7*4882a593Smuzhiyun #include <QListWidget>
8*4882a593Smuzhiyun #include <QProcess>
9*4882a593Smuzhiyun #include <QThread>
10*4882a593Smuzhiyun #include <QTimer>
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun extern "C" {
13*4882a593Smuzhiyun #include "Rk_wifi.h"
14*4882a593Smuzhiyun #include "Rk_softap.h"
15*4882a593Smuzhiyun }
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun class qtWifi : public QListWidget
18*4882a593Smuzhiyun {
19*4882a593Smuzhiyun     Q_OBJECT
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun public:
22*4882a593Smuzhiyun     qtWifi(QWidget *parent = nullptr, QLabel *label = nullptr, QPushButton *btn = nullptr, bool on = false);
23*4882a593Smuzhiyun     ~qtWifi();
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun     static qtWifi* getInstance(QWidget *parent, QLabel *label, QPushButton *btn,  bool on = false)
26*4882a593Smuzhiyun     {
27*4882a593Smuzhiyun         if (!_instance) {
28*4882a593Smuzhiyun             _instance = new qtWifi(parent, label, btn, on);
29*4882a593Smuzhiyun         }
30*4882a593Smuzhiyun         return _instance;
31*4882a593Smuzhiyun     }
32*4882a593Smuzhiyun 
getInstance(void)33*4882a593Smuzhiyun     static qtWifi* getInstance(void)
34*4882a593Smuzhiyun     {
35*4882a593Smuzhiyun         return _instance;
36*4882a593Smuzhiyun     }
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun     bool isOn();
39*4882a593Smuzhiyun     void turnOn();
40*4882a593Smuzhiyun     void turnOff();
41*4882a593Smuzhiyun private:
42*4882a593Smuzhiyun     static int wifi_callback(RK_WIFI_RUNNING_State_e state,
43*4882a593Smuzhiyun                              RK_WIFI_INFO_Connection_s *info);
44*4882a593Smuzhiyun     static qtWifi* _instance;
45*4882a593Smuzhiyun     QLabel *text;
46*4882a593Smuzhiyun     QPushButton *switchBtn;
47*4882a593Smuzhiyun     QTimer *Timer;
48*4882a593Smuzhiyun     QString ssid;
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun public slots:
51*4882a593Smuzhiyun     void on_btnClicked();
52*4882a593Smuzhiyun     void on_itemClicked(QListWidgetItem *item);
53*4882a593Smuzhiyun     void on_timer_timeout();
54*4882a593Smuzhiyun };
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun #endif /* QTWIFI_H */
57