File indexing completed on 2024-05-12 12:00:16

0001 /*
0002     SPDX-FileCopyrightText: 2015 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 #include "bearer.h"
0008 
0009 Bearer::Bearer(QObject *parent)
0010     : QObject(parent)
0011     , m_connected(false)
0012     , m_ipTimeout(0)
0013     , m_suspended(false)
0014 {
0015 }
0016 
0017 Bearer::~Bearer()
0018 {
0019 }
0020 
0021 bool Bearer::connected() const
0022 {
0023     return m_connected;
0024 }
0025 
0026 QString Bearer::interface() const
0027 {
0028     return m_interface;
0029 }
0030 
0031 QVariantMap Bearer::ip4Config() const
0032 {
0033     return m_ip4Config;
0034 }
0035 
0036 QVariantMap Bearer::ip6Config() const
0037 {
0038     return m_ip6Config;
0039 }
0040 
0041 uint Bearer::ipTimeout() const
0042 {
0043     return m_ipTimeout;
0044 }
0045 
0046 QVariantMap Bearer::properties() const
0047 {
0048     return m_properties;
0049 }
0050 
0051 bool Bearer::suspended() const
0052 {
0053     return m_suspended;
0054 }
0055 
0056 QString Bearer::bearerPath() const
0057 {
0058     return m_bearerPath;
0059 }
0060 
0061 void Bearer::setBearerPath(const QString &path)
0062 {
0063     m_bearerPath = path;
0064 }
0065 
0066 void Bearer::setEnableNotifications(bool enable)
0067 {
0068     m_enabledNotifications = enable;
0069 }
0070 
0071 void Bearer::setConnected(bool connected)
0072 {
0073     m_connected = connected;
0074 
0075     if (m_enabledNotifications) {
0076         QVariantMap map;
0077         map.insert(QLatin1String("Connected"), m_connected);
0078         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0079         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0080         QDBusConnection::sessionBus().send(message);
0081     }
0082 }
0083 
0084 void Bearer::setInterface(const QString &interface)
0085 {
0086     m_interface = interface;
0087 
0088     if (m_enabledNotifications) {
0089         QVariantMap map;
0090         map.insert(QLatin1String("Interface"), m_interface);
0091         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0092         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0093         QDBusConnection::sessionBus().send(message);
0094     }
0095 }
0096 
0097 void Bearer::setIp4Config(const QVariantMap &config)
0098 {
0099     m_ip4Config = config;
0100 
0101     if (m_enabledNotifications) {
0102         QVariantMap map;
0103         map.insert(QLatin1String("Ip4Config"), QVariant::fromValue<QVariantMap>(m_ip4Config));
0104         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0105         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0106         QDBusConnection::sessionBus().send(message);
0107     }
0108 }
0109 
0110 void Bearer::setIp6Config(const QVariantMap &config)
0111 {
0112     m_ip6Config = config;
0113 
0114     if (m_enabledNotifications) {
0115         QVariantMap map;
0116         map.insert(QLatin1String("Ip6Config"), QVariant::fromValue<QVariantMap>(m_ip6Config));
0117         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0118         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0119         QDBusConnection::sessionBus().send(message);
0120     }
0121 }
0122 
0123 void Bearer::setIpTimeout(uint timeout)
0124 {
0125     m_ipTimeout = timeout;
0126 
0127     if (m_enabledNotifications) {
0128         QVariantMap map;
0129         map.insert(QLatin1String("IpTimeout"), m_ipTimeout);
0130         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0131         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0132         QDBusConnection::sessionBus().send(message);
0133     }
0134 }
0135 
0136 void Bearer::setProperties(const QVariantMap &properties)
0137 {
0138     m_properties = properties;
0139 
0140     if (m_enabledNotifications) {
0141         QVariantMap map;
0142         map.insert(QLatin1String("Properties"), QVariant::fromValue<QVariantMap>(m_properties));
0143         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0144         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0145         QDBusConnection::sessionBus().send(message);
0146     }
0147 }
0148 
0149 void Bearer::setSuspended(bool suspended)
0150 {
0151     m_suspended = suspended;
0152 
0153     if (m_enabledNotifications) {
0154         QVariantMap map;
0155         map.insert(QLatin1String("Suspended"), m_suspended);
0156         QDBusMessage message = QDBusMessage::createSignal(m_bearerPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0157         message << QLatin1String("org.kde.fakemodem.Bearer") << map << QStringList();
0158         QDBusConnection::sessionBus().send(message);
0159     }
0160 }
0161 
0162 void Bearer::Connect()
0163 {
0164     // TODO
0165 }
0166 
0167 void Bearer::Disconnect()
0168 {
0169     // TODO
0170 }
0171 
0172 #include "moc_bearer.cpp"