### Method

# Atspi EventListener register

#### Declaration [src]

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

#### Description [src]

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-help-text
           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

`event_type`

  Type: `const gchar*`

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

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gboolean`

`TRUE` if successful, otherwise `FALSE`.