Use the new iterator API.

SVN revision: 35443
This commit is contained in:
Cedric BAIL 2008-08-12 08:40:36 +00:00
parent a46c20d137
commit fbb333c916
1 changed files with 4 additions and 13 deletions

View File

@ -32,13 +32,6 @@ eina_iterator_free(Eina_Iterator *iterator)
if (iterator) iterator->free(iterator); if (iterator) iterator->free(iterator);
} }
EAPI void *
eina_iterator_data_get(Eina_Iterator *iterator)
{
if (!iterator) return NULL;
return iterator->get_content(iterator);
}
EAPI void * EAPI void *
eina_iterator_container_get(Eina_Iterator *iterator) eina_iterator_container_get(Eina_Iterator *iterator)
{ {
@ -46,11 +39,11 @@ eina_iterator_container_get(Eina_Iterator *iterator)
return iterator->get_container(iterator); return iterator->get_container(iterator);
} }
EAPI Eina_Error EAPI Eina_Bool
eina_iterator_next(Eina_Iterator *iterator) eina_iterator_next(Eina_Iterator *iterator, void **data)
{ {
if (!iterator) return EINA_FALSE; if (!iterator) return EINA_FALSE;
return iterator->next(iterator); return iterator->next(iterator, data);
} }
EAPI void EAPI void
@ -64,9 +57,7 @@ eina_iterator_foreach(Eina_Iterator *iterator,
if (!iterator) return ; if (!iterator) return ;
container = iterator->get_container(iterator); container = iterator->get_container(iterator);
while ((data = iterator->get_content(iterator)) != NULL) { while (iterator->next(iterator, &data) == EINA_TRUE) {
if (cb(container, data, (void*) fdata) != EINA_TRUE) return ; if (cb(container, data, (void*) fdata) != EINA_TRUE) return ;
if (iterator->next(iterator) != EINA_TRUE)
break ;
} }
} }