[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: Review Request: Add ability to define which KConfigBackEnd to use
From: "Thomas Braxton" <kde.braxton () gmail ! com>
Date: 2010-06-04 13:20:47
Message-ID: 20100604132047.14581.99129 () localhost
[Download RAW message or body]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/4220/#review5980
-----------------------------------------------------------
The functionality you are adding is already there using undocumented behavior of \
KConfig. You should get an anonymous in-memory config if you call \
KSharedConfig::openConfig("",KConfig::SimpleConfig). I suck for not documenting this \
behavior :(
- Thomas
On 2010-06-03 22:44:47, Aaron Seigo wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/4220/
> -----------------------------------------------------------
>
> (Updated 2010-06-03 22:44:47)
>
>
> Review request for kdelibs.
>
>
> Summary
> -------
>
> Right now KSharedConfig assumes it is loading a file in the standard KDE hierarchy \
> (e.g. in KStandardDirs and with the INI backend (or whatever is eventually \
> configurable for that)). This is usually just fine, and KConfig allows opening a \
> resource with a specific backend. But we have classes such as KCoreConfigSkeleton \
> which require a KSharedConfigPtr. This patch alters KSharedConfig to allow \
> requesting a given file with a given backend.
> The use case that prompted this is in Plasma::Service where KConfigSkeleton is used \
> to load and manage the description of a service's operations. KConfigGroup is used \
> to store parameters associated with the service. This means we require a \
> KSharedConfigPtr for this. Which means that up until now, we have been using a \
> KTemporaryFile to do this. When there are lots of services flying around (or \
> someone leaks them) this leads to exhausting the file handles available, not to \
> mention it means a lot of filesystem interaction that is completely unecessary. We \
> just need an in-memory representation behind KConfig (which is something we did in \
> KDE 3 as well, btw :).
> This patch makes that possible.
>
> KConfigSharedPtr's loaded with different backends are kept away from each other by \
> keeping a separate QList for each backend that gets used. The backend type in use \
> is not kept around in KConfig (not should it really, since it may have multiple \
> backends loaded (not implemented, *still*, but that's the idea)) so the bookkeeping \
> must be done here.
>
> Diffs
> -----
>
> /trunk/KDE/kdelibs/kdecore/config/ksharedconfig.h 1130620
> /trunk/KDE/kdelibs/kdecore/config/ksharedconfig.cpp 1130620
>
> Diff: http://reviewboard.kde.org/r/4220/diff
>
>
> Testing
> -------
>
> Tested with both "regular" INI KSharedConfigPtrs, and they are registered, found \
> and unregistered just fine. Tested with a backend plugin, and that also works.
>
>
> Thanks,
>
> Aaron
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic