empathy r747 - trunk/libempathy



Author: xclaesse
Date: Tue Mar 11 12:22:21 2008
New Revision: 747
URL: http://svn.gnome.org/viewvc/empathy?rev=747&view=rev

Log:
Add a ready property on EmpathyContact and make use of tp_strdiff.


Modified:
   trunk/libempathy/empathy-contact.c
   trunk/libempathy/empathy-contact.h

Modified: trunk/libempathy/empathy-contact.c
==============================================================================
--- trunk/libempathy/empathy-contact.c	(original)
+++ trunk/libempathy/empathy-contact.c	Tue Mar 11 12:22:21 2008
@@ -53,6 +53,7 @@
 	EmpathyCapabilities capabilities;
 	gboolean            is_user;
 	guint               hash;
+	gboolean            ready;
 };
 
 static void empathy_contact_class_init (EmpathyContactClass *class);
@@ -79,7 +80,8 @@
 	PROP_PRESENCE_MESSAGE,
 	PROP_HANDLE,
 	PROP_CAPABILITIES,
-	PROP_IS_USER
+	PROP_IS_USER,
+	PROP_READY
 };
 
 static void
@@ -169,6 +171,14 @@
 							       FALSE,
 							       G_PARAM_READWRITE));
 
+	g_object_class_install_property (object_class,
+					 PROP_READY,
+					 g_param_spec_boolean ("ready",
+							       "Contact ready",
+							       "Is contact ready",
+							       FALSE,
+							       G_PARAM_READABLE));
+
 	g_type_class_add_private (object_class, sizeof (EmpathyContactPriv));
 }
 
@@ -213,8 +223,7 @@
 
 	switch (param_id) {
 	case PROP_ID:
-		g_value_set_string (value,
-				    empathy_contact_get_id (EMPATHY_CONTACT (object)));
+		g_value_set_string (value, priv->id);
 		break;
 	case PROP_NAME:
 		g_value_set_string (value,
@@ -241,6 +250,9 @@
 	case PROP_IS_USER:
 		g_value_set_boolean (value, priv->is_user);
 		break;
+	case PROP_READY:
+		g_value_set_boolean (value, priv->ready);
+		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
 		break;
@@ -325,15 +337,11 @@
 {
 	EmpathyContactPriv *priv;
 
-	g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), "");
+	g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
 
 	priv = GET_PRIV (contact);
 
-	if (priv->id) {
-		return priv->id;
-	}
-
-	return "";
+	return priv->id;
 }
 
 void
@@ -347,7 +355,7 @@
 
 	priv = GET_PRIV (contact);
 
-	if (priv->id && strcmp (id, priv->id) == 0) {
+	if (!tp_strdiff (id, priv->id)) {
 		return;
 	}
 
@@ -365,7 +373,7 @@
 {
 	EmpathyContactPriv *priv;
 
-	g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), "");
+	g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
 
 	priv = GET_PRIV (contact);
 
@@ -383,11 +391,10 @@
 	EmpathyContactPriv *priv;
 
 	g_return_if_fail (EMPATHY_IS_CONTACT (contact));
-	g_return_if_fail (name != NULL);
 
 	priv = GET_PRIV (contact);
 
-	if (priv->name && strcmp (name, priv->name) == 0) {
+	if (!tp_strdiff (name, priv->name)) {
 		return;
 	}
 
@@ -666,6 +673,18 @@
 }
 
 gboolean
+empathy_contact_is_ready (EmpathyContact *contact)
+{
+	EmpathyContactPriv *priv;
+
+	g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), FALSE);
+
+	priv = GET_PRIV (contact);
+
+	return priv->ready;
+}
+
+gboolean
 empathy_contact_equal (gconstpointer v1,
 		      gconstpointer v2)
 {

Modified: trunk/libempathy/empathy-contact.h
==============================================================================
--- trunk/libempathy/empathy-contact.h	(original)
+++ trunk/libempathy/empathy-contact.h	Tue Mar 11 12:22:21 2008
@@ -95,6 +95,7 @@
 gboolean            empathy_contact_is_online          (EmpathyContact      *contact);
 const gchar *       empathy_contact_get_status         (EmpathyContact      *contact);
 gboolean            empathy_contact_can_voip           (EmpathyContact      *contact);
+gboolean            empathy_contact_is_ready           (EmpathyContact      *contact);
 gboolean            empathy_contact_equal              (gconstpointer        v1,
 							gconstpointer        v2);
 guint               empathy_contact_hash               (gconstpointer        key);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]