aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/eina/src/examples/eina_accessor_01.c
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/eina/src/examples/eina_accessor_01.c')
-rw-r--r--libraries/eina/src/examples/eina_accessor_01.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/libraries/eina/src/examples/eina_accessor_01.c b/libraries/eina/src/examples/eina_accessor_01.c
new file mode 100644
index 0000000..c48fdc6
--- /dev/null
+++ b/libraries/eina/src/examples/eina_accessor_01.c
@@ -0,0 +1,55 @@
1//Compile with:
2//gcc -g `pkg-config --cflags --libs eina` eina_accessor_01.c -o eina_accessor_01
3
4#include <stdio.h>
5
6#include <Eina.h>
7
8int
9main(int argc, char **argv)
10{
11 const char *strings[] = {
12 "even", "odd", "even", "odd", "even", "odd", "even", "odd", "even", "odd"
13 };
14 const char *more_strings[] = {
15 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
16 };
17 Eina_Array *array;
18 Eina_List *list = NULL;
19 Eina_Accessor *acc;
20 unsigned short int i;
21 void *data;
22
23 eina_init();
24
25 array = eina_array_new(10);
26
27 for (i = 0; i < 10; i++)
28 {
29 eina_array_push(array, strings[i]);
30 list = eina_list_append(list, more_strings[i]);
31 }
32
33 acc = eina_array_accessor_new(array);
34 for(i = 1; i < 10; i += 2)
35 {
36 eina_accessor_data_get(acc, i, &data);
37 printf("%s\n", (const char *)data);
38 }
39 eina_accessor_free(acc);
40 eina_array_free(array);
41
42 acc = eina_list_accessor_new(list);
43 for(i = 1; i < 10; i += 2)
44 {
45 eina_accessor_data_get(acc, i, &data);
46 printf("%s\n", (const char *)data);
47 }
48
49 eina_list_free(eina_accessor_container_get(acc));
50 eina_accessor_free(acc);
51
52 eina_shutdown();
53
54 return 0;
55}