}
static AtspiDeviceEvent *
-atspi_device_event_copy (AtspiDeviceEvent *src)
+atspi_device_event_copy (const AtspiDeviceEvent *src)
{
AtspiDeviceEvent *dst = g_new0 (AtspiDeviceEvent, 1);
dst->type = src->type;
static void
atspi_device_listener_init (AtspiDeviceListener *listener)
{
- GList *new_list;
do
{
listener->id = listener_id++;
} while (!id_is_free (listener->id));
- new_list = g_list_append (device_listeners, listener);
- if (new_list) device_listeners = new_list;
+ device_listeners = g_list_append (device_listeners, listener);
}
static void
* @user_data: (closure): a pointer to data which will be passed to the
* callback when invoked.
* @callback_destroyed: A #GDestroyNotify called when the listener is freed
- * and data associated with the callback should be freed. Can be NULL.
+ * and data associated with the callback should be freed. It can be NULL.
*
- * Create a new #AtspiDeviceListener with a specified callback function.
+ * Creates a new #AtspiDeviceListener with a specified callback function.
*
* Returns: (transfer full): a pointer to a newly-created #AtspiDeviceListener.
*
}
/**
- * atspi_device_listener_new_simple: (skip):
+ * atspi_device_listener_new_simple: (skip)
* @callback: (scope notified): an #AtspiDeviceListenerCB callback function,
* or NULL.
* @callback_destroyed: A #GDestroyNotify called when the listener is freed
- * and data associated with the callback should be freed. Can be NULL.
+ * and data associated with the callback should be freed. It an be NULL.
*
- * Create a new #AtspiDeviceListener with a specified callback function.
- * Like atspi_device_listener_new, but callback takes no user data.
+ * Creates a new #AtspiDeviceListener with a specified callback function.
+ * This method is similar to #atspi_device_listener_new, but callback
+ * takes no user data.
*
* Returns: a pointer to a newly-created #AtspiDeviceListener.
*
atspi_device_listener_new_simple (AtspiDeviceListenerSimpleCB callback,
GDestroyNotify callback_destroyed)
{
- return atspi_device_listener_new (device_remove_datum, callback_destroyed, callback);
+ return atspi_device_listener_new (device_remove_datum, callback, callback_destroyed);
}
/**
* atspi_device_listener_add_callback:
* @listener: the #AtspiDeviceListener instance to modify.
* @callback: (scope notified): an #AtspiDeviceListenerCB function pointer.
- * @user_data: (closure): a pointer to data which will be passed to the
- * callback when invoked.
* @callback_destroyed: A #GDestroyNotify called when the listener is freed
- * and data associated with the callback should be freed. Can be NULL.
+ * and data associated with the callback should be freed. It can be NULL.
+ * @user_data: (closure): a pointer to data which will be passed to the
+ * callback when invoked.
*
- * Add an in-process callback function to an existing #AtspiDeviceListener.
+ * Adds an in-process callback function to an existing #AtspiDeviceListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
new_handler = device_event_handler_new (callback,
callback_destroyed, user_data);
- if (new_handler)
- {
- GList *new_list;
- new_list = g_list_prepend (listener->callbacks, new_handler);
- if (new_list)
- listener->callbacks = new_list;
- }
+ listener->callbacks = g_list_prepend (listener->callbacks, new_handler);
}
/**
* @listener: the #AtspiDeviceListener instance to modify.
* @callback: (scope call): an #AtspiDeviceListenerCB function pointer.
*
- * Remove an in-process callback function from an existing #AtspiDeviceListener.
+ * Removes an in-process callback function from an existing
+ * #AtspiDeviceListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
event->is_text = is_text;
}
-/*
- * atspi_dbus_handle_DeviceEvent: (skip)
- */
DBusHandlerResult
-atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message, void *data)
+_atspi_dbus_handle_DeviceEvent (DBusConnection *bus, DBusMessage *message, void *data)
{
const char *path = dbus_message_get_path (message);
int id;
if (klass->device_event)
{
retval = (*klass->device_event) (listener, &event);
+ if (retval != 0 && retval != 1)
+ {
+ g_warning ("at-spi: device event handler returned %d; should be 0 or 1", retval);
+ retval = 0;
+ }
}
done:
reply = dbus_message_new_method_return (message);
gchar *
_atspi_device_listener_get_path (AtspiDeviceListener *listener)
-{
- return g_strdup_printf ("/org/a11y/atspi/listeners/%d", listener->id);
+{ return g_strdup_printf ("/org/a11y/atspi/listeners/%d", listener->id);
}
G_DEFINE_BOXED_TYPE (AtspiDeviceEvent,