1 /* sctp_chunck_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 SCTP_CHUNK_STATISTICS_DIALOG_H 11 #define SCTP_CHUNK_STATISTICS_DIALOG_H 12 13 #include <config.h> 14 #include <glib.h> 15 16 #include <file.h> 17 #include <wsutil/file_util.h> 18 #include <epan/dissectors/packet-sctp.h> 19 #include "epan/packet.h" 20 #include "epan/value_string.h" 21 #include <epan/prefs.h> 22 #include <epan/uat-int.h> 23 #include <epan/prefs-int.h> 24 #include <wsutil/filesystem.h> 25 #include "wireshark_application.h" 26 27 #include <QTableWidgetItem> 28 #include <QDialog> 29 #include <QMenu> 30 #include <QContextMenuEvent> 31 32 namespace Ui { 33 class SCTPChunkStatisticsDialog; 34 } 35 36 struct _sctp_assoc_info; 37 38 class SCTPChunkStatisticsDialog : public QDialog 39 { 40 Q_OBJECT 41 42 public: 43 explicit SCTPChunkStatisticsDialog(QWidget *parent = 0, const _sctp_assoc_info *assoc = NULL, capture_file *cf = NULL); 44 ~SCTPChunkStatisticsDialog(); 45 46 public slots: setCaptureFile(capture_file * cf)47 void setCaptureFile(capture_file *cf) { cap_file_ = cf; } 48 49 private slots: 50 // void on_sectionClicked(int row); 51 // void on_sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex); 52 void on_pushButton_clicked(); 53 void on_actionHideChunkType_triggered(); 54 void on_actionChunkTypePreferences_triggered(); 55 void contextMenuEvent(QContextMenuEvent * event); 56 57 void on_actionShowAllChunkTypes_triggered(); 58 59 signals: 60 // void sectionClicked(int); 61 // void sectionMoved(int, int, int); 62 63 private: 64 Ui::SCTPChunkStatisticsDialog *ui; 65 guint16 selected_assoc_id; 66 capture_file *cap_file_; 67 QMenu ctx_menu_; 68 QPoint selected_point; 69 70 struct chunkTypes { 71 int row; 72 int id; 73 int hide; 74 char name[30]; 75 }; 76 77 QMap<int, struct chunkTypes> chunks, tempChunks; 78 79 void initializeChunkMap(); 80 void fillTable(bool all = false, const _sctp_assoc_info *selected_assoc = NULL); 81 }; 82 83 #endif // SCTP_CHUNK_STATISTICS_DIALOG_H 84