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"