2 * wpa_gui - WpaGui class
3 * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
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.
9 * Alternatively, this software may be distributed under the terms of BSD
12 * See README and COPYING for more details.
18 #include <QSystemTrayIcon>
20 #include "ui_wpagui.h"
21 #include "addinterface.h"
23 class UserDataRequest;
26 class WpaGui : public QMainWindow, public Ui::WpaGui
31 WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0,
35 virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen);
36 virtual void triggerUpdate();
37 virtual void editNetwork(const QString &sel);
38 virtual void removeNetwork(const QString &sel);
39 virtual void enableNetwork(const QString &sel);
40 virtual void disableNetwork(const QString &sel);
41 virtual int getNetworkDisabled(const QString &sel);
42 void setBssFromScan(const QString &bssid);
46 virtual void parse_argv();
47 virtual void updateStatus();
48 virtual void updateNetworks();
49 virtual void helpIndex();
50 virtual void helpContents();
51 virtual void helpAbout();
52 virtual void disconnect();
54 virtual void eventHistory();
56 virtual void processMsg(char *msg);
57 virtual void processCtrlReq(const char *req);
58 virtual void receiveMsgs();
59 virtual void connectB();
60 virtual void selectNetwork(const QString &sel);
61 virtual void editSelectedNetwork();
62 virtual void editListedNetwork();
63 virtual void removeSelectedNetwork();
64 virtual void removeListedNetwork();
65 virtual void addNetwork();
66 virtual void enableAllNetworks();
67 virtual void disableAllNetworks();
68 virtual void removeAllNetworks();
69 virtual void saveConfig();
70 virtual void selectAdapter(const QString &sel);
71 virtual void updateNetworkDisabledStatus();
72 virtual void enableListedNetwork(bool);
73 virtual void disableListedNetwork(bool);
74 virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
75 int sec, const QString &msg);
76 virtual void showTrayStatus();
77 virtual void wpsDialog();
78 virtual void peersDialog();
79 virtual void tabChanged(int index);
80 virtual void wpsPbc();
81 virtual void wpsGeneratePin();
82 virtual void wpsApPinChanged(const QString &text);
83 virtual void wpsApPin();
84 #ifdef CONFIG_NATIVE_WINDOWS
85 virtual void startService();
86 virtual void stopService();
87 #endif /* CONFIG_NATIVE_WINDOWS */
88 virtual void addInterface();
91 virtual void languageChange();
92 virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
93 virtual void closeEvent(QCloseEvent *event);
98 bool networkMayHaveChanged;
101 struct wpa_ctrl *ctrl_conn;
102 QSocketNotifier *msgNotifier;
104 int pingsToStatusUpdate;
106 char *ctrl_iface_dir;
107 struct wpa_ctrl *monitor_conn;
108 UserDataRequest *udr;
109 QAction *disconnectAction;
110 QAction *reconnectAction;
111 QAction *eventAction;
118 QSystemTrayIcon *tray_icon;
119 void createTrayIcon(bool);
123 int openCtrlConnection(const char *ifname);
129 void stopWpsRun(bool success);
131 #ifdef CONFIG_NATIVE_WINDOWS
132 QAction *fileStartServiceAction;
133 QAction *fileStopServiceAction;
135 bool serviceRunning();
136 #endif /* CONFIG_NATIVE_WINDOWS */
138 QAction *addInterfaceAction;
139 AddInterface *add_iface;
141 bool connectedToService;
147 #endif /* WPAGUI_H */