File: HACKING

package info (click to toggle)
dconf 0.49.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,212 kB
  • sloc: ansic: 10,570; xml: 497; python: 488; sh: 79; makefile: 10
file content (90 lines) | stat: -rw-r--r-- 2,847 bytes parent folder | download
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.