libpurple/protocols/jabber/useravatar.c

branch
soc.2013.gobjectification.plugins
changeset 36692
324db2a53c4c
parent 36637
9b0109ae118d
parent 34935
686fa55b0deb
child 37134
07746c9a04bf
--- a/libpurple/protocols/jabber/useravatar.c	Fri Sep 06 23:02:04 2013 +0530
+++ b/libpurple/protocols/jabber/useravatar.c	Sat Sep 07 00:11:42 2013 +0530
@@ -30,7 +30,7 @@
 
 #define MAX_HTTP_BUDDYICON_BYTES (200 * 1024)
 
-static void update_buddy_metadata(JabberStream *js, const char *from, xmlnode *items);
+static void update_buddy_metadata(JabberStream *js, const char *from, PurpleXmlNode *items);
 
 void jabber_avatar_init(void)
 {
@@ -50,18 +50,18 @@
 	/* See note below for why this is #if 0'd */
 
 	/* Publish an empty avatar according to the XEP-0084 v0.12 semantics */
-	xmlnode *publish, *item, *metadata;
+	PurpleXmlNode *publish, *item, *metadata;
 	/* publish the metadata */
-	publish = xmlnode_new("publish");
-	xmlnode_set_attrib(publish, "node", NS_AVATAR_0_12_METADATA);
+	publish = purple_xmlnode_new("publish");
+	purple_xmlnode_set_attrib(publish, "node", NS_AVATAR_0_12_METADATA);
 
-	item = xmlnode_new_child(publish, "item");
-	xmlnode_set_attrib(item, "id", "stop");
+	item = purple_xmlnode_new_child(publish, "item");
+	purple_xmlnode_set_attrib(item, "id", "stop");
 
-	metadata = xmlnode_new_child(item, "metadata");
-	xmlnode_set_namespace(metadata, NS_AVATAR_0_12_METADATA);
+	metadata = purple_xmlnode_new_child(item, "metadata");
+	purple_xmlnode_set_namespace(metadata, NS_AVATAR_0_12_METADATA);
 
-	xmlnode_new_child(metadata, "stop");
+	purple_xmlnode_new_child(metadata, "stop");
 
 	/* publish */
 	jabber_pep_publish(js, publish);
@@ -89,7 +89,7 @@
 
 void jabber_avatar_set(JabberStream *js, PurpleStoredImage *img)
 {
-	xmlnode *publish, *metadata, *item;
+	PurpleXmlNode *publish, *metadata, *item;
 
 	if (!js->pep)
 		return;
@@ -98,12 +98,12 @@
 	remove_avatar_0_12_nodes(js);
 
 	if (!img) {
-		publish = xmlnode_new("publish");
-		xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_METADATA);
+		publish = purple_xmlnode_new("publish");
+		purple_xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_METADATA);
 
-		item = xmlnode_new_child(publish, "item");
-		metadata = xmlnode_new_child(item, "metadata");
-		xmlnode_set_namespace(metadata, NS_AVATAR_1_1_METADATA);
+		item = purple_xmlnode_new_child(publish, "item");
+		metadata = purple_xmlnode_new_child(item, "metadata");
+		purple_xmlnode_set_namespace(metadata, NS_AVATAR_1_1_METADATA);
 
 		/* publish */
 		jabber_pep_publish(js, publish);
@@ -150,7 +150,7 @@
 			/* parse PNG header to get the size of the image (yes, this is required) */
 			guint32 width = ntohl(png->ihdr.width);
 			guint32 height = ntohl(png->ihdr.height);
-			xmlnode *data, *info;
+			PurpleXmlNode *data, *info;
 			char *lengthstring, *widthstring, *heightstring;
 
 			/* compute the sha1 hash */
@@ -160,16 +160,16 @@
 			char *base64avatar = purple_base64_encode(purple_imgstore_get_data(img),
 			                                          purple_imgstore_get_size(img));
 
-			publish = xmlnode_new("publish");
-			xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_DATA);
+			publish = purple_xmlnode_new("publish");
+			purple_xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_DATA);
 
