## gok-spy gok-spy |

## Synopsis

    void                gok_spy_open                        (void);
    void                gok_spy_close                       (void);
    void                gok_spy_register_appchangelistener  (AccessibleChangeListener *callback);
    void                gok_spy_deregister_appchangelistener
                                                            (AccessibleChangeListener *callback);
    void                gok_spy_register_windowchangelistener
                                                            (AccessibleChangeListener *callback);
    void                gok_spy_deregister_windowchangelistener
                                                            (AccessibleChangeListener *callback);
    void                gok_spy_register_mousebuttonlistener
                                                            (MouseButtonListener *callback);
    void                gok_spy_deregister_mousebuttonlistener
                                                            (MouseButtonListener *callback);
    GSList*             gok_spy_get_list                    (Accessible *paccessible);
    AccessibleNode*     gok_spy_refresh                     (AccessibleNode *plist);
    void                gok_spy_free                        (GSList *nodes);
    gboolean            gok_spy_has_child                   (Accessible *accessible,
                                                             GokSpySearchType type,
                                                             AccessibleRole role);

## Description

## Details

### gok_spy_open ()

    void                gok_spy_open                        (void);

Intializes gok spy. Note: user must initialize the SPI prior to this call; call this only once.

### gok_spy_close ()

    void                gok_spy_close                       (void);

Frees any allocated memory.

### gok_spy_register_appchangelistener ()

    void                gok_spy_register_appchangelistener  (AccessibleChangeListener *callback);

`callback`: the listener to register

`callback` : |

### gok_spy_deregister_appchangelistener ()

    void                gok_spy_deregister_appchangelistener
                                                            (AccessibleChangeListener *callback);

`callback`: the listener to deregister

`callback` : |

### gok_spy_register_windowchangelistener ()

    void                gok_spy_register_windowchangelistener
                                                            (AccessibleChangeListener *callback);

`callback`: the listener to register

`callback` : |

### gok_spy_deregister_windowchangelistener ()

    void                gok_spy_deregister_windowchangelistener
                                                            (AccessibleChangeListener *callback);

`callback`: the listener to deregister

`callback` : |

### gok_spy_register_mousebuttonlistener ()

    void                gok_spy_register_mousebuttonlistener
                                                            (MouseButtonListener *callback);

`callback`: the listener to register

`callback` : |

### gok_spy_deregister_mousebuttonlistener ()

    void                gok_spy_deregister_mousebuttonlistener
                                                            (MouseButtonListener *callback);

`callback`: the listener to deregister

`callback` : |

### gok_spy_get_list ()

    GSList*             gok_spy_get_list                    (Accessible *paccessible);

`paccessible`: The parent accessible to the list

User must call gok_spy_free when finished with this list.

`paccessible` : |
Returns : | pointer to the list or NULL

### gok_spy_refresh ()

    AccessibleNode*     gok_spy_refresh                     (AccessibleNode *plist);

`plist`: Pointer to the list to refresh

not implemented.

`plist` : |
Returns : | pointer to the refreshed list

### gok_spy_free ()

    void                gok_spy_free                        (GSList *nodes);

`nodes` : |

### gok_spy_has_child ()

    gboolean            gok_spy_has_child                   (Accessible *accessible,
                                                             GokSpySearchType type,
                                                             AccessibleRole role);

`accessible` : |
`type` : |
`role` : |
Returns : |