Refactored pidgin to use the new protocol API soc.2013.gobjectification.plugins

Sat, 14 Sep 2013 22:16:59 +0530

author
Ankit Vani <a@nevitus.org>
date
Sat, 14 Sep 2013 22:16:59 +0530
branch
soc.2013.gobjectification.plugins
changeset 36725
f17f9d4e710e
parent 36724
41150570364f
child 36726
8856f5dd6af0

Refactored pidgin to use the new protocol API

pidgin/gtkaccount.c file | annotate | diff | comparison | revisions
pidgin/gtkblist.c file | annotate | diff | comparison | revisions
pidgin/gtkconv.c file | annotate | diff | comparison | revisions
pidgin/gtkdocklet.c file | annotate | diff | comparison | revisions
pidgin/gtkimhtmltoolbar.c file | annotate | diff | comparison | revisions
pidgin/gtkroomlist.c file | annotate | diff | comparison | revisions
pidgin/gtkutils.c file | annotate | diff | comparison | revisions
pidgin/gtkwebviewtoolbar.c file | annotate | diff | comparison | revisions
--- a/pidgin/gtkaccount.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkaccount.c	Sat Sep 14 22:16:59 2013 +0530
@@ -255,7 +255,7 @@
 
 	gtk_widget_grab_focus(dialog->protocol_menu);
 
-	if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, register_user)) {
+	if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, SERVER_IFACE, register_user)) {
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
 			dialog->register_button), FALSE);
 		gtk_widget_hide(dialog->register_button);
@@ -307,7 +307,7 @@
 	const char *label;
 
 	if (!dialog->protocol || ! PURPLE_PROTOCOL_IMPLEMENTS(
-		dialog->protocol, get_account_text_table)) {
+		dialog->protocol, CLIENT_IFACE, get_account_text_table)) {
 		return FALSE;
 	}
 
@@ -334,7 +334,7 @@
 	GHashTable *table = NULL;
 	const char *label = NULL;
 
-	if(PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, get_account_text_table)) {
+	if(PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, CLIENT_IFACE, get_account_text_table)) {
 		table = purple_protocol_client_iface_get_account_text_table(dialog->protocol, NULL);
 		label = g_hash_table_lookup(table, "login_label");
 
@@ -626,7 +626,7 @@
 		username = g_strdup(purple_account_get_username(dialog->account));
 
 	if (!username && dialog->protocol
-			&& PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, get_account_text_table)) {
+			&& PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, CLIENT_IFACE, get_account_text_table)) {
 		GHashTable *table;
 		const char *label;
 		table = purple_protocol_client_iface_get_account_text_table(dialog->protocol, NULL);
@@ -1326,7 +1326,7 @@
 add_voice_options(AccountPrefsDialog *dialog)
 {
 #ifdef USE_VV
-	if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, initiate_media)) {
+	if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, MEDIA_IFACE, initiate_session)) {
 		if (dialog->voice_frame) {
 			gtk_widget_destroy(dialog->voice_frame);
 			dialog->voice_frame = NULL;
@@ -1786,7 +1786,7 @@
 	if (dialog->account == NULL)
 		gtk_widget_set_sensitive(button, FALSE);
 
-	if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, register_user))
+	if (!dialog->protocol || !PURPLE_PROTOCOL_IMPLEMENTS(dialog->protocol, SERVER_IFACE, register_user))
 		gtk_widget_hide(button);
 
 	/* Setup the page with 'Advanced' (protocol options). */
--- a/pidgin/gtkblist.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkblist.c	Sat Sep 14 22:16:59 2013 +0530
@@ -910,7 +910,7 @@
 
 	gc = purple_account_get_connection(data->rq_data.account);
 	protocol = (gc != NULL) ? purple_connection_get_protocol(gc) : NULL;
-	sensitive = (protocol != NULL && PURPLE_PROTOCOL_IMPLEMENTS(protocol, roomlist_get_list));
+	sensitive = (protocol != NULL && PURPLE_PROTOCOL_IMPLEMENTS(protocol, ROOMLIST_IFACE, get_list));
 
 	gtk_dialog_set_response_sensitive(GTK_DIALOG(data->rq_data.window), 1, sensitive);
 }
