Hi, So here is a quick update on the progress of the DataEngine caching progress. Right now, I have a service called Storage with a simple API that can retrieve and save key/data pairs. Only strings and ints can really be supported. However, if the datatype isn't a string or an int, it gets converted to a base64 string, and passed. This allows to support any datatype.
I've edited DateEngine and have added a setEnableCache(QString, bool) to allow any data engine to easily cache a named source. All this member does is call DataContainer::setEnableCache(true). DataEngine can now call to cache any source, at any time. It will only proceed if the DataContainer marked to be cached, and is also marked that the data in it hasn't been cached (this is done in setData). I was able to easily make the microblogging plasmoid cache its TimelineSource by just calling setEnableCache(true) in its constructor. :) Things to do: * Add a timer to cache all the sources that need to be cached, probably every 2-5 minutes. * Add the code that retrieves the data and inserts it when a source is created. * Currently, the cached data is saved on disk using KConfig, this needs to change to saving in Akonadi. If you would like to look at the code, there is a branch in branches/work/soc- storage/plasma. The relevant files are private/storage.h private/storage.cpp dataengine.cpp and datacontainer.cpp I'd be glad to answer any questions! :) --Brian Pritchett _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel