summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBrian Tarricone <brian@tarricone.org>2008-04-20 07:39:02 +0000
committerBrian Tarricone <brian@tarricone.org>2008-04-20 07:39:02 +0000
commit2588c9523f5b221c6e450a1e9575513404ede352 (patch)
tree6586d13cf8245c5f37475f82ea62262b5e6aaffb /docs
parent07ab4d8d1bf2417118c2a2e2d550ddd41eb63132 (diff)
downloadxfconf-2588c9523f5b221c6e450a1e9575513404ede352.tar.gz
treat uint16/int16 as uint32/int32 when sending data over dbus
annoyingly, dbus-glib doesn't support sending 16-bit signed or unsigned integers over the bus, since no 16-bit GTypes exist. the ability to expose custom GValue marshallers is not exposed in dbus-glib's API, so custom GTypes cannot be added. so, internally, we handle 16-bit values as if they were 32-bit values. the 16-bit types are kept so that the struct-related functions still work. (Old svn revision: 26874)
Diffstat (limited to 'docs')
-rw-r--r--docs/spec/backend.txt10
-rw-r--r--docs/spec/perchannel-xml.txt3
2 files changed, 10 insertions, 3 deletions
diff --git a/docs/spec/backend.txt b/docs/spec/backend.txt
index 43353c1..eb50043 100644
--- a/docs/spec/backend.txt
+++ b/docs/spec/backend.txt
@@ -14,13 +14,11 @@ of these types are wrapped directly in the client library (e.g.,
xfconf_channel_set_uint64()), users of the library can also set other,
semi-arbitrary types, as well as array types.
-So, the backend must, at minimum, be able to understand the following GTypes:
+So, the backend must, be able to understand the following GTypes:
G_TYPE_STRING
G_TYPE_UCHAR
G_TYPE_CHAR
-XFCONF_TYPE_UINT16
-XFCONF_TYPE_INT16
G_TYPE_UINT
G_TYPE_INT
G_TYPE_UINT64
@@ -29,6 +27,12 @@ G_TYPE_FLOAT
G_TYPE_DOUBLE
G_TYPE_BOOLEAN
+Note about 16-bit values: dbus-glib does not support sending 16-bit signed
+and unsigned integers over D-Bus, even though libdbus does. For convenience,
+libxfconf will take any 16-bit values it receives and convert them into
+32-bit values before sending them to the daemon. From the daemon/backend
+point of view, 16-bit values are simply not supported.
+
In addition, the backend must be able to handle arrays of arbitrary
types from the above list. A single array may hold multiple values
of the same type, or of different types. Because of this, an array is
diff --git a/docs/spec/perchannel-xml.txt b/docs/spec/perchannel-xml.txt
index 1276a79..d6af579 100644
--- a/docs/spec/perchannel-xml.txt
+++ b/docs/spec/perchannel-xml.txt
@@ -59,6 +59,9 @@ XfconfBackendPerchannelXml file format, version 1.0
+ type(string): The type of property. Must be one of: "string",
"uchar", "char", "uint16", "int16", "uint", "int", "uint64",
"int64", "float", "double", "bool", "array", or "empty" (required).
+ Note that due to a limitation in dbus-glib, uint16 and int16 aren't
+ actually used, but they are supported in the backend in case
+ support for 16-bit values becomes supported in the future.
+ value(string): The value of the property (required except for
type="array" and type="empty").
+ locked(userlist): A list of users/groups who cannot modify