[Galago-commits] r1977 - in branches/libgalago/glib-port: . libgalago

galago-commits at freedesktop.org galago-commits at freedesktop.org
Wed Jun 22 23:32:58 PDT 2005


Author: chipx86
Date: 2005-06-22 23:32:53 -0700 (Wed, 22 Jun 2005)
New Revision: 1977

Modified:
   branches/libgalago/glib-port/ChangeLog
   branches/libgalago/glib-port/libgalago/galago-dbus.h
   branches/libgalago/glib-port/libgalago/galago-status.c
   branches/libgalago/glib-port/libgalago/galago-status.h
Log:
GalagoStatus compiles.


Modified: branches/libgalago/glib-port/ChangeLog
===================================================================
--- branches/libgalago/glib-port/ChangeLog	2005-06-23 06:26:38 UTC (rev 1976)
+++ branches/libgalago/glib-port/ChangeLog	2005-06-23 06:32:53 UTC (rev 1977)
@@ -1,3 +1,10 @@
+Wed Jun 22 23:31:56 PDT 2005  Christian Hammond <chipx86 at chipx86.com>
+
+	* libgalago/galago-dbus.h:
+	* libgalago/galago-status.c:
+	* libgalago/galago-status.h:
+	  - GalagoStatus compiles.
+
 Wed Jun 22 23:25:27 PDT 2005  Christian Hammond <chipx86 at chipx86.com>
 
 	* libgalago/galago-account.c:

Modified: branches/libgalago/glib-port/libgalago/galago-dbus.h
===================================================================
--- branches/libgalago/glib-port/libgalago/galago-dbus.h	2005-06-23 06:26:38 UTC (rev 1976)
+++ branches/libgalago/glib-port/libgalago/galago-dbus.h	2005-06-23 06:32:53 UTC (rev 1977)
@@ -25,6 +25,7 @@
 
 #include <dbus/dbus.h>
 #include <libgalago/galago-object.h>
+#include <libgalago/galago-value.h>
 
 #define GALAGO_DBUS_SERVICE "org.freedesktop.Galago"
 

Modified: branches/libgalago/glib-port/libgalago/galago-status.c
===================================================================
--- branches/libgalago/glib-port/libgalago/galago-status.c	2005-06-23 06:26:38 UTC (rev 1976)
+++ branches/libgalago/glib-port/libgalago/galago-status.c	2005-06-23 06:32:53 UTC (rev 1977)
@@ -19,12 +19,10 @@
  * Boston, MA  02111-1307, USA.
  */
 #include <libgalago/galago-private.h>
-#include <libgalago/galago-status.h>
-#include <libgalago/galago-assert.h>
 #include <libgalago/galago-core.h>
 #include <libgalago/galago-dbus-compat.h>
-#include <libgalago/galago-object-utils.h>
-#include <libgalago/galago-signals.h>
+#include <libgalago/galago-log.h>
+#include <libgalago/galago-status.h>
 #include <stdio.h>
 #include <string.h>
 
@@ -77,11 +75,32 @@
 /**************************************************************************
  * Object/Class support
  **************************************************************************/
-GALAGO_REGISTER_CLASS(galago_status, GalagoStatus, NULL, NULL);
+static void galago_status_finalize(GObject *gobject);
+static void galago_status_dbus_message_append(DBusMessageIter *iter,
+											  const GalagoObject *object);
+static void *galago_status_dbus_message_get(DBusMessageIter *iter);
 
+static GalagoObjectClass *parent_class = NULL;
+
+G_DEFINE_TYPE(GalagoStatus, galago_status, GALAGO_TYPE_OBJECT);
+
 static void
-galago_status_object_init(GalagoStatus *status)
+galago_status_class_init(GalagoStatusClass *klass)
 {
+	GObjectClass     *gobject_class = G_OBJECT_CLASS(klass);
+	GalagoObjectClass *object_class = GALAGO_OBJECT_CLASS(klass);
+
+	parent_class = g_type_class_peek_parent(klass);
+
+	gobject_class->finalize = galago_status_finalize;
+
+	object_class->dbus_message_append = galago_status_dbus_message_append;
+	object_class->dbus_message_get    = galago_status_dbus_message_get;
+}
+
+static void
+galago_status_init(GalagoStatus *status)
+{
 	status->priv = g_new0(GalagoStatusPrivate, 1);
 
 	status->priv->attrs_table =
@@ -90,7 +109,7 @@
 }
 
 static void
-galago_status_object_finalize(GalagoObject *object)
+galago_status_finalize(GObject *object)
 {
 	GalagoStatus *status = (GalagoStatus *)object;
 
@@ -104,6 +123,8 @@
 		g_free(status->priv->name);
 
 	g_free(status->priv);
+
+	G_OBJECT_CLASS(parent_class)->finalize(object);
 }
 
 static void
@@ -117,7 +138,7 @@
 	gboolean exclusive;
 	size_t attr_count;
 
-	type      = galago_status_get_type(status);
+	type      = galago_status_get_primitive(status);
 	id        = galago_status_get_id(status);
 	name      = galago_status_get_name(status);
 	exclusive = galago_status_is_exclusive(status);
