44#include < qobject.h>
55#include < qtmetamacros.h>
66
7+ #include " ../../core/logcat.hpp"
78#include " ../../dbus/properties.hpp"
89#include " ../network.hpp"
910#include " ../wifi.hpp"
1415namespace qs ::network {
1516
1617namespace {
17- Q_LOGGING_CATEGORY (logNetworkManager, " quickshell.network.networkmanager" , QtWarningMsg);
18+ QS_LOGGING_CATEGORY (logNetworkManager, " quickshell.network.networkmanager" , QtWarningMsg);
1819}
1920
20- const QString NM_SERVICE = " org.freedesktop.NetworkManager" ;
21- const QString NM_PATH = " /org/freedesktop/NetworkManager" ;
22-
2321NetworkManager::NetworkManager (QObject* parent): NetworkBackend(parent) {
2422 qDBusRegisterMetaType<ConnectionSettingsMap>();
2523
@@ -30,11 +28,16 @@ NetworkManager::NetworkManager(QObject* parent): NetworkBackend(parent) {
3028 return ;
3129 }
3230
33- this ->proxy = new DBusNetworkManagerProxy (NM_SERVICE, NM_PATH, bus, this );
31+ this ->proxy = new DBusNetworkManagerProxy (
32+ " org.freedesktop.NetworkManager" ,
33+ " /org/freedesktop/NetworkManager" ,
34+ bus,
35+ this
36+ );
3437
3538 if (!this ->proxy ->isValid ()) {
3639 qCDebug (logNetworkManager
37- ) << " NetworkManager service is not currently running. This network backend will not work" ;
40+ ) << " NetworkManager is not currently running. This network backend will not work" ;
3841 } else {
3942 this ->init ();
4043 }
@@ -91,7 +94,7 @@ void NetworkManager::registerDevice(const QString& path) {
9194 auto pending = introspection->asyncCall (" Introspect" );
9295 auto * call = new QDBusPendingCallWatcher (pending, this );
9396
94- auto responseCallback = [this , path](QDBusPendingCallWatcher* call) {
97+ auto responseCallback = [this , path, introspection ](QDBusPendingCallWatcher* call) {
9598 const QDBusPendingReply<QString> reply = *call;
9699
97100 if (reply.isError ()) {
@@ -112,6 +115,7 @@ void NetworkManager::registerDevice(const QString& path) {
112115 }
113116 }
114117 delete call;
118+ delete introspection;
115119 };
116120
117121 QObject::connect (call, &QDBusPendingCallWatcher::finished, this , responseCallback);
@@ -150,9 +154,10 @@ void NetworkManager::registerWifiDevice(const QString& path) {
150154 QObject::connect (wireless, &NMWirelessDevice::wifiNetworkAdded, device, &WifiDevice::networkAdded);
151155 QObject::connect (wireless, &NMWirelessDevice::wifiNetworkRemoved, device, &WifiDevice::networkRemoved);
152156 QObject::connect (device, &WifiDevice::requestScan, wireless, &NMWirelessDevice::scan);
157+ QObject::connect (device, &WifiDevice::requestDisconnect, wireless, &NMWirelessDevice::disconnect);
153158 // clang-format on
154159
155- emit wifiDeviceAdded (device);
160+ emit this -> wifiDeviceAdded (device);
156161}
157162
158163void NetworkManager::onDevicePathAdded (const QDBusObjectPath& path) {
@@ -162,14 +167,12 @@ void NetworkManager::onDevicePathAdded(const QDBusObjectPath& path) {
162167void NetworkManager::onDevicePathRemoved (const QDBusObjectPath& path) {
163168 auto iter = this ->mDeviceHash .find (path.path ());
164169 if (iter == this ->mDeviceHash .end ()) {
165- qCWarning (logNetworkManager) << " NetworkManager sent removal signal for" << path.path ()
170+ qCWarning (logNetworkManager) << " Sent removal signal for" << path.path ()
166171 << " which is not registered." ;
167172 } else {
168173 auto * device = iter.value ();
169174 this ->mDeviceHash .erase (iter);
170- if (auto * wifi = qobject_cast<WifiDevice*>(device)) {
171- emit wifiDeviceRemoved (wifi);
172- };
175+ if (auto * wifi = qobject_cast<WifiDevice*>(device)) emit this ->wifiDeviceRemoved (wifi);
173176 delete device;
174177 }
175178}
@@ -185,8 +188,7 @@ void NetworkManager::activateConnection(
185188 const QDBusPendingReply<QDBusObjectPath> reply = *call;
186189
187190 if (reply.isError ()) {
188- qCWarning (logNetworkManager)
189- << " Failed to request connection activation:" << reply.error ().message ();
191+ qCWarning (logNetworkManager) << " Failed to activate connection:" << reply.error ().message ();
190192 }
191193 delete call;
192194 };
@@ -206,7 +208,7 @@ void NetworkManager::addAndActivateConnection(
206208
207209 if (reply.isError ()) {
208210 qCWarning (logNetworkManager)
209- << " Failed to start add and activate connection:" << reply.error ().message ();
211+ << " Failed to add and activate connection:" << reply.error ().message ();
210212 }
211213 delete call;
212214 };
0 commit comments