static Type type_interface;
-static GHashTable *type_table_get(void)
-{
- static GHashTable *type_table;
-
- if (type_table == NULL) {
- type_table = g_hash_table_new(g_str_hash, g_str_equal);
- }
-
- return type_table;
-}
+static GHashTable *type_table;
static bool enumerating_types;
static void type_table_add(TypeImpl *ti)
{
assert(!enumerating_types);
- g_hash_table_insert(type_table_get(), (void *)ti->name, ti);
+ g_hash_table_insert(type_table, (void *)ti->name, ti);
}
static TypeImpl *type_table_lookup(const char *name)
{
- return g_hash_table_lookup(type_table_get(), name);
+ return g_hash_table_lookup(type_table, name);
}
static TypeImpl *type_new(const TypeInfo *info)
OCFData data = { fn, implements_type, include_abstract, opaque };
enumerating_types = true;
- g_hash_table_foreach(type_table_get(), object_class_foreach_tramp, &data);
+ g_hash_table_foreach(type_table, object_class_foreach_tramp, &data);
enumerating_types = false;
}
.abstract = true,
};
+ type_table = g_hash_table_new(g_str_hash, g_str_equal);
type_interface = type_register_internal(&interface_info);
type_register_internal(&object_info);
}