c805962c7381404756083864292a5db6c213ee47
[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 program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14
15 #ifndef WPAGUI_H
16 #define WPAGUI_H
17
18 #include <QSystemTrayIcon>
19 #include <QObject>
20 #include "ui_wpagui.h"
21
22 class UserDataRequest;
23
24
25 class WpaGui : public QMainWindow, public Ui::WpaGui
26 {
27         Q_OBJECT
28
29 public:
30         WpaGui(QWidget *parent = 0, const char *name = 0,
31                Qt::WFlags fl = 0);
32         ~WpaGui();
33
34         virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen);
35         virtual void triggerUpdate();
36         virtual void editNetwork(const QString &sel);
37         virtual void removeNetwork(const QString &sel);
38         virtual void enableNetwork(const QString &sel);
39         virtual void disableNetwork(const QString &sel);
40         virtual int getNetworkDisabled(const QString &sel);
41
42 public slots:
43         virtual void parse_argv();
44         virtual void updateStatus();
45         virtual void updateNetworks();
46         virtual void helpIndex();
47         virtual void helpContents();
48         virtual void helpAbout();
49         virtual void disconnect();
50         virtual void scan();
51         virtual void eventHistory();
52         virtual void ping();
53         virtual void processMsg(char *msg);
54         virtual void processCtrlReq(const char *req);
55         virtual void receiveMsgs();
56         virtual void connectB();
57         virtual void selectNetwork(const QString &sel);
58         virtual void editSelectedNetwork();
59         virtual void editListedNetwork();
60         virtual void removeSelectedNetwork();
61         virtual void removeListedNetwork();
62         virtual void addNetwork();
63         virtual void enableAllNetworks();
64         virtual void disableAllNetworks();
65         virtual void removeAllNetworks();
66         virtual void saveConfig();
67         virtual void selectAdapter(const QString &sel);
68         virtual void updateNetworkDisabledStatus();
69         virtual void enableListedNetwork(bool);
70         virtual void disableListedNetwork(bool);
71         virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
72                                      int sec, const QString &msg);
73         virtual void showTrayStatus();
74         virtual void wpsDialog();
75         virtual void tabChanged(int index);
76         virtual void wpsPbc();
77         virtual void wpsGeneratePin();
78
79 protected slots:
80         virtual void languageChange();
81         virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
82         virtual void closeEvent(QCloseEvent *event);
83
84 private:
85         ScanResults *scanres;
86         bool networkMayHaveChanged;
87         char *ctrl_iface;
88         EventHistory *eh;
89         struct wpa_ctrl *ctrl_conn;
90         QSocketNotifier *msgNotifier;
91         QTimer *timer;
92         int pingsToStatusUpdate;
93         WpaMsgList msgs;
94         char *ctrl_iface_dir;
95         struct wpa_ctrl *monitor_conn;
96         UserDataRequest *udr;
97         QAction *disconnectAction;
98         QAction *reconnectAction;
99         QAction *eventAction;
100         QAction *scanAction;
101         QAction *statAction;
102         QAction *showAction;
103         QAction *hideAction;
104         QAction *quitAction;
105         QMenu *tray_menu;
106         QSystemTrayIcon *tray_icon;
107         void createTrayIcon(bool);
108         bool ackTrayIcon;
109         bool startInTray;
110
111         int openCtrlConnection(const char *ifname);
112
113         bool wpsRunning;
114 };
115
116 #endif /* WPAGUI_H */