Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
rtp_stream_dialog.h
1 /* rtp_stream_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 RTP_STREAM_DIALOG_H
11 #define RTP_STREAM_DIALOG_H
12 
13 #include "wireshark_dialog.h"
14 
15 #include "ui/rtp_stream.h"
16 
17 #include <QAbstractButton>
18 #include <QMenu>
19 
20 namespace Ui {
21 class RtpStreamDialog;
22 }
23 
25 {
26  Q_OBJECT
27 
28 public:
29  explicit RtpStreamDialog(QWidget &parent, CaptureFile &cf);
30  ~RtpStreamDialog();
31 
32 signals:
33  // Tells the packet list to redraw. An alternative might be to add a
34  // cf_packet_marked callback to file.[ch] but that's synchronous and
35  // might incur too much overhead.
36  void packetsMarked();
37  void updateFilter(QString filter, bool force = false);
38  void goToPacket(int packet_num);
39 
40 protected:
41  bool eventFilter(QObject *obj, QEvent *event);
42 
43 private:
45  rtpstream_tapinfo_t tapinfo_;
46  QPushButton *find_reverse_button_;
47  QPushButton *prepare_button_;
48  QPushButton *export_button_;
49  QPushButton *copy_button_;
50  QPushButton *analyze_button_;
51  QMenu ctx_menu_;
52  bool need_redraw_;
53 
54  static void tapReset(rtpstream_tapinfo_t *tapinfo);
55  static void tapDraw(rtpstream_tapinfo_t *tapinfo);
56  static void tapMarkPacket(rtpstream_tapinfo_t *tapinfo, frame_data *fd);
57 
58  void updateStreams();
59  void updateWidgets();
60 
61  QList<QVariant> streamRowData(int row) const;
62 
63 
64 private slots:
65  void captureFileClosing();
66  void showStreamMenu(QPoint pos);
67  void on_actionCopyAsCsv_triggered();
68  void on_actionCopyAsYaml_triggered();
69  void on_actionFindReverse_triggered();
70  void on_actionGoToSetup_triggered();
71  void on_actionMarkPackets_triggered();
72  void on_actionPrepareFilter_triggered();
73  void on_actionSelectNone_triggered();
74  void on_streamTreeWidget_itemSelectionChanged();
75  void on_buttonBox_helpRequested();
76  void on_buttonBox_clicked(QAbstractButton *button);
77  void on_actionExportAsRtpDump_triggered();
78  void on_actionAnalyze_triggered();
79 };
80 
81 #endif // RTP_STREAM_DIALOG_H
82 
83 /*
84  * Editor modelines
85  *
86  * Local Variables:
87  * c-basic-offset: 4
88  * tab-width: 8
89  * indent-tabs-mode: nil
90  * End:
91  *
92  * ex: set shiftwidth=4 tabstop=8 expandtab:
93  * :indentSize=4:tabSize=8:noTabs=true:
94  */
Definition: rtp_stream_dialog.h:24
Definition: ui_about_dialog.h:291
Definition: ui_rtp_stream_dialog.h:164
Definition: frame_data.h:53
Definition: rtp_stream.h:83
Definition: wireshark_dialog.h:32
Definition: capture_file.h:22