1 /* wlan_statistics_dialog.h
2  *
3  * Wireshark - Network traffic analyzer
4  * By Gerald Combs <gerald@wireshark.org>
5  * Copyright 1998 Gerald Combs
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  */
9 
10 #ifndef WLANSTATISTICSDIALOG_H
11 #define WLANSTATISTICSDIALOG_H
12 
13 #include "tap_parameter_dialog.h"
14 #include <ui/qt/models/percent_bar_delegate.h>
15 
16 class QElapsedTimer;
17 
18 class WlanStatisticsDialog : public TapParameterDialog
19 {
20     Q_OBJECT
21 
22 public:
23     WlanStatisticsDialog(QWidget &parent, CaptureFile &cf, const char *filter);
24     ~WlanStatisticsDialog();
25 
26 protected:
27     void captureFileClosing();
28 
29 private:
30     int packet_count_;
31     int cur_network_;
32     PercentBarDelegate *packets_delegate_, *retry_delegate_;
33     QElapsedTimer *add_station_timer_;
34     QString displayFilter_;
35 
36     // Callbacks for register_tap_listener
37     static void tapReset(void *ws_dlg_ptr);
38     static tap_packet_status tapPacket(void *ws_dlg_ptr, struct _packet_info *, struct epan_dissect *, const void *wlan_hdr_ptr);
39     static void tapDraw(void *ws_dlg_ptr);
40 
41     virtual const QString filterExpression();
42 
43     // How each item will be exported
44     virtual QList<QVariant> treeItemData(QTreeWidgetItem *) const;
45 
46 private slots:
47     virtual void fillTree();
48     void addStationTreeItems();
49     void updateHeaderLabels();
50     void filterUpdated(QString filter);
51 };
52 
53 #endif // WLANSTATISTICSDIALOG_H
54