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