Cleaned up properties and added g_object_notify calls for PurpleAccount and PurpleBlistNodes soc.2013.gobjectification

Fri, 11 Oct 2013 03:01:26 +0530

author
Ankit Vani <a@nevitus.org>
date
Fri, 11 Oct 2013 03:01:26 +0530
branch
soc.2013.gobjectification
changeset 35010
9c2d352b1d96
parent 35009
757d08e70103
child 35011
70b4272d57f9

Cleaned up properties and added g_object_notify calls for PurpleAccount and PurpleBlistNodes

libpurple/account.c file | annotate | diff | comparison | revisions
libpurple/blistnode.c file | annotate | diff | comparison | revisions
libpurple/blistnodetypes.c file | annotate | diff | comparison | revisions
--- a/libpurple/account.c	Fri Oct 11 02:09:53 2013 +0530
+++ b/libpurple/account.c	Fri Oct 11 03:01:26 2013 +0530
@@ -742,6 +742,8 @@
 	g_free(priv->username);
 	priv->username = g_strdup(username);
 
+	g_object_notify(G_OBJECT(account), "username");
+
 	purple_accounts_schedule_save();
 
 	/* if the name changes, we should re-write the buddy list
@@ -820,6 +822,8 @@
 	g_free(priv->user_info);
 	priv->user_info = g_strdup(user_info);
 
+	g_object_notify(G_OBJECT(account), "user-info");
+
 	purple_accounts_schedule_save();
 }
 
@@ -834,6 +838,8 @@
 	g_free(priv->buddy_icon_path);
 	priv->buddy_icon_path = g_strdup(path);
 
+	g_object_notify(G_OBJECT(account), "buddy-icon-path");
+
 	purple_accounts_schedule_save();
 }
 
@@ -874,6 +880,8 @@
 	priv = PURPLE_ACCOUNT_GET_PRIVATE(account);
 	priv->remember_pass = value;
 
+	g_object_notify(G_OBJECT(account), "remember-password");
+
 	purple_accounts_schedule_save();
 }
 
@@ -883,6 +891,8 @@
 	g_return_if_fail(PURPLE_IS_ACCOUNT(account));
 
 	purple_account_set_bool(account, "check-mail", value);
+
+	g_object_notify(G_OBJECT(account), "check-mail");
 }
 
 void
@@ -2776,7 +2786,7 @@
 	if ((tmp = purple_account_get_user_info(account)) != NULL)
 	{
 		/* TODO: Do we need to call purple_str_strip_char(tmp, '\r') here? */
-		child = purple_xmlnode_new_child(node, "userinfo");
+		child = purple_xmlnode_new_child(node, "user-info");
 		purple_xmlnode_insert_data(child, tmp, -1);
 	}
 
@@ -2807,17 +2817,6 @@
  * GObject Code *
  ****************/
 
