1 /* 2 * wpa_gui - WpaGui class 3 * Copyright (c) 2005-2006, Jouni Malinen <j (at) w1.fi> 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef WPAGUI_H 10 #define WPAGUI_H 11 12 #include <QSystemTrayIcon> 13 #include <QObject> 14 #include "ui_wpagui.h" 15 #include "addinterface.h" 16 17 class UserDataRequest; 18 19 20 class WpaGui : public QMainWindow, public Ui::WpaGui 21 { 22 Q_OBJECT 23 24 public: 25 WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0, 26 Qt::WFlags fl = 0); 27 ~WpaGui(); 28 29 virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen); 30 virtual void triggerUpdate(); 31 virtual void editNetwork(const QString &sel); 32 virtual void removeNetwork(const QString &sel); 33 virtual void enableNetwork(const QString &sel); 34 virtual void disableNetwork(const QString &sel); 35 virtual int getNetworkDisabled(const QString &sel); 36 void setBssFromScan(const QString &bssid); 37 #ifndef QT_NO_SESSIONMANAGER 38 void saveState(); 39 #endif 40 41 public slots: 42 virtual void parse_argv(); 43 virtual void updateStatus(); 44 virtual void updateNetworks(); 45 virtual void helpIndex(); 46 virtual void helpContents(); 47 virtual void helpAbout(); 48 virtual void disconnect(); 49 virtual void scan(); 50 virtual void eventHistory(); 51 virtual void ping(); 52 virtual void processMsg(char *msg); 53 virtual void processCtrlReq(const char *req); 54 virtual void receiveMsgs(); 55 virtual void connectB(); 56 virtual void selectNetwork(const QString &sel); 57 virtual void editSelectedNetwork(); 58 virtual void editListedNetwork(); 59 virtual void removeSelectedNetwork(); 60 virtual void removeListedNetwork(); 61 virtual void addNetwork(); 62 virtual void enableAllNetworks(); 63 virtual void disableAllNetworks(); 64 virtual void removeAllNetworks(); 65 virtual void saveConfig(); 66 virtual void selectAdapter(const QString &sel); 67 virtual void updateNetworkDisabledStatus(); 68 virtual void enableListedNetwork(bool); 69 virtual void disableListedNetwork(bool); 70 virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type, 71 int sec, const QString &msg); 72 virtual void showTrayStatus(); 73 virtual void updateTrayToolTip(const QString &msg); 74 virtual void wpsDialog(); 75 virtual void peersDialog(); 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 #ifdef CONFIG_NATIVE_WINDOWS 82 virtual void startService(); 83 virtual void stopService(); 84 #endif /* CONFIG_NATIVE_WINDOWS */ 85 virtual void addInterface(); 86 87 protected slots: 88 virtual void languageChange(); 89 virtual void trayActivated(QSystemTrayIcon::ActivationReason how); 90 virtual void closeEvent(QCloseEvent *event); 91 92 private: 93 ScanResults *scanres; 94 Peers *peers; 95 bool networkMayHaveChanged; 96 char *ctrl_iface; 97 EventHistory *eh; 98 struct wpa_ctrl *ctrl_conn; 99 QSocketNotifier *msgNotifier; 100 QTimer *timer; 101 int pingsToStatusUpdate; 102 WpaMsgList msgs; 103 char *ctrl_iface_dir; 104 struct wpa_ctrl *monitor_conn; 105 UserDataRequest *udr; 106 QAction *disconnectAction; 107 QAction *reconnectAction; 108 QAction *eventAction; 109 QAction *scanAction; 110 QAction *statAction; 111 QAction *showAction; 112 QAction *hideAction; 113 QAction *quitAction; 114 QMenu *tray_menu; 115 QSystemTrayIcon *tray_icon; 116 QString wpaStateTranslate(char *state); 117 void createTrayIcon(bool); 118 bool ackTrayIcon; 119 bool startInTray; 120 bool quietMode; 121 122 int openCtrlConnection(const char *ifname); 123 124 bool wpsRunning; 125 126 QString bssFromScan; 127 128 void stopWpsRun(bool success); 129 130 #ifdef CONFIG_NATIVE_WINDOWS 131 QAction *fileStartServiceAction; 132 QAction *fileStopServiceAction; 133 134 bool serviceRunning(); 135 #endif /* CONFIG_NATIVE_WINDOWS */ 136 137 QAction *addInterfaceAction; 138 AddInterface *add_iface; 139 140 bool connectedToService; 141 142 QApplication *app; 143 bool inTray; 144 }; 145 146 #endif /* WPAGUI_H */ 147