18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wpa_gui - Peers class 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2009-2010, Atheros Communications 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef PEERS_H 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define PEERS_H 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include <QObject> 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include <QStandardItemModel> 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "wpamsg.h" 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "ui_peers.h" 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtclass WpaGui; 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtclass Peers : public QDialog, public Ui::Peers 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt Q_OBJECT 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtpublic: 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt Peers(QWidget *parent = 0, const char *name = 0, 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt bool modal = false, Qt::WFlags fl = 0); 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt ~Peers(); 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void setWpaGui(WpaGui *_wpagui); 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void event_notify(WpaMsg msg); 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtpublic slots: 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void context_menu(const QPoint &pos); 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void enter_pin(); 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void connect_pbc(); 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void learn_ap_config(); 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_refresh(); 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_start(); 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_stop(); 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_listen(); 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_start_group(); 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_remove_group(); 418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_connect(); 428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_req_pin(); 438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_show_pin(); 448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_display_pin(); 458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_display_pin_pd(); 468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_enter_pin(); 478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void properties(); 488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_hide_ap(); 498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_show_ap(); 508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_show_passphrase(); 518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_start_persistent(); 528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_invite(); 538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void ctx_p2p_delete(); 548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtprotected slots: 568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void languageChange(); 578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt virtual void closeEvent(QCloseEvent *event); 588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtprivate: 608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_station(QString info); 618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_stations(); 628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_single_station(const char *addr); 638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt bool add_bss(const char *cmd); 648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void remove_bss(int id); 658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_scan_results(); 668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_persistent(int id, const char *ssid, const char *bssid); 678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_persistent_groups(); 688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void update_peers(); 698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QStandardItem * find_addr(QString addr); 708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QStandardItem * find_addr_type(QString addr, int type); 718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void add_p2p_group_client(QStandardItem *parent, QString params); 728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QStandardItem * find_uuid(QString uuid); 738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void done(int r); 748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void remove_enrollee_uuid(QString uuid); 758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QString ItemType(int type); 768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void enable_persistent(int id); 778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WpaGui *wpagui; 798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QStandardItemModel model; 808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QIcon *default_icon; 818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QIcon *ap_icon; 828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QIcon *laptop_icon; 838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QIcon *group_icon; 848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QIcon *invitation_icon; 858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt QStandardItem *ctx_item; 868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt bool hide_ap; 888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* PEERS_H */ 91