@@ -950,7 +950,7 @@
 
 	protocol = purple_connection_get_protocol(gc);
 
-	return (PURPLE_PROTOCOL_IMPLEMENTS(protocol, chat_info));
+	return (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, info));
 }
 
 gboolean
@@ -1422,7 +1422,7 @@
 	GList *l, *ll;
 	PurpleProtocol *protocol = purple_connection_get_protocol(gc);
 
-	if(!protocol || !PURPLE_PROTOCOL_IMPLEMENTS(protocol, blist_node_menu))
+	if(!protocol || !PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, blist_node_menu))
 		return;
 
 	for(l = ll = purple_protocol_client_iface_blist_node_menu(protocol, node); l; l = l->next) {
@@ -1496,7 +1496,7 @@
 		contact_expanded = node->contact_expanded;
 	}
 
-	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_info)) {
+	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER_IFACE, get_info)) {
 		pidgin_new_item_from_stock(menu, _("Get _Info"), PIDGIN_STOCK_TOOLBAR_USER_INFO,
 				G_CALLBACK(gtk_blist_menu_info_cb), buddy, 0, 0, NULL);
 	}
@@ -1504,7 +1504,7 @@
 			G_CALLBACK(gtk_blist_menu_im_cb), buddy, 0, 0, NULL);
 
 #ifdef USE_VV
-	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_media_caps)) {
+	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, MEDIA_IFACE, get_caps)) {
 		PurpleAccount *account = purple_buddy_get_account(buddy);
 		const gchar *who = purple_buddy_get_name(buddy);
 		PurpleMediaCaps caps = purple_protocol_get_media_caps(account, who);
@@ -1526,8 +1526,8 @@
 
 #endif
 
-	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_file)) {
-		if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, can_receive_file) ||
+	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, send)) {
+		if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, can_receive) ||
 			purple_protocol_xfer_iface_can_receive(protocol,
 			purple_account_get_connection(purple_buddy_get_account(buddy)), purple_buddy_get_name(buddy)))
 		{
@@ -1971,7 +1971,7 @@
 
 		protocol = purple_protocols_find(purple_account_get_protocol_id(purple_buddy_get_account(b)));
 
-		if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_info))
+		if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER_IFACE, get_info))
 			pidgin_retrieve_user_info(purple_account_get_connection(purple_buddy_get_account(b)), purple_buddy_get_name(b));
 		handled = TRUE;
 	}
@@ -3624,7 +3624,7 @@
 
 	/* TODO: rlaager wants this sorted. */
 	/* TODO: darkrain wants it sorted post-translation */
-	if (account && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_moods))
+	if (account && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, get_moods))
 		mood = purple_protocol_client_iface_get_moods(protocol, account);
 	else
 		mood = global_moods;
@@ -3823,7 +3823,7 @@
 			conv = PURPLE_CHAT_CONVERSATION(bnode->conv.conv);
 		} else {
 			char *chat_name;
-			if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_chat_name))
+			if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, get_name))
 				chat_name = purple_protocol_chat_iface_get_name(protocol, purple_chat_get_components(chat));
 			else
 				chat_name = g_strdup(purple_chat_get_name(chat));
@@ -4363,7 +4363,7 @@
 		/* Status Info */
 		protocol = purple_protocols_find(purple_account_get_protocol_id(purple_buddy_get_account(b)));
 
-		if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, status_text) &&
+		if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, status_text) &&
 				purple_account_get_connection(purple_buddy_get_account(b))) {
 			char *tmp = purple_protocol_client_iface_status_text(protocol, b);
 			const char *end;
@@ -7412,7 +7412,7 @@
 		gc = purple_account_get_connection(account);
 		protocol = purple_connection_get_protocol(gc);
 
-		if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, join_chat)) {
+		if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, join)) {
 			purple_notify_error(gc, NULL, _("This protocol does not support chat rooms."), NULL);
 			return;
 		}
@@ -7422,7 +7422,7 @@
 			gc = (PurpleConnection *)l->data;
 			protocol = purple_connection_get_protocol(gc);
 
-			if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, join_chat)) {
+			if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, join)) {
 				account = purple_connection_get_account(gc);
 				break;
 			}
