[Galago-commits] r2624 - in trunk/libgalago: . libgalago

galago-commits at freedesktop.org galago-commits at freedesktop.org
Fri Mar 24 01:23:31 PST 2006


Author: chipx86
Date: 2006-03-24 01:23:29 -0800 (Fri, 24 Mar 2006)
New Revision: 2624

Modified:
   trunk/libgalago/ChangeLog
   trunk/libgalago/libgalago/galago-key-value.c
   trunk/libgalago/libgalago/galago-key-value.h
Log:
Added some API functions for manipulating the GalagoKeyValue.


Modified: trunk/libgalago/ChangeLog
===================================================================
--- trunk/libgalago/ChangeLog	2006-03-24 08:59:41 UTC (rev 2623)
+++ trunk/libgalago/ChangeLog	2006-03-24 09:23:29 UTC (rev 2624)
@@ -1,3 +1,9 @@
+Fri Mar 24 01:23:12 PST 2006  Christian Hammond <chipx86 at chipx86.com>
+
+	* libgalago/galago-key-value.c:
+	* libgalago/galago-key-value.h:
+	  - Added some API functions for manipulating the GalagoKeyValue.
+
 Fri Mar 24 00:40:43 PST 2006  Christian Hammond <chipx86 at chipx86.com>
 
 	* libgalago/galago-object.c:

Modified: trunk/libgalago/libgalago/galago-key-value.c
===================================================================
--- trunk/libgalago/libgalago/galago-key-value.c	2006-03-24 08:59:41 UTC (rev 2623)
+++ trunk/libgalago/libgalago/galago-key-value.c	2006-03-24 09:23:29 UTC (rev 2624)
@@ -26,7 +26,6 @@
 	GalagoKeyValue *key_value;
 
 	g_return_val_if_fail(key != NULL && *key != '\0', NULL);
-	g_return_val_if_fail(value != NULL, NULL);
 
 	key_value = g_new0(GalagoKeyValue, 1);
 	key_value->key = g_strdup(key);
@@ -45,3 +44,51 @@
 	g_free(key_value->value);
 	g_free(key_value);
 }
+
+void
+galago_key_value_set_key(GalagoKeyValue *key_value, const char *key)
+{
+	g_return_if_fail(key_value != NULL);
+	g_return_if_fail(key != NULL && *key != '\0');
+
+	if (key_value->key == key)
+		return;
+
+	if (key_value->key != NULL)
+		g_free(key_value->key);
+
+	key_value->key = g_strdup(key);
+}
+
+const char *
+galago_key_value_get_key(const GalagoKeyValue *key_value)
+{
+	g_return_val_if_fail(key_value != NULL, NULL);
+
+	return key_value->key;
+}
+
+void
+galago_key_value_set_value(GalagoKeyValue *key_value, GValue *value)
+{
+	g_return_if_fail(key_value != NULL);
+
+	if (key_value->value == value)
+		return;
+
+	if (key_value->value != NULL)
+	{
+		g_value_unset(key_value->value);
+		g_free(key_value->value);
+	}
+
+	key_value->value = value;
+}
+
+const GValue *
+galago_key_value_get_value(const GalagoKeyValue *key_value)
+{
+	g_return_val_if_fail(key_value != NULL, NULL);
+
+	return key_value->value;
+}

Modified: trunk/libgalago/libgalago/galago-key-value.h
===================================================================
--- trunk/libgalago/libgalago/galago-key-value.h	2006-03-24 08:59:41 UTC (rev 2623)
+++ trunk/libgalago/libgalago/galago-key-value.h	2006-03-24 09:23:29 UTC (rev 2624)
@@ -33,4 +33,11 @@
 GalagoKeyValue *galago_key_value_new(const char *key, GValue *value);
 void galago_key_value_destroy(GalagoKeyValue *key_value);
 
+void galago_key_value_set_key(GalagoKeyValue *key_value,
+							  const char *key);
+const char *galago_key_value_get_key(const GalagoKeyValue *key_value);
+
+void galago_key_value_set_value(GalagoKeyValue *key_value, GValue *value);
+const GValue *galago_key_value_get_value(const GalagoKeyValue *key_value);
+
 #endif /* _GALAGO_KEY_VALUE_H_ */



More information about the galago-commits mailing list