File indexing completed on 2025-03-16 12:58:27
0001 /* 0002 SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com> 0003 SPDX-FileCopyrightText: 2014 Jan Grulich <jgrulich@redhat.com> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #ifndef NETWORKMANAGERQT_VETH_DEVICE_H 0009 #define NETWORKMANAGERQT_VETH_DEVICE_H 0010 0011 #include "device.h" 0012 #include <networkmanagerqt/networkmanagerqt_export.h> 0013 0014 namespace NetworkManager 0015 { 0016 class VethDevicePrivate; 0017 0018 /** 0019 * A veth device interface 0020 */ 0021 class NETWORKMANAGERQT_EXPORT VethDevice : public Device 0022 { 0023 Q_OBJECT 0024 Q_PROPERTY(QString peer READ peer NOTIFY peerChanged) 0025 0026 public: 0027 typedef QSharedPointer<VethDevice> Ptr; 0028 typedef QList<Ptr> List; 0029 0030 explicit VethDevice(const QString &path, QObject *parent = nullptr); 0031 ~VethDevice() override; 0032 0033 Type type() const override; 0034 0035 QString peer() const; 0036 0037 Q_SIGNALS: 0038 void peerChanged(const QString &peer); 0039 0040 private: 0041 Q_DECLARE_PRIVATE(VethDevice) 0042 }; 0043 0044 } 0045 0046 #endif