DtkNetworkManager
NetworkManager DBus interface binding for Qt
dipconflictcheck.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DIPCONFLICTCHECK_H
6#define DIPCONFLICTCHECK_H
7
9#include <QScopedPointer>
10#include <DExpected>
11
12DNETWORKMANAGER_BEGIN_NAMESPACE
13
14using DCORE_NAMESPACE::DExpected;
15
16class DIPConflictCheckPrivate;
17
18class DIPConflictCheck : public QObject
19{
20 Q_OBJECT
21public:
22 explicit DIPConflictCheck(QObject *parent = nullptr);
23 ~DIPConflictCheck() override;
24
25public Q_SLOTS:
26 DExpected<QByteArray> requestIPConflictCheck(const QByteArray &ip, const QByteArray &ifc) const;
27
28Q_SIGNALS:
29 void IPConflict(const QByteArray &ip, const QByteArray &smac, const QByteArray &dmac);
30
31private:
32 QScopedPointer<DIPConflictCheckPrivate> d_ptr;
33 Q_DECLARE_PRIVATE(DIPConflictCheck)
34};
35
36DNETWORKMANAGER_END_NAMESPACE
37
38#endif
对于检查ip冲突方法的封装
Definition: dipconflictcheck.h:19
void IPConflict(const QByteArray &ip, const QByteArray &smac, const QByteArray &dmac)
信号, 当ip冲突被检测到时触发, 三个参数分别代表对应的ip, 源mac地址, 对应目标mac地址
DExpected< QByteArray > requestIPConflictCheck(const QByteArray &ip, const QByteArray &ifc) const
检测给定Ip是否冲突