Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
bluetooth_device_dialog.h
1 /* bluetooth_device_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 BLUETOOTH_DEVICE_DIALOG_H
11 #define BLUETOOTH_DEVICE_DIALOG_H
12 
13 #include "config.h"
14 
15 #include <glib.h>
16 
17 #include "wireshark_dialog.h"
18 #include "cfile.h"
19 
20 #include "epan/tap.h"
21 
22 #include "epan/dissectors/packet-bluetooth.h"
23 
24 #include <QMenu>
25 #include <QTableWidget>
26 
27 class QAbstractButton;
28 class QPushButton;
29 class QTreeWidgetItem;
30 
32  tap_reset_cb tap_reset;
33  tap_packet_cb tap_packet;
34  QString bdAddr;
35  guint32 interface_id;
36  guint32 adapter_id;
37  gboolean is_local;
38  void *ui;
39  guint *changes;
41 
42 typedef struct _bluetooth_item_data_t {
43  guint32 interface_id;
44  guint32 adapter_id;
45  guint32 frame_number;
46  gint changes;
48 
49 namespace Ui {
51 }
52 
54 {
55  Q_OBJECT
56 
57 public:
58  explicit BluetoothDeviceDialog(QWidget &parent, CaptureFile &cf, QString bdAddr, QString name, guint32 interface_id, guint32 adapter_id, gboolean is_local);
60 
61 public slots:
62 
63 signals:
64  void updateFilter(QString &filter, bool force = false);
65  void captureFileChanged(capture_file *cf);
66  void goToPacket(int packet_num);
67 
68 protected:
69  void keyPressEvent(QKeyEvent *event);
70 
71 protected slots:
72  void changeEvent(QEvent* event);
73 
74 private:
76 
78  QMenu context_menu_;
79  guint changes_;
80 
81  static void tapReset(void *tapinfo_ptr);
82  static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
83  static void updateChanges(QTableWidget *tableWidget, QString value, const int row, guint *changes, packet_info *pinfo);
84  static void saveItemData(QTableWidgetItem *item, bluetooth_device_tap_t *tap_device, packet_info *pinfo);
85 
86 private slots:
87  void captureFileClosing();
88  void setTitle(QString bdAddr, QString name);
89  void on_tableWidget_itemActivated(QTableWidgetItem *item);
90  void on_buttonBox_clicked(QAbstractButton *button);
91  void on_actionMark_Unmark_Cell_triggered();
92  void on_actionMark_Unmark_Row_triggered();
93  void on_actionCopy_Cell_triggered();
94  void on_actionCopy_Rows_triggered();
95  void on_actionCopy_All_triggered();
96  void on_actionSave_as_image_triggered();
97  void tableContextMenu(const QPoint &pos);
98  void interfaceCurrentIndexChanged(int index);
99  void showInformationStepsChanged(int state);
100 };
101 
102 #endif // BLUETOOTH_DEVICE_DIALOG_H
103 
104 /*
105  * Editor modelines
106  *
107  * Local Variables:
108  * c-basic-offset: 4
109  * tab-width: 8
110  * indent-tabs-mode: nil
111  * End:
112  *
113  * ex: set shiftwidth=4 tabstop=8 expandtab:
114  * :indentSize=4:tabSize=8:noTabs=true:
115  */
Definition: packet-bluetooth.h:200
Definition: bluetooth_device_dialog.h:42
Definition: packet_info.h:44
Definition: ui_about_dialog.h:291
Definition: ui_bluetooth_device_dialog.h:227
Definition: bluetooth_device_dialog.h:31
Definition: bluetooth_device_dialog.h:53
Definition: epan_dissect.h:28
Definition: wireshark_dialog.h:32
Definition: cfile.h:58
Definition: capture_file.h:22