1 | /* |
2 | SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com> |
3 | SPDX-FileCopyrightText: 2014 Jan Grulich <jgrulich@redhat.com> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
6 | */ |
7 | |
8 | #ifndef NETWORKMANAGERQT_VETH_DEVICE_H |
9 | #define NETWORKMANAGERQT_VETH_DEVICE_H |
10 | |
11 | #include "device.h" |
12 | #include <networkmanagerqt/networkmanagerqt_export.h> |
13 | |
14 | namespace NetworkManager |
15 | { |
16 | class VethDevicePrivate; |
17 | |
18 | /*! |
19 | * \class NetworkManager::VethDevice |
20 | * \inheaderfile NetworkManagerQt/VethDevice |
21 | * \inmodule NetworkManagerQt |
22 | * |
23 | * \brief A veth device interface. |
24 | */ |
25 | class NETWORKMANAGERQT_EXPORT VethDevice : public Device |
26 | { |
27 | Q_OBJECT |
28 | /*! |
29 | * \property NetworkManager::VethDevice::peer |
30 | */ |
31 | Q_PROPERTY(QString peer READ peer NOTIFY peerChanged) |
32 | |
33 | public: |
34 | /*! |
35 | * \typedef NetworkManager::VethDevice::Ptr |
36 | */ |
37 | typedef QSharedPointer<VethDevice> Ptr; |
38 | /*! |
39 | * \typedef NetworkManager::VethDevice::List |
40 | */ |
41 | typedef QList<Ptr> List; |
42 | |
43 | /*! |
44 | */ |
45 | explicit VethDevice(const QString &path, QObject *parent = nullptr); |
46 | ~VethDevice() override; |
47 | |
48 | Type type() const override; |
49 | |
50 | /*! |
51 | */ |
52 | QString peer() const; |
53 | |
54 | Q_SIGNALS: |
55 | /*! |
56 | */ |
57 | void peerChanged(const QString &peer); |
58 | |
59 | private: |
60 | Q_DECLARE_PRIVATE(VethDevice) |
61 | }; |
62 | |
63 | } |
64 | |
65 | #endif |
66 | |