diff options
author | Mike Gorse <mgorse@novell.com> | 2011-03-21 12:14:32 -0700 |
---|---|---|
committer | Mike Gorse <mgorse@novell.com> | 2011-03-21 12:14:32 -0700 |
commit | ccc0eca4840cfeba27754b0cd2b576d9698068a4 (patch) | |
tree | d0ff982970d6fd99663269f820720634734397ee /droute | |
parent | ff4004bdb88bd2a6c4edfb2858188a9880dabb92 (diff) | |
download | at-spi2-atk-ccc0eca4840cfeba27754b0cd2b576d9698068a4.tar.gz |
Use new dbus errors if they are available
If a new version of libdbus is available, use DBUS_ERROR_UNKNOWN_OBJECT,
DBUS_ERROR_UNKNOWN_PROPERTY, and DBUS_ERROR_PROPERTY_READ_ONLY when
appropriate.
Diffstat (limited to 'droute')
-rw-r--r-- | droute/droute.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/droute/droute.c b/droute/droute.c index b58402c..20c262f 100644 --- a/droute/droute.c +++ b/droute/droute.c @@ -326,7 +326,11 @@ impl_prop_GetSet (DBusMessage *message, prop_funcs = (PropertyPair *) g_hash_table_lookup (path->properties, &pair); if (!prop_funcs) +#ifdef DBUS_ERROR_UNKNOWN_PROPERTY + return dbus_message_new_error (message, DBUS_ERROR_UNKNOWN_PROPERTY, "Property unavailable"); +#else return dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable"); +#endif datum = path_get_datum (path, pathstr); if (!datum) @@ -361,6 +365,12 @@ impl_prop_GetSet (DBusMessage *message, reply = dbus_message_new_method_return (message); } +#ifdef DBUS_ERROR_PROPERTY_READ_ONLY + else if (!get) + { + reply = dbus_message_new_error (message, DBUS_ERROR_PROPERTY_READ_ONLY, "Property is read-only"); + } +#endif else { reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Getter or setter unavailable"); @@ -596,9 +606,15 @@ droute_object_does_not_exist_error (DBusMessage *message) dbus_message_get_signature (message), dbus_message_get_interface (message), dbus_message_get_path (message)); +#ifdef DBUS_ERROR_UNKNOWN_OBJECT + reply = dbus_message_new_error (message, + DBUS_ERROR_UNKNOWN_OBJECT, + errmsg); +#else reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, errmsg); +#endif g_free (errmsg); return reply; } |