diff options
author | Brian Tarricone <brian@tarricone.org> | 2008-04-20 07:39:02 +0000 |
---|---|---|
committer | Brian Tarricone <brian@tarricone.org> | 2008-04-20 07:39:02 +0000 |
commit | 2588c9523f5b221c6e450a1e9575513404ede352 (patch) | |
tree | 6586d13cf8245c5f37475f82ea62262b5e6aaffb /docs | |
parent | 07ab4d8d1bf2417118c2a2e2d550ddd41eb63132 (diff) | |
download | xfconf-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.txt | 10 | ||||
-rw-r--r-- | docs/spec/perchannel-xml.txt | 3 |
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 |