Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
qt
bantablemodel.h
Go to the documentation of this file.
1
// Copyright (c) 2011-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#ifndef BITCOIN_QT_BANTABLEMODEL_H
6
#define BITCOIN_QT_BANTABLEMODEL_H
7
8
#include <
addrdb.h
>
9
#include <net.h>
10
11
#include <memory>
12
13
#include <QAbstractTableModel>
14
#include <QStringList>
15
16
class
BanTablePriv
;
17
18
namespace
interfaces
{
19
class
Node
;
20
}
21
22
struct
CCombinedBan
{
23
CSubNet
subnet
;
24
CBanEntry
banEntry
;
25
};
26
27
class
BannedNodeLessThan
28
{
29
public
:
30
BannedNodeLessThan
(
int
nColumn, Qt::SortOrder fOrder) :
31
column
(nColumn),
order
(fOrder) {}
32
bool
operator()
(
const
CCombinedBan
& left,
const
CCombinedBan
& right)
const
;
33
34
private
:
35
int
column
;
36
Qt::SortOrder
order
;
37
};
38
43
class
BanTableModel
:
public
QAbstractTableModel
44
{
45
Q_OBJECT
46
47
public
:
48
explicit
BanTableModel
(
interfaces::Node
&
node
, QObject* parent);
49
~BanTableModel
();
50
void
startAutoRefresh
();
51
void
stopAutoRefresh
();
52
53
enum
ColumnIndex
{
54
Address
= 0,
55
Bantime
= 1
56
};
57
60
int
rowCount
(
const
QModelIndex &parent)
const override
;
61
int
columnCount
(
const
QModelIndex &parent)
const override
;
62
QVariant
data
(
const
QModelIndex &
index
,
int
role)
const override
;
63
QVariant
headerData
(
int
section, Qt::Orientation orientation,
int
role)
const override
;
64
QModelIndex
index
(
int
row,
int
column,
const
QModelIndex &parent)
const override
;
65
Qt::ItemFlags
flags
(
const
QModelIndex &
index
)
const override
;
66
void
sort
(
int
column, Qt::SortOrder order)
override
;
68
69
bool
shouldShow
();
70
71
bool
unban
(
const
QModelIndex&
index
);
72
73
public
Q_SLOTS:
74
void
refresh
();
75
76
private
:
77
interfaces::Node
&
m_node
;
78
QStringList
columns
;
79
std::unique_ptr<BanTablePriv>
priv
;
80
};
81
82
#endif
// BITCOIN_QT_BANTABLEMODEL_H
addrdb.h
flags
int flags
Definition
bitcoin-tx.cpp:529
BanTableModel::refresh
void refresh()
Definition
bantablemodel.cpp:163
BanTableModel::priv
std::unique_ptr< BanTablePriv > priv
Definition
bantablemodel.h:79
BanTableModel::data
QVariant data(const QModelIndex &index, int role) const override
Definition
bantablemodel.cpp:110
BanTableModel::m_node
interfaces::Node & m_node
Definition
bantablemodel.h:77
BanTableModel::columnCount
int columnCount(const QModelIndex &parent) const override
Definition
bantablemodel.cpp:102
BanTableModel::headerData
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition
bantablemodel.cpp:133
BanTableModel::stopAutoRefresh
void stopAutoRefresh()
BanTableModel::sort
void sort(int column, Qt::SortOrder order) override
Definition
bantablemodel.cpp:170
BanTableModel::rowCount
int rowCount(const QModelIndex &parent) const override
Definition
bantablemodel.cpp:94
BanTableModel::startAutoRefresh
void startAutoRefresh()
BanTableModel::ColumnIndex
ColumnIndex
Definition
bantablemodel.h:53
BanTableModel::Address
@ Address
Definition
bantablemodel.h:54
BanTableModel::Bantime
@ Bantime
Definition
bantablemodel.h:55
BanTableModel::unban
bool unban(const QModelIndex &index)
Definition
bantablemodel.cpp:182
BanTableModel::columns
QStringList columns
Definition
bantablemodel.h:78
BanTableModel::index
QModelIndex index(int row, int column, const QModelIndex &parent) const override
Definition
bantablemodel.cpp:153
BanTableModel::~BanTableModel
~BanTableModel()
BanTableModel::BanTableModel
BanTableModel(interfaces::Node &node, QObject *parent)
Definition
bantablemodel.cpp:81
BanTableModel::shouldShow
bool shouldShow()
Definition
bantablemodel.cpp:177
BanTablePriv
Definition
bantablemodel.cpp:37
BannedNodeLessThan::BannedNodeLessThan
BannedNodeLessThan(int nColumn, Qt::SortOrder fOrder)
Definition
bantablemodel.h:30
BannedNodeLessThan::order
Qt::SortOrder order
Definition
bantablemodel.h:36
BannedNodeLessThan::operator()
bool operator()(const CCombinedBan &left, const CCombinedBan &right) const
Definition
bantablemodel.cpp:18
BannedNodeLessThan::column
int column
Definition
bantablemodel.h:35
CBanEntry
Definition
net_types.h:15
CSubNet
Definition
netaddress.h:480
interfaces::Node
Top-level interface for a bitcoin node (bitcoind process).
Definition
node.h:70
interfaces
Definition
interfaces.cpp:41
node
Definition
messages.h:21
CCombinedBan
Definition
bantablemodel.h:22
CCombinedBan::banEntry
CBanEntry banEntry
Definition
bantablemodel.h:24
CCombinedBan::subnet
CSubNet subnet
Definition
bantablemodel.h:23
Generated on
for Bitcoin Core by
1.17.0