Problems with KService/KBuildSycoca in Comic Dataengine

Aaron J. Seigo aseigo at kde.org
Mon Jul 25 08:59:59 UTC 2011


On Sunday, July 24, 2011 12:35:05 Matthias Fuchs wrote:
> Both have to do with KServiceTypeTrader 

it's probably kbuildsycoca and kded, not KSTT.

when a comic is installed or removed, kbuildsycoca4 must be run; this will 
automatically happen after some delay as kded4 watches the contents. a run of 
it can be triggered manually by calling recreate() on the /kbuildsycoca DBus 
object of org.kde.kded.

the KSycoca class (a singletone) provides a signal that lets you know when 
things have changed in the database: void databaseChanged(const QStringList& 
changedResources); (where changedResources would contain "services" in the 
case of comics possibly changing)

this assumes, of course, that the comics files appear in one of the services 
directories prior to kbuildsycoca being run.

iif kbuildsycoca is being run and working properly and still KSTT is not 
returning the correct values then the mmap'd file is getting fouled somehow.

> Now I wonder how I should fix that. Do you have any ideas?
> The worst case "solution" would be not relying on KServiceTypeTrader at all
> though I want to avoid that.

that would make very little sense since you'd end up having to do essentially 
the same thing ksycoca does; duplication of code rarely leads to actual 
improvements :)

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20110725/71f70da3/attachment-0001.sig 


More information about the Plasma-devel mailing list