@@ -272,15 +293,7 @@
 	return status;
 }
 
-static void
-galago_status_class_init(GalagoObjectClass *klass)
-{
-	klass->finalize            = galago_status_object_finalize;
-	klass->dbus_message_append = galago_status_dbus_message_append;
-	klass->dbus_message_get    = galago_status_dbus_message_get;
-}
 
-
 /**************************************************************************
  * Status ID to Name mapping
  **************************************************************************/
@@ -336,7 +349,7 @@
 	g_return_val_if_fail(name  != NULL, NULL);
 	g_return_val_if_fail(*name != '\0', NULL);
 
-	status = galago_object_new(GALAGO_TYPE_STATUS);
+	status = g_object_new(GALAGO_TYPE_STATUS, NULL);
 
 	status->priv->type      = type;
 	status->priv->id        = g_strdup(id);
@@ -355,7 +368,7 @@
 	g_return_val_if_fail(status != NULL,           NULL);
 	g_return_val_if_fail(GALAGO_IS_STATUS(status), NULL);
 
-	new_status = galago_status_new(galago_status_get_type(status),
+	new_status = galago_status_new(galago_status_get_primitive(status),
 								   galago_status_get_id(status),
 								   galago_status_get_name(status),
 								   galago_status_is_exclusive(status));
@@ -414,7 +427,7 @@
 }
 
 GalagoStatusType
-galago_status_get_type(const GalagoStatus *status)
+galago_status_get_primitive(const GalagoStatus *status)
 {
 	g_return_val_if_fail(status != NULL,           GALAGO_STATUS_UNSET);
 	g_return_val_if_fail(GALAGO_IS_STATUS(status), GALAGO_STATUS_UNSET);
@@ -457,7 +470,7 @@
 	g_return_val_if_fail(status != NULL,           FALSE);
 	g_return_val_if_fail(GALAGO_IS_STATUS(status), FALSE);
 
-	type = galago_status_get_type(status);
+	type = galago_status_get_primitive(status);
 
 	return (type == GALAGO_STATUS_AVAILABLE ||
 			type == GALAGO_STATUS_HIDDEN);
@@ -491,10 +504,7 @@
 	presence = galago_status_get_presence(status);
 
 	if (presence != NULL)
-	{
-		galago_signal_emit(presence, "status-updated", status, attr_id);
-		galago_signal_emit(presence, "updated");
-	}
+		g_signal_emit_by_name(presence, "status-updated", 0, status, attr_id);
 
 	return attr;
 }

Modified: branches/libgalago/glib-port/libgalago/galago-status.h
===================================================================
--- branches/libgalago/glib-port/libgalago/galago-status.h	2005-06-23 06:26:38 UTC (rev 1976)
+++ branches/libgalago/glib-port/libgalago/galago-status.h	2005-06-23 06:32:53 UTC (rev 1977)
@@ -99,8 +99,17 @@
 	void (*reserved_4)(void);
 };
 
-#define GALAGO_TYPE_STATUS (galago_status_get_class())
-#define GALAGO_IS_STATUS(obj) (GALAGO_IS_OBJECT(obj) && galago_object_check_cast((obj), GALAGO_TYPE_STATUS))
+#define GALAGO_TYPE_STATUS (galago_status_get_type())
+#define GALAGO_STATUS(obj) \
+		(G_TYPE_CHECK_INSTANCE_CAST((obj), GALAGO_TYPE_STATUS, GalagoStatus))
+#define GALAGO_STATUS_CLASS(klass) \
+		(G_TYPE_CHECK_CLASS_CAST((klass), GALAGO_TYPE_STATUS, GalagoStatusClass))
+#define GALAGO_IS_STATUS(obj) \
+		(G_TYPE_CHECK_INSTANCE_TYPE((obj), GALAGO_TYPE_STATUS))
+#define GALAGO_IS_STATUS_CLASS(klass) \
+		(G_TYPE_CHECK_CLASS_TYPE((klass), GALAGO_TYPE_STATUS))
+#define GALAGO_STATUS_GET_CLASS(obj) \
+		(G_TYPE_INSTANCE_GET_CLASS((obj), GALAGO_TYPE_STATUS, GalagoStatusClass))
 
 #ifdef __cplusplus
 extern "C" {
@@ -112,11 +121,11 @@
 /*@{*/
 
 /**
- * Returns the class for a GalagoStatus.
+ * Returns GalagoStatus's GType.
  *
- * @return The GalagoStatus class.
+ * @return The 's GType.
  */
-GalagoObjectClass *galago_status_get_class(void);
+GType galago_status_get_type(void);
 
 /**
  * Creates a new status.
@@ -174,7 +183,7 @@
  *
  * @return The status's primitive type.
  */
-GalagoStatusType galago_status_get_type(const GalagoStatus *status);
+GalagoStatusType galago_status_get_primitive(const GalagoStatus *status);
 
 /**
  * Returns the status's ID.



More information about the galago-commits mailing list