X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=registryd%2Fde-marshaller.c;h=8b2b00fd258571b2d0fca80f8868b281a87d991c;hb=c3ec6dc427d1c66e4d42fb82938c4534455b15f2;hp=3f626861422f3dd3eb0196e2da8554d254343166;hpb=41028a909d5ec0d04f7218564d90a32db81f98a3;p=platform%2Fupstream%2Fat-spi2-core.git diff --git a/registryd/de-marshaller.c b/registryd/de-marshaller.c index 3f62686..8b2b00f 100644 --- a/registryd/de-marshaller.c +++ b/registryd/de-marshaller.c @@ -81,15 +81,24 @@ dbus_bool_t spi_dbus_marshal_deviceEvent(DBusMessage *message, const Accessibili if (!message) return FALSE; dbus_message_iter_init_append(message, &iter); - return spi_dbus_message_iter_append_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT16, &e->hw_code, DBUS_TYPE_INT16, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID); + return spi_dbus_message_iter_append_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_UINT32, &e->hw_code, DBUS_TYPE_UINT32, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID); } dbus_bool_t spi_dbus_demarshal_deviceEvent(DBusMessage *message, Accessibility_DeviceEvent *e) { DBusMessageIter iter; + dbus_uint16_t hw_code; + dbus_uint16_t modifiers; dbus_message_iter_init(message, &iter); - return spi_dbus_message_iter_get_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT16, &e->hw_code, DBUS_TYPE_INT16, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID); + if (spi_dbus_message_iter_get_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT32, &e->hw_code, DBUS_TYPE_INT32, &e->modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID)) + return TRUE; + /* TODO: Perhaps remove the below code for 2.1 */ + if (!spi_dbus_message_iter_get_struct(&iter, DBUS_TYPE_UINT32, &e->type, DBUS_TYPE_INT32, &e->id, DBUS_TYPE_INT16, &hw_code, DBUS_TYPE_INT16, &modifiers, DBUS_TYPE_INT32, &e->timestamp, DBUS_TYPE_STRING, &e->event_string, DBUS_TYPE_BOOLEAN, &e->is_text, DBUS_TYPE_INVALID)) + return FALSE; + e->hw_code = hw_code; + e->modifiers = modifiers; + return TRUE; } /*