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