## AtspiEventListener AtspiEventListener |

## Functions

void | (*AtspiEventListenerCB) ()
void | (*AtspiEventListenerSimpleCB) ()
GType | atspi_event_listener_get_type ()
AtspiEventListener * | atspi_event_listener_new ()
AtspiEventListener * | atspi_event_listener_new_simple ()
gboolean | atspi_event_listener_register ()
gboolean | atspi_event_listener_register_from_callback ()
gboolean | atspi_event_listener_register_from_callback_full ()
gboolean | atspi_event_listener_register_no_data ()
gboolean | atspi_event_listener_register_full ()
gboolean | atspi_event_listener_register_with_app ()
gboolean | atspi_event_listener_deregister ()
gboolean | atspi_event_listener_deregister_from_callback ()
gboolean | atspi_event_listener_deregister_no_data ()

## Types and Values

struct | AtspiEventListener
struct | AtspiEventListenerClass

## Object Hierarchy

        GObject
        ╰── AtspiEventListener

## Description

## Functions

### AtspiEventListenerCB ()

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

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

#### Parameters

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.

#### Parameters

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

### 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` .

#### Parameters

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` .

[skip]

#### Parameters

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 object:announcement

(screen reader events) screen-reader:region-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.

Currently, object:text-reading-position needs to be specified explicitly (it is not implied by object:text), since it is generated by the screen reader and is thus a special case internally.

#### Parameters

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` .

#### Parameters

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_from_callback_full ()

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

#### Parameters

callback | an AtspiEventListenerCB function pointer. | [scope async]
user_data | . | [closure callback]
callback_destroyed | . | [destroy callback]
properties | . | [element-type utf8]

#### Returns

TRUE if successful, 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.

[skip]

#### Parameters

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_register_full ()

    gboolean
    atspi_event_listener_register_full (AtspiEventListener *listener,
                                        const gchar *event_type,
                                        GArray *properties,
                                        GError **error);

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

#### Parameters

listener | The AtspiEventListener to register against an event type. |
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 and legal event types. |
properties | a list of properties that should be sent along with the event. The properties are valued for the duration of the event callback. TODO: Document. | [element-type gchar*][transfer none][allow-none]

#### Returns

TRUE if successful, otherwise FALSE.

### atspi_event_listener_register_with_app ()

    gboolean
    atspi_event_listener_register_with_app
                                   (AtspiEventListener *listener,
                                    const gchar *event_type,
                                    GArray *properties,
                                    AtspiAccessible *app,
                                    GError **error);

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

#### Parameters

listener | The AtspiEventListener to register against an event type. |
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 and legal event types. |
properties | a list of properties that should be sent along with the event. The properties are valued for the duration of the event callback. | [element-type gchar*][transfer none][allow-none]
app | the application whose events should be reported, or `null` for all applications. | [allow-none]

#### Returns

TRUE if successful, 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.

#### Parameters

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.

#### Parameters

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.

[skip]

#### Parameters

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.

## Types and Values

### struct AtspiEventListener

    struct AtspiEventListener;

### struct AtspiEventListenerClass

    struct AtspiEventListenerClass {
      GObjectClass parent_class;
    };