diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-04-19 12:00:24 +0930 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-04-19 18:12:22 +0930 |
commit | e1f0b3e70b696d7ea4cf9e6ed30d751e7fdbc577 (patch) | |
tree | 0073a61c7ce492c6c49715196f0914bce54bb158 /config | |
parent | c6972c893359f8fa7631ae674330f3f4f7010ba0 (diff) |
config: Return errors as negative numbers, device ids as positive numbers.
Update dbus-api documentation.
Diffstat (limited to 'config')
-rw-r--r-- | config/config.c | 3 | ||||
-rw-r--r-- | config/dbus-api | 20 |
2 files changed, 12 insertions, 11 deletions
diff --git a/config/config.c b/config/config.c index 4861d9ead..9b38faf49 100644 --- a/config/config.c +++ b/config/config.c @@ -308,12 +308,15 @@ configMessage(DBusConnection *connection, DBusMessage *message, void *closure) if (ret != BadDrawable && ret != BadAlloc) { if (!strlen(dbus_message_get_signature(reply))) + { + ret = -ret; /* return errors as negative numbers */ if (!dbus_message_iter_append_basic(&r_iter, DBUS_TYPE_INT32, &ret)) { ErrorF("[config] couldn't append to iterator\n"); dbus_message_unref(reply); dbus_error_free(&error); return DBUS_HANDLER_RESULT_HANDLED; } + } if (!dbus_connection_send(bus, reply, NULL)) ErrorF("[config] failed to send reply\n"); diff --git a/config/dbus-api b/config/dbus-api index cada792f5..654c22bec 100644 --- a/config/dbus-api +++ b/config/dbus-api @@ -15,25 +15,23 @@ org.x.config.input: Option names beginning with _ are not allowed; they are reserved for internal use. - Returns one int32, which is an X Status, as defined in X.h. If - everything is successful, Success will be returned. BadMatch will - be returned if the options given do not match any device. BadValue - is returned for a malformed message. + Returns one signed int32, which is the device id of the new device. + If the return value is a negative number, it represents the X + Status, as defined in X.h. BadMatch will be returned if the options + given do not match any device. BadValue is returned for a malformed + message. (Example: 8 is new device id 8. -8 is BadMatch.) Notably, BadAlloc is never returned: the server internally signals to D-BUS that the attempt failed for lack of memory. - The return does not notify the client of which devices were created - or modified as a result of this request: clients are encouraged to - listen for the XInput DevicePresenceNotify event to monitor changes - in the device list. - org.x.config.input.remove: Takes one int32 argument, which is the device ID to remove, i.e.: i is the signature. - Same return values as org.x.config.input.add. + + Returns one signed int32 which represents an X status as defined in + X.h. See org.x.config.input.add. Error codes are negative numbers. org.x.config.input.listDevices: - Lists the currently active devices. + Lists the currently active devices. No argument. Return value is sequence of <id> <name> <id> <name> ... |