Consultando as interfaces de um AtkObject

Tendo localizado o AtkObject associado com um objeto no aplicativo (ex.: usando gtk_widget_get_accessible()), você pode descobrir quais interfaces ele implementa de várias formas:

  1. Use as macros ATK_IS_... fornecidas, por exemplo:

    • ATK_IS_ACTION(atkobj)
    • ATK_IS_COMPONENT(atkobj)
    • etc. (há um para cada interface)

    Se a macro retorna TRUE, as chamadas de interface podem ser feitas com segurança naquele objeto ATK.

  2. Teste a função do AtkObject chamando atk_object_get_role(). Qualquer papel dado implementa um número específico de APIs ATK.