-			item = xmlnode_new_child(publish, "item");
-			xmlnode_set_attrib(item, "id", hash);
+			item = purple_xmlnode_new_child(publish, "item");
+			purple_xmlnode_set_attrib(item, "id", hash);
 
-			data = xmlnode_new_child(item, "data");
-			xmlnode_set_namespace(data, NS_AVATAR_1_1_DATA);
+			data = purple_xmlnode_new_child(item, "data");
+			purple_xmlnode_set_namespace(data, NS_AVATAR_1_1_DATA);
 
-			xmlnode_insert_data(data, base64avatar, -1);
+			purple_xmlnode_insert_data(data, base64avatar, -1);
 			/* publish the avatar itself */
 			jabber_pep_publish(js, publish);
 
@@ -181,21 +181,21 @@
 			heightstring = g_strdup_printf("%u", height);
 
 			/* publish the metadata */
-			publish = xmlnode_new("publish");
-			xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_METADATA);
+			publish = purple_xmlnode_new("publish");
+			purple_xmlnode_set_attrib(publish, "node", NS_AVATAR_1_1_METADATA);
 
-			item = xmlnode_new_child(publish, "item");
-			xmlnode_set_attrib(item, "id", hash);
+			item = purple_xmlnode_new_child(publish, "item");
+			purple_xmlnode_set_attrib(item, "id", hash);
 
-			metadata = xmlnode_new_child(item, "metadata");
-			xmlnode_set_namespace(metadata, NS_AVATAR_1_1_METADATA);
+			metadata = purple_xmlnode_new_child(item, "metadata");
+			purple_xmlnode_set_namespace(metadata, NS_AVATAR_1_1_METADATA);
 
-			info = xmlnode_new_child(metadata, "info");
-			xmlnode_set_attrib(info, "id", hash);
-			xmlnode_set_attrib(info, "type", "image/png");
-			xmlnode_set_attrib(info, "bytes", lengthstring);
-			xmlnode_set_attrib(info, "width", widthstring);
-			xmlnode_set_attrib(info, "height", heightstring);
+			info = purple_xmlnode_new_child(metadata, "info");
+			purple_xmlnode_set_attrib(info, "id", hash);
+			purple_xmlnode_set_attrib(info, "type", "image/png");
+			purple_xmlnode_set_attrib(info, "bytes", lengthstring);
+			purple_xmlnode_set_attrib(info, "width", widthstring);
+			purple_xmlnode_set_attrib(info, "height", heightstring);
 
 			jabber_pep_publish(js, publish);
 
@@ -210,7 +210,7 @@
 }
 
 static void
-do_got_own_avatar_0_12_cb(JabberStream *js, const char *from, xmlnode *items)
+do_got_own_avatar_0_12_cb(JabberStream *js, const char *from, PurpleXmlNode *items)
 {
 	if (items)
 		/* It wasn't an error (i.e. 'item-not-found') */
@@ -218,16 +218,16 @@
 }
 
 static void