@@ -8297,9 +8297,9 @@
 				purple_connection_get_protocol(gc) : NULL;
 
 		if (protocol &&
-		    (PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_moods) ||
-			 PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_actions))) {
-			if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_moods) &&
+		    (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, get_moods) ||
+			 PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, get_actions))) {
+			if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, get_moods) &&
 			    (purple_connection_get_flags(gc) & PURPLE_CONNECTION_FLAG_SUPPORT_MOODS)) {
 
 				if (purple_account_get_status(account, "mood")) {
@@ -8310,7 +8310,7 @@
 				}
 			}
 
-			if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_actions)) {
+			if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT_IFACE, get_actions)) {
 				GtkWidget *menuitem;
 				PurpleProtocolAction *action = NULL;
 				GList *actions, *l;
--- a/pidgin/gtkconv.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkconv.c	Sat Sep 14 22:16:59 2013 +0530
@@ -1661,7 +1661,7 @@
 			g_object_set_data_full(G_OBJECT(button), "user_data", g_strdup(who), g_free);
 
 
-		if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_file))
+		if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, send))
 		{
 			gboolean can_receive_file = TRUE;
 
@@ -1675,7 +1675,7 @@
 				gchar *real_who = NULL;
 				real_who = purple_protocol_chat_iface_get_user_real_name(protocol, gc,
 					purple_chat_conversation_get_id(chat), who);
-				if (!(!PURPLE_PROTOCOL_IMPLEMENTS(protocol, can_receive_file) ||
+				if (!(!PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, can_receive) ||
 						purple_protocol_xfer_iface_can_receive(protocol, gc, real_who ? real_who : who)))
 					can_receive_file = FALSE;
 				g_free(real_who);
@@ -1701,7 +1701,7 @@
 			g_object_set_data_full(G_OBJECT(button), "user_data", g_strdup(who), g_free);
 	}
 
-	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_info)) {
+	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER_IFACE, get_info)) {
 		button = pidgin_new_item_from_stock(menu, _("Info"), PIDGIN_STOCK_TOOLBAR_USER_INFO,
 						G_CALLBACK(menu_chat_info_cb), PIDGIN_CONVERSATION(conv), 0, 0, NULL);
 
@@ -3272,7 +3272,7 @@
 			PurpleProtocol *protocol =
 					purple_protocols_find(purple_account_get_protocol_id(account));
 			if (purple_account_get_connection(account) != NULL &&
-					PURPLE_PROTOCOL_IMPLEMENTS(protocol, chat_info_defaults)) {
+					PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, info_defaults)) {
 				components = purple_protocol_chat_iface_info_defaults(protocol, purple_account_get_connection(account),
 						purple_conversation_get_name(conv));
 			} else {
@@ -3408,7 +3408,7 @@
 	if (pc != NULL)
 		protocol = purple_connection_get_protocol(pc);
 
-	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_attention_types)) {
+	if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, ATTENTION_IFACE, get_types)) {
 		list = purple_protocol_attention_iface_get_types(protocol, purple_connection_get_account(pc));
 
 		/* Multiple attention types */
@@ -4464,7 +4464,7 @@
 	if(!gc || !(protocol = purple_connection_get_protocol(gc)))
 		return;
 
-	if(!PURPLE_PROTOCOL_IMPLEMENTS(protocol, set_chat_topic))
+	if(!PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, set_topic))
 		return;
 
 	gtkconv = PIDGIN_CONVERSATION(conv);
@@ -4844,7 +4844,7 @@
 		gtkchat->topic_text = gtk_entry_new();
 		gtk_widget_set_size_request(gtkchat->topic_text, -1, BUDDYICON_SIZE_MIN);
 
