File indexing completed on 2024-04-14 03:57:31

0001 /*
0002     SPDX-FileCopyrightText: 2014 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef NETWORKMANAGERQT_FAKE_NETWORK_DEVICE_H
0008 #define NETWORKMANAGERQT_FAKE_NETWORK_DEVICE_H
0009 
0010 #include <QObject>
0011 
0012 #include <QDBusObjectPath>
0013 
0014 #include "../device.h"
0015 #include "../generictypes.h"
0016 
0017 class Device : public QObject
0018 {
0019     Q_OBJECT
0020     Q_CLASSINFO("D-Bus Interface", "org.kde.fakenetwork.Device")
0021 public:
0022     explicit Device(QObject *parent = nullptr);
0023     ~Device() override;
0024 
0025     Q_PROPERTY(QDBusObjectPath ActiveConnection READ activeConnection)
0026     Q_PROPERTY(bool Autoconnect READ autoconnect WRITE setAutoconnect)
0027     Q_PROPERTY(QList<QDBusObjectPath> AvailableConnections READ availableConnections)
0028     Q_PROPERTY(uint Capabilities READ capabilities)
0029     Q_PROPERTY(uint DeviceType READ deviceType)
0030     Q_PROPERTY(QDBusObjectPath Dhcp4Config READ dhcp4Config)
0031     Q_PROPERTY(QDBusObjectPath Dhcp6Config READ dhcp6Config)
0032     Q_PROPERTY(QString Driver READ driver)
0033     Q_PROPERTY(QString DriverVersion READ driverVersion)
0034     Q_PROPERTY(bool FirmwareMissing READ firmwareMissing)
0035     Q_PROPERTY(QString FirmwareVersion READ firmwareVersion)
0036     Q_PROPERTY(QString Interface READ interface)
0037     Q_PROPERTY(int Ip4Address READ ip4Address)
0038     Q_PROPERTY(QDBusObjectPath Ip4Config READ ip4Config)
0039     Q_PROPERTY(QDBusObjectPath Ip6Config READ ip6Config)
0040     Q_PROPERTY(QString IpInterface READ ipInterface)
0041     Q_PROPERTY(uint InterfaceFlags READ interfaceFlags)
0042     Q_PROPERTY(bool Managed READ managed)
0043     Q_PROPERTY(uint Mtu READ mtu)
0044     Q_PROPERTY(uint State READ state)
0045     Q_PROPERTY(DeviceDBusStateReason StateReason READ stateReason)
0046     Q_PROPERTY(QString Udi READ udi)
0047 
0048     QDBusObjectPath activeConnection() const;
0049     bool autoconnect() const;
0050     void setAutoconnect(bool autoconnect);
0051     QList<QDBusObjectPath> availableConnections() const;
0052     uint capabilities() const;
0053     uint deviceType() const;
0054     QDBusObjectPath dhcp4Config() const;
0055     QDBusObjectPath dhcp6Config() const;
0056     QString driver() const;
0057     QString driverVersion() const;
0058     bool firmwareMissing() const;
0059     QString firmwareVersion() const;
0060     QString interface() const;
0061     int ip4Address() const;
0062     QDBusObjectPath ip4Config() const;
0063     QDBusObjectPath ip6Config() const;
0064     QString ipInterface() const;
0065     uint interfaceFlags() const;
0066     bool managed() const;
0067     uint mtu() const;
0068     uint state() const;
0069     DeviceDBusStateReason stateReason() const;
0070     QString udi() const;
0071 
0072     /* Not part of DBus interface */
0073     void addAvailableConnection(const QDBusObjectPath &availableConnection);
0074     void removeAvailableConnection(const QDBusObjectPath &availableConnection);
0075     void setActiveConnection(const QString &activeConnection);
0076     void setCapabilities(uint capabilities);
0077     QString deviceInterface() const;
0078     QString devicePath() const;
0079     void setDevicePath(const QString &devicePath);
0080     void setDeviceType(uint deviceType);
0081     void setDhcp4Config(const QString &config);
0082     void setDhcp6Config(const QString &config);
0083     void setDriver(const QString &driver);
0084     void setDriverVersion(const QString &driverVersion);
0085     void setFirmwareMissing(bool firmwareMissing);
0086     void setFirmwareVersion(const QString &firmwareVersion);
0087     void setInterface(const QString &interface);
0088     void setInterfaceFlags(uint interfaceFlags);
0089     void setIpv4Address(int address);
0090     void setIp4Config(const QString &config);
0091     void setIp6Config(const QString &config);
0092     void setIpInterface(const QString &interface);
0093     void setManaged(bool managed);
0094     void setMtu(uint mtu);
0095     virtual void setState(uint state);
0096     void setStateReason(const DeviceDBusStateReason &reason);
0097     void setUdi(const QString &udi);
0098 
0099 public Q_SLOTS:
0100     Q_SCRIPTABLE void Disconnect();
0101 
0102 Q_SIGNALS:
0103     void activeConnectionRemoved(const QDBusObjectPath &activeConnection);
0104     Q_SCRIPTABLE void StateChanged(uint new_state, uint old_state, uint reason);
0105 
0106 private:
0107     QDBusObjectPath m_activeConnection;
0108     bool m_autoconnect;
0109     QList<QDBusObjectPath> m_availableConnections;
0110     uint m_capabilities;
0111     QString m_devicePath;
0112     uint m_deviceType;
0113     QDBusObjectPath m_dhcp4Config;
0114     QDBusObjectPath m_dhcp6Config;
0115     QString m_driver;
0116     QString m_driverVersion;
0117     bool m_firmwareMissing;
0118     QString m_firmwareVersion;
0119     QString m_interface;
0120     uint m_interfaceFlags;
0121     int m_ip4Address;
0122     QDBusObjectPath m_ip4Config;
0123     QDBusObjectPath m_ip6Config;
0124     QString m_ipInterface;
0125     bool m_managed;
0126     uint m_mtu;
0127     QString m_physicalPortId;
0128     uint m_state;
0129     DeviceDBusStateReason m_stateReason;
0130     QString m_udi;
0131 };
0132 
0133 #endif