2 * wpa_gui - WpaGui class
3 * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
12 #include <QSystemTrayIcon>
14 #include "ui_wpagui.h"
15 #include "addinterface.h"
17 class UserDataRequest;
20 class WpaGui : public QMainWindow, public Ui::WpaGui
34 TrayIconSignalExcellent,
37 WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0,
41 virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen);
42 virtual void triggerUpdate();
43 virtual void editNetwork(const QString &sel);
44 virtual void removeNetwork(const QString &sel);
45 virtual void enableNetwork(const QString &sel);
46 virtual void disableNetwork(const QString &sel);
47 virtual int getNetworkDisabled(const QString &sel);
48 void setBssFromScan(const QString &bssid);
49 #ifndef QT_NO_SESSIONMANAGER
54 virtual void parse_argv();
55 virtual void updateStatus();
56 virtual void updateNetworks();
57 virtual void helpIndex();
58 virtual void helpContents();
59 virtual void helpAbout();
60 virtual void disconnect();
62 virtual void eventHistory();
64 virtual void signalMeterUpdate();
65 virtual void processMsg(char *msg);
66 virtual void processCtrlReq(const char *req);
67 virtual void receiveMsgs();
68 virtual void connectB();
69 virtual void selectNetwork(const QString &sel);
70 virtual void editSelectedNetwork();
71 virtual void editListedNetwork();
72 virtual void removeSelectedNetwork();
73 virtual void removeListedNetwork();
74 virtual void addNetwork();
75 virtual void enableAllNetworks();
76 virtual void disableAllNetworks();
77 virtual void removeAllNetworks();
78 virtual void saveConfig();
79 virtual void selectAdapter(const QString &sel);
80 virtual void updateNetworkDisabledStatus();
81 virtual void enableListedNetwork(bool);
82 virtual void disableListedNetwork(bool);
83 virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
84 int sec, const QString &msg);
85 virtual void showTrayStatus();
86 virtual void updateTrayIcon(TrayIconType type);
87 virtual void updateTrayToolTip(const QString &msg);
88 virtual void wpsDialog();
89 virtual void peersDialog();
90 virtual void tabChanged(int index);
91 virtual void wpsPbc();
92 virtual void wpsGeneratePin();
93 virtual void wpsApPinChanged(const QString &text);
94 virtual void wpsApPin();
95 #ifdef CONFIG_NATIVE_WINDOWS
96 virtual void startService();
97 virtual void stopService();
98 #endif /* CONFIG_NATIVE_WINDOWS */
99 virtual void addInterface();
102 virtual void languageChange();
103 virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
104 virtual void closeEvent(QCloseEvent *event);
107 ScanResults *scanres;
109 bool networkMayHaveChanged;
112 struct wpa_ctrl *ctrl_conn;
113 QSocketNotifier *msgNotifier;
115 int pingsToStatusUpdate;
117 char *ctrl_iface_dir;
118 struct wpa_ctrl *monitor_conn;
119 UserDataRequest *udr;
120 QAction *disconnectAction;
121 QAction *reconnectAction;
122 QAction *eventAction;
129 QSystemTrayIcon *tray_icon;
130 TrayIconType currentIconType;
131 QString wpaStateTranslate(char *state);
132 void createTrayIcon(bool);
137 int openCtrlConnection(const char *ifname);
143 void stopWpsRun(bool success);
145 QTimer *signalMeterTimer;
146 int signalMeterInterval;
148 #ifdef CONFIG_NATIVE_WINDOWS
149 QAction *fileStartServiceAction;
150 QAction *fileStopServiceAction;
152 bool serviceRunning();
153 #endif /* CONFIG_NATIVE_WINDOWS */
155 QAction *addInterfaceAction;
156 AddInterface *add_iface;
158 bool connectedToService;
164 #endif /* WPAGUI_H */