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;
19 class WpaGuiApp : public QApplication
23 WpaGuiApp(int &argc, char **argv);
25 #if !defined(QT_NO_SESSIONMANAGER) && QT_VERSION < 0x050000
26 virtual void saveState(QSessionManager &manager);
34 class WpaGui : public QMainWindow, public Ui::WpaGui
48 TrayIconSignalExcellent,
51 WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0,
52 Qt::WindowFlags fl = 0);
55 virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen);
56 virtual void triggerUpdate();
57 virtual void editNetwork(const QString &sel);
58 virtual void removeNetwork(const QString &sel);
59 virtual void enableNetwork(const QString &sel);
60 virtual void disableNetwork(const QString &sel);
61 virtual int getNetworkDisabled(const QString &sel);
62 void setBssFromScan(const QString &bssid);
63 #ifndef QT_NO_SESSIONMANAGER
68 virtual void parse_argv();
69 virtual void updateStatus();
70 virtual void updateNetworks();
71 virtual void helpIndex();
72 virtual void helpContents();
73 virtual void helpAbout();
74 virtual void disconnect();
76 virtual void eventHistory();
78 virtual void signalMeterUpdate();
79 virtual void processMsg(char *msg);
80 virtual void processCtrlReq(const char *req);
81 virtual void receiveMsgs();
82 virtual void connectB();
83 virtual void selectNetwork(const QString &sel);
84 virtual void editSelectedNetwork();
85 virtual void editListedNetwork();
86 virtual void removeSelectedNetwork();
87 virtual void removeListedNetwork();
88 virtual void addNetwork();
89 virtual void enableAllNetworks();
90 virtual void disableAllNetworks();
91 virtual void removeAllNetworks();
92 virtual void saveConfig();
93 virtual void selectAdapter(const QString &sel);
94 virtual void updateNetworkDisabledStatus();
95 virtual void enableListedNetwork(bool);
96 virtual void disableListedNetwork(bool);
97 virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
98 int sec, const QString &msg);
99 virtual void showTrayStatus();
100 virtual void updateTrayIcon(TrayIconType type);
101 virtual void updateTrayToolTip(const QString &msg);
102 virtual QIcon loadThemedIcon(const QStringList &names,
103 const QIcon &fallback);
104 virtual void wpsDialog();
105 virtual void peersDialog();
106 virtual void tabChanged(int index);
107 virtual void wpsPbc();
108 virtual void wpsGeneratePin();
109 virtual void wpsApPinChanged(const QString &text);
110 virtual void wpsApPin();
111 #ifdef CONFIG_NATIVE_WINDOWS
112 virtual void startService();
113 virtual void stopService();
114 #endif /* CONFIG_NATIVE_WINDOWS */
115 virtual void addInterface();
118 virtual void languageChange();
119 virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
120 virtual void closeEvent(QCloseEvent *event);
123 ScanResults *scanres;
125 bool networkMayHaveChanged;
128 struct wpa_ctrl *ctrl_conn;
129 QSocketNotifier *msgNotifier;
131 int pingsToStatusUpdate;
133 char *ctrl_iface_dir;
134 struct wpa_ctrl *monitor_conn;
135 UserDataRequest *udr;
136 QAction *disconnectAction;
137 QAction *reconnectAction;
138 QAction *eventAction;
145 QSystemTrayIcon *tray_icon;
146 TrayIconType currentIconType;
147 QString wpaStateTranslate(char *state);
148 void createTrayIcon(bool);
153 int openCtrlConnection(const char *ifname);
159 void stopWpsRun(bool success);
161 QTimer *signalMeterTimer;
162 int signalMeterInterval;
164 #ifdef CONFIG_NATIVE_WINDOWS
165 QAction *fileStartServiceAction;
166 QAction *fileStopServiceAction;
168 bool serviceRunning();
169 #endif /* CONFIG_NATIVE_WINDOWS */
171 QAction *addInterfaceAction;
172 AddInterface *add_iface;
174 bool connectedToService;
180 #endif /* WPAGUI_H */