| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
|
|
|
|
|
|
| |
(Expanded by Philip Withnall <withnall@endlessm.com> to add more
annotations and fix prior review comments.)
https://bugzilla.gnome.org/show_bug.cgi?id=758903
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
|
| |
This was always the intention, and is even documented that way in the
gtk-doc block above. I'm not sure why I used paths.
In any case, this API has never been released, so the change is safe.
|
|
|
|
| |
...and other various cleanups.
|
|
|
|
|
|
|
|
|
| |
This API has never appeared in a released version of dconf (even
unstable). Replace it with a more generally-useful form.
Update the test cases, dconf commandline tool and vapi accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
|
|
| |
Add a flag that allows checking the default value without constructing a
read_through queue. Make use of this new flag to simplify code in a
couple of places.
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
|
| |
Delete the separate dconf_engine_read_user_value() and merge its
functionality into dconf_engine_read() by adding a flags field.
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
|
| |
Add support for g_autoptr() on DConfClient and DConfChangeset. Switch
to using G_DECLARE_FINAL_TYPE in the declaration of DConfClient.
https://bugzilla.gnome.org/show_bug.cgi?id=758871
|
|
|
|
|
| |
We should have this included since we use the functions in it in our
precondition checks.
|
|
|
|
|
|
|
| |
Add an API to dconf-engine (and exposed via DConfClient) for getting a
list of locks that are present in a given dconf profile.
https://bugzilla.gnome.org/show_bug.cgi?id=758864
|
|
|
|
|
|
|
|
| |
Add an API to read the default value of a key.
Add a testcase.
https://bugzilla.gnome.org/show_bug.cgi?id=758860
|
| |
|
|
|
|
|
| |
Wire through WritabilityNotify signals from the engine. This has been
unimplemented for a very long time...
|
|
|
|
|
|
|
| |
Allow specifying a profile when calling dconf_engine_new(). This will
allow us to avoid setting/unsetting the DCONF_PROFILE environment in
testcases from contexts where other threads may be reading from the
environment.
|
|
|
|
| |
We ought to be including this from each .c file.
|
|
|
|
|
|
|
|
| |
We should not send empty changesets to the service so just ignore them
when we get them.
This now means that an empty 'dconf load' will not send any D-Bus
messages (and will not cause D-Bus activation).
|
|
|
|
|
| |
Many fixes for typos but also some adjustments for the recent
refactoring (particularly updating HACKING).
|
|
|
|
|
|
|
|
|
| |
The GSettings backend still wants to use this and it does us no harm to
have it on the engine API (which is only visible internally).
Adjust the various consumers of the engine to the new API.
Thanks to Rui Matos for reminding me about this...
|
|
|
|
|
|
|
|
|
| |
Add dconf_engine_sync() that does the same thing as the code in the
GSettings backend used to do, in a cleaner way.
Update the GSettings backend to use the new call.
Add a new call to DConfClient wrapping the engine call as well.
|
|
|
|
| |
We're now back at 100% docs coverage with no warnings.
|
|
|
|
|
|
|
|
|
|
| |
Clean up the Makefiles and make them as similar as possible.
Move CFLAGS to a common point of definition and stop using -I so much.
Replace the 'dbus stub' with libdconf-mock.a in tests/. Fill in some
stubs for future mock code for shm and gvdb (just to get things
compiling for now).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support receiving and properly exposing change notifications.
This required some changes to improve the thread-safety of destroying a
DConfEngine.
It is possible that a signal would be arriving (in the worker thread) at
the exact instant that a DConfEngine was being destroyed (from the
finalize of the DConfClient or DConfSettingsBackend). This could lead
to the object being accessed after it was finalized.
We can avoid this by using weak references and by being more careful
about when the DConfEngine is freed (by taking a ref to it in the signal
handler and releasing it when done).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit represents a rather complete rethinking of DConfEngine.
- the different kinds of sources are now properly abstracted. This
will make landing NFS support substantially easier.
- there is now substantially more internal documentation
- DConfEngineMessage is gone and replaced with ordinary function calls
to be implemented by the D-Bus glue code
- the GDBus glue has been factored out and is now shared between the
client library and GSettings
- the "outstanding" queue logic from the GSettings backend is now in
the engine
- all changes now go through a single API that accepts a (new)
DConfChangeset object. Currently this only supports the current
operations (ie: setting and resetting). In the future this object
will also support the directory operations required by GSettingsList
and will be the basis for the new approach to implementing the
'delayed' GSettingsBackend (which will be the method by which those
two concepts can co-exist).
The (internal) API of the engine changed substantially. This caused the
following:
- the libdconf client library has been rewritten in C. Most of the
complicated aspects of it (that made it more convenience to use
Vala) are now gone.
- during the rewrite of libdconf, the DConfClient API changed a bit to
look more like a proper GObject. It now makes GIO-style use of
thread-default main contexts and uses GObject signals for
notifications (instead of hand-rolled callbacks).
- the GSettings backend has been substantially simplified (the
"outstanding" logic is gone). No externally-visible changes.
- the dbus-1 backend has taken a copy of the old engine code for now
until it can be ported to the new engine and sufficiently tested.
No externally-visible changes.
- the dconf commandline tool and dconf-editor required minor changes
to adjust to the DConfClient API changes
There is a substantial amount of cleaning up and finishing of work to be
done. There are many stubs remaining. There are likely still a large
number of bugs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- the API is now completely implemented
- update 'engine' API to be vala-bindable without annotations
- update GSettings backend to new engine API
- drop the readtype non-sense
- build/api fixups for editor and commandline tool
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- support the notion of 'profiles'
This is how we will configure layering of databases in dconf. It's
not wired-up yet (except to choose the name of the user database).
- support multiple writers in the service
Using the (very freshly API-broken) GDBus subtree support.
Introspection returns the names of existing databases, but any
object path can be used to create a new database.
- support the start of the 'shm' file
Used to prevent the reader from reopening the gvdb every time.
dconf reads now involve zero system calls in the usual case.
The server is queried on startup for the location of the shm files.
By default, this is in ~/.cache/dconf/ for now. This won't work
properly on NFS, but it's a start.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- move to new GSettingsBackend API
- add 'length' parameter, update callers
|
| |
|
| |
|
|
|
|
| |
fix a silly bug that the testing found
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- add a sync set() call to client API
- GCancellable/GErrorify some APIs
|
|
|
|
| |
Only very preliminary functionality for all of these.
|
| |
|
|
Preparing for creating standalone client-side library.
|