/* * 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 WpaGui : public QMainWindow, public Ui::WpaGui { Q_OBJECT public: WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0, Qt::WFlags 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 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 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; QString wpaStateTranslate(char *state); void createTrayIcon(bool); bool ackTrayIcon; bool startInTray; int openCtrlConnection(const char *ifname); bool wpsRunning; QString bssFromScan; void stopWpsRun(bool success); #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 */