1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
dconf is split into a large number of small modules. This is required
because of the client/server architecture as well as the wide variety of
situations that dconf is used in on the client side.
subprojects/gvdb/:
This code implements the GVDB file format used for the on-disk
database. GVDB is shared with a number of other users and lives in a
separate 'gvdb' module on git.gnome.org.
To update, change the revision in gvdb.wrap and update the git submodule.
The code is split into a reader and a writer (builder).
This directory produces two libraries: libgvdb.a and libgvdb-shared.a.
They are exactly the same, except that libgvdb-shared.a was compiled
with -fPIC.
common/:
Sources in this directory are used in both the dconf-service and
client-side library implementations.
This directory produces two libraries: libdconf-common.a and
libdconf-common-shared.a. They are exactly the same, except that
libdconf-common-shared.a was compiled with -fPIC.
engine/:
This directory contains most of the core logic for implementing the
client-side of dconf.
The engine code requires (but does not contain) glue code for speaking
to D-Bus. All users of the engine must therefore include a module
that implements this glue.
The engine also requires gvdb.
This directory produces libdconf-engine.a and its -shared variant.
gdbus/:
This directory contains the glue code for dconf over GDBus.
There are two implementations of this code: a threaded approach and an
approach based on GDBus filter functions. The threaded one is in use
by default, but both are built for testing purposes.
This directory produces a library for each backend:
libdconf-gdbus-thread.a and libdconf-gdbus-filter.a, plus their
-shared variants.
client/:
This is the standard GObject client-side library used for direct access to
dconf. It uses the GDBus glue from the gdbus/ directory above.
This directory produces the libdconf.so shared library as well as
libdconf-client.a which is used for testing.
gsettings/:
This is the GSettings backend for dconf. It also uses GDBus.
This directory produces the libdconfsettings.so GIOModule.
dbus-1/:
This directory contains a client-side library based on libdbus-1. It
also contains the D-Bus glue code for libdbus-1 (since it is the only
client-side library that is using it).
This directory produces the libdconf-dbus-1.so shared library.
It also produces libdconf-libdbus-1.a (containing the D-Bus glue) for
testing purposes, and its -shared variant.
bin/:
This is the 'dconf' commandline tool. It uses the library from
client/ above.
editor/:
This is the graphical dconf-editor. It also uses the client/ library.
service/:
This is the dconf-service required for any client side library to do
writes.
|