33634acca8fd06071e0ce6be303f433aacc2f5f3
[mech_eap.git] / wpa_supplicant / wpa_gui-qt4 / wpagui.h
1 /*
2  * wpa_gui - WpaGui class
3  * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8
9 #ifndef WPAGUI_H
10 #define WPAGUI_H
11
12 #include <QSystemTrayIcon>
13 #include <QObject>
14 #include "ui_wpagui.h"
15 #include "addinterface.h"
16
17 class UserDataRequest;
18
19
20 class WpaGui : public QMainWindow, public Ui::WpaGui
21 {
22         Q_OBJECT
23
24 public:
25         WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0,
26                Qt::WFlags fl = 0);
27         ~WpaGui();
28
29         virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen);
30         virtual void triggerUpdate();
31         virtual void editNetwork(const QString &sel);
32         virtual void removeNetwork(const QString &sel);
33         virtual void enableNetwork(const QString &sel);
34         virtual void disableNetwork(const QString &sel);
35         virtual int getNetworkDisabled(const QString &sel);
36         void setBssFromScan(const QString &bssid);
37 #ifndef QT_NO_SESSIONMANAGER
38         void saveState();
39 #endif
40
41 public slots:
42         virtual void parse_argv();
43         virtual void updateStatus();
44         virtual void updateNetworks();
45         virtual void helpIndex();
46         virtual void helpContents();
47         virtual void helpAbout();
48         virtual void disconnect();
49         virtual void scan();
50         virtual void eventHistory();
51         virtual void ping();
52         virtual void processMsg(char *msg);
53         virtual void processCtrlReq(const char *req);
54         virtual void receiveMsgs();
55         virtual void connectB();
56         virtual void selectNetwork(const QString &sel);
57         virtual void editSelectedNetwork();
58         virtual void editListedNetwork();
59         virtual void removeSelectedNetwork();
60         virtual void removeListedNetwork();
61         virtual void addNetwork();
62         virtual void enableAllNetworks();
63         virtual void disableAllNetworks();
64         virtual void removeAllNetworks();
65         virtual void saveConfig();
66         virtual void selectAdapter(const QString &sel);
67         virtual void updateNetworkDisabledStatus();
68         virtual void enableListedNetwork(bool);
69         virtual void disableListedNetwork(bool);
70         virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
71                                      int sec, const QString &msg);
72         virtual void showTrayStatus();
73         virtual void updateTrayToolTip(const QString &msg);
74         virtual void wpsDialog();
75         virtual void peersDialog();
76         virtual void tabChanged(int index);
77         virtual void wpsPbc();
78         virtual void wpsGeneratePin();
79         virtual void wpsApPinChanged(const QString &text);
80         virtual void wpsApPin();
81 #ifdef CONFIG_NATIVE_WINDOWS
82         virtual void startService();
83         virtual void stopService();
84 #endif /* CONFIG_NATIVE_WINDOWS */
85         virtual void addInterface();
86
87 protected slots:
88         virtual void languageChange();
89         virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
90         virtual void closeEvent(QCloseEvent *event);
91
92 private:
93         ScanResults *scanres;
94         Peers *peers;
95         bool networkMayHaveChanged;
96         char *ctrl_iface;
97         EventHistory *eh;
98         struct wpa_ctrl *ctrl_conn;
99         QSocketNotifier *msgNotifier;
100         QTimer *timer;
101         int pingsToStatusUpdate;
102         WpaMsgList msgs;
103         char *ctrl_iface_dir;
104         struct wpa_ctrl *monitor_conn;
105         UserDataRequest *udr;
106         QAction *disconnectAction;
107         QAction *reconnectAction;
108         QAction *eventAction;
109         QAction *scanAction;
110         QAction *statAction;
111         QAction *showAction;
112         QAction *hideAction;
113         QAction *quitAction;
114         QMenu *tray_menu;
115         QSystemTrayIcon *tray_icon;
116         QString wpaStateTranslate(char *state);
117         void createTrayIcon(bool);
118         bool ackTrayIcon;
119         bool startInTray;
120
121         int openCtrlConnection(const char *ifname);
122
123         bool wpsRunning;
124
125         QString bssFromScan;
126
127         void stopWpsRun(bool success);
128
129 #ifdef CONFIG_NATIVE_WINDOWS
130         QAction *fileStartServiceAction;
131         QAction *fileStopServiceAction;
132
133         bool serviceRunning();
134 #endif /* CONFIG_NATIVE_WINDOWS */
135
136         QAction *addInterfaceAction;
137         AddInterface *add_iface;
138
139         bool connectedToService;
140
141         QApplication *app;
142         bool inTray;
143 };
144
145 #endif /* WPAGUI_H */