Home | History | Annotate | Line # | Download | only in wpa_gui-qt4
      1      1.1  christos /*
      2      1.1  christos  * wpa_gui - WpaGui class
      3      1.1  christos  * Copyright (c) 2005-2006, Jouni Malinen <j (at) w1.fi>
      4      1.1  christos  *
      5  1.1.1.2  christos  * This software may be distributed under the terms of the BSD license.
      6  1.1.1.2  christos  * See README for more details.
      7      1.1  christos  */
      8      1.1  christos 
      9      1.1  christos #ifndef WPAGUI_H
     10      1.1  christos #define WPAGUI_H
     11      1.1  christos 
     12      1.1  christos #include <QSystemTrayIcon>
     13      1.1  christos #include <QObject>
     14      1.1  christos #include "ui_wpagui.h"
     15      1.1  christos #include "addinterface.h"
     16      1.1  christos 
     17      1.1  christos class UserDataRequest;
     18      1.1  christos 
     19  1.1.1.4  christos class WpaGuiApp : public QApplication
     20  1.1.1.4  christos {
     21  1.1.1.4  christos 	Q_OBJECT
     22  1.1.1.4  christos public:
     23  1.1.1.4  christos 	WpaGuiApp(int &argc, char **argv);
     24  1.1.1.4  christos 
     25  1.1.1.4  christos #if !defined(QT_NO_SESSIONMANAGER) && QT_VERSION < 0x050000
     26  1.1.1.4  christos 	virtual void saveState(QSessionManager &manager);
     27  1.1.1.4  christos #endif
     28  1.1.1.4  christos 
     29  1.1.1.4  christos 	WpaGui *w;
     30  1.1.1.4  christos 	int argc;
     31  1.1.1.4  christos 	char **argv;
     32  1.1.1.4  christos };
     33      1.1  christos 
     34      1.1  christos class WpaGui : public QMainWindow, public Ui::WpaGui
     35      1.1  christos {
     36      1.1  christos 	Q_OBJECT
     37      1.1  christos 
     38      1.1  christos public:
     39  1.1.1.4  christos 
     40  1.1.1.4  christos 	enum TrayIconType {
     41  1.1.1.4  christos 		TrayIconOffline = 0,
     42  1.1.1.4  christos 		TrayIconAcquiring,
     43  1.1.1.4  christos 		TrayIconConnected,
     44  1.1.1.4  christos 		TrayIconSignalNone,
     45  1.1.1.4  christos 		TrayIconSignalWeak,
     46  1.1.1.4  christos 		TrayIconSignalOk,
     47  1.1.1.4  christos 		TrayIconSignalGood,
     48  1.1.1.4  christos 		TrayIconSignalExcellent,
     49  1.1.1.4  christos 	};
     50  1.1.1.4  christos 
     51      1.1  christos 	WpaGui(QApplication *app, QWidget *parent = 0, const char *name = 0,
     52  1.1.1.4  christos 	       Qt::WindowFlags fl = 0);
     53      1.1  christos 	~WpaGui();
     54      1.1  christos 
     55      1.1  christos 	virtual int ctrlRequest(const char *cmd, char *buf, size_t *buflen);
     56      1.1  christos 	virtual void triggerUpdate();
     57      1.1  christos 	virtual void editNetwork(const QString &sel);
     58      1.1  christos 	virtual void removeNetwork(const QString &sel);
     59      1.1  christos 	virtual void enableNetwork(const QString &sel);
     60      1.1  christos 	virtual void disableNetwork(const QString &sel);
     61      1.1  christos 	virtual int getNetworkDisabled(const QString &sel);
     62      1.1  christos 	void setBssFromScan(const QString &bssid);
     63      1.1  christos #ifndef QT_NO_SESSIONMANAGER
     64      1.1  christos 	void saveState();
     65      1.1  christos #endif
     66      1.1  christos 
     67      1.1  christos public slots:
     68      1.1  christos 	virtual void parse_argv();
     69      1.1  christos 	virtual void updateStatus();
     70      1.1  christos 	virtual void updateNetworks();
     71      1.1  christos 	virtual void helpIndex();
     72      1.1  christos 	virtual void helpContents();
     73      1.1  christos 	virtual void helpAbout();
     74      1.1  christos 	virtual void disconnect();
     75      1.1  christos 	virtual void scan();
     76      1.1  christos 	virtual void eventHistory();
     77      1.1  christos 	virtual void ping();
     78  1.1.1.4  christos 	virtual void signalMeterUpdate();
     79      1.1  christos 	virtual void processMsg(char *msg);
     80      1.1  christos 	virtual void processCtrlReq(const char *req);
     81      1.1  christos 	virtual void receiveMsgs();
     82      1.1  christos 	virtual void connectB();
     83      1.1  christos 	virtual void selectNetwork(const QString &sel);
     84      1.1  christos 	virtual void editSelectedNetwork();
     85      1.1  christos 	virtual void editListedNetwork();
     86      1.1  christos 	virtual void removeSelectedNetwork();
     87      1.1  christos 	virtual void removeListedNetwork();
     88      1.1  christos 	virtual void addNetwork();
     89      1.1  christos 	virtual void enableAllNetworks();
     90      1.1  christos 	virtual void disableAllNetworks();
     91      1.1  christos 	virtual void removeAllNetworks();
     92      1.1  christos 	virtual void saveConfig();
     93      1.1  christos 	virtual void selectAdapter(const QString &sel);
     94      1.1  christos 	virtual void updateNetworkDisabledStatus();
     95      1.1  christos 	virtual void enableListedNetwork(bool);
     96      1.1  christos 	virtual void disableListedNetwork(bool);
     97      1.1  christos 	virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
     98      1.1  christos 				     int sec, const QString &msg);
     99      1.1  christos 	virtual void showTrayStatus();
    100  1.1.1.4  christos 	virtual void updateTrayIcon(TrayIconType type);
    101  1.1.1.3  christos 	virtual void updateTrayToolTip(const QString &msg);
    102  1.1.1.4  christos 	virtual QIcon loadThemedIcon(const QStringList &names,
    103  1.1.1.4  christos 				     const QIcon &fallback);
    104      1.1  christos 	virtual void wpsDialog();
    105      1.1  christos 	virtual void peersDialog();
    106      1.1  christos 	virtual void tabChanged(int index);
    107      1.1  christos 	virtual void wpsPbc();
    108      1.1  christos 	virtual void wpsGeneratePin();
    109      1.1  christos 	virtual void wpsApPinChanged(const QString &text);
    110      1.1  christos 	virtual void wpsApPin();
    111      1.1  christos #ifdef CONFIG_NATIVE_WINDOWS
    112      1.1  christos 	virtual void startService();
    113      1.1  christos 	virtual void stopService();
    114      1.1  christos #endif /* CONFIG_NATIVE_WINDOWS */
    115      1.1  christos 	virtual void addInterface();
    116      1.1  christos 
    117      1.1  christos protected slots:
    118      1.1  christos 	virtual void languageChange();
    119      1.1  christos 	virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
    120      1.1  christos 	virtual void closeEvent(QCloseEvent *event);
    121      1.1  christos 
    122      1.1  christos private:
    123      1.1  christos 	ScanResults *scanres;
    124      1.1  christos 	Peers *peers;
    125      1.1  christos 	bool networkMayHaveChanged;
    126      1.1  christos 	char *ctrl_iface;
    127      1.1  christos 	EventHistory *eh;
    128      1.1  christos 	struct wpa_ctrl *ctrl_conn;
    129      1.1  christos 	QSocketNotifier *msgNotifier;
    130      1.1  christos 	QTimer *timer;
    131      1.1  christos 	int pingsToStatusUpdate;
    132      1.1  christos 	WpaMsgList msgs;
    133      1.1  christos 	char *ctrl_iface_dir;
    134      1.1  christos 	struct wpa_ctrl *monitor_conn;
    135      1.1  christos 	UserDataRequest *udr;
    136      1.1  christos 	QAction *disconnectAction;
    137      1.1  christos 	QAction *reconnectAction;
    138      1.1  christos 	QAction *eventAction;
    139      1.1  christos 	QAction *scanAction;
    140      1.1  christos 	QAction *statAction;
    141      1.1  christos 	QAction *showAction;
    142      1.1  christos 	QAction *hideAction;
    143      1.1  christos 	QAction *quitAction;
    144      1.1  christos 	QMenu *tray_menu;
    145      1.1  christos 	QSystemTrayIcon *tray_icon;
    146  1.1.1.4  christos 	TrayIconType currentIconType;
    147      1.1  christos 	QString wpaStateTranslate(char *state);
    148      1.1  christos 	void createTrayIcon(bool);
    149      1.1  christos 	bool ackTrayIcon;
    150      1.1  christos 	bool startInTray;
    151  1.1.1.3  christos 	bool quietMode;
    152      1.1  christos 
    153      1.1  christos 	int openCtrlConnection(const char *ifname);
    154      1.1  christos 
    155      1.1  christos 	bool wpsRunning;
    156      1.1  christos 
    157      1.1  christos 	QString bssFromScan;
    158      1.1  christos 
    159      1.1  christos 	void stopWpsRun(bool success);
    160      1.1  christos 
    161  1.1.1.4  christos 	QTimer *signalMeterTimer;
    162  1.1.1.4  christos 	int signalMeterInterval;
    163  1.1.1.4  christos 
    164      1.1  christos #ifdef CONFIG_NATIVE_WINDOWS
    165      1.1  christos 	QAction *fileStartServiceAction;
    166      1.1  christos 	QAction *fileStopServiceAction;
    167      1.1  christos 
    168      1.1  christos 	bool serviceRunning();
    169      1.1  christos #endif /* CONFIG_NATIVE_WINDOWS */
    170      1.1  christos 
    171      1.1  christos 	QAction *addInterfaceAction;
    172      1.1  christos 	AddInterface *add_iface;
    173      1.1  christos 
    174      1.1  christos 	bool connectedToService;
    175      1.1  christos 
    176      1.1  christos 	QApplication *app;
    177      1.1  christos 	bool inTray;
    178      1.1  christos };
    179      1.1  christos 
    180      1.1  christos #endif /* WPAGUI_H */
    181