Add a boxed type for GDate. (#301787, Tim-Philipp Müller)
authorMatthias Clasen <mclasen@redhat.com>
Fri, 29 Apr 2005 18:33:41 +0000 (18:33 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 29 Apr 2005 18:33:41 +0000 (18:33 +0000)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

* gobject.symbols:
* gboxed.h (G_TYPE_DATE):
* gboxed.c: Add a boxed type for GDate. (#301787, Tim-Philipp
Müller)

docs/reference/ChangeLog
docs/reference/gobject/gobject-sections.txt
docs/reference/gobject/tmpl/gboxed.sgml
gobject/ChangeLog
gobject/gboxed.c
gobject/gboxed.h
gobject/gobject.symbols

index fe19e66a63683edf5071333616148636a21cacbd..b10d176cc909507f2bab4551d3b9c98f159a254a 100644 (file)
@@ -1,3 +1,8 @@
+2005-04-29  Matthias Clasen  <mclasen@redhat.com>
+
+       * gobject/tmpl/gboxed.sgml: 
+       * gobject/gobject-sections.txt: Add G_TYPE_DATE.
+
 2005-04-23  Stefan Kost  <ensonic@users.sf.net>
 
        * gobject/tut_gtype.xml:
index 3101a5a227653e5576abcd50f22691966bb0b1db..bd5510a53bb126236832beeb30aca49076517f58 100644 (file)
@@ -309,6 +309,7 @@ g_boxed_type_register_static
 g_pointer_type_register_static
 
 <SUBSECTION>
+G_TYPE_DATE
 G_TYPE_GSTRING
 G_TYPE_STRV
 GStrv
index 9d9236690e6ba54a137a07ff99e545bc79075323..84aeb7f58303fdedce61cf4cad1663f72224e1a8 100644 (file)
@@ -75,6 +75,13 @@ pointer type with name @name.
 @Returns: a new %G_TYPE_POINTER derived type id for @name.
 
 
+<!-- ##### MACRO G_TYPE_DATE ##### -->
+<para>
+The #GType for #GDate.
+</para>
+
+
+
 <!-- ##### MACRO G_TYPE_GSTRING ##### -->
 <para>
 The #GType for #GString.
index 8b9636f52fad92248b096e4a18514ac20691d40c..fde059539277b586526b156dbb2fe5b9fb2d6b67 100644 (file)
@@ -1,3 +1,10 @@
+2005-04-29  Matthias Clasen  <mclasen@redhat.com>
+
+       * 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  <mclasen@redhat.com>
 
        * gparam.c (param_spec_ht_lookup): Don't do the second
index ee722a03c8e00482ef9cdf432be1bede6657e510..43256ee5e735077be34eea4901269b90da112861 100644 (file)
@@ -93,6 +93,14 @@ 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)
 {
@@ -172,6 +180,18 @@ g_value_array_get_type (void)
   return type_id;
 }
 
+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)
 {
index b4bf15d2e973e31d086f541ada6255ce565a4b3c..58c245d82d8cb343043c5b7beb3d081e5854ff64 100644 (file)
@@ -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;
 
index 8e3d21e4614904097ce1655306d8227db4cf7ec0..7b32ea15ae3b49e575959d7a30958538d084c23f 100644 (file)
@@ -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