3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
7 * SPDX-License-Identifier: GPL-2.0-or-later
10 #ifndef __LTE_MAC_STATISTICS_DIALOG_H__
11 #define __LTE_MAC_STATISTICS_DIALOG_H__
13 #include "tap_parameter_dialog.h"
18 #include <ui/qt/models/percent_bar_delegate.h>
20 // Common channel stats
21 typedef struct mac_3gpp_common_stats
{
28 uint32_t pch_paging_ids
;
32 uint16_t max_ul_ues_in_tti
;
33 uint16_t max_dl_ues_in_tti
;
34 } mac_3gpp_common_stats
;
37 class LteMacStatisticsDialog
: public TapParameterDialog
42 LteMacStatisticsDialog(QWidget
&parent
, CaptureFile
&cf
, const char *filter
);
43 ~LteMacStatisticsDialog();
46 void captureFileClosing();
49 // Extra controls needed for this dialog.
50 QLabel
*commonStatsLabel_
;
51 QCheckBox
*showSRFilterCheckBox_
;
52 QCheckBox
*showRACHFilterCheckBox_
;
53 PercentBarDelegate
*ul_delegate_
, *dl_delegate_
;
54 QString displayFilter_
;
56 // Callbacks for register_tap_listener
57 static void tapReset(void *ws_dlg_ptr
);
58 static tap_packet_status
tapPacket(void *ws_dlg_ptr
, struct _packet_info
*, struct epan_dissect
*, const void *mac_3gpp_tap_info_ptr
, tap_flags_t flags
);
59 static void tapDraw(void *ws_dlg_ptr
);
61 virtual const QString
filterExpression();
64 mac_3gpp_common_stats commonStats_
;
65 bool commonStatsCurrent_
; // Set when changes have not yet been drawn
66 void updateCommonStats(const struct mac_3gpp_tap_info
*mlt_info
);
67 void drawCommonStats();
68 void clearCommonStats();
70 unsigned getFrameCount();
72 QList
<QVariant
> treeItemData(QTreeWidgetItem
*item
) const;
75 virtual void fillTree();
76 void updateHeaderLabels();
77 void filterUpdated(QString filter
);
80 #endif // __LTE_MAC_STATISTICS_DIALOG_H__