svn update: 48539 (latest:48959)
[framework/uifw/eet.git] / src / tests / eet_data_suite.c
1 #include <string.h>
2 #include <stdio.h>
3
4 #include <Eina.h>
5
6 #include "eet_suite.h"
7
8 static char*
9 _eet_str_direct_alloc(const char *str)
10 {
11    return (char*) str;
12 }
13
14 static void
15 _eet_str_direct_free(const char *str)
16 {
17    /* FIXME: Use attribute unused */
18    (void) str;
19 }
20
21 static void
22 _eet_eina_hash_foreach(void *hash, Eina_Hash_Foreach cb, void *fdata)
23 {
24    if (hash) eina_hash_foreach(hash, cb, fdata);
25 }
26
27 /* Internal wrapper for eina_hash */
28 static Eina_Hash*
29 _eet_eina_hash_add(Eina_Hash *hash, const char *key, const void *data)
30 {
31    if (!hash) hash = eina_hash_string_superfast_new(NULL);
32    if (!hash) return NULL;
33
34    eina_hash_add(hash, key, data);
35    return hash;
36 }
37
38 static void
39 _eet_eina_hash_free(Eina_Hash *hash)
40 {
41    if (hash) eina_hash_free(hash);
42 }
43
44 void
45 eet_test_setup_eddc(Eet_Data_Descriptor_Class *eddc)
46 {
47    eddc->version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
48    eddc->func.mem_alloc = NULL;
49    eddc->func.mem_free = NULL;
50    eddc->func.str_alloc = NULL;
51    eddc->func.str_free = NULL;
52    eddc->func.list_next = (void*) eina_list_next;
53    eddc->func.list_append = (void*) eina_list_append;
54    eddc->func.list_data = (void*) eina_list_data_get;
55    eddc->func.list_free = (void*) eina_list_free;
56    eddc->func.hash_foreach = (void*) _eet_eina_hash_foreach;
57    eddc->func.hash_add = (void*) _eet_eina_hash_add;
58    eddc->func.hash_free = (void*) _eet_eina_hash_free;
59    eddc->func.str_direct_alloc = (void*) _eet_str_direct_alloc;
60    eddc->func.str_direct_free = (void*) _eet_str_direct_free;
61 }
62