-		if(!PURPLE_PROTOCOL_IMPLEMENTS(protocol, set_chat_topic)) {
+		if(!PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, set_topic)) {
 			gtk_editable_set_editable(GTK_EDITABLE(gtkchat->topic_text), FALSE);
 		} else {
 			g_signal_connect(G_OBJECT(gtkchat->topic_text), "activate",
@@ -5537,7 +5537,7 @@
 		 * invite him to the chat.
 		 */
 		if (PURPLE_IS_CHAT_CONVERSATION(conv) &&
-				protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, chat_invite) &&
+				protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, invite) &&
 				strcmp(purple_account_get_protocol_id(convaccount),
 					purple_account_get_protocol_id(buddyaccount)) == 0) {
 		    purple_chat_conversation_invite_user(PURPLE_CHAT_CONVERSATION(conv), buddyname, NULL, TRUE);
@@ -5593,7 +5593,7 @@
 				 * invite him to the chat.
 				 */
 				if (PURPLE_IS_CHAT_CONVERSATION(conv) &&
-						protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, chat_invite) &&
+						protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, invite) &&
 						strcmp(purple_account_get_protocol_id(convaccount), protocol_id) == 0) {
 					purple_chat_conversation_invite_user(PURPLE_CHAT_CONVERSATION(conv), username, NULL, TRUE);
 				} else {
@@ -7252,28 +7252,28 @@
 		/* Deal with menu items */
 		gtk_action_set_sensitive(win->menu.view_log, TRUE);
 		gtk_action_set_sensitive(win->menu.add_pounce, TRUE);
-		gtk_action_set_sensitive(win->menu.get_info, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, get_info)));
-		gtk_action_set_sensitive(win->menu.invite, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, chat_invite)));
+		gtk_action_set_sensitive(win->menu.get_info, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER_IFACE, get_info)));
+		gtk_action_set_sensitive(win->menu.invite, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, invite)));
 		gtk_action_set_sensitive(win->menu.insert_link, (features & PURPLE_CONNECTION_FLAG_HTML));
 		gtk_action_set_sensitive(win->menu.insert_image, !(features & PURPLE_CONNECTION_FLAG_NO_IMAGES));
 
 		if (PURPLE_IS_IM_CONVERSATION(conv))
 		{
-			gtk_action_set_sensitive(win->menu.add, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, add_buddy)));
-			gtk_action_set_sensitive(win->menu.remove, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, remove_buddy)));
+			gtk_action_set_sensitive(win->menu.add, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER_IFACE, add_buddy)));
+			gtk_action_set_sensitive(win->menu.remove, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER_IFACE, remove_buddy)));
 			gtk_action_set_sensitive(win->menu.send_file,
-									 (PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_file) &&
-									 (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, can_receive_file) ||
+									 (PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, send) &&
+									 (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, can_receive) ||
 									  purple_protocol_xfer_iface_can_receive(protocol, gc, purple_conversation_get_name(conv)))));
-			gtk_action_set_sensitive(win->menu.get_attention, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_attention)));
+			gtk_action_set_sensitive(win->menu.get_attention, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, ATTENTION_IFACE, send)));
 			gtk_action_set_sensitive(win->menu.alias,
 									 (account != NULL) &&
 									 (purple_blist_find_buddy(account, purple_conversation_get_name(conv)) != NULL));
 		}
 		else
 		{
-			gtk_action_set_sensitive(win->menu.add, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, join_chat)));
-			gtk_action_set_sensitive(win->menu.remove, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, join_chat)));
+			gtk_action_set_sensitive(win->menu.add, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, join)));
+			gtk_action_set_sensitive(win->menu.remove, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, join)));
 			gtk_action_set_sensitive(win->menu.alias,
 									 (account != NULL) &&
 									 (purple_blist_find_chat(account, purple_conversation_get_name(conv)) != NULL));
@@ -9741,7 +9741,7 @@
 		gc = purple_conversation_get_connection(conv);
 		if (gc != NULL)
 			protocol = purple_connection_get_protocol(gc);
-		if (protocol && !PURPLE_PROTOCOL_IMPLEMENTS(protocol, set_chat_topic))
+		if (protocol && !PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, set_topic))
 			/* This protocol doesn't support setting the chat room topic */
 			return FALSE;
 
--- a/pidgin/gtkdocklet.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkdocklet.c	Sat Sep 14 22:16:59 2013 +0530
@@ -261,7 +261,7 @@
 	while(c != NULL) {
 		PurpleConnection *gc = c->data;
 		PurpleProtocol *protocol = purple_connection_get_protocol(gc);
-		if (protocol != NULL && PURPLE_PROTOCOL_IMPLEMENTS(protocol, chat_info))
+		if (protocol != NULL && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, info))
 			return TRUE;
 		c = c->next;
 	}
