22 GPtrArray* array = (GPtrArray*) pointer;
24 g_ptr_array_free(array, TRUE);
35 if (key == NULL)
return 0;
38 return g_str_hash(d_str->
value);
42 if ((a == NULL) || (b == NULL))
return FALSE;
59 GPtrArray* entries = g_hash_table_lookup(_map->
hash, key);
60 if (entries == NULL) {
70 if ((map == NULL) || (entry == NULL))
return;
75 for (index = 0; index < num_values; index++) {
85 if ((map == NULL) || (key == NULL))
return NULL;
88 GPtrArray* values = g_hash_table_lookup(_map->
hash, key);
89 if (values == NULL)
return NULL;
93 unsigned int num_values = values->len;
94 for (index=0; index < num_values; index++) {
95 ds3_str* current_value = g_ptr_array_index(values, index);
103 if (map == NULL)
return;
106 if (_map->
hash != NULL) {
107 g_hash_table_destroy(_map->
hash);
125 if ((entry == NULL) || (value == NULL))
return;
137 for (index = 0; index < num_values; index++) {
166 if (map_entry == NULL)
return 0;
169 return _entry->
values->len;
179 g_ptr_array_free(_entry->
values, TRUE);
ds3_string_multimap_entry * ds3_string_multimap_entry_init(const ds3_str *key)
static void _free_pointer_array(gpointer pointer)
ds3_str * ds3_string_multimap_entry_get_value_by_index(const ds3_string_multimap_entry *entry, unsigned int index)
static void _internal_str_free(gpointer data)
ds3_string_multimap_entry * ds3_string_multimap_lookup(ds3_string_multimap *map, const ds3_str *key)
static gboolean _ds3_str_equal(gconstpointer a, gconstpointer b)
static guint _ds3_str_hash(gconstpointer key)
ds3_string_multimap_entry * ds3_string_multimap_entry_dup(const ds3_string_multimap_entry *entry)
void ds3_str_free(ds3_str *string)
ds3_str * ds3_str_dup(const ds3_str *string)
The public definitions for the Spectra S3 C SDK.
ds3_string_multimap * ds3_string_multimap_init(void)
unsigned int ds3_string_multimap_entry_get_num_values(const ds3_string_multimap_entry *map_entry)
void ds3_string_multimap_entry_add_value(ds3_string_multimap_entry *entry, const ds3_str *value)
void ds3_string_multimap_free(ds3_string_multimap *map)
void ds3_string_multimap_insert(ds3_string_multimap *map, const ds3_str *key, const ds3_str *value)
void ds3_string_multimap_entry_free(ds3_string_multimap_entry *entry)
ds3_str * ds3_string_multimap_entry_get_key(const ds3_string_multimap_entry *entry)
void ds3_string_multimap_insert_entry(ds3_string_multimap *map, const ds3_string_multimap_entry *entry)