WPS: Added event callback for successfully completed registration
[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         void setBssFromScan(const QString &bssid);
42
43 public slots:
44         virtual void parse_argv();
45         virtual void updateStatus();
46         virtual void updateNetworks();
47         virtual void helpIndex();
48         virtual void helpContents();
49         virtual void helpAbout();
50         virtual void disconnect();
51         virtual void scan();
52         virtual void eventHistory();
53         virtual void ping();
54         virtual void processMsg(char *msg);
55         virtual void processCtrlReq(const char *req);
56         virtual void receiveMsgs();
57         virtual void connectB();
58         virtual void selectNetwork(const QString &sel);
59         virtual void editSelectedNetwork();
60         virtual void editListedNetwork();
61         virtual void removeSelectedNetwork();
62         virtual void removeListedNetwork();
63         virtual void addNetwork();
64         virtual void enableAllNetworks();
65         virtual void disableAllNetworks();
66         virtual void removeAllNetworks();
67         virtual void saveConfig();
68         virtual void selectAdapter(const QString &sel);
69         virtual void updateNetworkDisabledStatus();
70         virtual void enableListedNetwork(bool);
71         virtual void disableListedNetwork(bool);
72         virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
73                                      int sec, const QString &msg);
74         virtual void showTrayStatus();
75         virtual void wpsDialog();
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
82 protected slots:
83         virtual void languageChange();
84         virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
85         virtual void closeEvent(QCloseEvent *event);
86
87 private:
88         ScanResults *scanres;
89         bool networkMayHaveChanged;
90         char *ctrl_iface;
91         EventHistory *eh;
92         struct wpa_ctrl *ctrl_conn;
93         QSocketNotifier *msgNotifier;
94         QTimer *timer;
95         int pingsToStatusUpdate;
96         WpaMsgList msgs;
97         char *ctrl_iface_dir;
98         struct wpa_ctrl *monitor_conn;
99         UserDataRequest *udr;
100         QAction *disconnectAction;
101         QAction *reconnectAction;
102         QAction *eventAction;
103         QAction *scanAction;
104         QAction *statAction;
105         QAction *showAction;
106         QAction *hideAction;
107         QAction *quitAction;
108         QMenu *tray_menu;
109         QSystemTrayIcon *tray_icon;
110         void createTrayIcon(bool);
111         bool ackTrayIcon;
112         bool startInTray;
113
114         int openCtrlConnection(const char *ifname);
115
116         bool wpsRunning;
117
118         QString bssFromScan;
119
120         void stopWpsRun(bool success);
121 };
122
123 #endif /* WPAGUI_H */