On Freitag, 21. Juni 2013 12:17:38 CEST, Pali Rohár wrote:
On Friday 21 June 2013 12:06:52 Thomas Lübking wrote:
On Freitag, 21. Juni 2013 11:10:49 CEST, Pali Rohár wrote: ...
With akonadi I mean: There are akonadi client libraries and
akonadi server (process). You need to have akonadi client
libraries installed with KDE, but if you are not using akonadi,
you can remove or disable akonadi server.
So if addressbook plugin using client/server model (not only
akonadi!), it can check if server is installed and enabled in
isValid() method.
The akonadi design implies to trigger the server on request, so you'd actually violate
that design (and as long as trojitá would be to only client, it will ever be
"invalid")
Also it doesn't seem reasonable to select the akonadi addressbook plugin if you
don't like akonadi.
However, there may still be runtime checks, but i'd suggest to handle failure and fallback
dynamicall alongside the jobs (if the dependency is a remote server, that can fail anytime) and in
general, keep the option (or jsut add it) for a check for local runtime dependencies (subprocesses)
open by adding some "IsUsable" enum for some "features()" virtual.
Cheers,
Thomas