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