3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
7 * SPDX-License-Identifier: GPL-2.0-or-later
10 #ifndef MANUF_TABLE_MODEL_H
11 #define MANUF_TABLE_MODEL_H
13 #include <QSortFilterProxyModel>
14 #include <QAbstractTableModel>
17 #include <wireshark.h>
18 #include <epan/manuf.h>
23 ManufTableItem(struct ws_manuf
*ptr
);
26 QByteArray block_bytes_
;
32 class ManufTableModel
: public QAbstractTableModel
37 ManufTableModel(QObject
*parent
);
39 virtual int rowCount(const QModelIndex
&parent
= QModelIndex()) const ;
40 virtual int columnCount(const QModelIndex
&parent
= QModelIndex()) const;
41 virtual QVariant
data(const QModelIndex
&index
, int role
= Qt::DisplayRole
) const;
42 virtual QVariant
headerData(int section
, Qt::Orientation orientation
, int role
= Qt::DisplayRole
) const;
44 void addRecord(struct ws_manuf
*ptr
);
56 QList
<ManufTableItem
*> rows_
;
59 class ManufSortFilterProxyModel
: public QSortFilterProxyModel
64 enum ManufProxyFilterType
70 Q_ENUM(ManufProxyFilterType
)
72 ManufSortFilterProxyModel(QObject
*parent
);
74 virtual bool filterAcceptsRow(int source_row
, const QModelIndex
& source_parent
) const;
77 void setFilterAddress(const QByteArray
&);
78 void setFilterName(QRegularExpression
&);
82 ManufProxyFilterType filter_type_
;
83 QByteArray filter_bytes_
;
84 QRegularExpression filter_name_
;
86 bool filterAddressAcceptsRow(int source_row
, const QModelIndex
& source_parent
) const;
87 bool filterNameAcceptsRow(int source_row
, const QModelIndex
& source_parent
) const;