@@ -297,7 +297,7 @@
 docklet_signed_on_cb(PurpleConnection *gc)
 {
 	if (!enable_join_chat) {
-		if (PURPLE_PROTOCOL_IMPLEMENTS(purple_connection_get_protocol(gc), chat_info))
+		if (PURPLE_PROTOCOL_IMPLEMENTS(purple_connection_get_protocol(gc), CHAT_IFACE, info))
 			enable_join_chat = TRUE;
 	}
 	docklet_update_status();
@@ -307,7 +307,7 @@
 docklet_signed_off_cb(PurpleConnection *gc)
 {
 	if (enable_join_chat) {
-		if (PURPLE_PROTOCOL_IMPLEMENTS(purple_connection_get_protocol(gc), chat_info))
+		if (PURPLE_PROTOCOL_IMPLEMENTS(purple_connection_get_protocol(gc), CHAT_IFACE, info))
 			enable_join_chat = online_account_supports_chat();
 	}
 	docklet_update_status();
--- a/pidgin/gtkimhtmltoolbar.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkimhtmltoolbar.c	Sat Sep 14 22:16:59 2013 +0530
@@ -1601,6 +1601,6 @@
 	 for the time being it is always disabled for chats */
 	gtk_widget_set_sensitive(toolbar->attention,
 		conv && protocol && PURPLE_IS_IM_CONVERSATION(conv) &&
-		PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_attention));
+		PURPLE_PROTOCOL_IMPLEMENTS(protocol, ATTENTION_IFACE, send));
 }
 
--- a/pidgin/gtkroomlist.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkroomlist.c	Sat Sep 14 22:16:59 2013 +0530
@@ -235,7 +235,7 @@
 	if(gc != NULL)
 		protocol = purple_connection_get_protocol(gc);
 
-	if(protocol != NULL && PURPLE_PROTOCOL_IMPLEMENTS(protocol, roomlist_room_serialize))
+	if(protocol != NULL && PURPLE_PROTOCOL_IMPLEMENTS(protocol, ROOMLIST_IFACE, room_serialize))
 		name = purple_protocol_roomlist_iface_room_serialize(protocol, info->room);
 	else
 		name = g_strdup(purple_roomlist_room_get_name(info->room));
@@ -542,7 +542,7 @@
 	if (conn && PURPLE_CONNECTION_IS_CONNECTED(conn))
 		protocol = purple_connection_get_protocol(conn);
 
-	return (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, roomlist_get_list));
+	return (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, ROOMLIST_IFACE, get_list));
 }
 
 gboolean
--- a/pidgin/gtkutils.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkutils.c	Sat Sep 14 22:16:59 2013 +0530
@@ -556,9 +556,6 @@
 	char *filename = NULL;
 	GdkPixbuf *pixbuf;
 
-	if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, list_icon))
-		return NULL;
-
 	protoname = purple_protocol_class_list_icon(protocol, account, NULL);
 	if (protoname == NULL)
 		return NULL;
@@ -1489,9 +1486,9 @@
 			if (protocol && purple_protocol_get_options(protocol) & OPT_PROTO_IM_IMAGE)
 				im = TRUE;
 
-			if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, can_receive_file))
+			if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, can_receive))
 				ft = purple_protocol_xfer_iface_can_receive(protocol, gc, who);
-			else if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_file))
+			else if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, XFER_IFACE, send))
 				ft = TRUE;
 
 			if (im && ft)
--- a/pidgin/gtkwebviewtoolbar.c	Sat Sep 14 22:16:47 2013 +0530
+++ b/pidgin/gtkwebviewtoolbar.c	Sat Sep 14 22:16:59 2013 +0530
@@ -1629,7 +1629,7 @@
 	 for the time being it is always disabled for chats */
 	gtk_action_set_sensitive(priv->attention,
 		conv && protocol && PURPLE_IS_IM_CONVERSATION(conv) &&
-		PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_attention));
+		PURPLE_PROTOCOL_IMPLEMENTS(protocol, ATTENTION_IFACE, send));
 
 	gtk_action_set_sensitive(priv->smiley,
 		(gboolean)pidgin_themes_get_proto_smileys(priv->sml));

mercurial