I just added tasks for the packages mentioned in comment #65.
Some things learned today:
- the sub-component of QNetwork that's most likely the cause is called Bearer Management. One of it's classes, QNetworkSession includes a plugin for NetworkManager which creates listeners for new AccessPoint DBus objects.
- msyncd ( part of buteo-syncfw ) includes it's own internal NetworkManager class ( dated from 2010 ) which in turn uses QNetworkSession.
- unity8 appears to use QNetworkAccessManager, which uses QNetworkSession.
- sync-monitor uses QNetworkConfigurationManager, which is also part of Bearer Management, and most likely causes a QNetworkSession to be instantiated.
- maliit-framework is the only puzzle, as it doesn't seem to have any network code. It does use QGuiApplication however, which might in turn hook into the network code.
- the bulk of the code involved on the Qt side can be found in the qtbase-opensource-base source package.
- I'm no expert in QtDBus, but from what I can tell, to listen to a DBus signal ( which causes a match rule to be created ), you need to call connect on an instance of a DBusConnection, similar to what you'd do with a native Qt signal and slot. Conversely, to remove a signal watch, you need to call the disconnect() function.
- The connect to for a new new AccessPoint object can be found in src/plugins/bearer/networkmanager/networkmanagerservice.cpp in the funcion QNetworkManagerInterfaceAccessPoint::QNetworkManagerInterfaceAccessPoint().
- I don't see any corresponding cleanup code when an access point is removed ( ie. there's no disconnect() call made to the bus )
I just added tasks for the packages mentioned in comment #65.
Some things learned today:
- the sub-component of QNetwork that's most likely the cause is called Bearer Management. One of it's classes, QNetworkSession includes a plugin for NetworkManager which creates listeners for new AccessPoint DBus objects.
- msyncd ( part of buteo-syncfw ) includes it's own internal NetworkManager class ( dated from 2010 ) which in turn uses QNetworkSession.
- unity8 appears to use QNetworkAccessM anager, which uses QNetworkSession.
- sync-monitor uses QNetworkConfigu rationManager, which is also part of Bearer Management, and most likely causes a QNetworkSession to be instantiated.
- maliit-framework is the only puzzle, as it doesn't seem to have any network code. It does use QGuiApplication however, which might in turn hook into the network code.
- the bulk of the code involved on the Qt side can be found in the qtbase- opensource- base source package.
- I'm no expert in QtDBus, but from what I can tell, to listen to a DBus signal ( which causes a match rule to be created ), you need to call connect on an instance of a DBusConnection, similar to what you'd do with a native Qt signal and slot. Conversely, to remove a signal watch, you need to call the disconnect() function.
- The connect to for a new new AccessPoint object can be found in src/plugins/ bearer/ networkmanager/ networkmanagers ervice. cpp in the funcion QNetworkManager InterfaceAccess Point:: QNetworkManager InterfaceAccess Point() .
- I don't see any corresponding cleanup code when an access point is removed ( ie. there's no disconnect() call made to the bus )
That's all I have for now...