Add a function g_pointer_type_register_static() to register a type derived
authorOwen Taylor <otaylor@redhat.com>
Sun, 4 Nov 2001 19:02:10 +0000 (19:02 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Sun, 4 Nov 2001 19:02:10 +0000 (19:02 +0000)
Sun Nov  4 14:01:23 2001  Owen Taylor  <otaylor@redhat.com>

        * gvaluetypes.[ch]: Add a function g_pointer_type_register_static()
        to register a type derived from G_TYPE_POINTER.

gobject/ChangeLog
gobject/gvaluetypes.c
gobject/gvaluetypes.h

index 2c7af5c..e70a560 100644 (file)
@@ -1,3 +1,8 @@
+Sun Nov  4 14:01:23 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * gvaluetypes.[ch]: Add a function g_pointer_type_register_static()
+       to register a type derived from G_TYPE_POINTER.
+
 2001-11-03  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc.in : gobject-query needs gmarshal.[hc,stings]
index c64bb35..e003190 100644 (file)
@@ -872,3 +872,29 @@ g_strdup_value_contents (const GValue *value)
 
   return contents;
 }
+
+GType
+g_pointer_type_register_static (const gchar *name)
+{
+  static const GTypeInfo type_info = {
+    0,                 /* class_size */
+    NULL,              /* base_init */
+    NULL,              /* base_finalize */
+    NULL,              /* class_init */
+    NULL,              /* class_finalize */
+    NULL,              /* class_data */
+    0,                 /* instance_size */
+    0,                 /* n_preallocs */
+    NULL,              /* instance_init */
+    NULL               /* value_table */
+  };
+  GType type;
+
+  g_return_val_if_fail (name != NULL, 0);
+  g_return_val_if_fail (g_type_from_name (name) == 0, 0);
+
+  type = g_type_register_static (G_TYPE_POINTER, name, &type_info, 0);
+
+  return type;
+}
+
index 6f74af3..0629007 100644 (file)
@@ -87,6 +87,9 @@ void                g_value_set_pointer       (GValue       *value,
 gpointer             g_value_get_pointer       (const GValue *value);
 
 
+/* Convenience for registering new pointer types */
+GType                 g_pointer_type_register_static (const gchar *name);
+
 /* debugging aid, describe value contents as string */
 gchar*                g_strdup_value_contents   (const GValue *value);