eina-iterator: Add first reference example
This commit is contained in:
parent
632662aeee
commit
ad5287a9e3
|
@ -0,0 +1,13 @@
|
||||||
|
project(
|
||||||
|
'efl-reference-eina-iterator', 'c',
|
||||||
|
version : '0.0.1',
|
||||||
|
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
|
||||||
|
meson_version : '>= 0.38.0')
|
||||||
|
|
||||||
|
eina = dependency('eina', version : '>=1.20.99')
|
||||||
|
efl = dependency('efl', version : '>=1.20.99')
|
||||||
|
elm = dependency('elementary', version : '>=1.20.99')
|
||||||
|
|
||||||
|
inc = include_directories('.')
|
||||||
|
subdir('src')
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
#define EFL_EO_API_SUPPORT 1
|
||||||
|
#define EFL_BETA_API_SUPPORT 1
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <Eina.h>
|
||||||
|
|
||||||
|
#include <Efl.h>
|
||||||
|
#include <Elementary.h>
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_print_item(const void *container EINA_UNUSED, void *data, void *fdata EINA_UNUSED)
|
||||||
|
{
|
||||||
|
printf("%s\n", (char*)data);
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_print_container(Eina_Iterator *it)
|
||||||
|
{
|
||||||
|
printf("--start--\n");
|
||||||
|
eina_iterator_foreach(it, _print_item, NULL);
|
||||||
|
printf("-- end --\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
static Eina_Array *
|
||||||
|
_create_array()
|
||||||
|
{
|
||||||
|
const char *strings[] =
|
||||||
|
{
|
||||||
|
"name strings",
|
||||||
|
"husker",
|
||||||
|
"starbuck",
|
||||||
|
"boomer"
|
||||||
|
};
|
||||||
|
|
||||||
|
Eina_Array *array;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
array = eina_array_new(4);
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
eina_array_push(array, strings[i]);
|
||||||
|
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Eina_List *
|
||||||
|
_create_list()
|
||||||
|
{
|
||||||
|
const char *more_strings[] = {
|
||||||
|
"sentence strings",
|
||||||
|
"what do your hear?",
|
||||||
|
"nothing but the rain",
|
||||||
|
"then grab your gun and bring the cat in"
|
||||||
|
};
|
||||||
|
|
||||||
|
Eina_List *list = NULL;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
list = eina_list_append(list, more_strings[i]);
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI_MAIN void
|
||||||
|
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Eina_Array *array;
|
||||||
|
Eina_List *list;
|
||||||
|
Eina_Iterator *it;
|
||||||
|
|
||||||
|
array = _create_array();
|
||||||
|
it = eina_array_iterator_new(array);
|
||||||
|
_print_container(it);
|
||||||
|
eina_iterator_free(it);
|
||||||
|
eina_array_free(array);
|
||||||
|
|
||||||
|
list = _create_list();
|
||||||
|
it = eina_list_iterator_new(list);
|
||||||
|
_print_container(it);
|
||||||
|
eina_iterator_free(it);
|
||||||
|
eina_list_free(list);
|
||||||
|
|
||||||
|
efl_exit(0);
|
||||||
|
}
|
||||||
|
EFL_MAIN()
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
src = files([
|
||||||
|
'eina_iterator_main.c',
|
||||||
|
])
|
||||||
|
|
||||||
|
deps = [eina, efl, elm]
|
||||||
|
|
||||||
|
executable('efl_reference_eina_iterator', src,
|
||||||
|
dependencies : deps,
|
||||||
|
include_directories : inc,
|
||||||
|
install : true
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in New Issue