From a82bcb31075d976ebc505d84481cba10e2dec249 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Apr 2005 18:33:41 +0000 Subject: [PATCH] =?utf8?q?Add=20a=20boxed=20type=20for=20GDate.=20(#301787?= =?utf8?q?,=20Tim-Philipp=20M=C3=BCller)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2005-04-29 Matthias Clasen * gobject.symbols: * gboxed.h (G_TYPE_DATE): * gboxed.c: Add a boxed type for GDate. (#301787, Tim-Philipp Müller) --- docs/reference/ChangeLog | 5 +++++ docs/reference/gobject/gobject-sections.txt | 1 + docs/reference/gobject/tmpl/gboxed.sgml | 7 +++++++ gobject/ChangeLog | 7 +++++++ gobject/gboxed.c | 20 ++++++++++++++++++++ gobject/gboxed.h | 2 ++ gobject/gobject.symbols | 1 + 7 files changed, 43 insertions(+) diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index fe19e66..b10d176 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,8 @@ +2005-04-29 Matthias Clasen + + * gobject/tmpl/gboxed.sgml: + * gobject/gobject-sections.txt: Add G_TYPE_DATE. + 2005-04-23 Stefan Kost * gobject/tut_gtype.xml: diff --git a/docs/reference/gobject/gobject-sections.txt b/docs/reference/gobject/gobject-sections.txt index 3101a5a..bd5510a 100644 --- a/docs/reference/gobject/gobject-sections.txt +++ b/docs/reference/gobject/gobject-sections.txt @@ -309,6 +309,7 @@ g_boxed_type_register_static g_pointer_type_register_static +G_TYPE_DATE G_TYPE_GSTRING G_TYPE_STRV GStrv diff --git a/docs/reference/gobject/tmpl/gboxed.sgml b/docs/reference/gobject/tmpl/gboxed.sgml index 9d92366..84aeb7f 100644 --- a/docs/reference/gobject/tmpl/gboxed.sgml +++ b/docs/reference/gobject/tmpl/gboxed.sgml @@ -75,6 +75,13 @@ pointer type with name @name. @Returns: a new %G_TYPE_POINTER derived type id for @name. + + +The #GType for #GDate. + + + + The #GType for #GString. diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 8b9636f..fde0595 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,10 @@ +2005-04-29 Matthias Clasen + + * gobject.symbols: + * gboxed.h (G_TYPE_DATE): + * gboxed.c: Add a boxed type for GDate. (#301787, Tim-Philipp + Müller) + 2005-03-25 Matthias Clasen * gparam.c (param_spec_ht_lookup): Don't do the second diff --git a/gobject/gboxed.c b/gobject/gboxed.c index ee722a0..43256ee 100644 --- a/gobject/gboxed.c +++ b/gobject/gboxed.c @@ -94,6 +94,14 @@ value_free (gpointer boxed) } 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; @@ -173,6 +181,18 @@ g_value_array_get_type (void) } GType +g_date_get_type (void) +{ + static GType type_id = 0; + + if (!type_id) + type_id = g_boxed_type_register_static ("GDate", + (GBoxedCopyFunc) gdate_copy, + (GBoxedFreeFunc) g_date_free); + return type_id; +} + +GType g_strv_get_type (void) { static GType type_id = 0; diff --git a/gobject/gboxed.h b/gobject/gboxed.h index b4bf15d..58c245d 100644 --- a/gobject/gboxed.h +++ b/gobject/gboxed.h @@ -60,6 +60,7 @@ GType g_boxed_type_register_static (const gchar *name, #define G_TYPE_CLOSURE (g_closure_get_type ()) #define G_TYPE_VALUE (g_value_get_type ()) #define G_TYPE_VALUE_ARRAY (g_value_array_get_type ()) +#define G_TYPE_DATE (g_date_get_type ()) #define G_TYPE_STRV (g_strv_get_type ()) #define G_TYPE_GSTRING (g_gstring_get_type ()) @@ -73,6 +74,7 @@ void g_value_set_boxed_take_ownership (GValue *value, GType g_closure_get_type (void) G_GNUC_CONST; GType g_value_get_type (void) G_GNUC_CONST; GType g_value_array_get_type (void) G_GNUC_CONST; +GType g_date_get_type (void) G_GNUC_CONST; GType g_strv_get_type (void) G_GNUC_CONST; GType g_gstring_get_type (void) G_GNUC_CONST; diff --git a/gobject/gobject.symbols b/gobject/gobject.symbols index 8e3d21e..7b32ea1 100644 --- a/gobject/gobject.symbols +++ b/gobject/gobject.symbols @@ -16,6 +16,7 @@ g_boxed_copy g_boxed_free g_boxed_type_register_static +g_date_get_type G_GNUC_CONST g_gstring_get_type G_GNUC_CONST g_strv_get_type G_GNUC_CONST g_closure_get_type G_GNUC_CONST -- 2.7.4