# HG changeset patch # User Andreas Monitzer # Date 1182131754 0 # Node ID 84638e3af1bcc175aed4c3b203ce137970366205 # Parent beaeb7fb4dbd7d1fa769c46db1c610e35a582681 Minor compilation fixes and corrected some typos on user tune. Added convenience function for setting the user tune. diff -r beaeb7fb4dbd -r 84638e3af1bc libpurple/account.c --- a/libpurple/account.c Mon Jun 18 00:56:00 2007 +0000 +++ b/libpurple/account.c Mon Jun 18 01:55:54 2007 +0000 @@ -2153,6 +2153,18 @@ } void +purple_account_set_tune(PurpleAccount *account, const PurpleTuneInfo *info) { + PurplePluginProtocolInfo *prpl_info = NULL; + PurpleConnection *gc = purple_account_get_connection(account); + + if (gc != NULL && gc->prpl != NULL) + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + + if (prpl_info && prpl_info->publish_tune) + prpl_info->publish_tune(gc, info); +} + +void purple_accounts_add(PurpleAccount *account) { g_return_if_fail(account != NULL); diff -r beaeb7fb4dbd -r 84638e3af1bc libpurple/account.h --- a/libpurple/account.h Mon Jun 18 00:56:00 2007 +0000 +++ b/libpurple/account.h Mon Jun 18 01:55:54 2007 +0000 @@ -841,6 +841,14 @@ */ gboolean purple_account_supports_offline_message(PurpleAccount *account, PurpleBuddy *buddy); +/** + * Sets the current tune playing on the machine (if the prpl support setting this information) + * + * @param account The account + * @param info The tune information + */ +void purple_account_set_tune(PurpleAccount *account, const PurpleTuneInfo *info); + /*@}*/ /**************************************************************************/ diff -r beaeb7fb4dbd -r 84638e3af1bc libpurple/protocols/jabber/usertune.c --- a/libpurple/protocols/jabber/usertune.c Mon Jun 18 00:56:00 2007 +0000 +++ b/libpurple/protocols/jabber/usertune.c Mon Jun 18 01:55:54 2007 +0000 @@ -107,14 +107,11 @@ xmlnode_insert_data(xmlnode_new_child(tunenode, "uri"),tuneinfo->url,-1); if(tuneinfo->time >= 0) { char *length = g_strdup_printf("%d", tuneinfo->time); - xmlnode_insert_data(xmlnode_new_child(tunenode, "length"),tuneinfo->artist,-1); + xmlnode_insert_data(xmlnode_new_child(tunenode, "length"),length,-1); g_free(length); } - if(tuneinfo->track >= 0) { - char *track = g_strdup_printf("%d", tuneinfo->year); + if(tuneinfo->track) xmlnode_insert_data(xmlnode_new_child(tunenode, "track"),tuneinfo->track,-1); - g_free(track); - } } jabber_pep_publish(js, publish); diff -r beaeb7fb4dbd -r 84638e3af1bc libpurple/prpl.h --- a/libpurple/prpl.h Mon Jun 18 00:56:00 2007 +0000 +++ b/libpurple/prpl.h Mon Jun 18 01:55:54 2007 +0000 @@ -47,6 +47,7 @@ * Dimensions less than 1 should be ignored and the image not scaled. */ typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec; +typedef struct _PurpleTuneInfo PurpleTuneInfo; /** * This \#define exists just to make it easier to fill out the buddy icon @@ -91,8 +92,6 @@ gboolean secret; }; -typedef struct _PurpleTuneInfo PurpleTuneInfo; - struct _PurpleTuneInfo { char *artist; char *title;