19 Kasım 2010 Cuma günü (saat 15:53:21) Gökçen Eraslan şunları yazmıştı: > Hello, > > I want to implement system-wide connection support for KNM. I'm trying to > understand the code for some time, and writing down the questions and the > bugs I've found. > > Here is what I understand from the code: > > * plasma applet gets activatable list from org.kde.networkmanagement and > uses Solid::Control interface to activate/deactivate connections, > enable/disable network and catch the events about the network and > interfaces. > > * KCModule, just reads/writes connections to networkmanagementrc conf file > and details about the connections to apps/networkmanagement/connections > directory and calls the configure dbus method of kded module to make it > aware of changes. > > * kded module reads configuration files (networkmanagementrc), and get > system- wide connection list from NM. Also monitors interfaces and AP's to > update its activatable list. > > Now, if I understand the code correctly, we need to decide the way we > implement system-wide connection support. If we want KCModule to > add/remove/change system-wide connections it must use > org.freedesktop.NetworkManagerSystemSettings interface of NM (or an > interface of NM kded module that actually uses NM's interface). > > Here are the alternatives for solution of that: > > 1- Add a 'AddConnection' method to org.freedesktop.NetworkManagerSettings > interface of KNM kded module, just like NM (version 0.8), and make KNM > KCModule use AddConnecion/ListConnections and Update/Delete methods of both > org.freedesktop.NetworkManagerUserSettings and > org.freedesktop.NetworkManagerSystemSettings. So, KCModule does not read or > write networkmanagementrc and connection files, just calls specific DBus > methods of NM (for system-wide connections) and KNM kded module (for user > wide connections). This solution make KCModule code NM dependant but I > don't know if this is a wanted behaviour. > > 2- In addition to the ListActivatable method of KNM kded module, we may add > a few methods like AddConnection(with a parameter specifiying whether the > connection is system-wide or user-wide), ListConnections, > DeleteConnection, UpdateConnection so on. Then, KCModulde uses > org.kde.networkmanagement to do its job and again does not read or write > to networkmanagementrc and connection files. In this solution KCModule > code does not depend on NM, but we need to implement more DBus methods > than the first solution. > > 3- We may add AddConnection/UpdateConnection methods to > Solid::Control::NetworkManager library, but I don't know the details of > library. > > > Any ideas?
Will, Sebas what are your ideas about that? I have written a patch that partially implements the first option, but I'm polishing it now to send to reviewboard. I need your help to implement this, if you're unavailable, please make me aware of that, I'm still waiting for your comments. -- Gökçen Eraslan
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ kde-networkmanager mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-networkmanager
