File indexing completed on 2024-05-12 16:59:53
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Carl Schwan <carl@carlschwan.eu> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QAbstractTableModel> 0010 0011 class NetworkModel : public QAbstractListModel 0012 { 0013 Q_OBJECT 0014 0015 public: 0016 struct MyNIC { 0017 QString name; 0018 QString addr; 0019 QString netmask; 0020 bool state; 0021 QString type; 0022 QString HWaddr; 0023 }; 0024 0025 enum Roles { 0026 NameRole = Qt::UserRole + 1, 0027 AddrRole, 0028 NetMaskRole, 0029 TypeRole, 0030 HWAddrRole, 0031 StateRole, 0032 }; 0033 0034 explicit NetworkModel(QObject *parent = nullptr); 0035 ~NetworkModel() override = default; 0036 0037 virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0038 virtual QHash<int, QByteArray> roleNames() const override; 0039 virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override; 0040 0041 Q_INVOKABLE void update(); 0042 0043 private: 0044 QList<MyNIC *> m_nics; 0045 };