## atspi-event-listener atspi-event-listener — A generic interface implemented by objects for the receipt of event notifications. |

## Synopsis

    void                (*AtspiEventListenerCB)             (AtspiEvent *event,
                                                             void *user_data);
    void                (*AtspiEventListenerSimpleCB)       (const AtspiEvent *event);
    struct              AtspiEventListener;
    struct              AtspiEventListenerClass;
    GType               atspi_event_listener_get_type       (void);
    AtspiEventListener * atspi_event_listener_new           (AtspiEventListenerCB callback,
                                                             gpointer user_data,
                                                             GDestroyNotify callback_destroyed);
    AtspiEventListener * atspi_event_listener_new_simple    (AtspiEventListenerSimpleCB callback,
                                                             GDestroyNotify callback_destroyed);
    gboolean            atspi_event_listener_register       (AtspiEventListener *listener,
                                                             const gchar *event_type,
                                                             GError **error);
    gboolean            atspi_event_listener_register_from_callback
                                                            (AtspiEventListenerCB callback,
                                                             void *user_data,
                                                             GDestroyNotify callback_destroyed,
                                                             const gchar *event_type,
                                                             GError **error);
    gboolean            atspi_event_listener_register_no_data
                                                            (AtspiEventListenerSimpleCB callback,
                                                             GDestroyNotify callback_destroyed,
                                                             const gchar *event_type,
                                                             GError **error);
    gboolean            atspi_event_listener_deregister     (AtspiEventListener *listener,
                                                             const gchar *event_type,
                                                             GError **error);
    gboolean            atspi_event_listener_deregister_from_callback
                                                            (AtspiEventListenerCB callback,
                                                             void *user_data,
                                                             const gchar *event_type,
                                                             GError **error);
    gboolean            atspi_event_listener_deregister_no_data
                                                            (AtspiEventListenerSimpleCB callback,
                                                             const gchar *event_type,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----AtspiEventListener

## Description

A generic interface implemented by objects for the receipt of event notifications. atspi-event-listener is the interface via which clients of the atspi-registry receive notification of changes to an application's user interface and content.

## Details

### AtspiEventListenerCB ()

    void                (*AtspiEventListenerCB)             (AtspiEvent *event,
                                                             void *user_data);

A function prototype for callbacks via which clients are notified of AT-SPI events.

`event` : | The event for which notification is sent. [transfer full]
`user_data` : | User data which is passed to the callback each time a notification takes place.

### AtspiEventListenerSimpleCB ()

    void                (*AtspiEventListenerSimpleCB)       (const AtspiEvent *event);

Like AtspiEventlistenerCB, but with no user_data.

`event` : | The event for which notification is sent. [transfer full]

### struct AtspiEventListener

    struct AtspiEventListener;

### struct AtspiEventListenerClass

    struct AtspiEventListenerClass {
      GObjectClass parent_class;
    };

### atspi_event_listener_get_type ()

    GType               atspi_event_listener_get_type       (void);

### atspi_event_listener_new ()

    AtspiEventListener * atspi_event_listener_new           (AtspiEventListenerCB callback,
                                                             gpointer user_data,
                                                             GDestroyNotify callback_destroyed);

Creates a new AtspiEventListener associated with a specified `callback`.

`callback` : | An AtspiEventListenerCB to be called when an event is fired. [scope notified]
`user_data` : | data to pass to the callback. [closure]
`callback_destroyed` : | A GDestroyNotify called when the listener is freed and data associated with the callback should be freed. Can be NULL.
Returns : | A new AtspiEventListener. [transfer full]

### atspi_event_listener_new_simple ()

    AtspiEventListener * atspi_event_listener_new_simple    (AtspiEventListenerSimpleCB callback,
                                                             GDestroyNotify callback_destroyed);

Creates a new AtspiEventListener associated with a specified `callback`.

`callback` : | An AtspiEventListenerSimpleCB to be called when an event is fired. [scope notified]
`callback_destroyed` : | A GDestroyNotify called when the listener is freed and data associated with the callback should be freed. Can be NULL.
Returns : | A new AtspiEventListener. [transfer full]

### atspi_event_listener_register ()

    gboolean            atspi_event_listener_register       (AtspiEventListener *listener,
                                                             const gchar *event_type,
                                                             GError **error);

Adds an in-process callback function to an existing AtspiEventListener.

Legal object event types:

(property change events)

object:property-change object:property-change:accessible-name object:property-change:accessible-description object:property-change:accessible-parent object:property-change:accessible-value object:property-change:accessible-role object:property-change:accessible-table-caption object:property-change:accessible-table-column-description object:property-change:accessible-table-column-header object:property-change:accessible-table-row-description object:property-change:accessible-table-row-header object:property-change:accessible-table-summary

(other object events)

object:state-changed object:children-changed object:visible-data-changed object:selection-changed object:text-selection-changed object:text-changed object:text-caret-moved object:row-inserted object:row-reordered object:row-deleted object:column-inserted object:column-reordered object:column-deleted object:model-changed object:active-descendant-changed

(window events)

window:minimize window:maximize window:restore window:close window:create window:reparent window:desktop-create window:desktop-destroy window:activate window:deactivate window:raise window:lower window:move window:resize window:shade window:unshade window:restyle

(other events)

focus: mouse:abs mouse:rel mouse:b1p mouse:b1r mouse:b2p mouse:b2r mouse:b3p mouse:b3r

NOTE: this character string may be UTF-8, but should not contain byte value 56 (ascii ':'), except as a delimiter, since non-UTF-8 string delimiting functions are used internally. In general, listening to toolkit-specific events is not recommended.

`listener` : | The AtspiEventListener to register against an event type.
`event_type` : | a character string indicating the type of events for which notification is requested. Format is EventClass:major_type:minor_type:detail where all subfields other than EventClass are optional. EventClasses include "object", "window", "mouse", and toolkit events (e.g. "Gtk", "AWT"). Examples: "focus:", "Gtk:GtkWidget:button_press_event".
Returns : | TRUE if successful, otherwise FALSE.

### atspi_event_listener_register_from_callback ()

    gboolean            atspi_event_listener_register_from_callback
                                                            (AtspiEventListenerCB callback,
                                                             void *user_data,
                                                             GDestroyNotify callback_destroyed,
                                                             const gchar *event_type,
                                                             GError **error);

Registers an AtspiEventListenerCB against an `event_type`.

`callback` : | the AtspiEventListenerCB to be registered against an event type. [scope notified]
`user_data` : | User data to be passed to the callback. [closure]
`callback_destroyed` : | A GDestroyNotify called when the callback is destroyed.
`event_type` : | a character string indicating the type of events for which notification is requested. See atspi_event_listener_register for a description of the format.
Returns : | TRUE if successfull, otherwise FALSE.

### atspi_event_listener_register_no_data ()

    gboolean            atspi_event_listener_register_no_data
                                                            (AtspiEventListenerSimpleCB callback,
                                                             GDestroyNotify callback_destroyed,
                                                             const gchar *event_type,
                                                             GError **error);

Registers an AtspiEventListenetSimpleCB. The method is similar to atspi_event_listener_register, but `callback` takes no user_data.

`callback` : | the AtspiEventListenerSimpleCB to be registered against an event type. [scope notified]
`callback_destroyed` : | A GDestroyNotify called when the callback is destroyed.
`event_type` : | a character string indicating the type of events for which notification is requested. Format is EventClass:major_type:minor_type:detail where all subfields other than EventClass are optional. EventClasses include "object", "window", "mouse", and toolkit events (e.g. "Gtk", "AWT"). Examples: "focus:", "Gtk:GtkWidget:button_press_event".
Returns : | TRUE if successfull, otherwise FALSE.

### atspi_event_listener_deregister ()

    gboolean            atspi_event_listener_deregister     (AtspiEventListener *listener,
                                                             const gchar *event_type,
                                                             GError **error);

Deregisters an AtspiEventListener from the registry, for a specific event type.

`listener` : | The AtspiEventListener to deregister.
`event_type` : | a string specifying the event type for which this listener is to be deregistered.
Returns : | TRUE if successful, otherwise FALSE.

### atspi_event_listener_deregister_from_callback ()

    gboolean            atspi_event_listener_deregister_from_callback
                                                            (AtspiEventListenerCB callback,
                                                             void *user_data,
                                                             const gchar *event_type,
                                                             GError **error);

Deregisters an AtspiEventListenerCB from the registry, for a specific event type.

`callback` : | the AtspiEventListenerCB registered against an event type. [scope call]
`user_data` : | User data that was passed in for this callback. [closure]
`event_type` : | a string specifying the event type for which this listener is to be deregistered.
Returns : | TRUE if successful, otherwise FALSE.

### atspi_event_listener_deregister_no_data ()

    gboolean            atspi_event_listener_deregister_no_data
                                                            (AtspiEventListenerSimpleCB callback,
                                                             const gchar *event_type,
                                                             GError **error);

deregisters an AtspiEventListenerSimpleCB from the registry, for a specific event type.

`callback` : | the AtspiEventListenerSimpleCB registered against an event type. [scope call]
`event_type` : | a string specifying the event type for which this listener is to be deregistered.
Returns : | TRUE if successful, otherwise FALSE.