Fix comment end after SPDX identifier
[metze/wireshark/wip.git] / ui / qt / 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
31 typedef struct _bluetooth_device_tapinfo_t {
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;
40 } bluetooth_device_tapinfo_t;
41
42 typedef struct _bluetooth_item_data_t {
43         guint32  interface_id;
44         guint32  adapter_id;
45         guint32  frame_number;
46         gint     changes;
47 } bluetooth_item_data_t;
48
49 namespace Ui {
50 class BluetoothDeviceDialog;
51 }
52
53 class BluetoothDeviceDialog : public WiresharkDialog
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);
59     ~BluetoothDeviceDialog();
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:
75     Ui::BluetoothDeviceDialog *ui;
76
77     bluetooth_device_tapinfo_t   tapinfo_;
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  */