wpagui.h 3.8 KB

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