Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
voip_calls_dialog.h
1 /* voip_calls_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 VOIP_CALLS_DIALOG_H
11 #define VOIP_CALLS_DIALOG_H
12 
13 #include <config.h>
14 
15 #include <glib.h>
16 
17 #include "cfile.h"
18 
19 #include "ui/voip_calls.h"
20 
21 #include <ui/qt/models/voip_calls_info_model.h>
22 #include <ui/qt/models/cache_proxy_model.h>
23 #include "wireshark_dialog.h"
24 
25 #include <QMenu>
26 
27 class QAbstractButton;
28 
29 class SequenceInfo;
30 
31 namespace Ui {
32 class VoipCallsDialog;
33 }
34 
36 {
37  Q_OBJECT
38 
39 public:
40  explicit VoipCallsDialog(QWidget &parent, CaptureFile &cf, bool all_flows = false);
41  ~VoipCallsDialog();
42 
43 signals:
44  void updateFilter(QString filter, bool force = false);
45  void captureFileChanged(capture_file *cf);
46  void goToPacket(int packet_num);
47 
48 protected:
49  void contextMenuEvent(QContextMenuEvent *event);
50  virtual void removeTapListeners();
51 
52 protected slots:
53  void changeEvent(QEvent* event);
54 
55 private:
57  VoipCallsInfoModel *call_infos_model_;
58  CacheProxyModel *cache_model_;
59  QSortFilterProxyModel *sorted_model_;
60 
61  QWidget &parent_;
62  voip_calls_tapinfo_t tapinfo_;
63  SequenceInfo *sequence_info_;
64  QPushButton *prepare_button_;
65  QPushButton *sequence_button_;
66  QPushButton *player_button_;
67  QPushButton *copy_button_;
68  QMenu ctx_menu_;
69 
70  // Tap callbacks
71 // static void tapReset(void *tapinfo_ptr);
72  static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
73  static void tapDraw(void *tapinfo_ptr);
74 
75  void updateCalls();
76  void prepareFilter();
77  void showSequence();
78  void showPlayer();
79 
80  QList<QVariant> streamRowData(int row) const;
81 
82 private slots:
83  void captureFileClosing();
84  void on_callTreeView_activated(const QModelIndex &index);
85  void on_actionSelect_All_triggered();
86  void on_actionCopyAsCsv_triggered();
87  void on_actionCopyAsYaml_triggered();
88  void on_buttonBox_clicked(QAbstractButton *button);
89  void on_buttonBox_helpRequested();
90  void on_todCheckBox_stateChanged(int state);
91  void updateWidgets();
92 };
93 
94 #endif // VOIP_CALLS_DIALOG_H
95 
96 /*
97  * Editor modelines
98  *
99  * Local Variables:
100  * c-basic-offset: 4
101  * tab-width: 8
102  * indent-tabs-mode: nil
103  * End:
104  *
105  * ex: set shiftwidth=4 tabstop=8 expandtab:
106  * :indentSize=4:tabSize=8:noTabs=true:
107  */
Definition: packet_info.h:44
Definition: ui_about_dialog.h:291
Definition: voip_calls_dialog.h:35
Definition: voip_calls.h:171
Definition: voip_calls_info_model.h:22
Definition: cache_proxy_model.h:25
Definition: ui_voip_calls_dialog.h:122
Definition: epan_dissect.h:28
Definition: wireshark_dialog.h:32
Definition: cfile.h:58
Definition: capture_file.h:22
Definition: sequence_dialog.h:33