mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-09 19:06:15 +01:00
minor cleanups, implemented G_TYPE_HASH_TABLE.
Wed Nov 23 13:36:02 2005 Tim Janik <timj@gtk.org> * gboxed.[hc]: minor cleanups, implemented G_TYPE_HASH_TABLE.
This commit is contained in:
parent
fe749cbd3b
commit
02b62d08cc
@ -1,3 +1,7 @@
|
||||
Wed Nov 23 13:36:02 2005 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gboxed.[hc]: minor cleanups, implemented G_TYPE_HASH_TABLE.
|
||||
|
||||
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.9.0 ===
|
||||
|
@ -93,30 +93,6 @@ value_free (gpointer boxed)
|
||||
g_free (value);
|
||||
}
|
||||
|
||||
static gpointer
|
||||
gdate_copy (gpointer boxed)
|
||||
{
|
||||
const GDate *date = (const GDate*) boxed;
|
||||
|
||||
return g_date_new_julian (g_date_get_julian (date));
|
||||
}
|
||||
|
||||
static gpointer
|
||||
gstring_copy (gpointer boxed)
|
||||
{
|
||||
const GString *src_gstring = boxed;
|
||||
|
||||
return g_string_new_len (src_gstring->str, src_gstring->len);
|
||||
}
|
||||
|
||||
static void
|
||||
gstring_free (gpointer boxed)
|
||||
{
|
||||
GString *gstring = boxed;
|
||||
|
||||
g_string_free (gstring, TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
g_boxed_type_init (void)
|
||||
{
|
||||
@ -180,6 +156,14 @@ g_value_array_get_type (void)
|
||||
return type_id;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
gdate_copy (gpointer boxed)
|
||||
{
|
||||
const GDate *date = (const GDate*) boxed;
|
||||
|
||||
return g_date_new_julian (g_date_get_julian (date));
|
||||
}
|
||||
|
||||
GType
|
||||
g_date_get_type (void)
|
||||
{
|
||||
@ -204,18 +188,59 @@ g_strv_get_type (void)
|
||||
return type_id;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
gstring_copy (gpointer boxed)
|
||||
{
|
||||
const GString *src_gstring = boxed;
|
||||
|
||||
return g_string_new_len (src_gstring->str, src_gstring->len);
|
||||
}
|
||||
|
||||
static void
|
||||
gstring_free (gpointer boxed)
|
||||
{
|
||||
GString *gstring = boxed;
|
||||
|
||||
g_string_free (gstring, TRUE);
|
||||
}
|
||||
|
||||
GType
|
||||
g_gstring_get_type (void)
|
||||
{
|
||||
static GType type_id = 0;
|
||||
|
||||
if (!type_id)
|
||||
type_id = g_boxed_type_register_static (g_intern_static_string ("GString"), /* the naming is a bit odd, but GString is obviously not G_TYPE_STRING */
|
||||
type_id = g_boxed_type_register_static (g_intern_static_string ("GString"),
|
||||
/* the naming is a bit odd, but GString is obviously not G_TYPE_STRING */
|
||||
gstring_copy,
|
||||
gstring_free);
|
||||
return type_id;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
hash_table_copy (gpointer boxed)
|
||||
{
|
||||
GHashTable *hash_table = boxed;
|
||||
return g_hash_table_ref (hash_table);
|
||||
}
|
||||
|
||||
static void
|
||||
hash_table_free (gpointer boxed)
|
||||
{
|
||||
GHashTable *hash_table = boxed;
|
||||
g_hash_table_unref (hash_table);
|
||||
}
|
||||
|
||||
GType
|
||||
g_hash_table_get_type (void)
|
||||
{
|
||||
static GType type_id = 0;
|
||||
if (!type_id)
|
||||
type_id = g_boxed_type_register_static (g_intern_static_string ("GHashTable"),
|
||||
hash_table_copy, hash_table_free);
|
||||
return type_id;
|
||||
}
|
||||
|
||||
static void
|
||||
boxed_proxy_value_init (GValue *value)
|
||||
{
|
||||
|
@ -63,6 +63,7 @@ GType g_boxed_type_register_static (const gchar *name,
|
||||
#define G_TYPE_DATE (g_date_get_type ())
|
||||
#define G_TYPE_STRV (g_strv_get_type ())
|
||||
#define G_TYPE_GSTRING (g_gstring_get_type ())
|
||||
#define G_TYPE_HASH_TABLE (g_hash_table_get_type ())
|
||||
|
||||
|
||||
void g_value_take_boxed (GValue *value,
|
||||
|
Loading…
Reference in New Issue
Block a user