KWallet plugin logic implementation inside frameworks

Valentin Rusu kde at rusu.info
Sun Nov 4 15:03:12 UTC 2012


Hello,

Now that I'm using a plug-in version of the KWallet API on my system, I 
think it would be the time to put it at the right place inside the 
frameworks branch, if you don't mind.

The logic actually lives inside kdelibs/ksecretsservice branch and, 
despite that branch's name, the only changes it brings to kdelibs for 
the moment is the kwallet plugin logic.

KWallet class actually lives inside kdeui. I modified it to load a 
plugin and delegate all the method calls to a plugin it loads when first 
called. I also added a new header file intended for plugin implementers, 
declaring the needed methods. See also [1]

First question (and proposed answer) : which tier should KWallet class 
live in?

I already think it's a "functional" kind of class and because it needs 
plugin loading, it should go to tier3.
When grepping for kwallet includes inside frameworks branch, I find that
./kdewebkit/kwebwallet.cpp:#include <kwallet.h>
./kdeui/tests/kwallettest.cpp:#include <kwallet.h>
./kdeui/util/kwallet.cpp:#include "kwallet.h"
./kdeui/util/kwallet.cpp:#include "config-kwallet.h"
./kdeui/util/kwallet_mac.cpp:#include "kwallet.h"
./khtml/html/html_formimpl.cpp:#include <kwallet.h>
./kio/kssl/ksslkeygen.cpp:#include <kwallet.h>
./plasma/remote/authorizationmanager.cpp:#include <kwallet.h>

All these classes, if I understand correctly, will also live in tier3, 
so the dependency rule will not be broken [2].
So I propose to:
- move KWallet API inside the tier3/kwallet to be created library
- update the dependencies to reflect that

Second issue (and proposal): where should go the kwalletdefaultplugin?

This plugin actually contains the old KWallet API implementation, the 
one which calls the kwalletd.
I think the best place for kwalletdefaultplugin should be 
kde-runtime/kwalletd. This way, this plugin will get installed at the 
same time as the daemon it communicates with.

Thanks for your feedback,

Cheers,

[1] http://permalink.gmane.org/gmane.comp.kde.devel.core/76832
[2] http://permalink.gmane.org/gmane.comp.kde.devel.core/70395

-- 
Valentin Rusu (IRC valir, KDE vrusu)
KSecretsService (former KSecretService, KWallet replacement)



More information about the Kde-frameworks-devel mailing list