#define TEXT_INSERT_SIG "object:text-changed:insert"
#define TEXT_DELETE_SIG "object:text-changed:delete"
#define STATE_CHECKED_SIG "object:state-changed:checked"
-#define STATE_DEFUNCT_SIG "object:state-changed:defunct"
typedef enum {
read_as_xml,
*/
Read_Command *tw_speak_customized(char *text_to_speak, Eina_Bool want_discard_previous_reading, Eina_Bool discardable, AtspiAccessible *obj, unsigned int delay);
-/**
- * @brief Purges command from local queue or stops current reading for given object.
- * @param object an accessible do not want to read.
- */
-void tw_purge_object(AtspiAccessible *object);
-
/**
* @brief Purges commands from local queue and stops current reading.
* If only_discardables is set to true, then only discardables are purged.
*text_to_read = g_strdup(_("COM_TV_SID_CHECKED"));
else
*text_to_read = g_strdup(_("COM_TV_SID_UNCHECKED"));
+
} else {
ERROR("Unknown event type");
}
}
DEBUG("Tracking signal - %s", spi->tracking_signal_name);
-
- if (!g_strcmp0(event->type, STATE_DEFUNCT_SIG)) {
- tw_purge_object(event->source);
- DEBUG("END - defunct");
- goto end;
- }
-
display_info(event);
int cancel = 1;
spi_listener_register(spi->listener, TEXT_INSERT_SIG);
spi_listener_register(spi->listener, TEXT_DELETE_SIG);
spi_listener_register(spi->listener, STATE_CHECKED_SIG);
- spi_listener_register(spi->listener, STATE_DEFUNCT_SIG);
DEBUG("---------------------- SPI_init END ----------------------\n\n");
spi_listener_deregister(spi->listener, VALUE_CHANGED_SIG);
spi_listener_deregister(spi->listener, TEXT_INSERT_SIG);
spi_listener_deregister(spi->listener, TEXT_DELETE_SIG);
- spi_listener_deregister(spi->listener, STATE_DEFUNCT_SIG);
g_object_unref(spi->listener);
spi->listener = NULL;
return result;
}
-static Eina_Bool purge_object_from_command_queue(Eina_List **list_ptr, AtspiAccessible *object)
-{
- Eina_Bool ret = EINA_FALSE;
- Eina_List *l, *l_next, *list;
- Read_Command *rc;
-
- list = *list_ptr;
- EINA_LIST_FOREACH_SAFE(list, l, l_next, rc) {
- if (rc->obj == defunct_object) {
- list = eina_list_remove(list, rc);
- dispose_read_command(rc, READING_SKIPPED, READING_SKIPPED);
- ret = EINA_TRUE;
- }
- }
- *list_ptr = list;
-
- return ret;
-}
-
static void purge_commands_from_queue(Eina_List **list_ptr, Eina_Bool only_discardables)
{
Eina_List *l, *l_next, *list;
tw->init = 0;
}
-void tw_purge_object(AtspiAccessible *object)
-{
- DEBUG("BEGIN");
- Eina_Bool purged = EINA_FALSE;
- TWData *tw = tw_get_instance();
- purged = purge_object_from_command_queue(&(tw->read_command_queue), object);
- if (!purged && tw->last_read_command && tw->last_read_command->is_playing && tw->last_read_command->obj == object) {
- stop_speaking(tw);
- overwrite_last_read_command_with(tw, NULL);
- }
- DEBUG("END");
-}
-
void tw_purge(Eina_Bool only_discardables)
{
DEBUG("BEGIN");