File indexing completed on 2024-05-05 16:20:41

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_SETTINGS_ACTIVE_CONNECTION_H
0008 #define NETWORKMANAGERQT_FAKE_NETWORK_SETTINGS_ACTIVE_CONNECTION_H
0009 
0010 #include <QObject>
0011 
0012 #include <QDBusObjectPath>
0013 
0014 #include "../device.h"
0015 
0016 #include "device.h"
0017 
0018 class ActiveConnection : public QObject
0019 {
0020     Q_OBJECT
0021     Q_CLASSINFO("D-Bus Interface", "org.kde.fakenetwork.Connection.Active")
0022 public:
0023     explicit ActiveConnection(QObject *parent = nullptr);
0024     ~ActiveConnection() override;
0025 
0026     Q_PROPERTY(QDBusObjectPath Connection READ connection)
0027     Q_PROPERTY(bool Default READ default4)
0028     Q_PROPERTY(bool Default6 READ default6)
0029     Q_PROPERTY(QList<QDBusObjectPath> Devices READ devices)
0030     Q_PROPERTY(QDBusObjectPath Dhcp4Config READ dhcp4Config)
0031     Q_PROPERTY(QDBusObjectPath Dhcp6Config READ dhcp6Config)
0032     Q_PROPERTY(QDBusObjectPath Ip4Config READ ip4Config)
0033     Q_PROPERTY(QDBusObjectPath Ip6Config READ ip6Config)
0034     Q_PROPERTY(QDBusObjectPath Master READ master)
0035     Q_PROPERTY(QDBusObjectPath SpecificObject READ specificObject)
0036     Q_PROPERTY(uint State READ state)
0037     Q_PROPERTY(QString Id READ id)
0038     Q_PROPERTY(QString Uuid READ uuid)
0039     Q_PROPERTY(QString Type READ type)
0040     Q_PROPERTY(bool Vpn READ vpn)
0041 
0042     QDBusObjectPath connection() const;
0043     bool default4() const;
0044     bool default6() const;
0045     QList<QDBusObjectPath> devices() const;
0046     QDBusObjectPath dhcp4Config() const;
0047     QDBusObjectPath dhcp6Config() const;
0048     QDBusObjectPath ip4Config() const;
0049     QDBusObjectPath ip6Config() const;
0050     QDBusObjectPath master() const;
0051     QDBusObjectPath specificObject() const;
0052     uint state() const;
0053     QString id() const;
0054     QString uuid() const;
0055     QString type() const;
0056     bool vpn() const;
0057 
0058     /* Not part of DBus interface */
0059     void addDevice(const QDBusObjectPath &path);
0060     void removeDevice(const QDBusObjectPath &device);
0061     QString activeConnectionPath() const;
0062     void setActiveConnectionPath(const QString &path);
0063     void setConnection(const QDBusObjectPath &connection);
0064     void setDefault4(bool default4);
0065     void setDefault6(bool default6);
0066     void setDhcp4Config(const QDBusObjectPath &dhcp4Config);
0067     void setDhcp6Config(const QDBusObjectPath &dhcp6Config);
0068     void setIpv4Config(const QDBusObjectPath &ipv4Config);
0069     void setIpv6Config(const QDBusObjectPath &ipv6Config);
0070     void setMaster(const QDBusObjectPath &master);
0071     void setSpecificObject(const QDBusObjectPath &specificObject);
0072     void setState(uint state);
0073     void setId(const QString &id);
0074     void setUuid(const QString &uuid);
0075     void setType(const QString &type);
0076 
0077 Q_SIGNALS:
0078     Q_SCRIPTABLE void PropertiesChanged(const QVariantMap &properties);
0079     Q_SCRIPTABLE void StateChanged(uint state, uint reason);
0080 
0081 private:
0082     QDBusObjectPath m_connection;
0083     bool m_default4;
0084     bool m_default6;
0085     QList<QDBusObjectPath> m_devices;
0086     QDBusObjectPath m_dhcp4Config;
0087     QDBusObjectPath m_dhcp6Config;
0088     QDBusObjectPath m_ip4Config;
0089     QDBusObjectPath m_ip6Config;
0090     QDBusObjectPath m_master;
0091     QDBusObjectPath m_specificObject;
0092     uint m_state;
0093     QString m_id;
0094     QString m_uuid;
0095     QString m_type;
0096     bool m_vpn;
0097 
0098     /* Not part of DBus interface */
0099     QString m_activeConnectionPath;
0100 };
0101 
0102 #endif