-/* GObject Property names */
-#define PROP_USERNAME_S           "username"
-#define PROP_PRIVATE_ALIAS_S      "private-alias"
-#define PROP_ENABLED_S            "enabled"
-#define PROP_CONNECTION_S         "connection"
-#define PROP_PROTOCOL_ID_S        "protocol-id"
-#define PROP_USER_INFO_S          "userinfo"
-#define PROP_BUDDY_ICON_PATH_S    "buddy-icon-path"
-#define PROP_REMEMBER_PASSWORD_S  "remember-password"
-#define PROP_CHECK_MAIL_S         "check-mail"
-
 /* Set method for GObject properties */
 static void
 purple_account_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -2937,8 +2936,8 @@
 	parent_class->constructed(object);
 
 	g_object_get(object,
-			PROP_USERNAME_S,    &username,
-			PROP_PROTOCOL_ID_S, &protocol_id,
+			"username",    &username,
+			"protocol-id", &protocol_id,
 			NULL);
 
 	purple_signal_emit(purple_accounts_get_handle(), "account-created",
@@ -3063,55 +3062,55 @@
 	obj_class->set_property = purple_account_set_property;
 
 	g_object_class_install_property(obj_class, PROP_USERNAME,
-			g_param_spec_string(PROP_USERNAME_S, _("Username"),
+			g_param_spec_string("username", _("Username"),
 				_("The username for the account."), NULL,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
 			);
 
 	g_object_class_install_property(obj_class, PROP_PRIVATE_ALIAS,
-			g_param_spec_string(PROP_PRIVATE_ALIAS_S, _("Private Alias"),
+			g_param_spec_string("private-alias", _("Private Alias"),
 				_("The private alias for the account."), NULL,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_USER_INFO,
-			g_param_spec_string(PROP_USER_INFO_S, _("User information"),
+			g_param_spec_string("user-info", _("User information"),
 				_("Detailed user information for the account."), NULL,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_BUDDY_ICON_PATH,
-			g_param_spec_string(PROP_BUDDY_ICON_PATH_S, _("Buddy icon path"),
+			g_param_spec_string("buddy-icon-path", _("Buddy icon path"),
 				_("Path to the buddyicon for the account."), NULL,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_ENABLED,
-			g_param_spec_boolean(PROP_ENABLED_S, _("Enabled"),
+			g_param_spec_boolean("enabled", _("Enabled"),
 				_("Whether the account is enabled or not."), FALSE,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_REMEMBER_PASSWORD,
-			g_param_spec_boolean(PROP_REMEMBER_PASSWORD_S, _("Remember password"),
+			g_param_spec_boolean("remember-password", _("Remember password"),
 				_("Whether to remember and store the password for this account."), FALSE,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_CHECK_MAIL,
-			g_param_spec_boolean(PROP_CHECK_MAIL_S, _("Check mail"),
+			g_param_spec_boolean("check-mail", _("Check mail"),
 				_("Whether to check mails for this account."), FALSE,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_CONNECTION,
-			g_param_spec_object(PROP_CONNECTION_S, _("Connection"),
+			g_param_spec_object("connection", _("Connection"),
 				_("The connection for the account."), PURPLE_TYPE_CONNECTION,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, PROP_PROTOCOL_ID,
-			g_param_spec_string(PROP_PROTOCOL_ID_S, _("Protocol ID"),
+			g_param_spec_string("protocol-id", _("Protocol ID"),
 				_("ID of the protocol that is responsible for the account."), NULL,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
 			);
@@ -3160,8 +3159,8 @@
 		return account;
 
 	account = g_object_new(PURPLE_TYPE_ACCOUNT,
-					PROP_USERNAME_S,    username,
-					PROP_PROTOCOL_ID_S, protocol_id,
+					"username",    username,
+					"protocol-id", protocol_id,
 					NULL);
 
 	return account;
--- a/libpurple/blistnode.c	Fri Oct 11 02:09:53 2013 +0530
+++ b/libpurple/blistnode.c	Fri Oct 11 03:01:26 2013 +0530
@@ -45,7 +45,7 @@
 enum
 {
 	BLNODE_PROP_0,
-	BLNODE_PROP_DONT_SAVE,
+	BLNODE_PROP_TRANSIENT,
 	BLNODE_PROP_LAST
 };
 
@@ -162,6 +162,8 @@
 	g_return_if_fail(priv != NULL);
 
 	priv->transient = transient;
+
+	g_object_notify(G_OBJECT(node), "transient");
 }
 
 gboolean
@@ -336,9 +338,6 @@
  * GObject code for PurpleBlistNode
  **************************************************************************/
 
-/* GObject Property names */
-#define BLNODE_PROP_DONT_SAVE_S  "dont-save"
-
 /* Set method for GObject properties */
 static void
 purple_blist_node_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -347,7 +346,7 @@
 	PurpleBlistNode *node = PURPLE_BLIST_NODE(obj);
 
 	switch (param_id) {
-		case BLNODE_PROP_DONT_SAVE:
+		case BLNODE_PROP_TRANSIENT:
 			purple_blist_node_set_transient(node, g_value_get_boolean(value));
 			break;
 		default:
@@ -364,7 +363,7 @@
 	PurpleBlistNode *node = PURPLE_BLIST_NODE(obj);
 
 	switch (param_id) {
-		case BLNODE_PROP_DONT_SAVE:
+		case BLNODE_PROP_TRANSIENT:
 			g_value_set_boolean(value, purple_blist_node_is_transient(node));
 			break;
 		default:
@@ -408,8 +407,8 @@
 	obj_class->get_property = purple_blist_node_get_property;
 	obj_class->set_property = purple_blist_node_set_property;
 
-	g_object_class_install_property(obj_class, BLNODE_PROP_DONT_SAVE,
-			g_param_spec_boolean(BLNODE_PROP_DONT_SAVE_S, _("Do not save"),
+	g_object_class_install_property(obj_class, BLNODE_PROP_TRANSIENT,
+			g_param_spec_boolean("transient", _("Transient"),
 				_("Whether node should not be saved with the buddy list."),
 				FALSE, G_PARAM_READWRITE)
 			);
@@ -484,7 +483,7 @@
 
 	g_return_if_fail(priv != NULL);
 
-	priv->totalsize += delta;
+	purple_counting_node_set_total_size(counter, priv->totalsize + delta);
 }
 
 void
@@ -494,7 +493,7 @@
 
 	g_return_if_fail(priv != NULL);
 
-	priv->currentsize += delta;
+	purple_counting_node_set_current_size(counter, priv->currentsize + delta);
 }
 
 void
@@ -504,7 +503,7 @@
 
 	g_return_if_fail(priv != NULL);
 
-	priv->onlinecount += delta;
+	purple_counting_node_set_online_count(counter, priv->onlinecount + delta);
 }
 
 void
@@ -515,6 +514,8 @@
 	g_return_if_fail(priv != NULL);
 
 	priv->totalsize = totalsize;
+
+	g_object_notify(G_OBJECT(counter), "total-size");
 }
 
 void
@@ -525,6 +526,8 @@
 	g_return_if_fail(priv != NULL);
 
 	priv->currentsize = currentsize;
+
+	g_object_notify(G_OBJECT(counter), "current-size");
 }
 
 void
@@ -535,17 +538,14 @@
 	g_return_if_fail(priv != NULL);
 
 	priv->onlinecount = onlinecount;
+
+	g_object_notify(G_OBJECT(counter), "online-count");
 }
 
 /**************************************************************************
  * GObject code for PurpleCountingNode
  **************************************************************************/
  
-/* GObject Property names */
-#define CNODE_PROP_TOTAL_SIZE_S    "total-size"
-#define CNODE_PROP_CURRENT_SIZE_S  "current-size"
-#define CNODE_PROP_ONLINE_COUNT_S  "online-count"
-
 /* Set method for GObject properties */
 static void
 purple_counting_node_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -592,17 +592,6 @@
 	}
 }
 
-/* GObject initialization function */
-static void
-purple_counting_node_init(GTypeInstance *instance, gpointer klass)
-{
-	PurpleCountingNodePrivate *priv = PURPLE_COUNTING_NODE_GET_PRIVATE(instance);
-
-	priv->totalsize   = 0;
-	priv->currentsize = 0;
-	priv->onlinecount = 0;
-}
-
 /* Class initializer function */
 static void
 purple_counting_node_class_init(PurpleCountingNodeClass *klass)
@@ -614,19 +603,19 @@
 	obj_class->set_property = purple_counting_node_set_property;
 
 	g_object_class_install_property(obj_class, CNODE_PROP_TOTAL_SIZE,
-			g_param_spec_int(CNODE_PROP_TOTAL_SIZE_S, _("Total size"),
+			g_param_spec_int("total-size", _("Total size"),
 				_("The number of children under this node."),
 				G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, CNODE_PROP_CURRENT_SIZE,
-			g_param_spec_int(CNODE_PROP_CURRENT_SIZE_S, _("Current size"),
+			g_param_spec_int("current-size", _("Current size"),
 				_("The number of children with online accounts."),
 				G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, CNODE_PROP_ONLINE_COUNT,
-			g_param_spec_int(CNODE_PROP_ONLINE_COUNT_S, _("Online count"),
+			g_param_spec_int("online-count", _("Online count"),
 				_("The number of children that are online."),
 				G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)
 			);
@@ -649,7 +638,7 @@
 			NULL,
 			sizeof(PurpleCountingNode),
 			0,
-			(GInstanceInitFunc)purple_counting_node_init,
+			NULL,
 			NULL,
 		};
 
--- a/libpurple/blistnodetypes.c	Fri Oct 11 02:09:53 2013 +0530
+++ b/libpurple/blistnodetypes.c	Fri Oct 11 03:01:26 2013 +0530
@@ -201,6 +201,8 @@
 		if (ops->update)
 			ops->update(purple_blist_get_buddy_list(), PURPLE_BLIST_NODE(buddy));
 	}
+
+	g_object_notify(G_OBJECT(buddy), "name");
 }
 
 const char *
@@ -502,6 +504,8 @@
 	g_return_if_fail(priv != NULL);
 
 	priv->media_caps = media_caps;
+
+	g_object_notify(G_OBJECT(buddy), "media-caps");
 }
 
 PurpleGroup *purple_buddy_get_group(PurpleBuddy *buddy)
@@ -518,15 +522,6 @@
  * GObject code for PurpleBuddy
  **************************************************************************/
 
-/* GObject Property names */
-#define BUDDY_PROP_NAME_S          "name"
-#define BUDDY_PROP_LOCAL_ALIAS_S   "local-alias"
-#define BUDDY_PROP_SERVER_ALIAS_S  "server-alias"
-#define BUDDY_PROP_ICON_S          "icon"
-#define BUDDY_PROP_ACCOUNT_S       "account"
-#define BUDDY_PROP_PRESENCE_S      "presence"
-#define BUDDY_PROP_MEDIA_CAPS_S    "media-caps"
-
 /* Set method for GObject properties */
 static void
 purple_buddy_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -537,9 +532,11 @@
 
 	switch (param_id) {
 		case BUDDY_PROP_NAME:
+			g_free(priv->name);
 			priv->name = purple_utf8_strip_unprintables(g_value_get_string(value));
 			break;
 		case BUDDY_PROP_LOCAL_ALIAS:
+			g_free(priv->local_alias);
 			priv->local_alias = purple_utf8_strip_unprintables(g_value_get_string(value));
 			break;
 		case BUDDY_PROP_SERVER_ALIAS:
@@ -683,43 +680,43 @@
 	obj_class->constructed = purple_buddy_constructed;
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_NAME,
-			g_param_spec_string(BUDDY_PROP_NAME_S, _("Name"),
+			g_param_spec_string("name", _("Name"),
 				_("The name of the buddy."), NULL,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_LOCAL_ALIAS,
-			g_param_spec_string(BUDDY_PROP_LOCAL_ALIAS_S, _("Local alias"),
+			g_param_spec_string("local-alias", _("Local alias"),
 				_("Local alias of thee buddy."), NULL,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_SERVER_ALIAS,
-			g_param_spec_string(BUDDY_PROP_SERVER_ALIAS_S, _("Server alias"),
+			g_param_spec_string("server-alias", _("Server alias"),
 				_("Server-side alias of the buddy."), NULL,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_ICON,
-			g_param_spec_pointer(BUDDY_PROP_ICON_S, _("Buddy icon"),
+			g_param_spec_pointer("icon", _("Buddy icon"),
 				_("The icon for the buddy."),
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_ACCOUNT,
-			g_param_spec_object(BUDDY_PROP_ACCOUNT_S, _("Account"),
+			g_param_spec_object("account", _("Account"),
 				_("The account for the buddy."), PURPLE_TYPE_ACCOUNT,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_PRESENCE,
-			g_param_spec_object(BUDDY_PROP_PRESENCE_S, _("Presence"),
+			g_param_spec_object("presence", _("Presence"),
 				_("The status information for the buddy."), PURPLE_TYPE_PRESENCE,
 				G_PARAM_READABLE)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_MEDIA_CAPS,
-			g_param_spec_enum(BUDDY_PROP_MEDIA_CAPS_S, _("Media capabilities"),
+			g_param_spec_enum("media-caps", _("Media capabilities"),
 				_("The media capabilities of the buddy."),
 				PURPLE_MEDIA_TYPE_CAPS, PURPLE_MEDIA_CAPS_NONE,
 				G_PARAM_READWRITE)
@@ -762,9 +759,9 @@
 	g_return_val_if_fail(name != NULL, NULL);
 
 	return g_object_new(PURPLE_TYPE_BUDDY,
-			BUDDY_PROP_ACCOUNT_S,      account,
-			BUDDY_PROP_NAME_S,         name,
-			BUDDY_PROP_LOCAL_ALIAS_S,  alias,
+			"account",      account,
+			"name",         name,
+			"local-alias",  alias,
 			NULL);
 }
 
@@ -968,10 +965,6 @@
  * GObject code for PurpleContact
  **************************************************************************/
 
-/* GObject Property names */
-#define CONTACT_PROP_ALIAS_S           "alias"
-#define CONTACT_PROP_PRIORITY_BUDDY_S  "priority-buddy"
-
 /* Set method for GObject properties */
 static void
 purple_contact_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -1048,13 +1041,13 @@
 	obj_class->set_property = purple_contact_set_property;
 
 	g_object_class_install_property(obj_class, CONTACT_PROP_ALIAS,
-			g_param_spec_string(CONTACT_PROP_ALIAS_S, _("Alias"),
+			g_param_spec_string("alias", _("Alias"),
 				_("The alias for the contact."), NULL,
 				G_PARAM_READWRITE)
 			);
 
 	g_object_class_install_property(obj_class, CONTACT_PROP_PRIORITY_BUDDY,
-			g_param_spec_object(CONTACT_PROP_PRIORITY_BUDDY_S,
+			g_param_spec_object("priority-buddy",
 				_("Priority buddy"), _("The priority buddy of the contact."),
 				PURPLE_TYPE_BUDDY, G_PARAM_READABLE)
 			);
@@ -1206,11 +1199,6 @@
  * GObject code for PurpleChat
  **************************************************************************/
 
-/* GObject Property names */
-#define CHAT_PROP_ALIAS_S       "alias"
-#define CHAT_PROP_ACCOUNT_S     "account"
-#define CHAT_PROP_COMPONENTS_S  "components"
-
 /* Set method for GObject properties */
 static void
 purple_chat_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -1221,6 +1209,7 @@
 
 	switch (param_id) {
 		case CHAT_PROP_ALIAS:
+			g_free(priv->alias);
 			priv->alias = purple_utf8_strip_unprintables(g_value_get_string(value));
 			break;
 		case CHAT_PROP_ACCOUNT:
@@ -1308,19 +1297,19 @@
 	obj_class->constructed = purple_chat_constructed;
 
 	g_object_class_install_property(obj_class, CHAT_PROP_ALIAS,
-			g_param_spec_string(CHAT_PROP_ALIAS_S, _("Alias"),
+			g_param_spec_string("alias", _("Alias"),
 				_("The alias for the chat."), NULL,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
 			);
 
 	g_object_class_install_property(obj_class, CHAT_PROP_ACCOUNT,
-			g_param_spec_object(CHAT_PROP_ACCOUNT_S, _("Account"),
+			g_param_spec_object("account", _("Account"),
 				_("The account that the chat belongs to."), PURPLE_TYPE_ACCOUNT,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
 			);
 
 	g_object_class_install_property(obj_class, CHAT_PROP_COMPONENTS,
-			g_param_spec_pointer(CHAT_PROP_COMPONENTS_S, _("Components"),
+			g_param_spec_pointer("components", _("Components"),
 				_("The protocol components of the chat."),
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
 			);
@@ -1362,9 +1351,9 @@
 	g_return_val_if_fail(components != NULL, NULL);
 
 	return g_object_new(PURPLE_TYPE_CHAT,
-			CHAT_PROP_ACCOUNT_S,     account,
-			CHAT_PROP_ALIAS_S,       alias,
-			CHAT_PROP_COMPONENTS_S,  components,
+			"account",     account,
+			"alias",       alias,
+			"components",  components,
 			NULL);
 }
 
@@ -1552,6 +1541,8 @@
 	}
 	g_list_free(moved_buddies);
 	g_free(old_name);
+
+	g_object_notify(G_OBJECT(source), "name");
 }
 
 const char *purple_group_get_name(PurpleGroup *group)
@@ -1567,9 +1558,6 @@
  * GObject code for PurpleGroup
  **************************************************************************/
 
-/* GObject Property names */
-#define GROUP_PROP_NAME_S  "name"
-
 /* Set method for GObject properties */
 static void
 purple_group_set_property(GObject *obj, guint param_id, const GValue *value,
@@ -1579,6 +1567,7 @@
 
 	switch (param_id) {
 		case GROUP_PROP_NAME:
+			g_free(priv->name);
 			priv->name = purple_utf8_strip_unprintables(g_value_get_string(value));
 			break;
 		default:
@@ -1650,7 +1639,7 @@
 	obj_class->set_property = purple_group_set_property;
 
 	g_object_class_install_property(obj_class, GROUP_PROP_NAME,
-			g_param_spec_string(GROUP_PROP_NAME_S, _("Name"),
+			g_param_spec_string("name", _("Name"),
 				_("Name of the group."), NULL,
 				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
 			);
@@ -1697,5 +1686,5 @@
 	if (group != NULL)
 		return group;
 
-	return g_object_new(PURPLE_TYPE_GROUP, GROUP_PROP_NAME_S, name, NULL);
+	return g_object_new(PURPLE_TYPE_GROUP, "name", name, NULL);
 }

mercurial