diff options
-rw-r--r-- | gconf/gconf-value.c | 24 | ||||
-rw-r--r-- | gconf/gconf-value.h | 3 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gconf/gconf-value.c b/gconf/gconf-value.c index e941eb4c..499403db 100644 --- a/gconf/gconf-value.c +++ b/gconf/gconf-value.c @@ -710,6 +710,18 @@ copy_value_list(GSList* list) return copy; } +GType +gconf_value_get_type () +{ + static GType type = 0; + + if (type == 0) + type = g_boxed_type_register_static (g_intern_static_string ("GConfValue"), + (GBoxedCopyFunc) gconf_value_copy, + (GBoxedFreeFunc) gconf_value_free); + return type; +} + GConfValue* gconf_value_copy (const GConfValue* src) { @@ -1439,6 +1451,18 @@ typedef struct { #define REAL_ENTRY(x) ((GConfRealEntry*)(x)) +GType +gconf_entry_get_type () +{ + static GType type = 0; + + if (type == 0) + type = g_boxed_type_register_static (g_intern_static_string ("GConfEntry"), + (GBoxedCopyFunc) gconf_entry_ref, + (GBoxedFreeFunc) gconf_entry_unref); + return type; +} + GConfEntry* gconf_entry_new (const char *key, const GConfValue *val) diff --git a/gconf/gconf-value.h b/gconf/gconf-value.h index f8d2f229..1f575107 100644 --- a/gconf/gconf-value.h +++ b/gconf/gconf-value.h @@ -22,6 +22,7 @@ #define GCONF_GCONF_VALUE_H #include <glib.h> +#include <glib-object.h> #include "gconf-error.h" G_BEGIN_DECLS @@ -76,6 +77,7 @@ GConfValue* gconf_value_new_from_string (GConfValueType type, const gchar* str, GError** err); +GType gconf_value_get_type (void) G_GNUC_CONST; GConfValue* gconf_value_copy (const GConfValue* src); void gconf_value_free (GConfValue* value); @@ -163,6 +165,7 @@ struct _GConfEntry { GConfValue *value; }; +GType gconf_entry_get_type (void) G_GNUC_CONST; const char* gconf_entry_get_key (const GConfEntry *entry); GConfValue* gconf_entry_get_value (const GConfEntry *entry); const char* gconf_entry_get_schema_name (const GConfEntry *entry); |