| /* |
| * wpa_gui - WpaGui class |
| * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi> |
| * |
| * This software may be distributed under the terms of the BSD license. |
| * See README for more details. |
| */ |
| |
| #ifndef WPAGUI_H |
| #define WPAGUI_H |
| |
| #include <QSystemTrayIcon> |
| #include <QObject> |
| #include "ui_wpagui.h" |
| #include "addinterface.h" |
| |
| class UserDataRequest; |
| |
| class WpaGuiApp : public QApplication |
| { |
| Q_OBJECT |
| public: |
| WpaGuiApp(int &argc, char **argv); |
| |
| #if !defined(QT_NO_SESSIONMANAGER) && QT_VERSION < 0x050000 |
| virtual void saveState(QSessionManager &manager); |
| #endif |
| |
| WpaGui *w; |
| int argc; |
| char **argv; |
| }; |
| |
| class WpaGui : public QMainWindow, public Ui::WpaGui |
| { |
| Q_OBJECT |
| |
| public: |
| |
| enum TrayIconType { |
| TrayIconOffline = 0, |
| TrayIconAcquiring, |
| TrayIconConnected, |
| TrayIconSignalNone, |
| TrayIconSignalWeak, |
| TrayIconSignalOk, |
| TrayIconSignalGood, |
| TrayIconSignalExcellent, |
| }; |
| |
| WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0, |
| Qt::WindowFlags fl = 0); |
| ~WpaGui(); |
| |
| virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen); |
| virtual void triggerUpdate(); |
| virtual void editNetwork(const QString &sel); |
| virtual void removeNetwork(const QString &sel); |
| virtual void enableNetwork(const QString &sel); |
| virtual void disableNetwork(const QString &sel); |
| virtual int getNetworkDisabled(const QString &sel); |
| void setBssFromScan(const QString &bssid); |
| #ifndef QT_NO_SESSIONMANAGER |
| void saveState(); |
| #endif |
| |
| public slots: |
| virtual void parse_argv(); |
| virtual void updateStatus(); |
| virtual void updateNetworks(); |
| virtual void helpIndex(); |
| virtual void helpContents(); |
| virtual void helpAbout(); |
| virtual void disconnect(); |
| virtual void scan(); |
| virtual void eventHistory(); |
| virtual void ping(); |
| virtual void signalMeterUpdate(); |
| virtual void processMsg(char *msg); |
| virtual void processCtrlReq(const char *req); |
| virtual void receiveMsgs(); |
| virtual void connectB(); |
| virtual void selectNetwork(const QString &sel); |
| virtual void editSelectedNetwork(); |
| virtual void editListedNetwork(); |
| virtual void removeSelectedNetwork(); |
| virtual void removeListedNetwork(); |
| virtual void addNetwork(); |
| virtual void enableAllNetworks(); |
| virtual void disableAllNetworks(); |
| virtual void removeAllNetworks(); |
| virtual void saveConfig(); |
| virtual void selectAdapter(const QString &sel); |
| virtual void updateNetworkDisabledStatus(); |
| virtual void enableListedNetwork(bool); |
| virtual void disableListedNetwork(bool); |
| virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type, |
| int sec, const QString &msg); |
| virtual void showTrayStatus(); |
| virtual void updateTrayIcon(TrayIconType type); |
| virtual void updateTrayToolTip(const QString &msg); |
| virtual QIcon loadThemedIcon(const QStringList &names, |
| const QIcon &fallback); |
| virtual void wpsDialog(); |
| virtual void peersDialog(); |
| virtual void tabChanged(int index); |
| virtual void wpsPbc(); |
| virtual void wpsGeneratePin(); |
| virtual void wpsApPinChanged(const QString &text); |
| virtual void wpsApPin(); |
| #ifdef CONFIG_NATIVE_WINDOWS |
| virtual void startService(); |
| virtual void stopService(); |
| #endif /* CONFIG_NATIVE_WINDOWS */ |
| virtual void addInterface(); |
| |
| protected slots: |
| virtual void languageChange(); |
| virtual void trayActivated(QSystemTrayIcon::ActivationReason how); |
| virtual void closeEvent(QCloseEvent *event); |
| |
| private: |
| ScanResults *scanres; |
| Peers *peers; |
| bool networkMayHaveChanged; |
| char *ctrl_iface; |
| EventHistory *eh; |
| struct wpa_ctrl *ctrl_conn; |
| QSocketNotifier *msgNotifier; |
| QTimer *timer; |
| int pingsToStatusUpdate; |
| WpaMsgList msgs; |
| char *ctrl_iface_dir; |
| struct wpa_ctrl *monitor_conn; |
| UserDataRequest *udr; |
| QAction *disconnectAction; |
| QAction *reconnectAction; |
| QAction *eventAction; |
| QAction *scanAction; |
| QAction *statAction; |
| QAction *showAction; |
| QAction *hideAction; |
| QAction *quitAction; |
| QMenu *tray_menu; |
| QSystemTrayIcon *tray_icon; |
| TrayIconType currentIconType; |
| QString wpaStateTranslate(char *state); |
| void createTrayIcon(bool); |
| bool ackTrayIcon; |
| bool startInTray; |
| bool quietMode; |
| |
| int openCtrlConnection(const char *ifname); |
| |
| bool wpsRunning; |
| |
| QString bssFromScan; |
| |
| void stopWpsRun(bool success); |
| |
| QTimer *signalMeterTimer; |
| int signalMeterInterval; |
| |
| #ifdef CONFIG_NATIVE_WINDOWS |
| QAction *fileStartServiceAction; |
| QAction *fileStopServiceAction; |
| |
| bool serviceRunning(); |
| #endif /* CONFIG_NATIVE_WINDOWS */ |
| |
| QAction *addInterfaceAction; |
| AddInterface *add_iface; |
| |
| bool connectedToService; |
| |
| QApplication *app; |
| bool inTray; |
| }; |
| |
| #endif /* WPAGUI_H */ |