-do_got_own_avatar_cb(JabberStream *js, const char *from, xmlnode *items)
+do_got_own_avatar_cb(JabberStream *js, const char *from, PurpleXmlNode *items)
 {
-	xmlnode *item = NULL, *metadata = NULL, *info = NULL;
+	PurpleXmlNode *item = NULL, *metadata = NULL, *info = NULL;
 	PurpleAccount *account = purple_connection_get_account(js->gc);
 	const char *server_hash = NULL;
 
-	if (items && (item = xmlnode_get_child(items, "item")) &&
-			(metadata = xmlnode_get_child(item, "metadata")) &&
-			(info = xmlnode_get_child(metadata, "info"))) {
-		server_hash = xmlnode_get_attrib(info, "id");
+	if (items && (item = purple_xmlnode_get_child(items, "item")) &&
+			(metadata = purple_xmlnode_get_child(item, "metadata")) &&
+			(info = purple_xmlnode_get_child(metadata, "info"))) {
+		server_hash = purple_xmlnode_get_attrib(info, "id");
 	}
 
 	/*
@@ -286,9 +286,9 @@
 }
 
 static void
-do_buddy_avatar_update_data(JabberStream *js, const char *from, xmlnode *items)
+do_buddy_avatar_update_data(JabberStream *js, const char *from, PurpleXmlNode *items)
 {
-	xmlnode *item, *data;
+	PurpleXmlNode *item, *data;
 	const char *checksum;
 	char *b64data;
 	void *img;
@@ -296,19 +296,19 @@
 	if(!items)
 		return;
 
-	item = xmlnode_get_child(items, "item");
+	item = purple_xmlnode_get_child(items, "item");
 	if(!item)
 		return;
 
-	data = xmlnode_get_child(item, "data");
+	data = purple_xmlnode_get_child(item, "data");
 	if(!data)
 		return;
 
-	checksum = xmlnode_get_attrib(item,"id");
+	checksum = purple_xmlnode_get_attrib(item,"id");
 	if(!checksum)
 		return;
 
-	b64data = xmlnode_get_data(data);
+	b64data = purple_xmlnode_get_data(data);
 	if(!b64data)
 		return;
 
@@ -323,41 +323,41 @@
 }
 
 static void
-update_buddy_metadata(JabberStream *js, const char *from, xmlnode *items)
+update_buddy_metadata(JabberStream *js, const char *from, PurpleXmlNode *items)
 {
 	PurpleBuddy *buddy = purple_blist_find_buddy(purple_connection_get_account(js->gc), from);
 	const char *checksum;
-	xmlnode *item, *metadata;
+	PurpleXmlNode *item, *metadata;
 	if(!buddy)
 		return;
 
 	if (!items)
 		return;
 
-	item = xmlnode_get_child(items,"item");
+	item = purple_xmlnode_get_child(items,"item");
 	if (!item)
 		return;
 
-	metadata = xmlnode_get_child(item, "metadata");
+	metadata = purple_xmlnode_get_child(item, "metadata");
 	if(!metadata)
 		return;
 
 	checksum = purple_buddy_icons_get_checksum_for_user(buddy);
 
 	/* <stop/> was the pre-v1.1 method of publishing an empty avatar */
-	if(xmlnode_get_child(metadata, "stop")) {
+	if(purple_xmlnode_get_child(metadata, "stop")) {
 		purple_buddy_icons_set_for_user(purple_connection_get_account(js->gc), from, NULL, 0, NULL);
 	} else {
-		xmlnode *info, *goodinfo = NULL;
+		PurpleXmlNode *info, *goodinfo = NULL;
 		gboolean has_children = FALSE;
 
 		/* iterate over all info nodes to get one we can use */
 		for(info = metadata->child; info; info = info->next) {
-			if(info->type == XMLNODE_TYPE_TAG)
+			if(info->type == PURPLE_XMLNODE_TYPE_TAG)
 				has_children = TRUE;
-			if(info->type == XMLNODE_TYPE_TAG && !strcmp(info->name,"info")) {
-				const char *type = xmlnode_get_attrib(info,"type");
-				const char *id = xmlnode_get_attrib(info,"id");
+			if(info->type == PURPLE_XMLNODE_TYPE_TAG && !strcmp(info->name,"info")) {
+				const char *type = purple_xmlnode_get_attrib(info,"type");
+				const char *id = purple_xmlnode_get_attrib(info,"id");
 
 				if(checksum && id && !strcmp(id, checksum)) {
 					/* we already have that avatar, so we don't have to do anything */
@@ -372,8 +372,8 @@
 		if(has_children == FALSE) {
 			purple_buddy_icons_set_for_user(purple_connection_get_account(js->gc), from, NULL, 0, NULL);
 		} else if(goodinfo) {
-			const char *url = xmlnode_get_attrib(goodinfo, "url");
-			const char *id = xmlnode_get_attrib(goodinfo,"id");
+			const char *url = purple_xmlnode_get_attrib(goodinfo, "url");
+			const char *id = purple_xmlnode_get_attrib(goodinfo,"id");
 
 			/* the avatar might either be stored in a pep node, or on a HTTP(S) URL */
 			if(!url) {

mercurial