summaryrefslogtreecommitdiff
path: root/ui/qt/bluetooth_hci_summary_dialog.h
diff options
context:
space:
mode:
authorMichal Labedzki <michal.labedzki@tieto.com>2015-06-08 19:38:48 +0200
committerMichal Labedzki <michal.labedzki@tieto.com>2015-07-17 13:54:43 +0000
commit3faec795e9c5b5f153f66960c11673c2f53e4243 (patch)
tree4df5f704a41290a0a0694c3896a8a7e6521001ac /ui/qt/bluetooth_hci_summary_dialog.h
parent6514dece0c755854081a0a0ccb525e6bc9dbbaff (diff)
downloadwireshark-3faec795e9c5b5f153f66960c11673c2f53e4243.tar.gz
Qt/Bluetooth: Add HCI Summary dialogue
HCI Summary dialogue collect HCI Opcodes, HCI Events, Hardware Errors, Statuses and Reasons. Also show occurrence of them. The top level item is group of items (by OGF or types), the second level item is in real command, event, hardware error, status or reason. The third level items are direct link to packet that contains second level item type. Change-Id: I6b6bd02533c4605a2dd2c1f5dfee46f72a0f3fdc Reviewed-on: https://code.wireshark.org/review/9676 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Diffstat (limited to 'ui/qt/bluetooth_hci_summary_dialog.h')
-rw-r--r--ui/qt/bluetooth_hci_summary_dialog.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/ui/qt/bluetooth_hci_summary_dialog.h b/ui/qt/bluetooth_hci_summary_dialog.h
new file mode 100644
index 0000000000..ee3b92259e
--- /dev/null
+++ b/ui/qt/bluetooth_hci_summary_dialog.h
@@ -0,0 +1,124 @@
+/* bluetooth_hci_summary_dialog.h
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef BLUETOOTH_HCI_SUMMARY_DIALOG_H
+#define BLUETOOTH_HCI_SUMMARY_DIALOG_H
+
+#include "config.h"
+
+#include <glib.h>
+
+#include "wireshark_dialog.h"
+#include "cfile.h"
+#include "packet_list.h"
+
+#include "epan/tap.h"
+
+#include <QMenu>
+
+class QAbstractButton;
+class QPushButton;
+class QTreeWidgetItem;
+
+typedef struct _bluetooth_hci_summary_tapinfo_t {
+ tap_reset_cb tap_reset;
+ tap_packet_cb tap_packet;
+ void *ui;
+} bluetooth_hci_summary_tapinfo_t;
+
+namespace Ui {
+class BluetoothHciSummaryDialog;
+}
+
+class BluetoothHciSummaryDialog : public WiresharkDialog
+{
+ Q_OBJECT
+
+public:
+ explicit BluetoothHciSummaryDialog(QWidget &parent, CaptureFile &cf);
+ ~BluetoothHciSummaryDialog();
+
+public slots:
+
+signals:
+ void updateFilter(QString &filter, bool force = false);
+ void captureFileChanged(capture_file *cf);
+ void goToPacket(int packet_num);
+
+protected:
+
+protected slots:
+ void changeEvent(QEvent* event);
+
+private:
+ Ui::BluetoothHciSummaryDialog *ui;
+
+ bluetooth_hci_summary_tapinfo_t tapinfo_;
+ QMenu context_menu_;
+
+ QTreeWidgetItem *item_link_control_;
+ QTreeWidgetItem *item_link_policy_;
+ QTreeWidgetItem *item_controller_and_baseband_;
+ QTreeWidgetItem *item_informational_;
+ QTreeWidgetItem *item_status_parameters_;
+ QTreeWidgetItem *item_testing_;
+ QTreeWidgetItem *item_low_energy_;
+ QTreeWidgetItem *item_logo_testing_;
+ QTreeWidgetItem *item_vendor_;
+ QTreeWidgetItem *item_unknown_ogf_;
+ QTreeWidgetItem *item_events_;
+ QTreeWidgetItem *item_status_;
+ QTreeWidgetItem *item_reason_;
+ QTreeWidgetItem *item_hardware_errors_;
+
+ static void tapReset(void *tapinfo_ptr);
+ static gboolean tapPacket(void *tapinfo_ptr, packet_info *pinfo, epan_dissect_t *, const void *data);
+
+private slots:
+ void captureFileClosing();
+ void recursiveCopyTreeItems(QTreeWidgetItem *item, QString &copy, int ident_level);
+ void on_tableTreeWidget_itemActivated(QTreeWidgetItem *item, int);
+ void on_buttonBox_clicked(QAbstractButton *button);
+ void on_actionCopy_Cell_triggered();
+ void on_actionCopy_Rows_triggered();
+ void on_actionCopy_All_triggered();
+ void on_actionSave_as_image_triggered();
+ void tableContextMenu(const QPoint &pos);
+ void tableItemExpanded(QTreeWidgetItem *item);
+ void tableItemCollapsed(QTreeWidgetItem *item);
+ void interfaceCurrentIndexChanged(int index);
+ void adapterCurrentIndexChanged(int index);
+};
+
+#endif // BLUETOOTH_HCI_SUMMARY_DIALOG_H
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */