diff -Nurdp fork-for-gaim-2.gaim/bot-challenger/bot-challenger.c fork-for-gaim-2.pidgin/bot-challenger/bot-challenger.c --- fork-for-gaim-2.gaim/bot-challenger/bot-challenger.c 2006-11-30 04:00:58.000000000 +0000 +++ fork-for-gaim-2.pidgin/bot-challenger/bot-challenger.c 2007-05-15 20:57:09.000000000 +0100 @@ -39,7 +39,10 @@ #include "privacy.h" /* gaim header needed for gettext */ -#include "internal.h" +/* Uh, not if you don't have any translations it isn't ! + #include "internal.h" */ +#define _(x) x +#define N_(x) x /** * Declare the list of struct that is used to store the first @@ -61,9 +64,9 @@ static GSList *pending_list = NULL; /** * Return TRUE if the protocols match */ -gboolean protocmp(GaimAccount * account, const PendingMessage * pending) +gboolean protocmp(PurpleAccount * account, const PendingMessage * pending) { - if (!gaim_utf8_strcasecmp(pending->username, account->username)) { + if (!purple_utf8_strcasecmp(pending->username, account->username)) { return TRUE; } else { return FALSE; @@ -73,9 +76,9 @@ gboolean protocmp(GaimAccount * account, /** * Return TRUE if the accounts match */ -gboolean usercmp(GaimAccount * account, const PendingMessage * pending) +gboolean usercmp(PurpleAccount * account, const PendingMessage * pending) { - if (!gaim_utf8_strcasecmp(pending->username, account->username)) { + if (!purple_utf8_strcasecmp(pending->username, account->username)) { return TRUE; } else { return FALSE; @@ -87,7 +90,7 @@ gboolean usercmp(GaimAccount * account, */ gboolean sendercmp(const char *sender, const PendingMessage * pending) { - if (!gaim_utf8_strcasecmp(pending->sender, sender)) { + if (!purple_utf8_strcasecmp(pending->sender, sender)) { return TRUE; } else { return FALSE; @@ -138,29 +141,29 @@ void debug_pending_list() GSList *search = NULL; for (search = pending_list; search; search = search->next) { PendingMessage *pending = search->data; - gaim_debug_info("bot-challenger", + purple_debug_info("bot-challenger", "Pending: protocol = %s, username = %s, sender = %s, message = %s\n", pending->protocol, pending->username, pending->sender, pending->message); } } -void send_auto_reply(GaimAccount * account, const char *recipient, +void send_auto_reply(PurpleAccount * account, const char *recipient, const char *message) { int i = 0; - GaimConnection *gc = NULL; - GaimPluginProtocolInfo *prpl_info = NULL; + PurpleConnection *gc = NULL; + PurplePluginProtocolInfo *prpl_info = NULL; - gc = gaim_account_get_connection(account); + gc = purple_account_get_connection(account); if (gc != NULL && gc->prpl != NULL) { - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); } if (prpl_info && prpl_info->send_im) { i = prpl_info->send_im(gc, recipient, message, - GAIM_MESSAGE_AUTO_RESP); + PURPLE_MESSAGE_AUTO_RESP); } return; @@ -171,7 +174,7 @@ void send_auto_reply(GaimAccount * accou * * We return TRUE to block the IM, FALSE to accept the IM */ -static gboolean receiving_im_msg_cb(GaimAccount * account, char **sender, +static gboolean receiving_im_msg_cb(PurpleAccount * account, char **sender, char **buffer, int *flags, void *data) { gboolean retval = FALSE; /* assume the sender is allowed */ @@ -184,12 +187,12 @@ static gboolean receiving_im_msg_cb(Gaim GSList *slist = NULL; GSList *search = NULL; - GaimConnection *connection = NULL; + PurpleConnection *connection = NULL; /* expire any old entries in pending */ expire_pending_list(); - connection = gaim_account_get_connection(account); + connection = purple_account_get_connection(account); /* not good, but don't do anything */ if (!connection || !sender) { @@ -197,29 +200,29 @@ static gboolean receiving_im_msg_cb(Gaim } /* if there is already an open conversation, allowed it */ - if (gaim_find_conversation_with_account - (GAIM_CONV_TYPE_IM, *sender, account)) { + if (purple_find_conversation_with_account + (PURPLE_CONV_TYPE_IM, *sender, account)) { return retval; } /* don't make buddies use the challenge/response system */ - if (gaim_find_buddy(account, *sender)) { + if (purple_find_buddy(account, *sender)) { return retval; } /* don't make permit list members use the challenge/response system */ for (slist = account->permit; slist != NULL; slist = slist->next) { - if (!gaim_utf8_strcasecmp - (*sender, gaim_normalize(account, (char *) slist->data))) { + if (!purple_utf8_strcasecmp + (*sender, purple_normalize(account, (char *) slist->data))) { return retval; } } /* if there is no question or no answer, allow the sender */ const char *question = - gaim_prefs_get_string("/plugins/core/bot/challenger/question"); + purple_prefs_get_string("/plugins/core/bot/challenger/question"); const char *answer = - gaim_prefs_get_string("/plugins/core/bot/challenger/answer"); + purple_prefs_get_string("/plugins/core/bot/challenger/answer"); if (!question || !answer) { return retval; } @@ -269,7 +272,7 @@ static gboolean receiving_im_msg_cb(Gaim g_free(botmsg); retval = TRUE; } else { - if (gaim_utf8_strcasecmp(*buffer, answer)) { + if (purple_utf8_strcasecmp(*buffer, answer)) { /** * Sorry, thanks for playing, please try again */ @@ -280,10 +283,10 @@ static gboolean receiving_im_msg_cb(Gaim ("Bot Challenger accepted your answer and delivered your original message. You may now speak freely."); send_auto_reply(account, *sender, botmsg); - if (gaim_prefs_get_bool + if (purple_prefs_get_bool ("/plugins/core/bot/challenger/auto_add_permit")) { - if (!gaim_privacy_permit_add(account, *sender, FALSE)) { - gaim_debug_info("bot-challenger", + if (!purple_privacy_permit_add(account, *sender, FALSE)) { + purple_debug_info("bot-challenger", "Unable to add %s/%s/%s to permit list\n", *sender, pending->username, pending->protocol); @@ -309,74 +312,74 @@ static gboolean receiving_im_msg_cb(Gaim return retval; /* returning TRUE will block the IM */ } -void gaim_plugin_remove() +void purple_plugin_remove() { return; } -static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin * plugin) +static PurplePluginPrefFrame *get_plugin_pref_frame(PurplePlugin * plugin) { - GaimPluginPrefFrame *frame; - GaimPluginPref *ppref; + PurplePluginPrefFrame *frame; + PurplePluginPref *ppref; - frame = gaim_plugin_pref_frame_new(); + frame = purple_plugin_pref_frame_new(); - ppref = gaim_plugin_pref_new_with_label(_("Define the challenge:")); - gaim_plugin_pref_frame_add(frame, ppref); + ppref = purple_plugin_pref_new_with_label(_("Define the challenge:")); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/core/bot/challenger/question", _("Question")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/core/bot/challenger/answer", _("Answer")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_label(_ + purple_plugin_pref_new_with_label(_ ("When the challenge is met, let this person IM you and:")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/core/bot/challenger/auto_add_permit", _("Add this person to your Allow List")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); return frame; } -static GaimPluginUiInfo prefs_info = { +static PurplePluginUiInfo prefs_info = { get_plugin_pref_frame }; -static gboolean plugin_load(GaimPlugin * plugin) +static gboolean plugin_load(PurplePlugin * plugin) { - void *conv_handle = gaim_conversations_get_handle(); + void *conv_handle = purple_conversations_get_handle(); - gaim_prefs_add_none("/plugins"); - gaim_prefs_add_none("/plugins/core"); - gaim_prefs_add_none("/plugins/core/bot"); - gaim_prefs_add_none("/plugins/core/bot/challenger"); + purple_prefs_add_none("/plugins"); + purple_prefs_add_none("/plugins/core"); + purple_prefs_add_none("/plugins/core/bot"); + purple_prefs_add_none("/plugins/core/bot/challenger"); - gaim_prefs_add_string("/plugins/core/bot/challenger/question", + purple_prefs_add_string("/plugins/core/bot/challenger/question", _("How do you spell the number 10?")); - gaim_prefs_add_string("/plugins/core/bot/challenger/answer", _("ten")); + purple_prefs_add_string("/plugins/core/bot/challenger/answer", _("ten")); - gaim_prefs_add_bool("/plugins/core/bot/challenger/auto_add_permit", + purple_prefs_add_bool("/plugins/core/bot/challenger/auto_add_permit", FALSE); - gaim_signal_connect(conv_handle, "receiving-im-msg", - plugin, GAIM_CALLBACK(receiving_im_msg_cb), NULL); + purple_signal_connect(conv_handle, "receiving-im-msg", + plugin, PURPLE_CALLBACK(receiving_im_msg_cb), NULL); return TRUE; } -static gboolean plugin_unload(GaimPlugin * plugin) +static gboolean plugin_unload(PurplePlugin * plugin) { - gaim_signals_disconnect_by_handle(plugin); + purple_signals_disconnect_by_handle(plugin); GSList *search = NULL; for (search = pending_list; search; search = search->next) { @@ -386,15 +389,15 @@ static gboolean plugin_unload(GaimPlugin return TRUE; } -static GaimPluginInfo info = { - GAIM_PLUGIN_MAGIC, - GAIM_MAJOR_VERSION, - GAIM_MINOR_VERSION, - GAIM_PLUGIN_STANDARD, /**< type */ +static PurplePluginInfo info = { + PURPLE_PLUGIN_MAGIC, + PURPLE_MAJOR_VERSION, + PURPLE_MINOR_VERSION, + PURPLE_PLUGIN_STANDARD, /**< type */ NULL, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ - GAIM_PRIORITY_DEFAULT, /**< priority */ + PURPLE_PRIORITY_DEFAULT, /**< priority */ N_("core-bot_challenger"), /**< id */ N_("Bot Challenger"), /**< name */ @@ -416,12 +419,12 @@ static GaimPluginInfo info = { NULL }; -static void init_plugin(GaimPlugin * plugin) +static void init_plugin(PurplePlugin * plugin) { return; } -GAIM_INIT_PLUGIN(bot_challenger, init_plugin, info) +PURPLE_INIT_PLUGIN(bot_challenger, init_plugin, info) /** * vim:tabstop=4:shiftwidth=4:expandtab: diff -Nurdp fork-for-gaim-2.gaim/configure.ac fork-for-gaim-2.pidgin/configure.ac --- fork-for-gaim-2.gaim/configure.ac 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/configure.ac 2007-05-15 22:10:59.000000000 +0100 @@ -11,7 +11,7 @@ AC_PREREQ([2.50]) REQUIRED_PKG_CONFIG="0.15.0" AC_SUBST(REQUIRED_PKG_CONFIG) -REQUIRED_GAIM="gaim gaim >= 2.0" +REQUIRED_GAIM="purple >= 2.0" AC_SUBST(REQUIRED_GAIM) REQUIRED_GTK="gtk+-2.0" @@ -101,9 +101,9 @@ PKG_CHECK_MODULES([GAIM], [$REQUIRED_GAI AC_ARG_VAR([GAIM_DATADIR], [datadir of GAIM, overriding pkg-config])dnl AC_ARG_VAR([GAIM_LIBDIR], [libdir of GAIM, overriding pkg-config])dnl AC_CACHE_CHECK([for GAIM][_DATADIR], [pkg_cv_][GAIM][_DATADIR], - [_PKG_CONFIG([GAIM][_DATADIR], [variable=datadir], [gaim])]) + [_PKG_CONFIG([GAIM][_DATADIR], [variable=datadir], [purple])]) AC_CACHE_CHECK([for GAIM][_LIBDIR], [pkg_cv_][GAIM][_LIBDIR], - [_PKG_CONFIG([GAIM][_LIBDIR], [variable=libdir], [gaim])]) + [_PKG_CONFIG([GAIM][_LIBDIR], [variable=libdir], [purple])]) GAIM[]_DATADIR=$pkg_cv_[]GAIM[]_DATADIR GAIM[]_LIBDIR=$pkg_cv_[]GAIM[]_LIBDIR AC_SUBST(GAIM_DATADIR) @@ -139,6 +139,9 @@ AC_CONFIG_FILES([Makefile bot-challenger/Makefile gaym/Makefile gaym/pixmaps/Makefile + gaym/pixmaps/16/Makefile + gaym/pixmaps/22/Makefile + gaym/pixmaps/48/Makefile gaym/src/Makefile gaym-extras/Makefile gaym-extras/src/Makefile @@ -154,7 +157,7 @@ echo Build bot-challenger plugin...... : echo Build gaym plugin................ : $enable_gaym echo Build gaym-extras plugin......... : $enable_gaym_extras echo -echo Installation directory........... : $GAIM_LIBDIR/gaim +echo Installation directory........... : $GAIM_LIBDIR/purple-2 $GAIM_LIBDIR/pidgin echo echo configure complete, now type \'make\' echo diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/16/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/16/Makefile.am --- fork-for-gaim-2.gaim/gaym/pixmaps/16/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ fork-for-gaim-2.pidgin/gaym/pixmaps/16/Makefile.am 2007-05-15 22:04:52.000000000 +0100 @@ -0,0 +1,8 @@ +EXTRA_DIST = \ + gaym.png + +gaymstatuspixdir = \ + $(GAIM_DATADIR)/pixmaps/pidgin/protocols/16 + +gaymstatuspix_DATA = \ + $(EXTRA_DIST) diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/22/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/22/Makefile.am --- fork-for-gaim-2.gaim/gaym/pixmaps/22/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ fork-for-gaim-2.pidgin/gaym/pixmaps/22/Makefile.am 2007-05-15 22:05:07.000000000 +0100 @@ -0,0 +1,8 @@ +EXTRA_DIST = \ + gaym.png + +gaymstatuspixdir = \ + $(GAIM_DATADIR)/pixmaps/pidgin/protocols/22 + +gaymstatuspix_DATA = \ + $(EXTRA_DIST) diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/48/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/48/Makefile.am --- fork-for-gaim-2.gaim/gaym/pixmaps/48/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ fork-for-gaim-2.pidgin/gaym/pixmaps/48/Makefile.am 2007-05-15 22:05:10.000000000 +0100 @@ -0,0 +1,8 @@ +EXTRA_DIST = \ + gaym.png + +gaymstatuspixdir = \ + $(GAIM_DATADIR)/pixmaps/pidgin/protocols/48 + +gaymstatuspix_DATA = \ + $(EXTRA_DIST) diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/Makefile.am --- fork-for-gaim-2.gaim/gaym/pixmaps/Makefile.am 2006-11-30 04:00:58.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/pixmaps/Makefile.am 2007-05-15 22:04:24.000000000 +0100 @@ -1,8 +1 @@ -EXTRA_DIST = \ - gaym.png - -gaymstatuspixdir = \ - $(GAIM_DATADIR)/pixmaps/gaim/status/default - -gaymstatuspix_DATA = \ - gaym.png +SUBDIRS = 16 22 48 diff -Nurdp fork-for-gaim-2.gaim/gaym/src/botfilter.c fork-for-gaim-2.pidgin/gaym/src/botfilter.c --- fork-for-gaim-2.gaim/gaym/src/botfilter.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/botfilter.c 2007-05-15 20:55:31.000000000 +0100 @@ -45,7 +45,7 @@ void update_filtered_bots(const char *ni gboolean found = FALSE; for (search = filtered_bots; search; search = search->next) { FilteredBot *bot = search->data; - if (!gaim_utf8_strcasecmp(bot->username, nick)) { + if (!purple_utf8_strcasecmp(bot->username, nick)) { found = TRUE; break; } @@ -67,7 +67,7 @@ void update_filtered_bots(const char *ni } } -gboolean gaym_botfilter_check(GaimConnection * gc, const char *nick, +gboolean gaym_botfilter_check(PurpleConnection * gc, const char *nick, const char *text, gboolean gaym_privacy_change) { @@ -77,22 +77,22 @@ gboolean gaym_botfilter_check(GaimConnec gboolean permitted = TRUE; int i = 0; - if (!gaim_prefs_get_bool("/plugins/prpl/gaym/botfilter_enable")) { + if (!purple_prefs_get_bool("/plugins/prpl/gaym/botfilter_enable")) { permitted = TRUE; update_filtered_bots(nick, permitted); return permitted; } /* don't ignore self */ - if (!gaim_utf8_strcasecmp(gc->account->username, nick)) { + if (!purple_utf8_strcasecmp(gc->account->username, nick)) { permitted = TRUE; - gaim_debug_info("gaym", "declining to block/ignore self\n"); + purple_debug_info("gaym", "declining to block/ignore self\n"); update_filtered_bots(nick, permitted); return permitted; } /* don't ignore buddies */ - if (gaim_find_buddy(gc->account, nick)) { + if (purple_find_buddy(gc->account, nick)) { permitted = TRUE; return permitted; } @@ -100,8 +100,8 @@ gboolean gaym_botfilter_check(GaimConnec /* don't ignore permit list members */ GSList *slist = NULL; for (slist = gc->account->permit; slist != NULL; slist = slist->next) { - if (!gaim_utf8_strcasecmp - (nick, gaim_normalize(gc->account, (char *) slist->data))) { + if (!purple_utf8_strcasecmp + (nick, purple_normalize(gc->account, (char *) slist->data))) { permitted = TRUE; return permitted; } @@ -116,7 +116,7 @@ gboolean gaym_botfilter_check(GaimConnec GSList *search = NULL; for (search = filtered_bots; search; search = search->next) { FilteredBot *bot = search->data; - if (!gaim_utf8_strcasecmp(bot->username, nick)) { + if (!purple_utf8_strcasecmp(bot->username, nick)) { permitted = FALSE; break; } @@ -125,7 +125,7 @@ gboolean gaym_botfilter_check(GaimConnec } if (!text) { - if (gaim_prefs_get_bool + if (purple_prefs_get_bool ("/plugins/prpl/gaym/botfilter_ignore_null")) { permitted = FALSE; } else { @@ -136,30 +136,30 @@ gboolean gaym_botfilter_check(GaimConnec } const char *sep = - gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); + purple_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); const char *patterns = - gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_patterns"); + purple_prefs_get_string("/plugins/prpl/gaym/botfilter_patterns"); const char *gayboi_patterns = - gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_url_result"); + purple_prefs_get_string("/plugins/prpl/gaym/botfilter_url_result"); - if (!sep || !gaim_utf8_strcasecmp(sep, "") - || ((!patterns || !gaim_utf8_strcasecmp(patterns, "")) + if (!sep || !purple_utf8_strcasecmp(sep, "") + || ((!patterns || !purple_utf8_strcasecmp(patterns, "")) && (!gayboi_patterns - || !gaim_utf8_strcasecmp(gayboi_patterns, "")))) { + || !purple_utf8_strcasecmp(gayboi_patterns, "")))) { permitted = TRUE; update_filtered_bots(nick, permitted); return permitted; } char *combined = NULL; - if (patterns && gaim_utf8_strcasecmp(patterns, "") && gayboi_patterns - && gaim_utf8_strcasecmp(gayboi_patterns, "")) { + if (patterns && purple_utf8_strcasecmp(patterns, "") && gayboi_patterns + && purple_utf8_strcasecmp(gayboi_patterns, "")) { combined = g_strdup_printf("%s|%s", patterns, gayboi_patterns); } else { - if (patterns && gaim_utf8_strcasecmp(patterns, "")) { + if (patterns && purple_utf8_strcasecmp(patterns, "")) { combined = g_strdup_printf("%s", patterns); } else if (gayboi_patterns - && gaim_utf8_strcasecmp(gayboi_patterns, "")) { + && purple_utf8_strcasecmp(gayboi_patterns, "")) { combined = g_strdup_printf("%s", gayboi_patterns); } } @@ -181,47 +181,47 @@ gboolean gaym_botfilter_check(GaimConnec return permitted; } -void process_spamlist_from_web_cb(GaimUtilFetchUrlData *url_data, void *data, const gchar *result, +void process_spamlist_from_web_cb(PurpleUtilFetchUrlData *url_data, void *data, const gchar *result, gsize len, const gchar* error_message) { if (!result) { - gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ""); - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); return; } if (!g_str_has_prefix(result, "\n")) { - gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ""); - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); return; } if (!g_str_has_suffix(result, "")) { - gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ""); - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); return; } const char *sep = - gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); - if (!sep || !gaim_utf8_strcasecmp(sep, "")) { - gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + purple_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); + if (!sep || !purple_utf8_strcasecmp(sep, "")) { + purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ""); - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); return; } - char *html_stripped = gaim_markup_strip_html(result); + char *html_stripped = purple_markup_strip_html(result); char *stripped = g_strstrip(html_stripped); char **split = g_strsplit(stripped, "\n ", 0); char *starsep = g_strdup_printf("*%s*", sep); char *joined = g_strjoinv(starsep, split); char *url_result = g_strdup_printf("*%s*", joined); - gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", url_result); g_free(url_result); @@ -236,33 +236,33 @@ void get_spamlist_from_web(void) char *user_agent = "Mozilla/4.0"; const char *url = - gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_url"); - if (!url || !gaim_utf8_strcasecmp(url, "")) { - gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + purple_prefs_get_string("/plugins/prpl/gaym/botfilter_url"); + if (!url || !purple_utf8_strcasecmp(url, "")) { + purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ""); - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); return; } int last_check = - gaim_prefs_get_int("/plugins/prpl/gaym/botfilter_url_last_check"); + purple_prefs_get_int("/plugins/prpl/gaym/botfilter_url_last_check"); if (!last_check || time(NULL) - last_check > MIN_CHECK_INTERVAL) { - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", time(NULL)); - gaim_util_fetch_url(url, FALSE, user_agent, FALSE, + purple_util_fetch_url(url, FALSE, user_agent, FALSE, process_spamlist_from_web_cb, NULL); } return; } -void botfilter_url_changed_cb(const char *name, GaimPrefType type, +void botfilter_url_changed_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { - gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); + purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); } /** diff -Nurdp fork-for-gaim-2.gaim/gaym/src/botfilter.h fork-for-gaim-2.pidgin/gaym/src/botfilter.h --- fork-for-gaim-2.gaim/gaym/src/botfilter.h 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/botfilter.h 2007-05-15 20:55:31.000000000 +0100 @@ -21,8 +21,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef _GAIM_GAYM_BOTFILTER_H_ -#define _GAIM_GAYM_BOTFILTER_H_ +#ifndef _PURPLE_GAYM_BOTFILTER_H_ +#define _PURPLE_GAYM_BOTFILTER_H_ #include "connection.h" @@ -38,7 +38,7 @@ * * @return TRUE if the user is allowed, or @c FALSE otherwise. */ -gboolean gaym_botfilter_check(GaimConnection * gc, const char *nick, +gboolean gaym_botfilter_check(PurpleConnection * gc, const char *nick, const char *text, gboolean gaym_privacy_change); @@ -49,10 +49,10 @@ gboolean gaym_botfilter_check(GaimConnec */ void get_spamlist_from_web(void); -void botfilter_url_changed_cb(const char *name, GaimPrefType type, +void botfilter_url_changed_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data); -#endif /* _GAIM_GAYM_BOTFILTER_H_ */ +#endif /* _PURPLE_GAYM_BOTFILTER_H_ */ /** * vim:tabstop=4:shiftwidth=4:expandtab: diff -Nurdp fork-for-gaim-2.gaim/gaym/src/cmds.c fork-for-gaim-2.pidgin/gaym/src/cmds.c --- fork-for-gaim-2.gaim/gaym/src/cmds.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/cmds.c 2007-05-19 17:03:31.000000000 +0100 @@ -36,8 +36,8 @@ static void gaym_do_mode(struct gaym_con int gaym_cmd_default(struct gaym_conn *gaym, const char *cmd, const char *target, const char **args) { - GaimConversation *convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, target, + PurpleConversation *convo = + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, target, gaym->account); char *buf; @@ -45,13 +45,13 @@ int gaym_cmd_default(struct gaym_conn *g return 1; buf = g_strdup_printf(_("Unknown command: %s"), cmd); - if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_IM) - gaim_conv_im_write(GAIM_CONV_IM(convo), "", buf, - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_IM) + purple_conv_im_write(PURPLE_CONV_IM(convo), "", buf, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); else - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), "", buf, - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "", buf, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); g_free(buf); @@ -83,10 +83,10 @@ int gaym_cmd_away(struct gaym_conn *gaym int gaym_cmd_ctcp_action(struct gaym_conn *gaym, const char *cmd, const char *target, const char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *action, *dst, **newargs; const char *src; - GaimConversation *convo; + PurpleConversation *convo; if (!args || !args[0] || !gc) return 0; @@ -121,20 +121,20 @@ int gaym_cmd_ctcp_action(struct gaym_con g_free(newargs); convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, target, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, target, gaym->account); if (convo) { action = g_strdup_printf("/me %s", args[0]); if (action[strlen(action) - 1] == '\n') action[strlen(action) - 1] = '\0'; - if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) + if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) serv_got_chat_in(gc, - gaim_conv_chat_get_id(GAIM_CONV_CHAT(convo)), - gaim_connection_get_display_name(gc), 0, + purple_conv_chat_get_id(PURPLE_CONV_CHAT(convo)), + purple_connection_get_display_name(gc), 0, action, time(NULL)); else - gaim_conv_im_write(GAIM_CONV_IM(convo), - gaim_connection_get_display_name(gc), + purple_conv_im_write(PURPLE_CONV_IM(convo), + purple_connection_get_display_name(gc), action, 0, time(NULL)); g_free(action); } @@ -193,13 +193,13 @@ int gaym_cmd_kick(struct gaym_conn *gaym const char *target, const char **args) { char *buf; - GaimConversation *convo; + PurpleConversation *convo; if (!args || !args[0]) return 0; convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, target, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, target, gaym->account); if (!convo) return 0; @@ -224,7 +224,7 @@ int gaym_cmd_list(struct gaym_conn *gaym } else { gaym->roomlist_filter = NULL; } - gaim_roomlist_show_with_account(gaym->account); + purple_roomlist_show_with_account(gaym->account); return 0; } @@ -232,7 +232,7 @@ int gaym_cmd_list(struct gaym_conn *gaym int gaym_cmd_mode(struct gaym_conn *gaym, const char *cmd, const char *target, const char **args) { - GaimConnection *gc; + PurpleConnection *gc; char *buf; if (!args) @@ -250,10 +250,10 @@ int gaym_cmd_mode(struct gaym_conn *gaym } else if (!strcmp(cmd, "umode")) { if (!args[0]) return 0; - gc = gaim_account_get_connection(gaym->account); + gc = purple_account_get_connection(gaym->account); buf = gaym_format(gaym, "vnv", "MODE", - gaim_connection_get_display_name(gc), args[0]); + purple_connection_get_display_name(gc), args[0]); } else { return 0; } @@ -320,7 +320,7 @@ int gaym_cmd_op(struct gaym_conn *gaym, sign = "-"; mode = "v"; } else { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", "invalid 'op' command '%s'\n", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "invalid 'op' command '%s'\n", cmd); return 0; } @@ -405,7 +405,7 @@ int gaym_cmd_privmsg(struct gaym_conn *g } else { nick = g_strdup(args[0]); } - gchar* unescaped=gaim_unescape_html(args[1]); + gchar* unescaped=purple_unescape_html(args[1]); cur = unescaped; end = unescaped; while (*end && *cur) { @@ -415,7 +415,7 @@ int gaym_cmd_privmsg(struct gaym_conn *g msg = g_strndup(cur, end - cur); buf = gaym_format(gaym, "vt:", "PRIVMSG", nick, msg); - gaim_debug_misc("gaym_cmd_privmsg",buf); + purple_debug_misc("gaym_cmd_privmsg",buf); gaym_send(gaym, buf); g_free(msg); g_free(buf); @@ -431,6 +431,9 @@ int gaym_cmd_quit(struct gaym_conn *gaym { char *buf; + if (gaym->fd < 0) + return 0; + if (!gaym->quitting) { buf = gaym_format(gaym, "v:", "QUIT", @@ -463,21 +466,21 @@ int gaym_cmd_quote(struct gaym_conn *gay int gaym_cmd_query(struct gaym_conn *gaym, const char *cmd, const char *target, const char **args) { - GaimConversation *convo; - GaimConnection *gc; + PurpleConversation *convo; + PurpleConnection *gc; if (!args || !args[0]) return 0; convo = - gaim_conversation_new(GAIM_CONV_TYPE_IM, gaym->account, args[0]); + purple_conversation_new(PURPLE_CONV_TYPE_IM, gaym->account, args[0]); if (args[1]) { - gc = gaim_account_get_connection(gaym->account); + gc = purple_account_get_connection(gaym->account); gaym_cmd_privmsg(gaym, cmd, target, args); - gaim_conv_im_write(GAIM_CONV_IM(convo), - gaim_connection_get_display_name(gc), args[1], - GAIM_MESSAGE_SEND, time(NULL)); + purple_conv_im_write(PURPLE_CONV_IM(convo), + purple_connection_get_display_name(gc), args[1], + PURPLE_MESSAGE_SEND, time(NULL)); } return 0; @@ -510,31 +513,31 @@ int gaym_cmd_topic(struct gaym_conn *gay { char *buf; const char *topic; - GaimConversation *convo; + PurpleConversation *convo; if (!args) return 0; convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, target, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, target, gaym->account); if (!convo) return 0; if (!args[0]) { - topic = gaim_conv_chat_get_topic(GAIM_CONV_CHAT(convo)); + topic = purple_conv_chat_get_topic(PURPLE_CONV_CHAT(convo)); if (topic) { char *tmp, *tmp2; tmp = g_markup_escape_text(topic, -1); - tmp2 = gaim_markup_linkify(tmp); + tmp2 = purple_markup_linkify(tmp); buf = g_strdup_printf(_("current topic is: %s"), tmp2); g_free(tmp); g_free(tmp2); } else buf = g_strdup(_("No topic is set")); - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), target, buf, - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), target, buf, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); g_free(buf); @@ -592,7 +595,7 @@ int gaym_cmd_who(struct gaym_conn *gaym, return 0; buf = gaym_format(gaym, "vn", "WHO", args[0]); - gaim_debug_misc("cmds", "Exceuting %s\n", buf); + purple_debug_misc("cmds", "Exceuting %s\n", buf); gaym_send(gaym, buf); g_free(buf); return 0; diff -Nurdp fork-for-gaim-2.gaim/gaym/src/dcc_send.c fork-for-gaim-2.pidgin/gaym/src/dcc_send.c --- fork-for-gaim-2.gaim/gaym/src/dcc_send.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/dcc_send.c 2007-05-15 20:55:31.000000000 +0100 @@ -36,7 +36,7 @@ struct gaym_xfer_rx_data { gchar *ip; }; -static void gaym_dccsend_recv_destroy(GaimXfer * xfer) +static void gaym_dccsend_recv_destroy(PurpleXfer * xfer) { struct gaym_xfer_rx_data *xd = xfer->data; @@ -51,7 +51,7 @@ static void gaym_dccsend_recv_destroy(Ga * It sends the acknowledgement (in the form of a total byte count as an * unsigned 4 byte integer in network byte order) */ -static void gaym_dccsend_recv_ack(GaimXfer * xfer, const char *data, +static void gaym_dccsend_recv_ack(PurpleXfer * xfer, const char *data, size_t size) { unsigned long l; @@ -60,11 +60,11 @@ static void gaym_dccsend_recv_ack(GaimXf write(xfer->fd, &l, sizeof(l)); } -static void gaym_dccsend_recv_init(GaimXfer * xfer) +static void gaym_dccsend_recv_init(PurpleXfer * xfer) { struct gaym_xfer_rx_data *xd = xfer->data; - gaim_xfer_start(xfer, -1, xd->ip, xfer->remote_port); + purple_xfer_start(xfer, -1, xd->ip, xfer->remote_port); g_free(xd->ip); xd->ip = NULL; } @@ -73,7 +73,7 @@ static void gaym_dccsend_recv_init(GaimX void gaym_dccsend_recv(struct gaym_conn *gaym, const char *from, const char *msg) { - GaimXfer *xfer; + PurpleXfer *xfer; struct gaym_xfer_rx_data *xd; gchar **token; struct in_addr addr; @@ -114,11 +114,11 @@ void gaym_dccsend_recv(struct gaym_conn } i++; - xfer = gaim_xfer_new(gaym->account, GAIM_XFER_RECEIVE, from); + xfer = purple_xfer_new(gaym->account, PURPLE_XFER_RECEIVE, from); xd = g_new0(struct gaym_xfer_rx_data, 1); xfer->data = xd; - gaim_xfer_set_filename(xfer, filename->str); + purple_xfer_set_filename(xfer, filename->str); xfer->remote_port = atoi(token[i + 1]); nip = strtoul(token[i], NULL, 10); @@ -128,18 +128,18 @@ void gaym_dccsend_recv(struct gaym_conn } else { xd->ip = g_strdup(token[i]); } - gaim_debug(GAIM_DEBUG_INFO, "gaym", "Receiving file from %s\n", + purple_debug(PURPLE_DEBUG_INFO, "gaym", "Receiving file from %s\n", xd->ip); - gaim_xfer_set_size(xfer, token[i + 2] ? atoi(token[i + 2]) : 0); + purple_xfer_set_size(xfer, token[i + 2] ? atoi(token[i + 2]) : 0); - gaim_xfer_set_init_fnc(xfer, gaym_dccsend_recv_init); - gaim_xfer_set_ack_fnc(xfer, gaym_dccsend_recv_ack); + purple_xfer_set_init_fnc(xfer, gaym_dccsend_recv_init); + purple_xfer_set_ack_fnc(xfer, gaym_dccsend_recv_ack); - gaim_xfer_set_end_fnc(xfer, gaym_dccsend_recv_destroy); - gaim_xfer_set_request_denied_fnc(xfer, gaym_dccsend_recv_destroy); - gaim_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_recv_destroy); + purple_xfer_set_end_fnc(xfer, gaym_dccsend_recv_destroy); + purple_xfer_set_request_denied_fnc(xfer, gaym_dccsend_recv_destroy); + purple_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_recv_destroy); - gaim_xfer_request(xfer); + purple_xfer_request(xfer); g_strfreev(token); g_string_free(filename, TRUE); } @@ -155,7 +155,7 @@ struct gaym_xfer_send_data { guint rxlen; }; -static void gaym_dccsend_send_destroy(GaimXfer * xfer) +static void gaym_dccsend_send_destroy(PurpleXfer * xfer) { struct gaym_xfer_send_data *xd = xfer->data; @@ -163,7 +163,7 @@ static void gaym_dccsend_send_destroy(Ga return; if (xd->inpa > 0) - gaim_input_remove(xd->inpa); + purple_input_remove(xd->inpa); if (xd->fd != -1) close(xd->fd); @@ -175,15 +175,15 @@ static void gaym_dccsend_send_destroy(Ga /* just in case you were wondering, this is why DCC is gay */ static void gaym_dccsend_send_read(gpointer data, int source, - GaimInputCondition cond) + PurpleInputCondition cond) { - GaimXfer *xfer = data; + PurpleXfer *xfer = data; struct gaym_xfer_send_data *xd = xfer->data; char *buffer[16]; int len; if ((len = read(source, buffer, sizeof(buffer))) <= 0) { - gaim_input_remove(xd->inpa); + purple_input_remove(xd->inpa); xd->inpa = 0; return; } @@ -210,11 +210,11 @@ static void gaym_dccsend_send_read(gpoin xd->rxqueue = NULL; } - if (acked >= gaim_xfer_get_size(xfer)) { - gaim_input_remove(xd->inpa); + if (acked >= purple_xfer_get_size(xfer)) { + purple_input_remove(xd->inpa); xd->inpa = 0; - gaim_xfer_set_completed(xfer, TRUE); - gaim_xfer_end(xfer); + purple_xfer_set_completed(xfer, TRUE); + purple_xfer_end(xfer); return; } @@ -223,11 +223,11 @@ static void gaym_dccsend_send_read(gpoin } ssize_t gaym_dccsend_send_write(const guchar * buffer, size_t size, - GaimXfer * xfer) + PurpleXfer * xfer) { ssize_t s; - s = MIN(gaim_xfer_get_bytes_remaining(xfer), size); + s = MIN(purple_xfer_get_bytes_remaining(xfer), size); if (!s) return 0; @@ -235,9 +235,9 @@ ssize_t gaym_dccsend_send_write(const gu } static void gaym_dccsend_send_connected(gpointer data, int source, - GaimInputCondition cond) + PurpleInputCondition cond) { - GaimXfer *xfer = (GaimXfer *) data; + PurpleXfer *xfer = (PurpleXfer *) data; struct gaym_xfer_send_data *xd = xfer->data; int conn; @@ -247,30 +247,30 @@ static void gaym_dccsend_send_connected( the nonblocking nature of the listening socket, so we'll just try again next time */ /* Let's print an error message anyway */ - gaim_debug_warning("gaym", "accept: %s\n", strerror(errno)); + purple_debug_warning("gaym", "accept: %s\n", strerror(errno)); return; } - gaim_input_remove(xfer->watcher); + purple_input_remove(xfer->watcher); xfer->watcher = 0; close(xd->fd); xd->fd = -1; xd->inpa = - gaim_input_add(conn, GAIM_INPUT_READ, gaym_dccsend_send_read, + purple_input_add(conn, PURPLE_INPUT_READ, gaym_dccsend_send_read, xfer); /* Start the transfer */ - gaim_xfer_start(xfer, conn, NULL, 0); + purple_xfer_start(xfer, conn, NULL, 0); } /* * This function is called after the user has selected a file to send. */ -static void gaym_dccsend_send_init(GaimXfer * xfer) +static void gaym_dccsend_send_init(PurpleXfer * xfer) { struct gaym_xfer_send_data *xd = xfer->data; - GaimConnection *gc = - gaim_account_get_connection(gaim_xfer_get_account(xfer)); + PurpleConnection *gc = + purple_account_get_connection(purple_xfer_get_account(xfer)); struct gaym_conn *gaym = gc->proto_data; int sock; const char *arg[2]; @@ -281,26 +281,26 @@ static void gaym_dccsend_send_init(GaimX xfer->filename = g_path_get_basename(xfer->local_filename); /* Create a listening socket */ - sock = gaim_network_listen_range(0, 0, SOCK_DGRAM, NULL, NULL); + sock = purple_network_listen_range(0, 0, SOCK_DGRAM, NULL, NULL); if (sock < 0) { - gaim_notify_error(gc, NULL, _("File Transfer Aborted"), - _("Gaim could not open a listening port.")); - gaim_xfer_cancel_local(xfer); + purple_notify_error(gc, NULL, _("File Transfer Aborted"), + _("Purple could not open a listening port.")); + purple_xfer_cancel_local(xfer); return; } xd->fd = sock; - port = gaim_network_get_port_from_fd(sock); - gaim_debug_misc("gaym", "port is %hu\n", port); + port = purple_network_get_port_from_fd(sock); + purple_debug_misc("gaym", "port is %hu\n", port); /* Monitor the listening socket */ - xfer->watcher = gaim_input_add(sock, GAIM_INPUT_READ, + xfer->watcher = purple_input_add(sock, PURPLE_INPUT_READ, gaym_dccsend_send_connected, xfer); /* Send the intended recipient the DCC request */ arg[0] = xfer->who; - inet_aton(gaim_network_get_my_ip(gaym->fd), &addr); + inet_aton(purple_network_get_my_ip(gaym->fd), &addr); arg[1] = tmp = g_strdup_printf("\001DCC SEND \"%s\" %u %hu %zu\001", xfer->filename, ntohl(addr.s_addr), port, xfer->size); @@ -310,19 +310,19 @@ static void gaym_dccsend_send_init(GaimX } /** - * Gaim calls this function when the user selects Send File from the + * Purple calls this function when the user selects Send File from the * buddy menu - * It sets up the GaimXfer struct and tells Gaim to go ahead + * It sets up the PurpleXfer struct and tells Purple to go ahead */ -void gaym_dccsend_send_file(GaimConnection * gc, const char *who, +void gaym_dccsend_send_file(PurpleConnection * gc, const char *who, const char *file) { - GaimXfer *xfer; + PurpleXfer *xfer; struct gaym_xfer_send_data *xd; /* Build the file transfer handle */ xfer = - gaim_xfer_new(gaim_connection_get_account(gc), GAIM_XFER_SEND, + purple_xfer_new(purple_connection_get_account(gc), PURPLE_XFER_SEND, who); @@ -331,16 +331,16 @@ void gaym_dccsend_send_file(GaimConnecti xfer->data = xd; /* Setup our I/O op functions */ - gaim_xfer_set_init_fnc(xfer, gaym_dccsend_send_init); - gaim_xfer_set_write_fnc(xfer, gaym_dccsend_send_write); - gaim_xfer_set_end_fnc(xfer, gaym_dccsend_send_destroy); - gaim_xfer_set_request_denied_fnc(xfer, gaym_dccsend_send_destroy); - gaim_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_send_destroy); + purple_xfer_set_init_fnc(xfer, gaym_dccsend_send_init); + purple_xfer_set_write_fnc(xfer, gaym_dccsend_send_write); + purple_xfer_set_end_fnc(xfer, gaym_dccsend_send_destroy); + purple_xfer_set_request_denied_fnc(xfer, gaym_dccsend_send_destroy); + purple_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_send_destroy); /* Now perform the request */ if (file) - gaim_xfer_request_accepted(xfer, file); + purple_xfer_request_accepted(xfer, file); else - gaim_xfer_request(xfer); + purple_xfer_request(xfer); } /** diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaym.c fork-for-gaim-2.pidgin/gaym/src/gaym.c --- fork-for-gaim-2.gaim/gaym/src/gaym.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/gaym.c 2007-05-19 17:05:36.000000000 +0100 @@ -42,23 +42,21 @@ #include "botfilter.h" #include "gaym.h" -static const char *gaym_blist_icon(GaimAccount * a, GaimBuddy * b); -static void gaym_blist_emblems(GaimBuddy * b, const char **se, - const char **sw, const char **nw, - const char **ne); -static GList *gaym_status_types(GaimAccount * account); -static GList *gaym_actions(GaimPlugin * plugin, gpointer context); -/* static GList *gaym_chat_info(GaimConnection *gc); */ -static void gaym_login(GaimAccount * account); +static const char *gaym_blist_icon(PurpleAccount * a, PurpleBuddy * b); +/* static const char *gaym_blist_emblems(PurpleBuddy * b); */ +static GList *gaym_status_types(PurpleAccount * account); +static GList *gaym_actions(PurplePlugin * plugin, gpointer context); +/* static GList *gaym_chat_info(PurpleConnection *gc); */ +static void gaym_login(PurpleAccount * account); static void gaym_login_cb(gpointer data, gint source, const gchar* error_message); -static void gaym_close(GaimConnection * gc); -static int gaym_im_send(GaimConnection * gc, const char *who, - const char *what, GaimMessageFlags flags); -static int gaym_chat_send(GaimConnection * gc, int id, const char *what, - GaimMessageFlags flags); -static void gaym_chat_join(GaimConnection * gc, GHashTable * data); +static void gaym_close(PurpleConnection * gc); +static int gaym_im_send(PurpleConnection * gc, const char *who, + const char *what, PurpleMessageFlags flags); +static int gaym_chat_send(PurpleConnection * gc, int id, const char *what, + PurpleMessageFlags flags); +static void gaym_chat_join(PurpleConnection * gc, GHashTable * data); static void gaym_input_cb(gpointer data, gint source, - GaimInputCondition cond); + PurpleInputCondition cond); static guint gaym_nick_hash(const char *nick); static gboolean gaym_nick_equal(const char *nick1, const char *nick2); static void gaym_buddy_free(struct gaym_buddy *ib); @@ -69,8 +67,8 @@ static void gaym_buddy_append(char *name static void gaym_buddy_clear_done(char *name, struct gaym_buddy *ib, gpointer nothing); -static void connect_signals(GaimConnection * plugin); -static GaimPlugin *_gaym_plugin = NULL; +static void connect_signals(PurpleConnection * plugin); +static PurplePlugin *_gaym_plugin = NULL; static const char *status_chars = "@+%&"; @@ -81,9 +79,9 @@ int gaym_send(struct gaym_conn *gaym, co if (gaym->fd < 0) return -1; - /* gaim_debug(GAIM_DEBUG_MISC, "gaym", "sent: %s", buf); */ + /* purple_debug(PURPLE_DEBUG_MISC, "gaym", "sent: %s", buf); */ if ((ret = write(gaym->fd, buf, strlen(buf))) < 0) - gaim_connection_error(gaim_account_get_connection(gaym->account), + purple_connection_error(purple_account_get_connection(gaym->account), _("Server has disconnected")); return ret; @@ -110,9 +108,9 @@ gboolean gaym_blist_timeout(struct gaym_ if (!list || !strlen(list)) { g_hash_table_foreach(gaym->buddies, (GHFunc) gaym_buddy_clear_done, NULL); - gaim_timeout_remove(gaym->timer); + purple_timeout_remove(gaym->timer); gaym->timer = - gaim_timeout_add(BLIST_UPDATE_PERIOD, + purple_timeout_add(BLIST_UPDATE_PERIOD, (GSourceFunc) gaym_blist_timeout, (gpointer) gaym); g_free(list); @@ -123,9 +121,9 @@ gboolean gaym_blist_timeout(struct gaym_ gaym->blist_updating = TRUE; buf = gaym_format(gaym, "vn", "WHOIS", list); gaym_send(gaym, buf); - gaim_timeout_remove(gaym->timer); + purple_timeout_remove(gaym->timer); gaym->timer = - gaim_timeout_add(BLIST_CHUNK_INTERVAL, + purple_timeout_add(BLIST_CHUNK_INTERVAL, (GSourceFunc) gaym_blist_timeout, (gpointer) gaym); @@ -183,20 +181,20 @@ static void gaym_whois_one(struct gaym_c g_free(buf); } -static const char *gaym_blist_icon(GaimAccount * a, GaimBuddy * b) +static const char *gaym_blist_icon(PurpleAccount * a, PurpleBuddy * b) { return "gaym"; } -static void gaym_blist_emblems(GaimBuddy * b, const char **se, - const char **sw, const char **nw, - const char **ne) +#if 0 +static const char *gaym_blist_emblems(PurpleBuddy * b) { - // if (b->present == GAIM_BUDDY_OFFLINE) + // if (b->present == PURPLE_BUDDY_OFFLINE) // *se = "offline"; } +#endif -static char *gaym_status_text(GaimBuddy * buddy) +static char *gaym_status_text(PurpleBuddy * buddy) { char *status; @@ -227,7 +225,7 @@ static char *gaym_status_text(GaimBuddy return status; } -static void gaym_tooltip_text(GaimBuddy * buddy, GString *str, gboolean full) +static void gaym_tooltip_text(PurpleBuddy * buddy, PurpleNotifyUserInfo *user_info, gboolean full) { if (!buddy || !buddy->account || !buddy->account->gc) return; @@ -240,42 +238,41 @@ static void gaym_tooltip_text(GaimBuddy } struct gaym_buddy *ib = g_hash_table_lookup(gaym->channel_members, - gaim_normalize(gaym-> + purple_normalize(gaym-> account, buddy-> name)); if (!ib) ib = g_hash_table_lookup(gaym->buddies, - gaim_normalize(gaym->account, + purple_normalize(gaym->account, buddy->name)); if (!ib) { - g_string_assign(str, "No info found."); return; } - build_tooltip_text(ib, str); + build_tooltip_text(ib, user_info); } -static GList *gaym_status_types(GaimAccount * account) +static GList *gaym_status_types(PurpleAccount * account) { - GaimStatusType *type; + PurpleStatusType *type; GList *types = NULL; - type = gaim_status_type_new(GAIM_STATUS_OFFLINE, "offline", - _("Offline"), FALSE); + type = purple_status_type_new(PURPLE_STATUS_OFFLINE, "offline", + _("Offline"), TRUE); types = g_list_append(types, type); - type = gaim_status_type_new(GAIM_STATUS_AVAILABLE, "available", + type = purple_status_type_new(PURPLE_STATUS_AVAILABLE, "available", _("Available"), TRUE); types = g_list_append(types, type); type = - gaim_status_type_new_with_attrs(GAIM_STATUS_AWAY, "away", + purple_status_type_new_with_attrs(PURPLE_STATUS_AWAY, "away", _("Away"), TRUE, TRUE, FALSE, "message", _("Message"), - gaim_value_new(GAIM_TYPE_STRING), + purple_value_new(PURPLE_TYPE_STRING), NULL); types = g_list_append(types, type); @@ -283,10 +280,10 @@ static GList *gaym_status_types(GaimAcco } -static void gaym_set_info(GaimConnection * gc, const char *info) +static void gaym_set_info(PurpleConnection * gc, const char *info) { struct gaym_conn *gaym = gc->proto_data; - GaimAccount *account = gaim_connection_get_account(gc); + PurpleAccount *account = purple_connection_get_account(gc); char *hostname = "none"; char *buf, *bioline; int i = 0; @@ -311,21 +308,21 @@ static void gaym_set_info(GaimConnection g_free(gaym->bio); } if (tmpinfo && strlen(tmpinfo) > 0) { - gaim_debug_misc("gaym", "option1, info=%x\n", tmpinfo); + purple_debug_misc("gaym", "option1, info=%x\n", tmpinfo); /* java client allows MAX_BIO_LEN characters */ gaym->bio = g_strndup(tmpinfo, MAX_BIO_LEN); } else if (gaym->server_bioline && strlen(gaym->server_bioline) > 0) { - gaim_debug_misc("gaym", "option2\n"); + purple_debug_misc("gaym", "option2\n"); gaym->bio = gaym_bio_strdup(gaym->server_bioline); } else { - gaim_debug_misc("gaym", "option3\n"); - gaym->bio = g_strdup("Gaim User"); + purple_debug_misc("gaym", "option3\n"); + gaym->bio = g_strdup("Purple User"); } - gaim_account_set_user_info(account, gaym->bio); - gaim_account_set_string(account, "bioline", gaym->bio); - gaim_debug_info("gaym", "INFO=%x BIO=%x\n", tmpinfo, gaym->bio); - gaim_debug_misc("gaym", "In login_cb, gc->account=%x\n", + purple_account_set_user_info(account, gaym->bio); + purple_account_set_string(account, "bioline", gaym->bio); + purple_debug_info("gaym", "INFO=%x BIO=%x\n", tmpinfo, gaym->bio); + purple_debug_misc("gaym", "In login_cb, gc->account=%x\n", gc->account); } @@ -338,13 +335,13 @@ static void gaym_set_info(GaimConnection gaym->server_stats ? gaym->server_stats : ""); buf = gaym_format(gaym, "vvvv:", "USER", - gaim_account_get_username(account), + purple_account_get_username(account), hostname, gaym->server, bioline); - gaim_debug_misc("gaym", "BIO=%x\n", bioline); + purple_debug_misc("gaym", "BIO=%x\n", bioline); if (gaym_send(gaym, buf) < 0) { - gaim_connection_error(gc, "Error registering with server"); + purple_connection_error(gc, "Error registering with server"); } if (tmpinfo) { @@ -356,28 +353,28 @@ static void gaym_set_info(GaimConnection return; } -static void gaym_show_set_info(GaimPluginAction * action) +static void gaym_show_set_info(PurplePluginAction * action) { - GaimConnection *gc = (GaimConnection *) action->context; - gaim_account_request_change_user_info(gaim_connection_get_account(gc)); + PurpleConnection *gc = (PurpleConnection *) action->context; + purple_account_request_change_user_info(purple_connection_get_account(gc)); } -static GList *gaym_actions(GaimPlugin * plugin, gpointer context) +static GList *gaym_actions(PurplePlugin * plugin, gpointer context) { GList *list = NULL; - GaimPluginAction *act = NULL; + PurplePluginAction *act = NULL; - act = gaim_plugin_action_new(_("Change Bio"), gaym_show_set_info); + act = purple_plugin_action_new(_("Change Bio"), gaym_show_set_info); list = g_list_prepend(list, act); return list; } -static void gaym_blist_join_chat_cb(GaimBlistNode * node, gpointer data) +static void gaym_blist_join_chat_cb(PurpleBlistNode * node, gpointer data) { const char *args[1]; - GaimChat *chat = (GaimChat *) node; + PurpleChat *chat = (PurpleChat *) node; struct gaym_conn *gaym = chat->account->gc->proto_data; args[0] = data; @@ -387,17 +384,17 @@ static void gaym_blist_join_chat_cb(Gaim gaym_cmd_join(gaym, "join", NULL, args); } -static GList *gaym_blist_node_menu(GaimBlistNode * node) +static GList *gaym_blist_node_menu(PurpleBlistNode * node) { GList *m = NULL; - GaimMenuAction *act = NULL; + PurpleMenuAction *act = NULL; int i = 0; - if (node->type != GAIM_BLIST_CHAT_NODE) { + if (node->type != PURPLE_BLIST_CHAT_NODE) { return m; } - GaimChat *chat = (GaimChat *) node; + PurpleChat *chat = (PurpleChat *) node; char *channel = g_hash_table_lookup(chat->components, "channel"); if (!channel) { @@ -411,21 +408,21 @@ static GList *gaym_blist_node_menu(GaimB char *label = NULL; char *instance = NULL; - int max = gaim_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); + int max = purple_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); for (i = max; i > 0; i--) { label = g_strdup_printf(_("Join Room %d"), i); instance = g_strdup_printf("%.*s%d", strlen(channel) - 1, channel, i); act = - gaim_menu_action_new(label, GAIM_CALLBACK(gaym_blist_join_chat_cb), + purple_menu_action_new(label, PURPLE_CALLBACK(gaym_blist_join_chat_cb), instance, NULL); m = g_list_prepend(m, act); } return m; } -static GList *gaym_chat_join_info(GaimConnection * gc) +static GList *gaym_chat_join_info(PurpleConnection * gc) { GList *m = NULL; struct proto_chat_entry *pce; @@ -438,7 +435,7 @@ static GList *gaym_chat_join_info(GaimCo return m; } -GHashTable *gaym_chat_info_defaults(GaimConnection * gc, +GHashTable *gaym_chat_info_defaults(PurpleConnection * gc, const char *chat_name) { GHashTable *defaults; @@ -452,28 +449,28 @@ GHashTable *gaym_chat_info_defaults(Gaim return defaults; } -static void gaym_login_with_chat_key(GaimAccount * account) +static void gaym_login_with_chat_key(PurpleAccount * account) { - GaimConnection *gc; + PurpleConnection *gc; struct gaym_conn *gaym; char *buf; - const char *username = gaim_account_get_username(account); + const char *username = purple_account_get_username(account); - gc = gaim_account_get_connection(account); + gc = purple_account_get_connection(account); gaym = gc->proto_data; buf = g_strdup_printf(_("Signon: %s"), username); - gaim_connection_update_progress(gc, buf, 5, 6); + purple_connection_update_progress(gc, buf, 5, 6); g_free(buf); - gaim_debug_misc("gaym", "Trying login to %s\n", gaym->server); - GaimProxyConnectData* pdata = gaim_proxy_connect(NULL, account, + purple_debug_misc("gaym", "Trying login to %s\n", gaym->server); + PurpleProxyConnectData* pdata = purple_proxy_connect(NULL, account, gaym->server, - gaim_account_get_int(account, "port", IRC_DEFAULT_PORT), + purple_account_get_int(account, "port", IRC_DEFAULT_PORT), *gaym_login_cb, gc); if (!pdata || !account->gc) { - gaim_connection_error(gc, _("Couldn't create socket")); - gaim_debug_misc("gaym", "account->gc: %x\n", account->gc); + purple_connection_error(gc, _("Couldn't create socket")); + purple_debug_misc("gaym", "account->gc: %x\n", account->gc); return; } @@ -490,32 +487,33 @@ guint gaym_room_hash(gconstpointer key) } -static void gaym_login(GaimAccount * account) +static void gaym_login(PurpleAccount * account) { - GaimConnection *gc; + PurpleConnection *gc; struct gaym_conn *gaym; char *buf; - const char *username = gaim_account_get_username(account); + const char *username = purple_account_get_username(account); - gc = gaim_account_get_connection(account); - gc->flags |= GAIM_CONNECTION_NO_NEWLINES | GAIM_CONNECTION_AUTO_RESP; + gc = purple_account_get_connection(account); + gc->flags |= PURPLE_CONNECTION_NO_NEWLINES | PURPLE_CONNECTION_AUTO_RESP; if (strpbrk(username, " \t\v\r\n") != NULL) { - gaim_connection_error(gc, + purple_connection_error(gc, _("IRC nicks may not contain whitespace")); return; } gc->proto_data = gaym = g_new0(struct gaym_conn, 1); + gaym->fd = -1; gaym->account = account; /** - * gaim_connection_set_display_name(gc, userparts[0]); + * purple_connection_set_display_name(gc, userparts[0]); */ - gaim_connection_set_display_name(gc, username); + purple_connection_set_display_name(gc, username); gaym->server = - g_strdup(gaim_account_get_string + g_strdup(purple_account_get_string (account, "server", "www.gay.com")); /** * gaym->server = "www.gay.com"; @@ -564,7 +562,7 @@ static void gaym_login(GaimAccount * acc */ buf = g_strdup_printf(_("Signon: %s"), username); - gaim_connection_update_progress(gc, buf, 1, 6); + purple_connection_update_progress(gc, buf, 1, 6); g_free(buf); @@ -576,11 +574,11 @@ static void gaym_login(GaimAccount * acc } -static void gaym_get_configtxt_cb(GaimUtilFetchUrlData* data, gpointer proto_data, +static void gaym_get_configtxt_cb(PurpleUtilFetchUrlData* data, gpointer proto_data, const gchar * config_text, size_t len, const gchar* error_message) { struct gaym_conn *gaym = (struct gaym_conn*)proto_data; - // GaimConnection *gc = gaim_account_get_connection(gaym->account); + // PurpleConnection *gc = purple_account_get_connection(gaym->account); g_return_if_fail(config_text != NULL); @@ -595,7 +593,7 @@ static void gaym_get_configtxt_cb(GaimUt } static void gaym_login_cb(gpointer data, gint source, const gchar *error_message) { - GaimConnection *gc = data; + PurpleConnection *gc = data; struct gaym_conn *gaym = gc->proto_data; char hostname[256]; char *buf; @@ -604,13 +602,13 @@ static void gaym_login_cb(gpointer data, char *bioline; char *login_name; - if (GAIM_CONNECTION_IS_VALID(gc)) { + if (PURPLE_CONNECTION_IS_VALID(gc)) { - GList *connections = gaim_connections_get_all(); + GList *connections = purple_connections_get_all(); if (source < 0) { - gaim_connection_error(gc, _("Couldn't connect to host")); + purple_connection_error(gc, _("Couldn't connect to host")); return; } @@ -620,36 +618,36 @@ static void gaym_login_cb(gpointer data, } gaym->fd = source; - gaim_debug_misc("gaym", "In login_cb with chat_key=%s\n", + purple_debug_misc("gaym", "In login_cb with chat_key=%s\n", gaym->chat_key); if (gaym->chat_key) { buf = gaym_format(gaym, "vv", "PASS", gaym->chat_key); if (gaym_send(gaym, buf) < 0) { - gaim_connection_error(gc, "Error sending password"); + purple_connection_error(gc, "Error sending password"); return; } g_free(buf); } else { - gaim_connection_error(gc, + purple_connection_error(gc, _ ("Password wasn't recorded. Report bug.")); return; } gethostname(hostname, sizeof(hostname)); hostname[sizeof(hostname) - 1] = '\0'; - username = gaim_account_get_string(gaym->account, "username", ""); + username = purple_account_get_string(gaym->account, "username", ""); user_bioline = - g_strdup(gaim_account_get_string + g_strdup(purple_account_get_string (gaym->account, "bioline", "")); - gaim_debug_info("gaym", "USER BIOLINE=%x\n", user_bioline); - gaim_account_set_user_info(gc->account, user_bioline); - gaim_debug_misc("gaym", + purple_debug_info("gaym", "USER BIOLINE=%x\n", user_bioline); + purple_account_set_user_info(gc->account, user_bioline); + purple_debug_misc("gaym", "In login_cb, user_bioline: %x, gc->account=%x\n", user_bioline, gc->account); login_name = - gaym_nick_to_gcom_strdup(gaim_connection_get_display_name(gc)); + gaym_nick_to_gcom_strdup(purple_connection_get_display_name(gc)); bioline = g_strdup_printf("%s#%s\001%s", gaym->thumbnail, user_bioline ? user_bioline : "", @@ -657,10 +655,10 @@ static void gaym_login_cb(gpointer data, server_stats : ""); buf = gaym_format(gaym, "vn", "NICK", login_name); - gaim_debug_misc("gaym", "Command: %s\n", buf); + purple_debug_misc("gaym", "Command: %s\n", buf); if (gaym_send(gaym, buf) < 0) { - gaim_connection_error(gc, "Error sending nickname"); + purple_connection_error(gc, "Error sending nickname"); return; } g_free(buf); @@ -668,15 +666,15 @@ static void gaym_login_cb(gpointer data, gaym_format(gaym, "vvvv:", "USER", login_name, hostname, gaym->server, bioline); - gaim_debug_misc("gaym", "Command: %s\n", buf); + purple_debug_misc("gaym", "Command: %s\n", buf); if (gaym_send(gaym, buf) < 0) { - gaim_connection_error(gc, "Error registering with server"); + purple_connection_error(gc, "Error registering with server"); return; } g_free(login_name); g_free(buf); - const char *server = gaim_account_get_string(gc->account, "server", + const char *server = purple_account_get_string(gc->account, "server", IRC_DEFAULT_SERVER); char *url = g_strdup_printf @@ -685,12 +683,12 @@ static void gaym_login_cb(gpointer data, char *user_agent = "Mozilla/4.0"; get_spamlist_from_web(); - gaim_util_fetch_url(url, FALSE, user_agent, FALSE, + purple_util_fetch_url(url, FALSE, user_agent, FALSE, gaym_get_configtxt_cb, gaym); g_free(url); gc->inpa = - gaim_input_add(gaym->fd, GAIM_INPUT_READ, gaym_input_cb, gc); + purple_input_add(gaym->fd, PURPLE_INPUT_READ, gaym_input_cb, gc); connect_signals(gc); @@ -703,25 +701,27 @@ void kill_hammer(gpointer * room, struct hammer_cb_data_destroy(data); } -static void gaym_close(GaimConnection * gc) +static void gaym_close(PurpleConnection * gc) { struct gaym_conn *gaym = gc->proto_data; - gaim_debug_misc("gaym", "gaym close function has been called\n"); + purple_debug_misc("gaym", "gaym close function has been called\n"); if (gaym == NULL) return; gaym_cmd_quit(gaym, "quit", NULL, NULL); if (gc->inpa) - gaim_input_remove(gc->inpa); + purple_input_remove(gc->inpa); g_free(gaym->inbuf); - gaim_debug_misc("gaym", "closing fd %i\n", gaym->fd); - close(gaym->fd); + if (gaym->fd != -1) { + purple_debug_misc("gaym", "closing fd %i\n", gaym->fd); + close(gaym->fd); + } if (gaym->timer) - gaim_timeout_remove(gaym->timer); + purple_timeout_remove(gaym->timer); if (gaym->thumbnail) g_free(gaym->thumbnail); @@ -745,10 +745,14 @@ static void gaym_close(GaimConnection * // Would we need to free each element, too? g_queue_free(gaym->namelists); - g_hash_table_destroy(gaym->cmds); - g_hash_table_destroy(gaym->msgs); - g_hash_table_destroy(gaym->info_window_needed); - g_hash_table_destroy(gaym->entry_order); + if (gaym->cmds) + g_hash_table_destroy(gaym->cmds); + if (gaym->msgs) + g_hash_table_destroy(gaym->msgs); + if (gaym->info_window_needed) + g_hash_table_destroy(gaym->info_window_needed); + if (gaym->entry_order); + g_hash_table_destroy(gaym->entry_order); if (gaym->motd) g_string_free(gaym->motd, TRUE); @@ -760,7 +764,8 @@ static void gaym_close(GaimConnection * if (gaym->subroom) g_free(gaym->subroom); - g_hash_table_destroy(gaym->confighash); + if (gaym->confighash) + g_hash_table_destroy(gaym->confighash); g_hash_table_foreach(gaym->hammers, (GHFunc) kill_hammer, NULL); @@ -768,8 +773,8 @@ static void gaym_close(GaimConnection * g_free(gaym); } -static int gaym_im_send(GaimConnection * gc, const char *who, - const char *what, GaimMessageFlags flags) +static int gaym_im_send(PurpleConnection * gc, const char *who, + const char *what, PurpleMessageFlags flags) { struct gaym_conn *gaym = gc->proto_data; const char *args[2]; @@ -780,8 +785,8 @@ static int gaym_im_send(GaimConnection * } else { args[0] = who; } - stripped_msg = gaim_markup_strip_html(what); - if (flags & GAIM_MESSAGE_AUTO_RESP) { + stripped_msg = purple_markup_strip_html(what); + if (flags & PURPLE_MESSAGE_AUTO_RESP) { automsg = g_strdup_printf(" %s", stripped_msg); g_free(stripped_msg); args[1] = automsg; @@ -799,9 +804,9 @@ static int gaym_im_send(GaimConnection * return 1; } -static void gaym_get_info_quietly(GaimConnection * gc, const char *who) +static void gaym_get_info_quietly(PurpleConnection * gc, const char *who) { - gaim_debug_misc("gaym", "request info quietly\n"); + purple_debug_misc("gaym", "request info quietly\n"); struct gaym_conn *gaym = gc->proto_data; const char *args[1]; args[0] = who; @@ -823,27 +828,28 @@ static void cancel_get_info_cb(gpointer g_hash_table_remove(data->gaym->info_window_needed, data->who); } -static void gaym_get_info(GaimConnection * gc, const char *who) +static void gaym_get_info(PurpleConnection * gc, const char *who) { struct gaym_conn *gaym = gc->proto_data; const char *args[1]; char buf[100]; args[0] = who; - char *normalized = g_strdup(gaim_normalize(gc->account, who)); + char *normalized = g_strdup(purple_normalize(gc->account, who)); struct get_info_data *data = g_new0(struct get_info_data, 1); data->who = normalized; data->gaym = gaym; snprintf(buf, 100, "Fetching info for %s...\n", who); - void *dialog = gaim_request_action(gc, who, - buf, NULL, 0, data, 1, ("Cancel"), + void *dialog = purple_request_action(gc, NULL, buf, NULL, 0, + gc->account, who, NULL, + data, 1, ("Cancel"), cancel_get_info_cb); g_hash_table_insert(gaym->info_window_needed, normalized, dialog); gaym_cmd_whois(gaym, "whois", NULL, args); } -static void gaym_set_status(GaimAccount * account, GaimStatus * status) +static void gaym_set_status(PurpleAccount * account, PurpleStatus * status) { // char *bio = NULL; // char *tmpmsg = NULL; @@ -880,14 +886,14 @@ GaymBuddy *gaym_get_channel_member_refer GaymBuddy *channel_member = g_new0(GaymBuddy, 1); channel_member->ref_count = 1; g_hash_table_insert(gaym->channel_members, - g_strdup(gaim_normalize(gaym->account, name)), + g_strdup(purple_normalize(gaym->account, name)), channel_member); - gaim_debug_misc("gaym", "Creating channel_members entry for %s\n", + purple_debug_misc("gaym", "Creating channel_members entry for %s\n", name); return g_hash_table_lookup(gaym->channel_members, - gaim_normalize(gaym->account, name)); + purple_normalize(gaym->account, name)); } else { - gaim_debug_misc("gaym", + purple_debug_misc("gaym", "Adding reference to channel_members entry for %s\n", name); (channel_member->ref_count)++; @@ -903,31 +909,31 @@ gboolean gaym_unreference_channel_member GaymBuddy *channel_member; channel_member = (GaymBuddy *) g_hash_table_lookup(gaym->channel_members, - gaim_normalize(gaym->account, + purple_normalize(gaym->account, name)); if (!channel_member) return FALSE; else { if (channel_member->ref_count <= 0) - gaim_debug_error("gaym", + purple_debug_error("gaym", "****Reference counting error with channel members struct.\n"); channel_member->ref_count--; if (channel_member->ref_count == 0) { - gaim_debug_misc("gaym", "Removing %s from channel_members\n", + purple_debug_misc("gaym", "Removing %s from channel_members\n", name); return g_hash_table_remove(gaym->channel_members, - gaim_normalize(gaym->account, + purple_normalize(gaym->account, name)); } return FALSE; } } -static void gaym_add_buddy(GaimConnection * gc, GaimBuddy * buddy, - GaimGroup * group) +static void gaym_add_buddy(PurpleConnection * gc, PurpleBuddy * buddy, + PurpleGroup * group) { if (buddy->name) { buddy->name = g_strstrip(buddy->name); @@ -949,7 +955,7 @@ static void gaym_add_buddy(GaimConnectio ib->age = NULL; ib->location = NULL; g_hash_table_replace(gaym->buddies, ib->name, ib); - gaim_debug_misc("gaym", "Add buddy: %s\n", buddy->name); + purple_debug_misc("gaym", "Add buddy: %s\n", buddy->name); /** * if the timer isn't set, this is during signon, so we don't want to * flood ourself off with WHOIS's, so we don't, but after that we want @@ -959,8 +965,8 @@ static void gaym_add_buddy(GaimConnectio gaym_whois_one(gaym, ib); } -static void gaym_remove_buddy(GaimConnection * gc, GaimBuddy * buddy, - GaimGroup * group) +static void gaym_remove_buddy(PurpleConnection * gc, PurpleBuddy * buddy, + PurpleGroup * group) { struct gaym_conn *gaym = (struct gaym_conn *) gc->proto_data; @@ -975,7 +981,7 @@ static void gaym_remove_buddy(GaimConnec * remove the buddy from gaym->buddies. */ - GSList *buddies = gaim_find_buddies(gaym->account, buddy->name); + GSList *buddies = purple_find_buddies(gaym->account, buddy->name); guint length = g_slist_length(buddies); if (length < 2) { @@ -986,9 +992,9 @@ static void gaym_remove_buddy(GaimConnec } static void gaym_input_cb(gpointer data, gint source, - GaimInputCondition cond) + PurpleInputCondition cond) { - GaimConnection *gc = data; + PurpleConnection *gc = data; struct gaym_conn *gaym = gc->proto_data; char *cur, *end; int len; @@ -1001,10 +1007,10 @@ static void gaym_input_cb(gpointer data, if ((len = read(gaym->fd, gaym->inbuf + gaym->inbufused, IRC_INITIAL_BUFSIZE - 1)) < 0) { - gaim_connection_error(gc, _("Read error")); + purple_connection_error(gc, _("Read error")); return; } else if (len == 0) { - gaim_connection_error(gc, _("Server has disconnected")); + purple_connection_error(gc, _("Server has disconnected")); return; } @@ -1027,22 +1033,22 @@ static void gaym_input_cb(gpointer data, } } -static void gaym_add_permit(GaimConnection * gc, const char *name) +static void gaym_add_permit(PurpleConnection * gc, const char *name) { if (!gaym_nick_check(name)) { - gaim_privacy_permit_remove(gc->account, name, TRUE); - gaim_notify_error(gc, _("Invalid User Name"), name, + purple_privacy_permit_remove(gc->account, name, TRUE); + purple_notify_error(gc, _("Invalid User Name"), name, _("Invalid user name not added.")); } else { gaym_privacy_change(gc, name); } } -static void gaym_add_deny(GaimConnection * gc, const char *name) +static void gaym_add_deny(PurpleConnection * gc, const char *name) { if (!gaym_nick_check(name)) { - gaim_privacy_deny_remove(gc->account, name, TRUE); - gaim_notify_error(gc, _("Invalid User Name"), name, + purple_privacy_deny_remove(gc->account, name, TRUE); + purple_notify_error(gc, _("Invalid User Name"), name, _("Invalid user name not added.")); return; } @@ -1050,34 +1056,34 @@ static void gaym_add_deny(GaimConnection gaym_privacy_change(gc, name); } -static void gaym_rem_permit(GaimConnection * gc, const char *name) +static void gaym_rem_permit(PurpleConnection * gc, const char *name) { gaym_privacy_change(gc, name); } -static void gaym_rem_deny(GaimConnection * gc, const char *name) +static void gaym_rem_deny(PurpleConnection * gc, const char *name) { gaym_server_store_deny(gc, name, FALSE); gaym_privacy_change(gc, name); } -static void gaym_set_permit_deny(GaimConnection * gc) +static void gaym_set_permit_deny(PurpleConnection * gc) { gaym_privacy_change(gc, NULL); } -/* static void gaym_warn(GaimConnection * gc, const char *who, gboolean +/* static void gaym_warn(PurpleConnection * gc, const char *who, gboolean anonymous) { void *handle = NULL; struct gaym_conn *gaym = gc->proto_data; char *buf = g_strdup_printf ("http://%s/members/report/form.html?area=chat&room=&report=%s", - gaym->server, who); gaim_notify_uri(handle, buf); g_free(buf); } */ -static void gaym_chat_join(GaimConnection * gc, GHashTable * data) + gaym->server, who); purple_notify_uri(handle, buf); g_free(buf); } */ +static void gaym_chat_join(PurpleConnection * gc, GHashTable * data) { struct gaym_conn *gaym = gc->proto_data; const char *args[1]; char *alias = NULL; - GaimChat *c = NULL; + PurpleChat *c = NULL; /** * need a copy, because data gets @@ -1089,16 +1095,16 @@ static void gaym_chat_join(GaimConnectio if (args[0]) { alias = g_hash_table_lookup(data, "description"); - c = gaim_blist_find_chat(gaim_connection_get_account(gc), args[0]); + c = purple_blist_find_chat(purple_connection_get_account(gc), args[0]); if (!c) { chatinfo = g_hash_table_new(g_str_hash, g_str_equal); g_hash_table_replace(chatinfo, "channel", g_strdup(args[0])); - c = gaim_chat_new(gaim_connection_get_account(gc), + c = purple_chat_new(purple_connection_get_account(gc), alias, chatinfo); - gaim_blist_add_chat(c, NULL, NULL); + purple_blist_add_chat(c, NULL, NULL); } } @@ -1117,49 +1123,49 @@ static char *gaym_get_chat_name(GHashTab return g_strdup(g_hash_table_lookup(data, "channel")); } -static void gaym_chat_invite(GaimConnection * gc, int id, +static void gaym_chat_invite(PurpleConnection * gc, int id, const char *message, const char *name) { struct gaym_conn *gaym = gc->proto_data; - GaimConversation *convo = gaim_find_chat(gc, id); + PurpleConversation *convo = purple_find_chat(gc, id); const char *args[2]; if (!convo) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Got chat invite request for bogus chat\n"); return; } args[0] = name; - args[1] = gaim_conversation_get_name(convo); - gaym_cmd_invite(gaym, "invite", gaim_conversation_get_name(convo), + args[1] = purple_conversation_get_name(convo); + gaym_cmd_invite(gaym, "invite", purple_conversation_get_name(convo), args); } -static void gaym_chat_leave(GaimConnection * gc, int id) +static void gaym_chat_leave(PurpleConnection * gc, int id) { struct gaym_conn *gaym = gc->proto_data; - GaimConversation *convo = gaim_find_chat(gc, id); + PurpleConversation *convo = purple_find_chat(gc, id); const char *args[2]; if (!convo) return; - args[0] = gaim_conversation_get_name(convo); + args[0] = purple_conversation_get_name(convo); args[1] = NULL; - gaym_cmd_part(gaym, "part", gaim_conversation_get_name(convo), args); + gaym_cmd_part(gaym, "part", purple_conversation_get_name(convo), args); serv_got_chat_left(gc, id); } -static int gaym_chat_send(GaimConnection * gc, int id, const char *what, - GaimMessageFlags flags) +static int gaym_chat_send(PurpleConnection * gc, int id, const char *what, + PurpleMessageFlags flags) { struct gaym_conn *gaym = gc->proto_data; - GaimConversation *convo = gaim_find_chat(gc, id); + PurpleConversation *convo = purple_find_chat(gc, id); const char *args[2]; char *tmp; if (!convo) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "chat send on nonexistent chat\n"); return -EINVAL; } @@ -1174,7 +1180,7 @@ static int gaym_chat_send(GaimConnection gaym_cmd_privmsg(gaym, "msg", NULL, args); tmp = g_markup_escape_text(what, -1); - serv_got_chat_in(gc, id, gaim_connection_get_display_name(gc), 0, tmp, + serv_got_chat_in(gc, id, purple_connection_get_display_name(gc), 0, tmp, time(NULL)); g_free(tmp); return 0; @@ -1196,7 +1202,7 @@ static guint gaym_nick_hash(const char * static gboolean gaym_nick_equal(const char *nick1, const char *nick2) { - return (gaim_utf8_strcasecmp(nick1, nick2) == 0); + return (purple_utf8_strcasecmp(nick1, nick2) == 0); } static void gaym_channel_member_free(GaymBuddy * cm) @@ -1221,40 +1227,40 @@ static void gaym_buddy_free(struct gaym_ g_free(ib); } -static GaimChat *gaym_find_blist_chat(GaimAccount * account, +static PurpleChat *gaym_find_blist_chat(PurpleAccount * account, const char *name) { char *chat_name; - GaimChat *chat; - GaimPlugin *prpl; - GaimPluginProtocolInfo *prpl_info = NULL; + PurpleChat *chat; + PurplePlugin *prpl; + PurplePluginProtocolInfo *prpl_info = NULL; struct proto_chat_entry *pce; - GaimBlistNode *node, *group; + PurpleBlistNode *node, *group; GList *parts; - GaimBuddyList *gaimbuddylist = gaim_get_blist(); + PurpleBuddyList *gaimbuddylist = purple_get_blist(); g_return_val_if_fail(gaimbuddylist != NULL, NULL); g_return_val_if_fail((name != NULL) && (*name != '\0'), NULL); - if (!gaim_account_is_connected(account)) + if (!purple_account_is_connected(account)) return NULL; - prpl = gaim_find_prpl(gaim_account_get_protocol_id(account)); - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); + prpl = purple_find_prpl(purple_account_get_protocol_id(account)); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); for (group = gaimbuddylist->root; group != NULL; group = group->next) { for (node = group->child; node != NULL; node = node->next) { - if (GAIM_BLIST_NODE_IS_CHAT(node)) { + if (PURPLE_BLIST_NODE_IS_CHAT(node)) { - chat = (GaimChat *) node; + chat = (PurpleChat *) node; if (account != chat->account) continue; parts = prpl_info-> - chat_info(gaim_account_get_connection(chat->account)); + chat_info(purple_account_get_connection(chat->account)); pce = parts->data; chat_name = g_hash_table_lookup(chat->components, @@ -1272,30 +1278,30 @@ static GaimChat *gaym_find_blist_chat(Ga return NULL; } -static GaimRoomlist *gaym_roomlist_get_list(GaimConnection * gc) +static PurpleRoomlist *gaym_roomlist_get_list(PurpleConnection * gc) { struct gaym_conn *gaym; GList *fields = NULL; - GaimRoomlistField *f; + PurpleRoomlistField *f; char *buf; gaym = gc->proto_data; if (gaym->roomlist) { - gaim_roomlist_unref(gaym->roomlist); + purple_roomlist_unref(gaym->roomlist); } - gaym->roomlist = gaim_roomlist_new(gaim_connection_get_account(gc)); + gaym->roomlist = purple_roomlist_new(purple_connection_get_account(gc)); - f = gaim_roomlist_field_new(GAIM_ROOMLIST_FIELD_STRING, _("Channel"), + f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, _("Channel"), "channel", FALSE); fields = g_list_prepend(fields, f); - f = gaim_roomlist_field_new(GAIM_ROOMLIST_FIELD_STRING, "", + f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "", "description", TRUE); fields = g_list_prepend(fields, f); - gaim_roomlist_set_fields(gaym->roomlist, fields); + purple_roomlist_set_fields(gaym->roomlist, fields); /** * Member created rooms are retrieved through the IRC protocol @@ -1310,9 +1316,9 @@ static GaimRoomlist *gaym_roomlist_get_l return gaym->roomlist; } -static void gaym_roomlist_cancel(struct _GaimRoomlist *list) +static void gaym_roomlist_cancel(struct _PurpleRoomlist *list) { - GaimConnection *gc = gaim_account_get_connection(list->account); + PurpleConnection *gc = purple_account_get_connection(list->account); struct gaym_conn *gaym; if (gc == NULL) @@ -1320,12 +1326,12 @@ static void gaym_roomlist_cancel(struct gaym = gc->proto_data; - gaim_roomlist_set_in_progress(list, FALSE); + purple_roomlist_set_in_progress(list, FALSE); if (gaym->roomlist == list) { g_list_free(g_list_nth_data(list->rooms, 0)); gaym->roomlist = NULL; - gaim_roomlist_unref(list); + purple_roomlist_unref(list); } if (gaym->roomlist_filter) { @@ -1334,21 +1340,21 @@ static void gaym_roomlist_cancel(struct } } -void gaym_roomlist_expand_category(struct _GaimRoomlist *list, - struct _GaimRoomlistRoom *category) +void gaym_roomlist_expand_category(struct _PurpleRoomlist *list, + struct _PurpleRoomlistRoom *category) { - GaimRoomlistRoom *room = NULL; + PurpleRoomlistRoom *room = NULL; gchar *altname = NULL; gchar *altchan = NULL; int i = 0; - if (category->type & GAIM_ROOMLIST_ROOMTYPE_ROOM + if (category->type & PURPLE_ROOMLIST_ROOMTYPE_ROOM && !category->expanded_once) { category->expanded_once = TRUE; int max = - gaim_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); + purple_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); gchar *name = category->fields->data; gchar *chan = category->fields->next->data; @@ -1358,27 +1364,27 @@ void gaym_roomlist_expand_category(struc altchan = g_strdup_printf("%.*s%d", strlen(chan) - 1, chan, i); room = - gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, + purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, altname, category); - gaim_roomlist_room_add_field(list, room, altname); - gaim_roomlist_room_add_field(list, room, altchan); - gaim_roomlist_room_add(list, room); + purple_roomlist_room_add_field(list, room, altname); + purple_roomlist_room_add_field(list, room, altchan); + purple_roomlist_room_add(list, room); g_free(altname); g_free(altchan); } } - gaim_roomlist_set_in_progress(list, FALSE); + purple_roomlist_set_in_progress(list, FALSE); } -static GaimPluginProtocolInfo prpl_info = { +static PurplePluginProtocolInfo prpl_info = { 0, /* options */ NULL, /* user_splits */ NULL, /* protocol_options */ - {"jpg,jpeg,gif,bmp,ico", 57, 77, 57, 77, GAIM_ICON_SCALE_DISPLAY}, /* icon_spec + {"jpg,jpeg,gif,bmp,ico", 57, 77, 57, 77, PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */ gaym_blist_icon, /* list_icon */ - gaym_blist_emblems, /* list_emblems */ + NULL, /* list_emblems */ gaym_status_text, /* status_text */ gaym_tooltip_text, /* tooltip_text */ gaym_status_types, /* status_types */ @@ -1440,46 +1446,46 @@ void deref_one_user(gpointer * user, gpo { struct gaym_conn *gaym = (struct gaym_conn *) data; - GaimConvChatBuddy *cb = (GaimConvChatBuddy *) user; - gaim_debug_misc("gaym", "Removing %s in %x from list\n", + PurpleConvChatBuddy *cb = (PurpleConvChatBuddy *) user; + purple_debug_misc("gaym", "Removing %s in %x from list\n", (char *) cb->name, cb); - gaim_debug_misc(" ", "Succes was: %i\n", + purple_debug_misc(" ", "Succes was: %i\n", gaym_unreference_channel_member(gaym, cb->name)); } -static void gaym_clean_channel_members(GaimConversation * conv) +static void gaym_clean_channel_members(PurpleConversation * conv) { if (strncmp(conv->account->protocol_id, "prpl-gaym", 9)) return; g_return_if_fail(conv != NULL); - if (conv->type == GAIM_CONV_TYPE_CHAT) { - GaimConvChat *chat = gaim_conversation_get_chat_data(conv); - GaimConnection *gc = gaim_conversation_get_gc(conv); + if (conv->type == PURPLE_CONV_TYPE_CHAT) { + PurpleConvChat *chat = purple_conversation_get_chat_data(conv); + PurpleConnection *gc = purple_conversation_get_gc(conv); g_return_if_fail(gc != NULL); struct gaym_conn *gaym = gc->proto_data; - GList *users = gaim_conv_chat_get_users(chat); - gaim_debug_misc("gaym", "got userlist %x length %i\n", users, + GList *users = purple_conv_chat_get_users(chat); + purple_debug_misc("gaym", "got userlist %x length %i\n", users, g_list_length(users)); g_list_foreach(users, (GFunc) deref_one_user, gaym); - } else if (conv->type == GAIM_CONV_TYPE_IM) { - gaim_debug_misc("gaym", "removing reference to %s\n", conv->name); - GaimConnection *gc = gaim_conversation_get_gc(conv); + } else if (conv->type == PURPLE_CONV_TYPE_IM) { + purple_debug_misc("gaym", "removing reference to %s\n", conv->name); + PurpleConnection *gc = purple_conversation_get_gc(conv); g_return_if_fail(gc != NULL); struct gaym_conn *gaym = gc->proto_data; gaym_unreference_channel_member(gaym, conv->name); } } -static void gaym_get_photo_info(GaimConversation * conv) +static void gaym_get_photo_info(PurpleConversation * conv) { char *buf; char *name; - gaim_debug_misc("******gaym", + purple_debug_misc("******gaym", "****************Got conversation-created signal\n"); if (strncmp(conv->account->protocol_id, "prpl-gaym", 9) == 0 - && gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) { + && purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { /** * First check to see if we already have the photo via @@ -1488,7 +1494,7 @@ static void gaym_get_photo_info(GaimConv struct gaym_conn *gaym; - GaimConnection *gc = gaim_conversation_get_gc(conv); + PurpleConnection *gc = purple_conversation_get_gc(conv); gaym = (struct gaym_conn *) gc->proto_data; if (!gaym) { @@ -1510,7 +1516,7 @@ static void gaym_get_photo_info(GaimConv name = gaym_nick_to_gcom_strdup(conv->name); buf = gaym_format(gaym, "vn", "WHOIS", name); - gaim_debug_misc("gaym", "Conversation triggered command: %s\n", + purple_debug_misc("gaym", "Conversation triggered command: %s\n", buf); gaym_send(gaym, buf); gaym_get_channel_member_reference(gaym, name); @@ -1521,93 +1527,93 @@ static void gaym_get_photo_info(GaimConv } } -static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin * plugin) +static PurplePluginPrefFrame *get_plugin_pref_frame(PurplePlugin * plugin) { - GaimPluginPrefFrame *frame; - GaimPluginPref *ppref; + PurplePluginPrefFrame *frame; + PurplePluginPref *ppref; - frame = gaim_plugin_pref_frame_new(); + frame = purple_plugin_pref_frame_new(); - ppref = gaim_plugin_pref_new_with_label(_("Chat Rooms")); - gaim_plugin_pref_frame_add(frame, ppref); + ppref = purple_plugin_pref_new_with_label(_("Chat Rooms")); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/show_join", _("Show entrance announcement")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/show_bio_with_join", _("Show member bio with entrance announcement")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/show_part", _("Show exit announcement")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/chat_room_instances", _("Number of chat room instances to display")); - gaim_plugin_pref_set_bounds(ppref, 0, 9); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_set_bounds(ppref, 0, 9); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_label(_ + purple_plugin_pref_new_with_label(_ ("Bio-Based Chat Room Activity Filtering")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/botfilter_enable", _("Enable")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/botfilter_ignore_null", _("Ignore if bio is blank")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/botfilter_patterns", _ ("Ignore if bio contains these patterns\n\t? = match any single character\n\t* = match zero, one, or more")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/botfilter_sep", _("Above patterns are separated by")); - gaim_plugin_pref_set_max_length(ppref, 1); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_set_max_length(ppref, 1); + purple_plugin_pref_frame_add(frame, ppref); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/prpl/gaym/botfilter_url", _ ("URL for GayBoi's spam database\n\tblank to disable\n\tchanges affect next login\n\tdefault is " GAYBOI_SPAM_URL)); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); return frame; } -static GaimPluginUiInfo prefs_info = { +static PurplePluginUiInfo prefs_info = { get_plugin_pref_frame }; -static GaimPluginInfo info = { - GAIM_PLUGIN_MAGIC, - GAIM_MAJOR_VERSION, - GAIM_MINOR_VERSION, - GAIM_PLUGIN_PROTOCOL, /**< type */ +static PurplePluginInfo info = { + PURPLE_PLUGIN_MAGIC, + PURPLE_MAJOR_VERSION, + PURPLE_MINOR_VERSION, + PURPLE_PLUGIN_PROTOCOL, /**< type */ NULL, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ - GAIM_PRIORITY_DEFAULT, /**< priority */ + PURPLE_PRIORITY_DEFAULT, /**< priority */ "prpl-gaym", /**< id */ "GayM", /**< name */ @@ -1627,7 +1633,7 @@ static GaimPluginInfo info = { }; -void gaym_get_room_namelist(GaimAccount * account, const char *room) +void gaym_get_room_namelist(PurpleAccount * account, const char *room) { @@ -1655,113 +1661,113 @@ void gaym_get_room_namelist(GaimAccount -static void connect_signals(GaimConnection * plugin) +static void connect_signals(PurpleConnection * plugin) { static gboolean connection_done = FALSE; if (connection_done) return; connection_done = TRUE; - gaim_debug_misc("gaym", - "CONNECTING SIGNALS: gaim_conversations_get_handle(): %x\n", - gaim_conversations_get_handle()); - gaim_signal_connect(gaim_conversations_get_handle(), + purple_debug_misc("gaym", + "CONNECTING SIGNALS: purple_conversations_get_handle(): %x\n", + purple_conversations_get_handle()); + purple_signal_connect(purple_conversations_get_handle(), "conversation-created", plugin, - GAIM_CALLBACK(gaym_get_photo_info), NULL); + PURPLE_CALLBACK(gaym_get_photo_info), NULL); - gaim_signal_connect(gaim_conversations_get_handle(), + purple_signal_connect(purple_conversations_get_handle(), "deleting-conversation", plugin, - GAIM_CALLBACK(gaym_clean_channel_members), NULL); + PURPLE_CALLBACK(gaym_clean_channel_members), NULL); - gaim_signal_connect(gaim_accounts_get_handle(), "request-namelist", - plugin, GAIM_CALLBACK(gaym_get_room_namelist), + purple_signal_connect(purple_accounts_get_handle(), "request-namelist", + plugin, PURPLE_CALLBACK(gaym_get_room_namelist), NULL); - gaim_signal_connect(gaim_accounts_get_handle(), "request-info-quietly", - plugin, GAIM_CALLBACK(gaym_get_info_quietly), + purple_signal_connect(purple_accounts_get_handle(), "request-info-quietly", + plugin, PURPLE_CALLBACK(gaym_get_info_quietly), NULL); } -static void _init_plugin(GaimPlugin * plugin) +static void _init_plugin(PurplePlugin * plugin) { - GaimAccountOption *option; + PurpleAccountOption *option; - option = gaim_account_option_string_new(_("Bio Line"), "bioline", ""); + option = purple_account_option_string_new(_("Bio Line"), "bioline", ""); prpl_info.protocol_options = g_list_prepend(prpl_info.protocol_options, option); option = - gaim_account_option_int_new(_("Port"), "port", IRC_DEFAULT_PORT); + purple_account_option_int_new(_("Port"), "port", IRC_DEFAULT_PORT); prpl_info.protocol_options = g_list_prepend(prpl_info.protocol_options, option); option = - gaim_account_option_string_new(_("Server"), "server", + purple_account_option_string_new(_("Server"), "server", IRC_DEFAULT_SERVER); prpl_info.protocol_options = g_list_prepend(prpl_info.protocol_options, option); - gaim_signal_register(gaim_accounts_get_handle(), + purple_signal_register(purple_accounts_get_handle(), "info-updated", - gaim_marshal_VOID__POINTER_POINTER, NULL, 2, - gaim_value_new(GAIM_TYPE_SUBTYPE, - GAIM_SUBTYPE_ACCOUNT), - gaim_value_new(GAIM_TYPE_POINTER, - GAIM_TYPE_CHAR)); + purple_marshal_VOID__POINTER_POINTER, NULL, 2, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_ACCOUNT), + purple_value_new(PURPLE_TYPE_POINTER, + PURPLE_TYPE_CHAR)); - gaim_signal_register(gaim_accounts_get_handle(), + purple_signal_register(purple_accounts_get_handle(), "namelist-complete", - gaim_marshal_VOID__POINTER_POINTER, NULL, 2, - gaim_value_new(GAIM_TYPE_SUBTYPE, - GAIM_SUBTYPE_ACCOUNT), - gaim_value_new(GAIM_TYPE_POINTER)); - gaim_signal_register(gaim_accounts_get_handle(), + purple_marshal_VOID__POINTER_POINTER, NULL, 2, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_ACCOUNT), + purple_value_new(PURPLE_TYPE_POINTER)); + purple_signal_register(purple_accounts_get_handle(), "request-namelist", - gaim_marshal_VOID__POINTER_POINTER, NULL, 2, - gaim_value_new(GAIM_TYPE_SUBTYPE, - GAIM_SUBTYPE_ACCOUNT), - gaim_value_new(GAIM_TYPE_POINTER, - GAIM_TYPE_CHAR)); - gaim_signal_register(gaim_accounts_get_handle(), + purple_marshal_VOID__POINTER_POINTER, NULL, 2, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_ACCOUNT), + purple_value_new(PURPLE_TYPE_POINTER, + PURPLE_TYPE_CHAR)); + purple_signal_register(purple_accounts_get_handle(), "request-info-quietly", - gaim_marshal_VOID__POINTER_POINTER, NULL, 2, - gaim_value_new(GAIM_TYPE_SUBTYPE, - GAIM_SUBTYPE_ACCOUNT), - gaim_value_new(GAIM_TYPE_POINTER, - GAIM_TYPE_CHAR)); + purple_marshal_VOID__POINTER_POINTER, NULL, 2, + purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_ACCOUNT), + purple_value_new(PURPLE_TYPE_POINTER, + PURPLE_TYPE_CHAR)); - gaim_prefs_add_none("/plugins/prpl/gaym"); - gaim_prefs_add_int("/plugins/prpl/gaym/chat_room_instances", 4); - gaim_prefs_add_bool("/plugins/prpl/gaym/show_join", TRUE); - gaim_prefs_add_bool("/plugins/prpl/gaym/show_part", TRUE); - gaim_prefs_add_bool("/plugins/prpl/gaym/show_bio_with_join", TRUE); + purple_prefs_add_none("/plugins/prpl/gaym"); + purple_prefs_add_int("/plugins/prpl/gaym/chat_room_instances", 4); + purple_prefs_add_bool("/plugins/prpl/gaym/show_join", TRUE); + purple_prefs_add_bool("/plugins/prpl/gaym/show_part", TRUE); + purple_prefs_add_bool("/plugins/prpl/gaym/show_bio_with_join", TRUE); - gaim_prefs_add_bool("/plugins/prpl/gaym/botfilter_enable", FALSE); - gaim_prefs_add_bool("/plugins/prpl/gaym/botfilter_ignore_null", FALSE); - gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_sep", "|"); - gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_patterns", + purple_prefs_add_bool("/plugins/prpl/gaym/botfilter_enable", FALSE); + purple_prefs_add_bool("/plugins/prpl/gaym/botfilter_ignore_null", FALSE); + purple_prefs_add_string("/plugins/prpl/gaym/botfilter_sep", "|"); + purple_prefs_add_string("/plugins/prpl/gaym/botfilter_patterns", "NULL|MODE * -i|*dantcamboy*|*Free preview*|*epowerchat*|*Live gay sex cam show*|*camboiz*"); - gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_url", + purple_prefs_add_string("/plugins/prpl/gaym/botfilter_url", GAYBOI_SPAM_URL); - gaim_prefs_connect_callback("/plugins/prpl/gaym/botfilter_url", + purple_prefs_connect_callback("/plugins/prpl/gaym/botfilter_url", "botfilter_url", botfilter_url_changed_cb, NULL); - gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_url_result", ""); - gaim_prefs_add_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); + purple_prefs_add_string("/plugins/prpl/gaym/botfilter_url_result", ""); + purple_prefs_add_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); _gaym_plugin = plugin; gaym_register_commands(); } -GAIM_INIT_PLUGIN(gaym, _init_plugin, info); +PURPLE_INIT_PLUGIN(gaym, _init_plugin, info); diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaym.h fork-for-gaim-2.pidgin/gaym/src/gaym.h --- fork-for-gaim-2.gaim/gaym/src/gaym.h 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/gaym.h 2007-05-15 20:55:31.000000000 +0100 @@ -20,8 +20,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef _GAIM_GAYM_H -#define _GAIM_GAYM_H +#ifndef _PURPLE_GAYM_H +#define _PURPLE_GAYM_H #ifdef HAVE_CONFIG_H #include "config.h" @@ -74,7 +74,7 @@ enum gaym_state { IRC_STATE_NEW, IRC_STA enum info_string { INFO_AGE, INFO_LOCATION, INFO_BIO, INFO_URL }; struct gaym_conn { - GaimAccount *account; + PurpleAccount *account; GHashTable *msgs; GHashTable *cmds; char *server; @@ -103,7 +103,7 @@ struct gaym_conn { char *nameconv; char *traceconv; - GaimRoomlist *roomlist; + PurpleRoomlist *roomlist; GList **node_menu; gboolean quitting; @@ -123,14 +123,14 @@ typedef struct { gchar *cookies; GHashTable *cookie_table; - void (*session_cb) (GaimAccount *); - GaimAccount *account; + void (*session_cb) (PurpleAccount *); + PurpleAccount *account; char *username; char *password; struct gaym_conn *gaym; gboolean hasFormData; -} GaimUrlSession; +} PurpleUrlSession; typedef struct gaym_buddy GaymBuddy; struct gaym_buddy { gchar *name; /* gaym formatted nick */ @@ -269,16 +269,16 @@ typedef struct GaymNamelist { // // (during names pass) } GaymNamelist; -void gaym_get_chat_key_from_weblogin(GaimAccount * account, - void (*callback) (GaimAccount *)); +void gaym_get_chat_key_from_weblogin(PurpleAccount * account, + void (*callback) (PurpleAccount *)); -void gaym_get_room_namelist(GaimAccount * account, const char *room); -void gaim_session_fetch(const char *url, gboolean full, +void gaym_get_room_namelist(PurpleAccount * account, const char *room); +void purple_session_fetch(const char *url, gboolean full, const char *user_agent, gboolean http11, void (*cb) (gpointer, const char *, size_t), - void *user_data, GaimUrlSession * session); + void *user_data, PurpleUrlSession * session); -#endif /* _GAIM_GAYM_H */ +#endif /* _PURPLE_GAYM_H */ /** * vim:tabstop=4:shiftwidth=4:expandtab: diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gayminfo.c fork-for-gaim-2.pidgin/gaym/src/gayminfo.c --- fork-for-gaim-2.gaim/gaym/src/gayminfo.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/gayminfo.c 2007-05-15 21:11:14.000000000 +0100 @@ -30,7 +30,7 @@ #ifdef GAYM_TOKEN gboolean gaym_stats_find_gaym_token(const char *info) { - gaim_debug_misc("token", "checking for token in %s\n", info); + purple_debug_misc("token", "checking for token in %s\n", info); return (gboolean) g_strrstr(info, "\xC2\xA0 \xC2\xA0"); } #endif @@ -60,7 +60,7 @@ char *gaym_bio_strdup(const char *info) end = strchr(start, 0); } #ifdef GAYM_TOKEN - gaim_debug_misc("gaym", "end: %x, end-1: %x, end-5: %x\n", end, + purple_debug_misc("gaym", "end: %x, end-1: %x, end-5: %x\n", end, *(end - 1), *(end - 5)); if (end - 5 >= start) if (!strncmp((end - 5), "\xC2\xA0 \xC2\xA0", 5)) @@ -100,7 +100,7 @@ void gaym_update_channel_member(struct g { GaymBuddy *cm = gaym_get_channel_member_reference(gaym, nick); if (!cm) { - gaim_debug_error("gaym", + purple_debug_error("gaym", "ERROR: A member has joined a channel, or a conversation was opened, but we were unable to add the member to the internal management structure. Report a bug."); return; } else { @@ -128,7 +128,7 @@ void gaym_update_channel_member(struct g } } -void gaym_fetch_thumbnail_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, +void gaym_fetch_thumbnail_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, gsize len, const gchar* error_message) { if (!user_data) @@ -141,36 +141,36 @@ void gaym_fetch_thumbnail_cb(GaimUtilFet if (!d->gc) return; if (len && !g_strrstr_len(pic_data, len, "Server Error")) { - gaim_debug_misc("gaym","Setting buddy icon for %s\n",d->who); + purple_debug_misc("gaym","Setting buddy icon for %s\n",d->who); if(len<1024) { void* new_pic_data=NULL; - gaim_debug_misc("gaym","Short icon file, padding to 1024\n"); + purple_debug_misc("gaym","Short icon file, padding to 1024\n"); new_pic_data=g_malloc0(1024); memcpy(new_pic_data, pic_data, len); len=1024; - gaim_buddy_icon_new(d->gc->account, d->who, (void*)new_pic_data, len); + purple_buddy_icon_new(d->gc->account, d->who, (void*)new_pic_data, len, NULL); g_free(new_pic_data); } else { - gaim_buddy_icon_new(d->gc->account, d->who, (void*)pic_data, len); + purple_buddy_icon_new(d->gc->account, d->who, (void*)pic_data, len, NULL); } - //GaimBuddyIcon *icon=gaim_buddy_icons_find(d->gc->account,d->who); + //PurpleBuddyIcon *icon=purple_buddy_icons_find(d->gc->account,d->who); //guint len; - //const guchar* data=gaim_buddy_icon_get_data(icon, &len); + //const guchar* data=purple_buddy_icon_get_data(icon, &len); } - if (GAIM_CONNECTION_IS_VALID(d->gc) && len) { - gaim_signal_emit(gaim_accounts_get_handle(), "info-updated", + if (PURPLE_CONNECTION_IS_VALID(d->gc) && len) { + purple_signal_emit(purple_accounts_get_handle(), "info-updated", d->gc->account, d->who); - /* if (gaim_find_conversation_with_account(d->who, d->gc->account)) { + /* if (purple_find_conversation_with_account(d->who, d->gc->account)) { - gaim_debug_misc("fetch_thumbnail_cb","setting buddy icon\n"); - gaim_buddy_icons_set_for_user(gaim_connection_get_account + purple_debug_misc("fetch_thumbnail_cb","setting buddy icon\n"); + purple_buddy_icons_set_for_user(purple_connection_get_account (d->gc), d->who, (void *) pic_data, len); }*/ } else { - gaim_debug_error("gaym", "Fetching buddy icon failed.\n"); + purple_debug_error("gaym", "Fetching buddy icon failed.\n"); } g_free(d->who); @@ -214,7 +214,7 @@ void gaym_buddy_status(struct gaym_conn } - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); if (!gc) { return; @@ -224,23 +224,23 @@ void gaym_buddy_status(struct gaym_conn if (!ib) ib = g_hash_table_lookup(gaym->channel_members, name); - char *normalized = g_strdup(gaim_normalize(gaym->account, name)); + char *normalized = g_strdup(purple_normalize(gaym->account, name)); if (thumbnail && fetch_thumbnail) { - if (!ib || gaim_utf8_strcasecmp(thumbnail, ib->thumbnail)) { + if (!ib || purple_utf8_strcasecmp(thumbnail, ib->thumbnail)) { char *hashurl = NULL; hashurl = g_hash_table_lookup(gaym->confighash, "mini-profile-panel.thumbnail-prefix"); g_return_if_fail(hashurl != NULL); data = g_new0(struct gaym_fetch_thumbnail_data, 1); - data->gc = gaim_account_get_connection(gaym->account); - data->who = g_strdup(gaim_normalize(gaym->account, name)); + data->gc = purple_account_get_connection(gaym->account); + data->who = g_strdup(purple_normalize(gaym->account, name)); data->filename = g_strdup(g_strrstr(thumbnail, "/")); - gaim_debug_misc("gayminfo", "Found filename: %s\n", + purple_debug_misc("gayminfo", "Found filename: %s\n", data->filename); url = g_strdup_printf("%s%s", hashurl, thumbnail); - gaim_util_fetch_url(url, FALSE, "Mozilla/4.0", FALSE, + purple_util_fetch_url(url, FALSE, "Mozilla/4.0", FALSE, gaym_fetch_thumbnail_cb, data); g_free(url); @@ -284,12 +284,12 @@ void gaym_buddy_status(struct gaym_conn g_free(stats); } ib->gaymuser = gaymuser; - GaimBuddy *buddy = gaim_find_buddy(gaym->account, name); + PurpleBuddy *buddy = purple_find_buddy(gaym->account, name); if (buddy) { if(ib->online) - gaim_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_AVAILABLE, NULL); + purple_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_AVAILABLE, NULL); else - gaim_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_OFFLINE, NULL); + purple_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_OFFLINE, NULL); } } return; diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gayminfo.h fork-for-gaim-2.pidgin/gaym/src/gayminfo.h --- fork-for-gaim-2.gaim/gaym/src/gayminfo.h 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/gayminfo.h 2007-05-15 20:55:31.000000000 +0100 @@ -21,8 +21,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef _GAIM_GAYM_GAYMINFO_H_ -#define _GAIM_GAYM_GAYMINFO_H_ +#ifndef _PURPLE_GAYM_GAYMINFO_H_ +#define _PURPLE_GAYM_GAYMINFO_H_ #include @@ -34,7 +34,7 @@ */ #include "connection.h" struct gaym_fetch_thumbnail_data { - GaimConnection *gc; + PurpleConnection *gc; char *who; char *filename; char *bio; @@ -43,7 +43,7 @@ struct gaym_fetch_thumbnail_data { // gint pic_data_len; }; -void gaym_fetch_thumbnail_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, +void gaym_fetch_thumbnail_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, gsize len, const gchar* error_message); /** * End temporary, pending further refactoring @@ -99,7 +99,7 @@ void gaym_buddy_status(struct gaym_conn void gaym_update_channel_member(struct gaym_conn *gaym, const char *nick, const char *info); -#endif /* _GAIM_GAYM_GAYMINFO_H_ */ +#endif /* _PURPLE_GAYM_GAYMINFO_H_ */ /** * vim:tabstop=4:shiftwidth=4:expandtab: diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaympriv.c fork-for-gaim-2.pidgin/gaym/src/gaympriv.c --- fork-for-gaim-2.gaim/gaym/src/gaympriv.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/gaympriv.c 2007-05-15 20:55:31.000000000 +0100 @@ -40,7 +40,7 @@ #include "gaympriv.h" #include "helpers.h" -gboolean gaym_privacy_check(GaimConnection * gc, const char *nick) +gboolean gaym_privacy_check(PurpleConnection * gc, const char *nick) { /** * returns TRUE if allowed through, FALSE otherwise @@ -50,61 +50,61 @@ gboolean gaym_privacy_check(GaimConnecti switch (gc->account->perm_deny) { case 0: - gaim_debug_warning("gaym", "Privacy setting was 0. If you can " + purple_debug_warning("gaym", "Privacy setting was 0. If you can " "reproduce this, please file a bug report.\n"); permitted = TRUE; break; - case GAIM_PRIVACY_ALLOW_ALL: + case PURPLE_PRIVACY_ALLOW_ALL: permitted = TRUE; break; - case GAIM_PRIVACY_DENY_ALL: - gaim_debug_info("gaym", - "%s blocked data received from %s (GAIM_PRIVACY_DENY_ALL)\n", + case PURPLE_PRIVACY_DENY_ALL: + purple_debug_info("gaym", + "%s blocked data received from %s (PURPLE_PRIVACY_DENY_ALL)\n", gc->account->username, nick); break; - case GAIM_PRIVACY_ALLOW_USERS: + case PURPLE_PRIVACY_ALLOW_USERS: for (list = gc->account->permit; list != NULL; list = list->next) { - if (!gaim_utf8_strcasecmp - (nick, gaim_normalize(gc->account, (char *) list->data))) { + if (!purple_utf8_strcasecmp + (nick, purple_normalize(gc->account, (char *) list->data))) { permitted = TRUE; - gaim_debug_info("gaym", - "%s allowed data received from %s (GAIM_PRIVACY_ALLOW_USERS)\n", + purple_debug_info("gaym", + "%s allowed data received from %s (PURPLE_PRIVACY_ALLOW_USERS)\n", gc->account->username, nick); break; } } break; - case GAIM_PRIVACY_DENY_USERS: + case PURPLE_PRIVACY_DENY_USERS: /* seeing we're letting everyone through, except the deny list */ permitted = TRUE; for (list = gc->account->deny; list != NULL; list = list->next) { - if (!gaim_utf8_strcasecmp - (nick, gaim_normalize(gc->account, (char *) list->data))) { + if (!purple_utf8_strcasecmp + (nick, purple_normalize(gc->account, (char *) list->data))) { permitted = FALSE; - gaim_debug_info("gaym", - "%s blocked data received from %s (GAIM_PRIVACY_DENY_USERS)\n", + purple_debug_info("gaym", + "%s blocked data received from %s (PURPLE_PRIVACY_DENY_USERS)\n", gc->account->username, nick); break; } } break; - case GAIM_PRIVACY_ALLOW_BUDDYLIST: - if (gaim_find_buddy(gc->account, nick) != NULL) { + case PURPLE_PRIVACY_ALLOW_BUDDYLIST: + if (purple_find_buddy(gc->account, nick) != NULL) { permitted = TRUE; } else { - gaim_debug_info("gaym", - "%s blocked data received from %s (GAIM_PRIVACY_ALLOW_BUDDYLIST)\n", + purple_debug_info("gaym", + "%s blocked data received from %s (PURPLE_PRIVACY_ALLOW_BUDDYLIST)\n", gc->account->username, nick); } break; default: - gaim_debug_warning("gaym", + purple_debug_warning("gaym", "Privacy setting was unknown. If you can " "reproduce this, please file a bug report.\n"); permitted = FALSE; @@ -114,28 +114,28 @@ gboolean gaym_privacy_check(GaimConnecti /** * don't block/ignore self */ - if (!gaim_utf8_strcasecmp(gc->account->username, nick)) { + if (!purple_utf8_strcasecmp(gc->account->username, nick)) { permitted = TRUE; - gaim_debug_info("gaym", "declining to block/ignore self\n"); + purple_debug_info("gaym", "declining to block/ignore self\n"); return permitted; } return permitted; } -void gaym_privacy_change(GaimConnection * gc, const char *name) +void gaym_privacy_change(PurpleConnection * gc, const char *name) { /** * don't allow adding self to permit/deny lists */ if (name) { - if (!gaim_utf8_strcasecmp(gc->account->username, name)) { - gaim_privacy_deny_remove(gc->account, gc->account->username, + if (!purple_utf8_strcasecmp(gc->account->username, name)) { + purple_privacy_deny_remove(gc->account, gc->account->username, TRUE); - gaim_privacy_permit_remove(gc->account, gc->account->username, + purple_privacy_permit_remove(gc->account, gc->account->username, TRUE); - gaim_debug_info("gaym", + purple_debug_info("gaym", "declining to add self to permit/deny list\n"); return; } @@ -143,22 +143,22 @@ void gaym_privacy_change(GaimConnection GSList *rooms = NULL; for (rooms = gc->buddy_chats; rooms; rooms = rooms->next) { - GaimConversation *convo = rooms->data; - GaimConvChat *chat = gaim_conversation_get_chat_data(convo); + PurpleConversation *convo = rooms->data; + PurpleConvChat *chat = purple_conversation_get_chat_data(convo); GList *people = NULL; for (people = chat->in_room; people; people = people->next) { - GaimConvChatBuddy *buddy = people->data; - GaimConversationUiOps *ops = - gaim_conversation_get_ui_ops(convo); + PurpleConvChatBuddy *buddy = people->data; + PurpleConversationUiOps *ops = + purple_conversation_get_ui_ops(convo); if (name) { - if (!gaim_utf8_strcasecmp(name, buddy->name)) { + if (!purple_utf8_strcasecmp(name, buddy->name)) { if (gaym_privacy_check(gc, buddy->name) && gaym_botfilter_check(gc, buddy->name, NULL, TRUE)) { - gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), + purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), buddy->name); } else { - gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), + purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), buddy->name); } ops->chat_update_user((convo), buddy->name); @@ -166,10 +166,10 @@ void gaym_privacy_change(GaimConnection } else { if (gaym_privacy_check(gc, buddy->name) && gaym_botfilter_check(gc, buddy->name, NULL, TRUE)) { - gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), + purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), buddy->name); } else { - gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), + purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), buddy->name); } ops->chat_update_user((convo), buddy->name); @@ -178,15 +178,15 @@ void gaym_privacy_change(GaimConnection } } -void gaym_server_change_deny_status_cb(GaimUtilFetchUrlData *url_data, void *data, const gchar *result, +void gaym_server_change_deny_status_cb(PurpleUtilFetchUrlData *url_data, void *data, const gchar *result, gsize len, const gchar* error_message) { - gaim_debug_info("gaym", "gaym_server_change_deny_status_cb:\n%s\n", + purple_debug_info("gaym", "gaym_server_change_deny_status_cb:\n%s\n", result); return; } -void gaym_server_store_deny(GaimConnection * gc, const char *name, +void gaym_server_store_deny(PurpleConnection * gc, const char *name, gboolean add) { char *action = NULL; @@ -208,14 +208,14 @@ void gaym_server_store_deny(GaimConnecti char *user_agent = "Mozilla/4.0"; - gaim_util_fetch_url(url, FALSE, user_agent, FALSE, + purple_util_fetch_url(url, FALSE, user_agent, FALSE, gaym_server_change_deny_status_cb, NULL); g_free(url); return; } -void synchronize_deny_list(GaimConnection * gc, GHashTable * confighash) +void synchronize_deny_list(PurpleConnection * gc, GHashTable * confighash) { char *srvdeny = NULL; gchar **srvdenylist = NULL; @@ -244,20 +244,20 @@ void synchronize_deny_list(GaimConnectio for (i = 0; srvdenylist[i]; i++) { needsync = TRUE; for (list = gc->account->deny; list != NULL; list = list->next) { - if (!gaim_utf8_strcasecmp + if (!purple_utf8_strcasecmp (srvdenylist[i], - gaim_normalize(gc->account, (char *) list->data))) { + purple_normalize(gc->account, (char *) list->data))) { needsync = FALSE; break; } } if (needsync) { - if (!gaim_privacy_deny_add(gc->account, srvdenylist[i], TRUE)) { - gaim_debug_error("gaym", + if (!purple_privacy_deny_add(gc->account, srvdenylist[i], TRUE)) { + purple_debug_error("gaym", "Failed to add %s to local deny list from server.\n", srvdenylist[i]); } else { - gaim_debug_misc("gaym", + purple_debug_misc("gaym", "Added %s to local deny list from server.\n", srvdenylist[i]); } @@ -268,9 +268,9 @@ void synchronize_deny_list(GaimConnectio for (list = gc->account->deny; list != NULL; list = list->next) { needsync = TRUE; for (i = 0; srvdenylist[i]; i++) { - if (!gaim_utf8_strcasecmp + if (!purple_utf8_strcasecmp (srvdenylist[i], - gaim_normalize(gc->account, (char *) list->data))) { + purple_normalize(gc->account, (char *) list->data))) { needsync = FALSE; break; } diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaympriv.h fork-for-gaim-2.pidgin/gaym/src/gaympriv.h --- fork-for-gaim-2.gaim/gaym/src/gaympriv.h 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/gaympriv.h 2007-05-15 20:55:31.000000000 +0100 @@ -21,8 +21,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef _GAIM_GAYM_GAYMPRIV_H_ -#define _GAIM_GAYM_GAYMPRIV_H_ +#ifndef _PURPLE_GAYM_GAYMPRIV_H_ +#define _PURPLE_GAYM_GAYMPRIV_H_ #include "connection.h" @@ -37,7 +37,7 @@ * * @return TRUE if the user is allowed, or @c FALSE otherwise. */ -gboolean gaym_privacy_check(GaimConnection * gc, const char *nick); +gboolean gaym_privacy_check(PurpleConnection * gc, const char *nick); /** * Respond to notification that the account's privacy settings have @@ -49,18 +49,18 @@ gboolean gaym_privacy_check(GaimConnecti * this must be NULL so that all users are reset and * checked. */ -void gaym_privacy_change(GaimConnection * gc, const char *name); +void gaym_privacy_change(PurpleConnection * gc, const char *name); /** * Report the status of the http request to add a name to the deny * list or remove a name from the deny list. * * @param gc The connection. - * @param data The data passed from gaim_url_fetch(). + * @param data The data passed from purple_url_fetch(). * @param result The information fetched by the http GET. * @param len The length of the result. */ -void gaym_server_change_deny_status_cb(GaimUtilFetchUrlData *url_data, void *data, const gchar *result, +void gaym_server_change_deny_status_cb(PurpleUtilFetchUrlData *url_data, void *data, const gchar *result, gsize len, const gchar* error_message); /** @@ -70,7 +70,7 @@ void gaym_server_change_deny_status_cb(G * @param name The name of the user to add or remove. * @param add TRUE of the name should be added, FALSE if the name should be removed. */ -void gaym_server_store_deny(GaimConnection * gc, const char *name, +void gaym_server_store_deny(PurpleConnection * gc, const char *name, gboolean add); /** @@ -82,9 +82,9 @@ void gaym_server_store_deny(GaimConnecti * @param gc The connection. * @param confighash The config.txt java properties retrieved from Gay.com. */ -void synchronize_deny_list(GaimConnection * gc, GHashTable * confighash); +void synchronize_deny_list(PurpleConnection * gc, GHashTable * confighash); -#endif /* _GAIM_GAYM_GAYMPRIV_H_ */ +#endif /* _PURPLE_GAYM_GAYMPRIV_H_ */ /** * vim:tabstop=4:shiftwidth=4:expandtab: diff -Nurdp fork-for-gaim-2.gaim/gaym/src/helpers.c fork-for-gaim-2.pidgin/gaym/src/helpers.c --- fork-for-gaim-2.gaim/gaym/src/helpers.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/helpers.c 2007-05-19 15:59:08.000000000 +0100 @@ -91,14 +91,14 @@ char *return_string_between(const char * start += strlen(startbit); end = strstr(start, endbit); } - /** - * gaim_debug_misc("gaym", "source: %d; start: %d; end: %d\n", source, + /* + * purple_debug_misc("gaym", "source: %d; start: %d; end: %d\n", source, * start, end); */ if (start && end) { - return g_strdup_printf("%.*s", end - start, start); + return g_strndup(start, end - start); } else { - return 0; + return NULL; } } @@ -288,7 +288,7 @@ GHashTable *gaym_properties_new(const gc proparr = g_strsplit(tmparr[i], "=", 2); if (proparr[0] && strlen(g_strstrip(proparr[0])) > 0 && proparr[1] && strlen(g_strstrip(proparr[1])) > 0) { - // gaim_debug_misc("properties","Inserted + // purple_debug_misc("properties","Inserted // %s=%s\n",proparr[0],proparr[1]); g_hash_table_insert(props, g_strdup(proparr[0]), g_strdup(proparr[1])); @@ -327,10 +327,10 @@ int roomlist_level_strip(char *descripti return val; } -GaimRoomlistRoom *find_parent(int level, int old_level, - GaimRoomlistRoom * last_room) +PurpleRoomlistRoom *find_parent(int level, int old_level, + PurpleRoomlistRoom * last_room) { - GaimRoomlistRoom *parent = NULL; + PurpleRoomlistRoom *parent = NULL; int i = 0; if (level == 0) { @@ -348,7 +348,7 @@ GaimRoomlistRoom *find_parent(int level, return parent; } -void build_roomlist_from_config(GaimRoomlist * roomlist, +void build_roomlist_from_config(PurpleRoomlist * roomlist, GHashTable * confighash, gchar * pattern) { gchar **roominst = NULL; @@ -359,13 +359,13 @@ void build_roomlist_from_config(GaimRoom int level = 0; int old_level = 0; int i = 0; - GaimRoomlistRoom *room = NULL; - GaimRoomlistRoom *parent = NULL; + PurpleRoomlistRoom *room = NULL; + PurpleRoomlistRoom *parent = NULL; g_return_if_fail(roomlist != NULL); g_return_if_fail(confighash != NULL); - int max = gaim_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); + int max = purple_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); gchar *roomstr = g_hash_table_lookup(confighash, "roomlist"); g_return_if_fail(roomstr != NULL); @@ -400,17 +400,17 @@ void build_roomlist_from_config(GaimRoom altname = g_strdup_printf("%s:*", roominst[1]); if (max == 0) { room = - gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, + purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, altname, parent); } else { room = - gaim_roomlist_room_new - (GAIM_ROOMLIST_ROOMTYPE_CATEGORY | - GAIM_ROOMLIST_ROOMTYPE_ROOM, altname, parent); + purple_roomlist_room_new + (PURPLE_ROOMLIST_ROOMTYPE_CATEGORY | + PURPLE_ROOMLIST_ROOMTYPE_ROOM, altname, parent); } - gaim_roomlist_room_add_field(roomlist, room, altname); - gaim_roomlist_room_add_field(roomlist, room, roominst[0]); - gaim_roomlist_room_add(roomlist, room); + purple_roomlist_room_add_field(roomlist, room, altname); + purple_roomlist_room_add_field(roomlist, room, roominst[0]); + purple_roomlist_room_add(roomlist, room); g_free(altname); g_strfreev(roominst); old_level = level; @@ -423,87 +423,79 @@ void build_roomlist_from_config(GaimRoom level = roomlist_level_strip(roomarr[i]); parent = find_parent(level, old_level, room); room = - gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_CATEGORY, + purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_CATEGORY, roomarr[i], parent); - gaim_roomlist_room_add(roomlist, room); + purple_roomlist_room_add(roomlist, room); } old_level = level; } g_strfreev(roomarr); - gaim_roomlist_set_in_progress(roomlist, FALSE); + purple_roomlist_set_in_progress(roomlist, FALSE); } -GaimConvChatBuddyFlags chat_pecking_order(const char *extra) +PurpleConvChatBuddyFlags chat_pecking_order(const char *extra) { - GaimConvChatBuddyFlags flags = GAIM_CBFLAGS_NONE; + PurpleConvChatBuddyFlags flags = PURPLE_CBFLAGS_NONE; if (extra[0] == '1' && extra[1] == '8') { /* profile and g-rated photo */ - flags = GAIM_CBFLAGS_FOUNDER; + flags = PURPLE_CBFLAGS_FOUNDER; } else if (extra[0] == '1' && extra[1] == '9') { /* profile and x-rated photo */ - flags = GAIM_CBFLAGS_OP; + flags = PURPLE_CBFLAGS_OP; } else if (extra[0] == '8') { /* profile but no photo */ - flags = GAIM_CBFLAGS_HALFOP; + flags = PURPLE_CBFLAGS_HALFOP; } else if (extra[0] == '0') { /* no profile and no photo */ - flags = GAIM_CBFLAGS_NONE; + flags = PURPLE_CBFLAGS_NONE; } else { /* unknown */ - flags = GAIM_CBFLAGS_VOICE; + flags = PURPLE_CBFLAGS_VOICE; } return flags; } -GString* build_tooltip_text(struct gaym_buddy *ib, GString* tooltip) +void build_tooltip_text(struct gaym_buddy *ib, PurpleNotifyUserInfo *user_info) { if (!ib->name) - return g_string_assign(tooltip, "No info found."); + return; char *escaped; // g_string_printf(tooltip, "%s", ib->name); - g_return_val_if_fail(ib != NULL, NULL); + g_return_if_fail(ib != NULL); if (ib->sex) { escaped = g_markup_escape_text(ib->sex, strlen(ib->sex)); - g_string_append_printf(tooltip, _("\n%s: %s"), _("Sex"), - escaped); + purple_notify_user_info_add_pair(user_info, _("Sex"), escaped); g_free(escaped); } if (ib->age) { escaped = g_markup_escape_text(ib->age, strlen(ib->age)); - g_string_append_printf(tooltip, _("\n%s: %s"), _("Age"), - escaped); + purple_notify_user_info_add_pair(user_info, _("Age"), escaped); g_free(escaped); } if (ib->location) { escaped = g_markup_escape_text(ib->location, strlen(ib->location)); - g_string_append_printf(tooltip, _("\n%s: %s"), - _("Location"), escaped); + purple_notify_user_info_add_pair(user_info, _("Location"), escaped); g_free(escaped); } if (ib->bio) { escaped = g_markup_escape_text(ib->bio, strlen(ib->bio)); - g_string_append_printf(tooltip, _("\n%s: %s"), _("Bio"), - escaped); + purple_notify_user_info_add_pair(user_info, _("Bio"), escaped); g_free(escaped); } if (ib->gaymuser) { - g_string_append(tooltip, _("\nGaym user.")); - } - if (tooltip->len == 0) { - g_string_append_printf(tooltip, _(" No info.")); + purple_notify_user_info_add_pair(user_info, _("Gaym user."), NULL); } - // g_string_erase(tooltip, 0, 1); - return tooltip; + return; } -GaimConvChatBuddyFlags include_chat_entry_order(GaimConvChatBuddyFlags +PurpleConvChatBuddyFlags include_chat_entry_order(PurpleConvChatBuddyFlags flags, gint entry) { diff -Nurdp fork-for-gaim-2.gaim/gaym/src/helpers.h fork-for-gaim-2.pidgin/gaym/src/helpers.h --- fork-for-gaim-2.gaim/gaym/src/helpers.h 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/helpers.h 2007-05-18 19:01:52.000000000 +0100 @@ -21,8 +21,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef _GAIM_GAYM_HELPERS_H_ -#define _GAIM_GAYM_HELPERS_H_ +#ifndef _PURPLE_GAYM_HELPERS_H_ +#define _PURPLE_GAYM_HELPERS_H_ #include @@ -36,7 +36,7 @@ char *return_string_between(const char * /** * Convert a nick from gay.com to what GayM needs to see. * The conversion is done in place. The converted value - * is for use within GayM/Gaim as well as with http requests + * is for use within GayM/Purple as well as with http requests * to gay.com. When interacting with gay.com's IRC server, * the nick must be converted using gaym_nick_to_gcom_strdup(). * @@ -134,30 +134,30 @@ int roomlist_level_strip(char *descripti * * @return The parent of the room to be added. */ -GaimRoomlistRoom *find_parent(int level, int old_level, - GaimRoomlistRoom * last_room); +PurpleRoomlistRoom *find_parent(int level, int old_level, + PurpleRoomlistRoom * last_room); /** * Build the portion of the roomlist that is provided in the * config.txt java properties file within the property "roomlist". * - * @param roomlist The GaimRoomlist that these rooms should be loaded + * @param roomlist The PurpleRoomlist that these rooms should be loaded * into. * @param confighash The GHashTable that config.txt was converted into * @param pattern The pattern to match against or NULL for everythying */ -void build_roomlist_from_config(GaimRoomlist * roomlist, +void build_roomlist_from_config(PurpleRoomlist * roomlist, GHashTable * confighash, gchar * pattern); /** - * Determine the correct GaimConvChatBuddyFlags based on the "extra" + * Determine the correct PurpleConvChatBuddyFlags based on the "extra" * information that is provided during join, whois, etc. * * @param extra The string containing the information about the flags. * - * @return The correct GaimConvChatBuddyFlags. + * @return The correct PurpleConvChatBuddyFlags. */ -GaimConvChatBuddyFlags chat_pecking_order(const char *extra); +PurpleConvChatBuddyFlags chat_pecking_order(const char *extra); /** * Format and return the tooltip text for a buddy/user @@ -167,11 +167,11 @@ GaimConvChatBuddyFlags chat_pecking_orde * * @return A pointer to the GString object */ -GString* build_tooltip_text(struct gaym_buddy *ib, GString* str); +void build_tooltip_text(struct gaym_buddy *ib, PurpleNotifyUserInfo *user_info); -GaimConvChatBuddyFlags include_chat_entry_order(GaimConvChatBuddyFlags +PurpleConvChatBuddyFlags include_chat_entry_order(PurpleConvChatBuddyFlags flags, gint entry); -#endif /* _GAIM_GAYM_HELPERS_H_ */ +#endif /* _PURPLE_GAYM_HELPERS_H_ */ /** * vim:tabstop=4:shiftwidth=4:expandtab: diff -Nurdp fork-for-gaim-2.gaim/gaym/src/Makefile.am fork-for-gaim-2.pidgin/gaym/src/Makefile.am --- fork-for-gaim-2.gaim/gaym/src/Makefile.am 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/Makefile.am 2007-05-15 22:00:17.000000000 +0100 @@ -1,5 +1,5 @@ pkgdir = \ - $(GAIM_LIBDIR)/gaim + $(GAIM_LIBDIR)/purple-2 GAYMSOURCES = \ botfilter.c \ @@ -35,4 +35,4 @@ AM_CPPFLAGS = \ $(DEBUG_CFLAGS) \ $(GAIM_CFLAGS) \ $(GLIB_CFLAGS) \ - -DGAIM_PLUGINS + -DPURPLE_PLUGINS diff -Nurdp fork-for-gaim-2.gaim/gaym/src/msgs.c fork-for-gaim-2.pidgin/gaym/src/msgs.c --- fork-for-gaim-2.gaim/gaym/src/msgs.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/msgs.c 2007-05-18 19:08:45.000000000 +0100 @@ -51,15 +51,15 @@ static char *gaym_mask_nick(const char * return buf; } -static void gaym_chat_remove_buddy(GaimConversation * convo, char *data[2]) +static void gaym_chat_remove_buddy(PurpleConversation * convo, char *data[2]) { /** * FIXME: is *message ever used ??? */ char *message = g_strdup_printf("quit: %s", data[1]); - if (gaim_conv_chat_find_user(GAIM_CONV_CHAT(convo), data[0])) - gaim_conv_chat_remove_user(GAIM_CONV_CHAT(convo), data[0], NULL); + if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(convo), data[0])) + purple_conv_chat_remove_user(PURPLE_CONV_CHAT(convo), data[0], NULL); g_free(message); } @@ -67,33 +67,34 @@ static void gaym_chat_remove_buddy(GaimC void gaym_msg_default(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - gaim_debug(GAIM_DEBUG_INFO, "gaym", "Unrecognized message: %s\n", + purple_debug(PURPLE_DEBUG_INFO, "gaym", "Unrecognized message: %s\n", args[0]); } void gaym_msg_away(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); if (!args || !args[1] || !gc) { return; } gcom_nick_to_gaym(args[1]); - serv_got_im(gc, args[1], args[2], GAIM_MESSAGE_AUTO_RESP, time(NULL)); + serv_got_im(gc, args[1], args[2], PURPLE_MESSAGE_AUTO_RESP, time(NULL)); } -static void gaym_fetch_photo_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, +static void gaym_fetch_photo_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, gsize len, const gchar* err) { + PurpleNotifyUserInfo *info; if (!info_data || !user_data) { return; } struct gaym_fetch_thumbnail_data *d = user_data; - char *info, *t = 0; + char *tmp, *t = 0; struct gaym_conn *gaym = d->gc->proto_data; @@ -103,22 +104,28 @@ static void gaym_fetch_photo_cb(GaimUtil void *dialog = g_hash_table_lookup(gaym->info_window_needed, - gaim_normalize(d->gc->account, d->who)); + purple_normalize(d->gc->account, d->who)); if (!dialog) return; - int id = gaim_imgstore_add(info_data, len, NULL); - info = g_strdup_printf (" Full Profile
" - "Stats: %s
" - "Bio: %s
" - "", - hashurl, d->who, d->stats, d->bio, id); + int id = purple_imgstore_add_with_id(info_data, len, NULL); + info = purple_notify_user_info_new(); - gaim_request_close(GAIM_REQUEST_ACTION, dialog); + purple_notify_user_info_add_pair(info, _("Stats"), d->stats); + + tmp = + g_strdup_printf + ("%s
Full Profile
", + d->bio, hashurl, d->who, id); + purple_notify_user_info_add_pair(info, _("Bio"), tmp); + g_free(tmp); + + purple_request_close(PURPLE_REQUEST_ACTION, dialog); g_hash_table_remove(gaym->info_window_needed, - gaim_normalize(d->gc->account, d->who)); - gaim_notify_userinfo(d->gc, d->who, info, NULL, NULL); + purple_normalize(d->gc->account, d->who)); + purple_notify_userinfo(d->gc, d->who, info, NULL, NULL); + purple_notify_user_info_destroy(info); g_free(t); if (d) { @@ -130,16 +137,17 @@ static void gaym_fetch_photo_cb(GaimUtil g_free(d->stats); g_free(d); } - gaim_imgstore_unref(id); + purple_imgstore_unref_by_id(id); } -static void gaym_fetch_info_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, +static void gaym_fetch_info_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, gsize len, const gchar* error_message) { struct gaym_fetch_thumbnail_data *d = user_data; char *picpath; char *picurl; - char *info; + PurpleNotifyUserInfo *info; + char *tmp; char *match = "pictures.0.url="; struct gaym_conn *gaym = d->gc->proto_data; @@ -150,44 +158,48 @@ static void gaym_fetch_info_cb(GaimUtilF void *dialog = g_hash_table_lookup(gaym->info_window_needed, - gaim_normalize(d->gc->account, d->who)); + purple_normalize(d->gc->account, d->who)); if (!dialog) return; - if (d->stats && d->bio) - info = - g_strdup_printf - ("Stats: %s
Bio: %s
Full Profile", - d->stats, d->bio, hashurl, d->who); - else if (d->stats) - info = - g_strdup_printf - ("Stats: %s
Full Profile", - d->stats, hashurl, d->who); - else if (d->bio) - info = + info = purple_notify_user_info_new(); + + if (d->stats) + purple_notify_user_info_add_pair(info, _("Stats"), d->stats); + + if (d->bio) { + tmp = g_strdup_printf - ("Bio: %s
Full Profile", + ("%s
Full Profile", d->bio, hashurl, d->who); - else - info = + purple_notify_user_info_add_pair(info, _("Bio"), tmp); + g_free(tmp); + } + + if (!(d->stats || d->bio)) + { + tmp = g_strdup_printf ("No Info Found
Full Profile", hashurl, d->who); + purple_notify_user_info_add_pair(info, tmp, NULL); + g_free(tmp); + } picpath = return_string_between(match, "\n", info_data); if (!picpath || strlen(picpath) == 0) { - gaim_request_close(GAIM_REQUEST_ACTION, dialog); + purple_request_close(PURPLE_REQUEST_ACTION, dialog); g_hash_table_remove(gaym->info_window_needed, - gaim_normalize(d->gc->account, d->who)); - gaim_notify_userinfo(d->gc, d->who, info, NULL, NULL); + purple_normalize(d->gc->account, d->who)); + purple_notify_userinfo(d->gc, d->who, info, NULL, NULL); + purple_notify_user_info_destroy(info); return; } picurl = g_strdup_printf("http://www.gay.com%s", picpath); if (picurl) { - gaim_util_fetch_url(picurl, FALSE, "Mozilla/4.0 (compatible; MSIE 5.0)", + purple_util_fetch_url(picurl, FALSE, "Mozilla/4.0 (compatible; MSIE 5.0)", FALSE, gaym_fetch_photo_cb, user_data); return; } @@ -210,25 +222,32 @@ void gaym_msg_no_such_nick(struct gaym_c gaym_buddy_status(gaym, args[1], FALSE, NULL, FALSE); - char *normalized = g_strdup(gaim_normalize(gaym->account, args[1])); + char *normalized = g_strdup(purple_normalize(gaym->account, args[1])); void *dialog; if ((dialog = g_hash_table_lookup(gaym->info_window_needed, normalized))) { + + PurpleNotifyUserInfo *info; + char *buf; g_hash_table_remove(gaym->info_window_needed, normalized); char *hashurl = g_hash_table_lookup(gaym->confighash, "view-profile-url"); g_return_if_fail(hashurl != NULL); - char *buf; + info = purple_notify_user_info_new(); + buf = g_strdup_printf ("That user is not logged on. Check here to see if that user has a profile.", hashurl, args[1]); - gaim_request_close(GAIM_REQUEST_ACTION, dialog); - gaim_notify_userinfo(gaim_account_get_connection(gaym->account), - args[1], buf, NULL, NULL); + purple_notify_user_info_add_pair(info, buf, NULL); + g_free(buf); + + purple_notify_userinfo(purple_account_get_connection(gaym->account), + args[1], info, NULL, NULL); + purple_notify_user_info_destroy(info); } g_free(normalized); @@ -251,7 +270,7 @@ void gaym_msg_whois(struct gaym_conn *ga gaym_buddy_status(gaym, args[1], TRUE, args[5], TRUE); - char *normalized = g_strdup(gaim_normalize(gaym->account, args[1])); + char *normalized = g_strdup(purple_normalize(gaym->account, args[1])); struct gaym_fetch_thumbnail_data *data; @@ -259,14 +278,14 @@ void gaym_msg_whois(struct gaym_conn *ga // during conversation-created. gaym_update_channel_member(gaym, normalized, args[5]); gaym_unreference_channel_member(gaym, normalized); - gaim_debug_misc("gaym", "signalling info update for %s\n", normalized); - gaim_signal_emit(gaim_accounts_get_handle(), "info-updated", + purple_debug_misc("gaym", "signalling info update for %s\n", normalized); + purple_signal_emit(purple_accounts_get_handle(), "info-updated", gaym->account, normalized); if (g_hash_table_lookup(gaym->info_window_needed, normalized)) { data = g_new0(struct gaym_fetch_thumbnail_data, 1); - data->gc = gaim_account_get_connection(gaym->account); + data->gc = purple_account_get_connection(gaym->account); data->who = g_strdup(args[1]); data->bio = gaym_bio_strdup(args[5]); data->stats = gaym_stats_strdup(args[5]); @@ -277,7 +296,7 @@ void gaym_msg_whois(struct gaym_conn *ga char *infourl = g_strdup_printf("%s?pw=%s&name=%s", hashurl, gaym->chat_key, args[1]); if (infourl) { - gaim_util_fetch_url(infourl, FALSE, + purple_util_fetch_url(infourl, FALSE, "Mozilla/4.0 (compatible; MSIE 5.0)", FALSE, gaym_fetch_info_cb, data); g_free(infourl); @@ -297,12 +316,12 @@ void gaym_msg_login_failed(struct gaym_c gaym_cmd_quit(gaym, "quit", NULL, NULL); // if (gc->inpa) - // gaim_input_remove(gc->inpa); + // purple_input_remove(gc->inpa); // g_free(gaym->inbuf); - // gaim_debug_misc("gaym", "Login failed. closing fd %i\n", gaym->fd); + // purple_debug_misc("gaym", "Login failed. closing fd %i\n", gaym->fd); // close(gaym->fd); - // gaim_debug_misc("gaym", "Get chatkey from weblogin\n"); + // purple_debug_misc("gaym", "Get chatkey from weblogin\n"); // gaym_get_hash_from_weblogin(gaym->account, // gaym_login_with_chat_key); @@ -323,11 +342,11 @@ void gaym_msg_list(struct gaym_conn *gay * Begin result of member created room list */ if (!strcmp(name, "321") && gaym->roomlist_filter == NULL) { - GaimRoomlistRoom *room; - room = gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_CATEGORY, + PurpleRoomlistRoom *room; + room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_CATEGORY, _("Member Created"), NULL); - gaim_roomlist_room_add(gaym->roomlist, room); - gaim_roomlist_set_in_progress(gaym->roomlist, TRUE); + purple_roomlist_room_add(gaym->roomlist, room); + purple_roomlist_set_in_progress(gaym->roomlist, TRUE); return; } @@ -335,7 +354,7 @@ void gaym_msg_list(struct gaym_conn *gay * The list of member created rooms */ if (!strcmp(name, "322")) { - GaimRoomlistRoom *room; + PurpleRoomlistRoom *room; char *field_start = NULL; char *field_end = NULL; size_t field_len = 0; @@ -352,7 +371,7 @@ void gaym_msg_list(struct gaym_conn *gay field_end = strrchr(args[1], '='); if (!field_start || !field_end) { - gaim_debug_error("gaym", + purple_debug_error("gaym", "Member created room list parsing error"); return; } @@ -383,13 +402,13 @@ void gaym_msg_list(struct gaym_conn *gay if (gaym->roomlist_filter == NULL || g_strstr_len(normalized, -1, gaym->roomlist_filter) != NULL) { - room = gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, + room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, field_name, g_list_nth_data(gaym->roomlist-> rooms, 0)); - gaim_roomlist_room_add_field(gaym->roomlist, room, field_name); - gaim_roomlist_room_add_field(gaym->roomlist, room, args[1]); - gaim_roomlist_room_add(gaym->roomlist, room); + purple_roomlist_room_add_field(gaym->roomlist, room, field_name); + purple_roomlist_room_add_field(gaym->roomlist, room, args[1]); + purple_roomlist_room_add(gaym->roomlist, room); } g_free(normalized); g_free(field_name); @@ -413,16 +432,16 @@ void gaym_msg_list(struct gaym_conn *gay void gaym_msg_unknown(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; if (!args || !args[1] || !gc) return; buf = g_strdup_printf(_("Unknown message '%s'"), args[1]); - gaim_notify_error(gc, _("Unknown message"), buf, + purple_notify_error(gc, _("Unknown message"), buf, _ - ("Gaim has sent a message the IRC server did not understand.")); + ("Purple has sent a message the IRC server did not understand.")); g_free(buf); } @@ -430,35 +449,35 @@ void gaym_msg_names(struct gaym_conn *ga const char *from, char **args) { char *names, *cur, *end, *tmp, *msg; - GaimConversation *convo; - gaim_debug_misc("names", "%s %s %s %s", name, from, args[1], args[2]); + PurpleConversation *convo; + purple_debug_misc("names", "%s %s %s %s", name, from, args[1], args[2]); if (!strcmp(name, "366")) { GaymNamelist *namelist = g_queue_peek_head(gaym->namelists); - gaim_debug_misc("names", "namelist->roomname:%s\n", + purple_debug_misc("names", "namelist->roomname:%s\n", namelist->roomname); if (namelist && !strncmp(namelist->roomname, args[1], strlen(namelist->roomname))) { - gaim_debug_misc("names", + purple_debug_misc("names", "*****Got all names responses for %s\n", args[1]); GaymNamelist *namelist = g_queue_pop_head(gaym->namelists); - gaim_debug_misc("msgs", + purple_debug_misc("msgs", "should be emitting namelist-complete signal passing namelist %x\n", namelist); - gaim_signal_emit(gaim_accounts_get_handle(), + purple_signal_emit(purple_accounts_get_handle(), "namelist-complete", gaym->account, namelist); return; } if (!gaym->nameconv) return; convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, gaym->nameconv ? gaym-> nameconv : args[1], gaym->account); if (!convo) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Got a NAMES list for %s, which doesn't exist\n", args[1]); g_string_free(gaym->names, TRUE); @@ -475,14 +494,14 @@ void gaym_msg_names(struct gaym_conn *ga g_strdup_printf(_("Users on %s: %s"), args[1] ? args[1] : "", names ? names : ""); - if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), "", msg, - GAIM_MESSAGE_SYSTEM | - GAIM_MESSAGE_NO_LOG, time(NULL)); + if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "", msg, + PURPLE_MESSAGE_SYSTEM | + PURPLE_MESSAGE_NO_LOG, time(NULL)); else - gaim_conv_im_write(GAIM_CONV_IM(convo), "", msg, - GAIM_MESSAGE_SYSTEM | - GAIM_MESSAGE_NO_LOG, time(NULL)); + purple_conv_im_write(PURPLE_CONV_IM(convo), "", msg, + PURPLE_MESSAGE_SYSTEM | + PURPLE_MESSAGE_NO_LOG, time(NULL)); g_free(msg); g_free(gaym->nameconv); gaym->nameconv = NULL; @@ -503,7 +522,7 @@ void gaym_msg_names(struct gaym_conn *ga if (users != NULL) { GList *l; - gaim_conv_chat_add_users(GAIM_CONV_CHAT(convo), users, + purple_conv_chat_add_users(PURPLE_CONV_CHAT(convo), users, NULL, NULL, FALSE); for (l = users; l != NULL; l = l->next) @@ -518,14 +537,14 @@ void gaym_msg_names(struct gaym_conn *ga gaym->names = g_string_new(""); gaym->names = g_string_append(gaym->names, args[3]); } - gaim_debug_misc("names", "Response: %s\n", args[3]); + purple_debug_misc("names", "Response: %s\n", args[3]); GaymNamelist *nameslist = g_queue_peek_head(gaym->namelists); if (nameslist) { gchar **names = g_strsplit(args[3], " ", -1); int i = 0; - gaim_debug_misc("names", + purple_debug_misc("names", "names[i]: %s, nameslist->current: %x\n", names[i], nameslist->current); while (names[i] && strlen(names[i]) && nameslist->current) { @@ -547,30 +566,30 @@ void gaym_msg_names(struct gaym_conn *ga void gaym_msg_endmotd(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc; + PurpleConnection *gc; - GaimBlistNode *gnode, *cnode, *bnode; - gaim_debug_misc("gaym", "Got motd\n"); + PurpleBlistNode *gnode, *cnode, *bnode; + purple_debug_misc("gaym", "Got motd\n"); - gc = gaim_account_get_connection(gaym->account); + gc = purple_account_get_connection(gaym->account); if (!gc) { - gaim_debug_misc("gaym", "!gc ???\n"); + purple_debug_misc("gaym", "!gc ???\n"); return; } - gaim_connection_set_state(gc, GAIM_CONNECTED); + purple_connection_set_state(gc, PURPLE_CONNECTED); // serv_finish_login(gc); /* this used to be in the core, but it's not now */ - for (gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { - if (!GAIM_BLIST_NODE_IS_GROUP(gnode)) + for (gnode = purple_get_blist()->root; gnode; gnode = gnode->next) { + if (!PURPLE_BLIST_NODE_IS_GROUP(gnode)) continue; for (cnode = gnode->child; cnode; cnode = cnode->next) { - if (!GAIM_BLIST_NODE_IS_CONTACT(cnode)) + if (!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) continue; for (bnode = cnode->child; bnode; bnode = bnode->next) { - GaimBuddy *b; - if (!GAIM_BLIST_NODE_IS_BUDDY(bnode)) + PurpleBuddy *b; + if (!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) continue; - b = (GaimBuddy *) bnode; + b = (PurpleBuddy *) bnode; if (b->account == gc->account) { struct gaym_buddy *ib = g_new0(struct gaym_buddy, 1); ib->name = g_strdup(b->name); @@ -580,11 +599,11 @@ void gaym_msg_endmotd(struct gaym_conn * } } - gaim_debug_misc("gaym", "Calling blist timeout\n"); + purple_debug_misc("gaym", "Calling blist timeout\n"); gaym_blist_timeout(gaym); if (!gaym->timer) gaym->timer = - gaim_timeout_add(BLIST_UPDATE_PERIOD, + purple_timeout_add(BLIST_UPDATE_PERIOD, (GSourceFunc) gaym_blist_timeout, (gpointer) gaym); } @@ -592,40 +611,40 @@ void gaym_msg_endmotd(struct gaym_conn * void gaym_msg_nochan(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); if (gc == NULL || args == NULL || args[1] == NULL) return; - gaim_notify_error(gc, NULL, _("No such channel"), args[1]); + purple_notify_error(gc, NULL, _("No such channel"), args[1]); } void gaym_msg_nonick_chan(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); - GaimConversation *convo; + PurpleConnection *gc = purple_account_get_connection(gaym->account); + PurpleConversation *convo; convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[1], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[1], gaym->account); if (convo) { - if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) { + if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) { /* does this happen? */ - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], _("no such channel"), - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } else { - gaim_conv_im_write(GAIM_CONV_IM(convo), args[1], + purple_conv_im_write(PURPLE_CONV_IM(convo), args[1], _("User is not logged in"), - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } } else { - if ((gc = gaim_account_get_connection(gaym->account)) == NULL) + if ((gc = purple_account_get_connection(gaym->account)) == NULL) return; - gaim_notify_error(gc, NULL, _("Not logged in: "), args[1]); + purple_notify_error(gc, NULL, _("Not logged in: "), args[1]); } if (gc == NULL || args == NULL || args[1] == NULL) @@ -637,49 +656,49 @@ void gaym_msg_nonick_chan(struct gaym_co void gaym_msg_nonick(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc; - GaimConversation *convo; + PurpleConnection *gc; + PurpleConversation *convo; convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[1], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[1], gaym->account); if (convo) { - if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) { + if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) { /* does this happen? */ - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], _("no such channel"), - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } else { - gaim_conv_im_write(GAIM_CONV_IM(convo), args[1], + purple_conv_im_write(PURPLE_CONV_IM(convo), args[1], _("User is not logged in"), - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } } else { - if ((gc = gaim_account_get_connection(gaym->account)) == NULL) + if ((gc = purple_account_get_connection(gaym->account)) == NULL) return; - gaim_notify_error(gc, NULL, _("No such nick or channel"), args[1]); + purple_notify_error(gc, NULL, _("No such nick or channel"), args[1]); } } void gaym_msg_nosend(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc; - GaimConversation *convo; + PurpleConnection *gc; + PurpleConversation *convo; convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, args[1], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, args[1], gaym->account); if (convo) { - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], args[2], - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], args[2], + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } else { - if ((gc = gaim_account_get_connection(gaym->account)) == NULL) + if ((gc = purple_account_get_connection(gaym->account)) == NULL) return; - gaim_notify_error(gc, NULL, _("Could not send"), args[2]); + purple_notify_error(gc, NULL, _("Could not send"), args[2]); } } @@ -689,18 +708,18 @@ void gaym_msg_nosend(struct gaym_conn *g void gaym_msg_notinchan(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConversation *convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, args[1], + PurpleConversation *convo = + purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, args[1], gaym->account); - gaim_debug(GAIM_DEBUG_INFO, "gaym", + purple_debug(PURPLE_DEBUG_INFO, "gaym", "We're apparently not in %s, but tried to use it\n", args[1]); if (convo) { /* g_slist_remove(gaym->gc->buddy_chats, convo); - gaim_conversation_set_account(convo, NULL); */ - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], args[2], - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conversation_set_account(convo, NULL); */ + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], args[2], + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } } @@ -711,7 +730,7 @@ void gaym_msg_notinchan(struct gaym_conn void gaym_msg_invite(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *nick = gaym_mask_nick(from); GHashTable *components = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); @@ -738,7 +757,7 @@ void gaym_msg_invite(struct gaym_conn *g void gaym_msg_inviteonly(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; if (!args || !args[1] || !gc) @@ -746,20 +765,20 @@ void gaym_msg_inviteonly(struct gaym_con buf = g_strdup_printf(_("Joining %s requires an invitation."), args[1]); - gaim_notify_error(gc, _("Invitation only"), _("Invitation only"), buf); + purple_notify_error(gc, _("Invitation only"), _("Invitation only"), buf); g_free(buf); } void gaym_msg_trace(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConversation *conv = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, + PurpleConversation *conv = + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, gaym->traceconv ? gaym-> traceconv : args[1], gaym->account); - gaim_conversation_write(conv, "TRACE", args[3], - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conversation_write(conv, "TRACE", args[3], + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } @@ -767,29 +786,29 @@ void gaym_msg_trace(struct gaym_conn *ga void gaym_msg_join(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - gaim_debug_misc("join", "got join for %s\n", args[0]); - GaimConnection *gc = gaim_account_get_connection(gaym->account); + purple_debug_misc("join", "got join for %s\n", args[0]); + PurpleConnection *gc = purple_account_get_connection(gaym->account); g_return_if_fail(gc != NULL); char *nick = gaym_mask_nick(from); - GaimConversation *convo; - GaimConvChatBuddyFlags flags = GAIM_CBFLAGS_NONE; + PurpleConversation *convo; + PurpleConvChatBuddyFlags flags = PURPLE_CBFLAGS_NONE; char *bio = NULL; char *bio_markedup = NULL; static int id = 1; gcom_nick_to_gaym(nick); - if (!gaim_utf8_strcasecmp(nick, gaim_connection_get_display_name(gc))) { + if (!purple_utf8_strcasecmp(nick, purple_connection_get_display_name(gc))) { /* We are joining a channel for the first time */ gpointer data, unused; gboolean hammering = g_hash_table_lookup_extended (gaym->hammers, args[0], &unused, &data); // There was a hammer, but it is cancelled. Leave! - gaim_debug_misc("join", "Joined %s\n", args[0]); + purple_debug_misc("join", "Joined %s\n", args[0]); if (hammering && !data) { // hammer was cancelled. - gaim_debug_misc("gaym", + purple_debug_misc("gaym", "JOINED, BUT HAMMER CANCELLED: ABORT!!!!\n"); g_hash_table_remove(gaym->hammers, args[0]); gaym_cmd_part(gaym, NULL, NULL, (const char **) args); @@ -808,10 +827,10 @@ void gaym_msg_join(struct gaym_conn *gay } convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[0], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], gaym->account); if (convo == NULL) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", "JOIN for %s failed\n", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "JOIN for %s failed\n", args[0]); g_free(nick); return; @@ -828,7 +847,7 @@ void gaym_msg_join(struct gaym_conn *gay bio = gaym_bio_strdup(args[1]); if (bio) { - bio_markedup = gaim_markup_linkify(bio); + bio_markedup = purple_markup_linkify(bio); g_free(bio); } @@ -841,15 +860,15 @@ void gaym_msg_join(struct gaym_conn *gay gboolean gaym_privacy_permit = gaym_privacy_check(gc, nick); gboolean show_join = - gaim_prefs_get_bool("/plugins/prpl/gaym/show_join"); + purple_prefs_get_bool("/plugins/prpl/gaym/show_join"); - if (gaim_prefs_get_bool("/plugins/prpl/gaym/show_bio_with_join")) { - gaim_conv_chat_add_user(GAIM_CONV_CHAT(convo), nick, bio_markedup, + if (purple_prefs_get_bool("/plugins/prpl/gaym/show_bio_with_join")) { + purple_conv_chat_add_user(PURPLE_CONV_CHAT(convo), nick, bio_markedup, flags, (gaym_privacy_permit && gaym_botfilter_permit && show_join)); } else { - gaim_conv_chat_add_user(GAIM_CONV_CHAT(convo), nick, NULL, + purple_conv_chat_add_user(PURPLE_CONV_CHAT(convo), nick, NULL, flags, (gaym_privacy_permit && gaym_botfilter_permit && show_join)); @@ -858,11 +877,11 @@ void gaym_msg_join(struct gaym_conn *gay /** * Make the ignore.png icon appear next to the nick. */ - GaimConversationUiOps *ops = gaim_conversation_get_ui_ops(convo); + PurpleConversationUiOps *ops = purple_conversation_get_ui_ops(convo); if (gaym_privacy_permit && gaym_botfilter_permit) { - gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), nick); + purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), nick); } else { - gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), nick); + purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), nick); } ops->chat_update_user((convo), nick); @@ -874,15 +893,15 @@ void gaym_msg_join(struct gaym_conn *gay void gaym_msg_mode(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConversation *convo; + PurpleConversation *convo; char *nick = gaym_mask_nick(from), *buf; if (*args[0] == '#' || *args[0] == '&') { /* Channel */ convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], gaym->account); if (!convo) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "MODE received for %s, which we are not in\n", args[0]); g_free(nick); @@ -891,12 +910,12 @@ void gaym_msg_mode(struct gaym_conn *gay buf = g_strdup_printf(_("mode (%s %s) by %s"), args[1], args[2] ? args[2] : "", nick); - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[0], buf, - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[0], buf, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); g_free(buf); if (args[2]) { - GaimConvChatBuddyFlags newflag, flags; + PurpleConvChatBuddyFlags newflag, flags; char *mcur, *cur, *end, *user; gboolean add = FALSE; mcur = args[1]; @@ -912,21 +931,21 @@ void gaym_msg_mode(struct gaym_conn *gay end = cur + strlen(cur); user = g_strndup(cur, end - cur); flags = - gaim_conv_chat_user_get_flags(GAIM_CONV_CHAT(convo), + purple_conv_chat_user_get_flags(PURPLE_CONV_CHAT(convo), user); - newflag = GAIM_CBFLAGS_NONE; + newflag = PURPLE_CBFLAGS_NONE; if (*mcur == 'o') - newflag = GAIM_CBFLAGS_OP; + newflag = PURPLE_CBFLAGS_OP; else if (*mcur == 'h') - newflag = GAIM_CBFLAGS_HALFOP; + newflag = PURPLE_CBFLAGS_HALFOP; else if (*mcur == 'v') - newflag = GAIM_CBFLAGS_VOICE; + newflag = PURPLE_CBFLAGS_VOICE; if (newflag) { if (add) flags |= newflag; else flags &= ~newflag; - gaim_conv_chat_user_set_flags(GAIM_CONV_CHAT(convo), + purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(convo), user, flags); } g_free(user); @@ -947,7 +966,7 @@ void gaym_msg_nick(struct gaym_conn *gay { GSList *chats; - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *nick = gaym_mask_nick(from); if (!gc) { @@ -957,15 +976,15 @@ void gaym_msg_nick(struct gaym_conn *gay chats = gc->buddy_chats; - if (!gaim_utf8_strcasecmp(nick, gaim_connection_get_display_name(gc))) { - gaim_connection_set_display_name(gc, args[0]); + if (!purple_utf8_strcasecmp(nick, purple_connection_get_display_name(gc))) { + purple_connection_set_display_name(gc, args[0]); } while (chats) { - GaimConvChat *chat = GAIM_CONV_CHAT(chats->data); + PurpleConvChat *chat = PURPLE_CONV_CHAT(chats->data); /* This is ugly ... */ - if (gaim_conv_chat_find_user(chat, nick)) - gaim_conv_chat_rename_user(chat, nick, args[0]); + if (purple_conv_chat_find_user(chat, nick)) + purple_conv_chat_rename_user(chat, nick, args[0]); chats = chats->next; } g_free(nick); @@ -974,7 +993,7 @@ void gaym_msg_nick(struct gaym_conn *gay void gaym_msg_notice(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); if (!gc) { return; @@ -990,10 +1009,10 @@ void gaym_msg_notice(struct gaym_conn *g void gaym_msg_part(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConversation *convo; + PurpleConversation *convo; char *msg; - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *nick = gaym_mask_nick(from); if (!args || !args[0] || !gc || !nick) { @@ -1002,43 +1021,43 @@ void gaym_msg_part(struct gaym_conn *gay } convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[0], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], gaym->account); gboolean show_part = - gaim_prefs_get_bool("/plugins/prpl/gaym/show_part"); + purple_prefs_get_bool("/plugins/prpl/gaym/show_part"); gcom_nick_to_gaym(nick); - if (!gaim_utf8_strcasecmp(nick, gaim_connection_get_display_name(gc))) { + if (!purple_utf8_strcasecmp(nick, purple_connection_get_display_name(gc))) { g_hash_table_remove(gaym->entry_order, args[0]); msg = g_strdup_printf(_("You have parted the channel")); - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[0], msg, - GAIM_MESSAGE_SYSTEM, time(NULL)); + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[0], msg, + PURPLE_MESSAGE_SYSTEM, time(NULL)); g_free(msg); serv_got_chat_left(gc, - gaim_conv_chat_get_id(GAIM_CONV_CHAT(convo))); + purple_conv_chat_get_id(PURPLE_CONV_CHAT(convo))); } else { - if (!gaim_conv_chat_is_user_ignored(GAIM_CONV_CHAT(convo), nick) + if (!purple_conv_chat_is_user_ignored(PURPLE_CONV_CHAT(convo), nick) && show_part) { - gaim_conv_chat_remove_user(GAIM_CONV_CHAT(convo), nick, NULL); + purple_conv_chat_remove_user(PURPLE_CONV_CHAT(convo), nick, NULL); } else { - GaimConversationUiOps *ops = - gaim_conversation_get_ui_ops(convo); + PurpleConversationUiOps *ops = + purple_conversation_get_ui_ops(convo); if (ops != NULL && ops->chat_remove_users != NULL) { GList* users = g_list_append(NULL, (char*)nick); ops->chat_remove_users(convo, users); } - GaimConvChatBuddy *cb = - gaim_conv_chat_cb_find(GAIM_CONV_CHAT(convo), nick); + PurpleConvChatBuddy *cb = + purple_conv_chat_cb_find(PURPLE_CONV_CHAT(convo), nick); if (cb) { - gaim_conv_chat_set_users(GAIM_CONV_CHAT(convo), + purple_conv_chat_set_users(PURPLE_CONV_CHAT(convo), g_list_remove - (gaim_conv_chat_get_users - (GAIM_CONV_CHAT(convo)), cb)); - gaim_conv_chat_cb_destroy(cb); + (purple_conv_chat_get_users + (PURPLE_CONV_CHAT(convo)), cb)); + purple_conv_chat_cb_destroy(cb); if (!gaym_unreference_channel_member(gaym, nick)) - gaim_debug_error("gaym", + purple_debug_error("gaym", "channel_members reference counting bug.\n"); } } @@ -1062,8 +1081,8 @@ void gaym_msg_ping(struct gaym_conn *gay void gaym_msg_pong(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConversation *convo; - GaimConnection *gc; + PurpleConversation *convo; + PurpleConnection *gc; char **parts, *msg; time_t oldstamp; @@ -1086,25 +1105,25 @@ void gaym_msg_pong(struct gaym_conn *gay } convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, parts[0], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, parts[0], gaym->account); g_strfreev(parts); if (convo) { - if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) - gaim_conv_chat_write(GAIM_CONV_CHAT(convo), "PONG", msg, - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "PONG", msg, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); else - gaim_conv_im_write(GAIM_CONV_IM(convo), "PONG", msg, - GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, + purple_conv_im_write(PURPLE_CONV_IM(convo), "PONG", msg, + PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, time(NULL)); } else { - gc = gaim_account_get_connection(gaym->account); + gc = purple_account_get_connection(gaym->account); if (!gc) { g_free(msg); return; } - gaim_notify_info(gc, NULL, "PONG", msg); + purple_notify_info(gc, NULL, "PONG", msg); } g_free(msg); } @@ -1112,11 +1131,11 @@ void gaym_msg_pong(struct gaym_conn *gay void gaym_msg_privmsg(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConversation *convo; + PurpleConversation *convo; char *tmp=0, *msg=0; int notice = 0; - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *nick = gaym_mask_nick(from); if (!args || !args[0] || !args[1] || !gc) { @@ -1153,7 +1172,7 @@ void gaym_msg_privmsg(struct gaym_conn * } convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[0], + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], gaym->account); notice = !strcmp(args[0], " notice "); @@ -1180,17 +1199,17 @@ void gaym_msg_privmsg(struct gaym_conn * msg = tmp; } - if (!gaim_utf8_strcasecmp - (args[0], gaim_connection_get_display_name(gc))) { + if (!purple_utf8_strcasecmp + (args[0], purple_connection_get_display_name(gc))) { serv_got_im(gc, nick, msg, 0, time(NULL)); } else if (notice) { serv_got_im(gc, nick, msg, 0, time(NULL)); } else if (convo) { - serv_got_chat_in(gc, gaim_conv_chat_get_id(GAIM_CONV_CHAT(convo)), + serv_got_chat_in(gc, purple_conv_chat_get_id(PURPLE_CONV_CHAT(convo)), nick, 0, msg, time(NULL)); } else { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Got a PRIVMSG on %s, which does not exist\n", args[0]); } @@ -1201,14 +1220,14 @@ void gaym_msg_privmsg(struct gaym_conn * void gaym_msg_regonly(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *msg; if (!args || !args[1] || !args[2] || !gc) return; msg = g_strdup_printf(_("Cannot join %s:"), args[1]); - gaim_notify_error(gc, _("Cannot join channel"), msg, args[2]); + purple_notify_error(gc, _("Cannot join channel"), msg, args[2]); g_free(msg); } @@ -1216,7 +1235,7 @@ void gaym_msg_regonly(struct gaym_conn * void gaym_msg_quit(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *data[2]; if (!args || !args[0] || !gc) @@ -1253,7 +1272,7 @@ void gaym_msg_who(struct gaym_conn *gaym // Because the names parsing section terminates on a "names" from // The exact channel name match. if (g_str_has_suffix(args[1], "=*")) { - gaim_debug_misc("who", + purple_debug_misc("who", "Has a =* suffix, sending out one more namescmd \n"); const char *cmdargs[1] = { args[1] }; gaym_cmd_names(gaym, NULL, NULL, cmdargs); @@ -1303,7 +1322,7 @@ void gaym_msg_who(struct gaym_conn *gaym return; val = g_ascii_digit_value(*(++pos)); if (val != nameslist->num_rooms) { - gaim_debug_misc("msgs", "*******NEXT ROOM******\n"); + purple_debug_misc("msgs", "*******NEXT ROOM******\n"); const char *cmdargs[1] = { args[1] }; gaym_cmd_names(gaym, NULL, NULL, cmdargs); nameslist->num_rooms = val; @@ -1320,10 +1339,10 @@ void hammer_stop_cb(gpointer data) { struct hammer_cb_data *hdata = (struct hammer_cb_data *) data; - gaim_debug_misc("gaym", "hammer stopped, dialog is %x\n", + purple_debug_misc("gaym", "hammer stopped, dialog is %x\n", hdata->cancel_dialog); // This destroys the hammer data! - gaim_debug_misc("gaym", "Cancelling hammer: %s\n", hdata->room); + purple_debug_misc("gaym", "Cancelling hammer: %s\n", hdata->room); // I'm not sure if the dialog data is freed. // For now, I assume not. // hdata->cancel_dialog=0; @@ -1337,7 +1356,7 @@ void hammer_cb_data_destroy(struct hamme if (!hdata) return; if (hdata->cancel_dialog) - gaim_request_close(GAIM_REQUEST_ACTION, hdata->cancel_dialog); + purple_request_close(PURPLE_REQUEST_ACTION, hdata->cancel_dialog); if (hdata->room) g_free(hdata->room); g_free(hdata); @@ -1357,8 +1376,8 @@ void hammer_cb_yes(gpointer data) char *msg; msg = g_strdup_printf("Hammering into room %s", hdata->room); hdata->cancel_dialog = - gaim_request_action(hdata->gaym->account->gc, _("Cancel Hammer"), - msg, NULL, 0, hdata, 1, ("Cancel"), + purple_request_action(hdata->gaym->account->gc, _("Cancel Hammer"), + msg, NULL, 0, hdata->gaym->account, NULL, NULL, hdata, 1, ("Cancel"), hammer_stop_cb); g_hash_table_insert(hdata->gaym->hammers, g_strdup(hdata->room), hdata); @@ -1371,7 +1390,7 @@ void hammer_cb_yes(gpointer data) void gaym_msg_chanfull(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; const char *joinargs[1]; @@ -1389,7 +1408,7 @@ void gaym_msg_chanfull(struct gaym_conn // Add delay here? gaym_cmd_join(gaym, NULL, NULL, joinargs); } else if (hammering && !data) { // hammer was cancelled. - gaim_debug_misc("gaym", "HAMMER CANCELLED ON FULL MESSAGE\n"); + purple_debug_misc("gaym", "HAMMER CANCELLED ON FULL MESSAGE\n"); g_hash_table_remove(gaym->hammers, args[1]); } else { buf = @@ -1399,7 +1418,8 @@ void gaym_msg_chanfull(struct gaym_conn hdata->gaym = gaym; hdata->room = g_strdup(args[1]); hdata->cancel_dialog = NULL; - gaim_request_yes_no(gc, _("Room Full"), _("Room Full"), buf, 0, + purple_request_yes_no(gc, _("Room Full"), _("Room Full"), buf, 0, + gaym->account, NULL, NULL, hdata, hammer_cb_yes, hammer_cb_no); g_free(buf); @@ -1410,13 +1430,13 @@ void gaym_msg_chanfull(struct gaym_conn void gaym_msg_create_pay_only(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; if (!args || !args[1] || !gc) { return; } buf = g_strdup_printf(_("%s"), args[2]); - gaim_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); + purple_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); /** * FIXME * by now the chatroom is already in the buddy list...need @@ -1428,7 +1448,7 @@ void gaym_msg_create_pay_only(struct gay void gaym_msg_pay_channel(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; if (!args || !args[1] || !gc) @@ -1437,14 +1457,14 @@ void gaym_msg_pay_channel(struct gaym_co buf = g_strdup_printf(_("The channel %s is for paying members only."), args[1]); - gaim_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); + purple_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); g_free(buf); } void gaym_msg_toomany_channels(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; if (!args || !args[1] || !gc) @@ -1454,7 +1474,7 @@ void gaym_msg_toomany_channels(struct ga g_strdup_printf(_ ("You have joined too many channels the maximum is (2). You cannot join channel %s. Part another channel first ."), args[1]); - gaim_notify_error(gc, _("Maximum ChannelsReached"), + purple_notify_error(gc, _("Maximum ChannelsReached"), _("Maximum ChannelsReached"), buf); g_free(buf); } @@ -1462,15 +1482,15 @@ void gaym_msg_toomany_channels(struct ga void gaym_msg_list_busy(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); + PurpleConnection *gc = purple_account_get_connection(gaym->account); char *buf; if (!args || !args[1] || !gc) { return; } buf = g_strdup_printf(_("%s"), args[1]); - gaim_notify_error(gc, _("Server Busy"), _("Server Busy"), buf); + purple_notify_error(gc, _("Server Busy"), _("Server Busy"), buf); // if (gaym->roomlist) { - // gaim_roomlist_cancel_get_list(gaym->roomlist); + // purple_roomlist_cancel_get_list(gaym->roomlist); // } g_free(buf); /** @@ -1490,9 +1510,9 @@ void gaym_msg_list_busy(struct gaym_conn void gaym_msg_richnames_list(struct gaym_conn *gaym, const char *name, const char *from, char **args) { - GaimConnection *gc = gaim_account_get_connection(gaym->account); - GaimConversation *convo; - GaimConvChatBuddyFlags flags = GAIM_CBFLAGS_NONE; + PurpleConnection *gc = purple_account_get_connection(gaym->account); + PurpleConversation *convo; + PurpleConvChatBuddyFlags flags = PURPLE_CBFLAGS_NONE; char *channel = args[1]; char *nick = args[2]; char *extra = args[4]; @@ -1502,12 +1522,12 @@ void gaym_msg_richnames_list(struct gaym } gcom_nick_to_gaym(nick); - gaim_debug(GAIM_DEBUG_INFO, "gaym", + purple_debug(PURPLE_DEBUG_INFO, "gaym", "gaym_msg_richnames_list() Channel: %s Nick: %s Extra: %s\n", channel, nick, extra); convo = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, channel, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, channel, gaym->account); char *bio = gaym_bio_strdup(extra); @@ -1518,7 +1538,7 @@ void gaym_msg_richnames_list(struct gaym gaym_buddy_status(gaym, nick, TRUE, extra, FALSE); if (convo == NULL) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", "690 for %s failed\n", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "690 for %s failed\n", args[1]); return; } @@ -1529,17 +1549,17 @@ void gaym_msg_richnames_list(struct gaym flags = chat_pecking_order(extra); flags = include_chat_entry_order(flags, (*entry)--); - gaim_conv_chat_add_user(GAIM_CONV_CHAT(convo), nick, NULL, flags, + purple_conv_chat_add_user(PURPLE_CONV_CHAT(convo), nick, NULL, flags, FALSE); /** * Make the ignore.png icon appear next to the nick. */ - GaimConversationUiOps *ops = gaim_conversation_get_ui_ops(convo); + PurpleConversationUiOps *ops = purple_conversation_get_ui_ops(convo); if (gaym_privacy_check(gc, nick) && gaym_botfilter_permit) { - gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), nick); + purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), nick); } else { - gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), nick); + purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), nick); } ops->chat_update_user((convo), nick); gaym_update_channel_member(gaym, nick, extra); diff -Nurdp fork-for-gaim-2.gaim/gaym/src/parse.c fork-for-gaim-2.pidgin/gaym/src/parse.c --- fork-for-gaim-2.gaim/gaym/src/parse.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/parse.c 2007-05-15 20:55:31.000000000 +0100 @@ -198,38 +198,38 @@ static struct _gaym_user_cmd { }; -static GaimCmdRet gaym_parse_gaim_cmd(GaimConversation * conv, +static PurpleCmdRet gaym_parse_purple_cmd(PurpleConversation * conv, const gchar * cmd, gchar ** args, gchar ** error, void *data) { - GaimConnection *gc; + PurpleConnection *gc; struct gaym_conn *gaym; struct _gaym_user_cmd *cmdent; - gc = gaim_conversation_get_gc(conv); + gc = purple_conversation_get_gc(conv); if (!gc) - return GAIM_CMD_RET_FAILED; + return PURPLE_CMD_RET_FAILED; gaym = gc->proto_data; if ((cmdent = g_hash_table_lookup(gaym->cmds, cmd)) == NULL) - return GAIM_CMD_RET_FAILED; + return PURPLE_CMD_RET_FAILED; - (cmdent->cb) (gaym, cmd, gaim_conversation_get_name(conv), + (cmdent->cb) (gaym, cmd, purple_conversation_get_name(conv), (const char **) args); - return GAIM_CMD_RET_OK; + return PURPLE_CMD_RET_OK; } static void gaym_register_command(struct _gaym_user_cmd *c) { - GaimCmdFlag f; + PurpleCmdFlag f; char args[10]; char *format; int i; - f = GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_PRPL_ONLY - | GAIM_CMD_FLAG_ALLOW_WRONG_ARGS; + f = PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY + | PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS; format = c->format; @@ -249,8 +249,8 @@ static void gaym_register_command(struct args[i] = '\0'; - gaim_cmd_register(c->name, args, GAIM_CMD_P_PRPL, f, "prpl-gaym", - gaym_parse_gaim_cmd, _(c->help), NULL); + purple_cmd_register(c->name, args, PURPLE_CMD_P_PRPL, f, "prpl-gaym", + gaym_parse_purple_cmd, _(c->help), NULL); } void gaym_register_commands(void) @@ -268,7 +268,7 @@ static char *gaym_send_convert(struct ga const gchar *charset; charset = - gaim_account_get_string(gaym->account, "encoding", + purple_account_get_string(gaym->account, "encoding", IRC_DEFAULT_CHARSET); if (!strcasecmp("UTF-8", charset)) return g_strdup(string); @@ -277,9 +277,9 @@ static char *gaym_send_convert(struct ga g_convert(string, strlen(string), charset, "UTF-8", NULL, NULL, &err); if (err) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", "Send conversion error: %s\n", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Send conversion error: %s\n", err->message); - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Sending as UTF-8 instead of %s\n", charset); utf8 = g_strdup(string); g_error_free(err); @@ -295,7 +295,7 @@ static char *gaym_recv_convert(struct ga const gchar *charset; charset = - gaim_account_get_string(gaym->account, "encoding", + purple_account_get_string(gaym->account, "encoding", IRC_DEFAULT_CHARSET); if (!strcasecmp("UTF-8", charset)) { @@ -308,7 +308,7 @@ static char *gaym_recv_convert(struct ga } if (err) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", "recv conversion error: %s\n", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "recv conversion error: %s\n", err->message); g_error_free(err); } @@ -325,7 +325,7 @@ static char *gaym_recv_convert(struct ga char *gaym_parse_ctcp(struct gaym_conn *gaym, const char *from, const char *to, const char *msg, int notice) { - GaimConnection *gc; + PurpleConnection *gc; const char *cur = msg + 1; char *buf, *ctcp; time_t timestamp; @@ -345,25 +345,25 @@ char *gaym_parse_ctcp(struct gaym_conn * } else if (!strncmp(cur, "PING ", 5)) { if (notice) { /* reply */ sscanf(cur, "PING %lu", ×tamp); - gc = gaim_account_get_connection(gaym->account); + gc = purple_account_get_connection(gaym->account); if (!gc) return NULL; buf = g_strdup_printf(_("Reply time from %s: %lu seconds"), from, time(NULL) - timestamp); - gaim_notify_info(gc, _("PONG"), _("CTCP PING reply"), buf); + purple_notify_info(gc, _("PONG"), _("CTCP PING reply"), buf); g_free(buf); return NULL; } else { buf = gaym_format(gaym, "vt:", "NOTICE", from, msg); gaym_send(gaym, buf); g_free(buf); - gc = gaim_account_get_connection(gaym->account); + gc = purple_account_get_connection(gaym->account); } } else if (!strncmp(cur, "VERSION", 7) && !notice) { buf = gaym_format(gaym, "vt:", "NOTICE", from, - "\001VERSION Gaim IRC\001"); + "\001VERSION Purple IRC\001"); gaym_send(gaym, buf); g_free(buf); } else if (!strncmp(cur, "DCC SEND ", 9)) { @@ -385,7 +385,7 @@ void gaym_msg_table_build(struct gaym_co int i; if (!gaym || !gaym->msgs) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Attempt to build a message table on a bogus structure\n"); return; } @@ -401,7 +401,7 @@ void gaym_cmd_table_build(struct gaym_co int i; if (!gaym || !gaym->cmds) { - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Attempt to build a command table on a bogus structure\n"); return; } @@ -442,7 +442,7 @@ char *gaym_format(struct gaym_conn *gaym g_free(tmp); break; default: - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Invalid format character '%c'\n", *cur); break; } @@ -459,7 +459,7 @@ void gaym_parse_msg(struct gaym_conn *ga NULL, *fmt = NULL, **args = NULL, *msg = NULL; guint i; - /* gaim_debug(GAIM_DEBUG_INFO, "gaym", "RAW Protocol: %s\n", input); */ + /* purple_debug(PURPLE_DEBUG_INFO, "gaym", "RAW Protocol: %s\n", input); */ if (!strncmp(input, "PING ", 5)) { msg = gaym_format(gaym, "vv", "PONG", input + 5); @@ -467,7 +467,7 @@ void gaym_parse_msg(struct gaym_conn *ga g_free(msg); return; } else if (!strncmp(input, "ERROR ", 6)) { - gaim_connection_error(gaim_account_get_connection(gaym->account), + purple_connection_error(purple_account_get_connection(gaym->account), _("Disconnected.")); return; } @@ -527,7 +527,7 @@ void gaym_parse_msg(struct gaym_conn *ga cur = cur + strlen(cur); break; default: - gaim_debug(GAIM_DEBUG_ERROR, "gaym", + purple_debug(PURPLE_DEBUG_ERROR, "gaym", "invalid message format character '%c'\n", fmt[i]); break; } @@ -544,7 +544,7 @@ void gaym_parse_msg(struct gaym_conn *ga static void gaym_parse_error_cb(struct gaym_conn *gaym, char *input) { - gaim_debug(GAIM_DEBUG_WARNING, "gaym", "Unrecognized string: %s\n", + purple_debug(PURPLE_DEBUG_WARNING, "gaym", "Unrecognized string: %s\n", input); } diff -Nurdp fork-for-gaim-2.gaim/gaym/src/weblogin.c fork-for-gaim-2.pidgin/gaym/src/weblogin.c --- fork-for-gaim-2.gaim/gaym/src/weblogin.c 2006-11-30 04:00:59.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym/src/weblogin.c 2007-05-19 20:43:33.000000000 +0100 @@ -2,7 +2,7 @@ * @file util.h Utility Functions * @ingroup core * - * Gaim is the legal property of its developers, whose names are too numerous + * Purple is the legal property of its developers, whose names are too numerous * to list here. Please refer to the COPYRIGHT file distributed with this * source distribution. * @@ -31,8 +31,475 @@ #include "helpers.h" +/* This is stolen from libpurple because we need to intercept cookies before redirects */ +typedef struct _GaymUtilFetchUrlData GaymUtilFetchUrlData; +typedef void (*GaymUtilFetchUrlCallback)(GaymUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, gsize len, const gchar *error_message); +struct _GaymUtilFetchUrlData +{ + GaymUtilFetchUrlCallback callback; + void *user_data; + + struct + { + char *user; + char *passwd; + char *address; + int port; + char *page; -static void gaym_session_destroy(GaimUrlSession * session) + } website; + + char *url; + gboolean full; + char *user_agent; + gboolean http11; + char *request; + gsize request_written; + gboolean include_headers; + + PurpleProxyConnectData *connect_data; + int fd; + guint inpa; + + gboolean got_headers; + gboolean has_explicit_data_len; + char *webdata; + unsigned long len; + unsigned long data_len; +}; + +void gaym_util_fetch_url_cancel(GaymUtilFetchUrlData *gfud); +/** + * The arguments to this function are similar to printf. + */ +static void +gaym_util_fetch_url_error(GaymUtilFetchUrlData *gfud, const char *format, ...) +{ + gchar *error_message; + va_list args; + + va_start(args, format); + error_message = g_strdup_vprintf(format, args); + va_end(args); + + gfud->callback(gfud, gfud->user_data, NULL, 0, error_message); + g_free(error_message); + gaym_util_fetch_url_cancel(gfud); +} + +static void url_fetch_connect_cb(gpointer url_data, gint source, const gchar *error_message); +static void parse_cookies(const char *webdata, PurpleUrlSession * session, size_t len); + +static gboolean +parse_redirect(const char *data, size_t data_len, gint sock, + GaymUtilFetchUrlData *gfud) +{ + gchar *s; + + if ((s = g_strstr_len(data, data_len, "Location: ")) != NULL) + { + gchar *new_url, *temp_url, *end; + gboolean full; + int len; + + s += strlen("Location: "); + end = strchr(s, '\r'); + + /* Just in case :) */ + if (end == NULL) + end = strchr(s, '\n'); + + if (end == NULL) + return FALSE; + + len = end - s; + + new_url = g_malloc(len + 1); + strncpy(new_url, s, len); + new_url[len] = '\0'; + + full = gfud->full; + + if (*new_url == '/' || g_strstr_len(new_url, len, "://") == NULL) + { + temp_url = new_url; + + new_url = g_strdup_printf("%s:%d%s", gfud->website.address, + gfud->website.port, temp_url); + + g_free(temp_url); + + full = FALSE; + } + + purple_debug_info("gaym", "Parsing cookies in redirect\n"); + parse_cookies(data, gfud->user_data, data_len); + purple_debug_info("gaym", "Redirecting to %s\n", new_url); + + /* + * Try again, with this new location. This code is somewhat + * ugly, but we need to reuse the gfud because whoever called + * us is holding a reference to it. + */ + g_free(gfud->url); + gfud->url = new_url; + gfud->full = full; + g_free(gfud->request); + gfud->request = NULL; + + purple_input_remove(gfud->inpa); + gfud->inpa = 0; + close(gfud->fd); + gfud->fd = -1; + gfud->request_written = 0; + gfud->len = 0; + gfud->data_len = 0; + + g_free(gfud->website.user); + g_free(gfud->website.passwd); + g_free(gfud->website.address); + g_free(gfud->website.page); + purple_url_parse(new_url, &gfud->website.address, &gfud->website.port, + &gfud->website.page, &gfud->website.user, &gfud->website.passwd); + + gfud->connect_data = purple_proxy_connect(NULL, NULL, + gfud->website.address, gfud->website.port, + url_fetch_connect_cb, gfud); + + if (gfud->connect_data == NULL) + { + gaym_util_fetch_url_error(gfud, _("Unable to connect to %s"), + gfud->website.address); + } + + return TRUE; + } + + return FALSE; +} + +static size_t +parse_content_len(const char *data, size_t data_len) +{ + size_t content_len = 0; + const char *p = NULL; + + /* This is still technically wrong, since headers are case-insensitive + * [RFC 2616, section 4.2], though this ought to catch the normal case. + * Note: data is _not_ nul-terminated. + */ + if(data_len > 16) { + p = (strncmp(data, "Content-Length: ", 16) == 0) ? data : NULL; + if(!p) + p = (strncmp(data, "CONTENT-LENGTH: ", 16) == 0) + ? data : NULL; + if(!p) { + p = g_strstr_len(data, data_len, "\nContent-Length: "); + if (p) + p++; + } + if(!p) { + p = g_strstr_len(data, data_len, "\nCONTENT-LENGTH: "); + if (p) + p++; + } + + if(p) + p += 16; + } + + /* If we can find a Content-Length header at all, try to sscanf it. + * Response headers should end with at least \r\n, so sscanf is safe, + * if we make sure that there is indeed a \n in our header. + */ + if (p && g_strstr_len(p, data_len - (p - data), "\n")) { + sscanf(p, "%" G_GSIZE_FORMAT, &content_len); + purple_debug_misc("gaym", "parsed %u\n", content_len); + } + + return content_len; +} + + +static void +url_fetch_recv_cb(gpointer url_data, gint source, PurpleInputCondition cond) +{ + GaymUtilFetchUrlData *gfud = url_data; + int len; + char buf[4096]; + char *data_cursor; + gboolean got_eof = FALSE; + + while((len = read(source, buf, sizeof(buf))) > 0) { + /* If we've filled up our buffer, make it bigger */ + if((gfud->len + len) >= gfud->data_len) { + while((gfud->len + len) >= gfud->data_len) + gfud->data_len += sizeof(buf); + + gfud->webdata = g_realloc(gfud->webdata, gfud->data_len); + } + + data_cursor = gfud->webdata + gfud->len; + + gfud->len += len; + + memcpy(data_cursor, buf, len); + + gfud->webdata[gfud->len] = '\0'; + + if(!gfud->got_headers) { + char *tmp; + + /* See if we've reached the end of the headers yet */ + if((tmp = strstr(gfud->webdata, "\r\n\r\n"))) { + char * new_data; + guint header_len = (tmp + 4 - gfud->webdata); + size_t content_len; + + purple_debug_misc("gaym", "Response headers: '%.*s'\n", + header_len, gfud->webdata); + + /* See if we can find a redirect. */ + if(parse_redirect(gfud->webdata, header_len, source, gfud)) + return; + + gfud->got_headers = TRUE; + + /* No redirect. See if we can find a content length. */ + content_len = parse_content_len(gfud->webdata, header_len); + + if(content_len == 0) { + /* We'll stick with an initial 8192 */ + content_len = 8192; + } else { + gfud->has_explicit_data_len = TRUE; + } + + + /* If we're returning the headers too, we don't need to clean them out */ + if(gfud->include_headers) { + gfud->data_len = content_len + header_len; + gfud->webdata = g_realloc(gfud->webdata, gfud->data_len); + } else { + size_t body_len = 0; + + if(gfud->len > (header_len + 1)) + body_len = (gfud->len - header_len); + + content_len = MAX(content_len, body_len); + + new_data = g_try_malloc(content_len); + if(new_data == NULL) { + purple_debug_error("gaym", + "Failed to allocate %u bytes: %s\n", + content_len, strerror(errno)); + gaym_util_fetch_url_error(gfud, + _("Unable to allocate enough memory to hold " + "the contents from %s. The web server may " + "be trying something malicious."), + gfud->website.address); + + return; + } + + /* We may have read part of the body when reading the headers, don't lose it */ + if(body_len > 0) { + tmp += 4; + memcpy(new_data, tmp, body_len); + } + + /* Out with the old... */ + g_free(gfud->webdata); + + /* In with the new. */ + gfud->len = body_len; + gfud->data_len = content_len; + gfud->webdata = new_data; + } + } + } + + if(gfud->has_explicit_data_len && gfud->len >= gfud->data_len) { + got_eof = TRUE; + break; + } + } + + if(len < 0) { + if(errno == EAGAIN) { + return; + } else { + gaym_util_fetch_url_error(gfud, _("Error reading from %s: %s"), + gfud->website.address, strerror(errno)); + return; + } + } + + if((len == 0) || got_eof) { + gfud->webdata = g_realloc(gfud->webdata, gfud->len + 1); + gfud->webdata[gfud->len] = '\0'; + + gfud->callback(gfud, gfud->user_data, gfud->webdata, gfud->len, NULL); + gaym_util_fetch_url_cancel(gfud); + } +} + +static void +url_fetch_send_cb(gpointer data, gint source, PurpleInputCondition cond) +{ + GaymUtilFetchUrlData *gfud; + int len, total_len; + + gfud = data; + + total_len = strlen(gfud->request); + + len = write(gfud->fd, gfud->request + gfud->request_written, + total_len - gfud->request_written); + + if (len < 0 && errno == EAGAIN) + return; + else if (len < 0) { + gaym_util_fetch_url_error(gfud, _("Error writing to %s: %s"), + gfud->website.address, strerror(errno)); + return; + } + gfud->request_written += len; + + if (gfud->request_written < total_len) + return; + + /* We're done writing our request, now start reading the response */ + purple_input_remove(gfud->inpa); + gfud->inpa = purple_input_add(gfud->fd, PURPLE_INPUT_READ, url_fetch_recv_cb, + gfud); +} + +static void +url_fetch_connect_cb(gpointer url_data, gint source, const gchar *error_message) +{ + GaymUtilFetchUrlData *gfud; + + gfud = url_data; + gfud->connect_data = NULL; + + if (source == -1) + { + gaym_util_fetch_url_error(gfud, _("Unable to connect to %s: %s"), + (gfud->website.address ? gfud->website.address : ""), error_message); + return; + } + + gfud->fd = source; + + if (!gfud->request) + { + if (gfud->user_agent) { + /* Host header is not forbidden in HTTP/1.0 requests, and HTTP/1.1 + * clients must know how to handle the "chunked" transfer encoding. + * Purple doesn't know how to handle "chunked", so should always send + * the Host header regardless, to get around some observed problems + */ + gfud->request = g_strdup_printf( + "GET %s%s HTTP/%s\r\n" + "Connection: close\r\n" + "User-Agent: %s\r\n" + "Accept: */*\r\n" + "Host: %s\r\n\r\n", + (gfud->full ? "" : "/"), + (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), + (gfud->http11 ? "1.1" : "1.0"), + (gfud->user_agent ? gfud->user_agent : ""), + (gfud->website.address ? gfud->website.address : "")); + } else { + gfud->request = g_strdup_printf( + "GET %s%s HTTP/%s\r\n" + "Connection: close\r\n" + "Accept: */*\r\n" + "Host: %s\r\n\r\n", + (gfud->full ? "" : "/"), + (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), + (gfud->http11 ? "1.1" : "1.0"), + (gfud->website.address ? gfud->website.address : "")); + } + } + + purple_debug_misc("gaym", "Request: '%s'\n", gfud->request); + + gfud->inpa = purple_input_add(source, PURPLE_INPUT_WRITE, + url_fetch_send_cb, gfud); + url_fetch_send_cb(gfud, source, PURPLE_INPUT_WRITE); +} + +GaymUtilFetchUrlData * +gaym_util_fetch_url_request(const char *url, gboolean full, + const char *user_agent, gboolean http11, + const char *request, gboolean include_headers, + GaymUtilFetchUrlCallback callback, void *user_data) +{ + GaymUtilFetchUrlData *gfud; + + g_return_val_if_fail(url != NULL, NULL); + g_return_val_if_fail(callback != NULL, NULL); + + purple_debug_info("gaym", + "requested to fetch (%s), full=%d, user_agent=(%s), http11=%d\n", + url, full, user_agent?user_agent:"(null)", http11); + + gfud = g_new0(GaymUtilFetchUrlData, 1); + + gfud->callback = callback; + gfud->user_data = user_data; + gfud->url = g_strdup(url); + gfud->user_agent = g_strdup(user_agent); + gfud->http11 = http11; + gfud->full = full; + gfud->request = g_strdup(request); + gfud->include_headers = include_headers; + + purple_url_parse(url, &gfud->website.address, &gfud->website.port, + &gfud->website.page, &gfud->website.user, &gfud->website.passwd); + + gfud->connect_data = purple_proxy_connect(NULL, NULL, + gfud->website.address, gfud->website.port, + url_fetch_connect_cb, gfud); + + if (gfud->connect_data == NULL) + { + gaym_util_fetch_url_error(gfud, _("Unable to connect to %s"), + gfud->website.address); + return NULL; + } + + return gfud; +} + +void +gaym_util_fetch_url_cancel(GaymUtilFetchUrlData *gfud) +{ + if (gfud->connect_data != NULL) + purple_proxy_connect_cancel(gfud->connect_data); + + if (gfud->inpa > 0) + purple_input_remove(gfud->inpa); + + if (gfud->fd >= 0) + close(gfud->fd); + + g_free(gfud->website.user); + g_free(gfud->website.passwd); + g_free(gfud->website.address); + g_free(gfud->website.page); + g_free(gfud->url); + g_free(gfud->user_agent); + g_free(gfud->request); + g_free(gfud->webdata); + + g_free(gfud); +} + + +static void gaym_session_destroy(PurpleUrlSession * session) { if (session->cookies) g_free(session->cookies); @@ -43,12 +510,12 @@ static void gaym_session_destroy(GaimUrl g_free(session); } -/* gaim_url_decode doesn't change pluses to spaces - edit in place */ +/* purple_url_decode doesn't change pluses to spaces - edit in place */ static const char *gaym_url_decode(const char *string) { char *retval; - retval = (char *) (string = gaim_url_decode(string)); + retval = (char *) (string = purple_url_decode(string)); while (*retval != 0) { if (*retval == '+') *retval = ' '; @@ -66,7 +533,7 @@ static void add_cookie(gpointer key, gpo g_return_if_fail(key != NULL); g_return_if_fail(value != NULL); g_return_if_fail(data != NULL); - GaimUrlSession *session = (GaimUrlSession *) data; + PurpleUrlSession *session = (PurpleUrlSession *) data; gchar *cookies = session->cookies; session->cookies = g_strconcat(cookies ? cookies : "", key, "=", value, "; ", NULL); @@ -74,7 +541,7 @@ static void add_cookie(gpointer key, gpo } -static void parse_cookies(const char *webdata, GaimUrlSession * session, +static void parse_cookies(const char *webdata, PurpleUrlSession * session, size_t len) { gchar **cookies = g_strsplit(webdata, "\n", -1); @@ -84,6 +551,10 @@ static void parse_cookies(const char *we while (cookies[index]) { cookie = return_string_between("Set-cookie: ", "; ", cookies[index]); + + if (cookie == NULL) + cookie = + return_string_between("Set-Cookie: ", "; ", cookies[index]); if (cookie) { cookie_parts = g_strsplit(cookie, "=", 2); if (cookie_parts[0] && cookie_parts[1]) @@ -99,7 +570,7 @@ static void parse_cookies(const char *we } -gchar* gaym_build_session_request(gchar* url, GaimUrlSession* session) +gchar* gaym_build_session_request(gchar* url, PurpleUrlSession* session) { if(!url || !session) return 0; @@ -121,13 +592,13 @@ gchar* gaym_build_session_request(gchar* return res; } static void -gaym_weblogin_step5(GaimUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) +gaym_weblogin_step5(GaymUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) { - gaim_debug_misc("weblogin","STEP FIVE BEGINS\n"); - GaimUrlSession *session = (GaimUrlSession *) data; + purple_debug_misc("weblogin","STEP FIVE BEGINS\n"); + PurpleUrlSession *session = (PurpleUrlSession *) data; struct gaym_conn *gaym = session->gaym; // Get hash from text - if (session && GAIM_CONNECTION_IS_VALID(session->account->gc)) { + if (session && PURPLE_CONNECTION_IS_VALID(session->account->gc)) { char *bio; char *thumbnail; char *temp = NULL; @@ -153,13 +624,13 @@ gaym_weblogin_step5(GaimUtilFetchUrlData (temp && temp2 && temp != temp2 && (gaym->chat_key = g_strndup(temp, (temp2 - temp) * sizeof(char))))) { - gaim_connection_error((session->account->gc), + purple_connection_error((session->account->gc), _ ("Problem parsing password from web. Report a bug.")); return; } - gaim_debug_misc("weblogin", + purple_debug_misc("weblogin", "Got hash, temp=%x, temp2=%x, gaym->chat_key=%x\n", temp, temp2, gaym->chat_key); // Next, loook for bio @@ -181,7 +652,7 @@ gaym_weblogin_step5(GaimUtilFetchUrlData if (temp) { bio = g_strndup(temp2, (temp - temp2) * sizeof(char)); result = gaym_url_decode(bio); - gaim_debug_info("gaym", "Server BIO: %s Thumb: %s\n", + purple_debug_info("gaym", "Server BIO: %s Thumb: %s\n", result, gaym->thumbnail); (gaym->server_bioline = g_strdup(result)) || (gaym->server_bioline = NULL); @@ -190,21 +661,21 @@ gaym_weblogin_step5(GaimUtilFetchUrlData // Parse out stats part of bio. temp2 = strchr(result, (char) 0x01); if (temp2++) { - gaim_debug_misc("gaym", "Stats: %s\n", temp2); + purple_debug_misc("gaym", "Stats: %s\n", temp2); gaym->server_stats = g_strdup(temp2); } } } else { - // gaim_connection_error( - // gaim_account_get_connection(((struct - // gaym_conn*)((GaimUrlSession*)session)->account), + // purple_connection_error( + // purple_account_get_connection(((struct + // gaym_conn*)((PurpleUrlSession*)session)->account), // _("Problem parsing password from web. Report a bug."))); } session->session_cb(gaym->account); } else { - gaim_debug_misc("gaym", "Connection was cancelled before step5\n"); - gaim_debug_misc("gaym", "gaym->session: %x\n", session); + purple_debug_misc("gaym", "Connection was cancelled before step5\n"); + purple_debug_misc("gaym", "gaym->session: %x\n", session); } // We don't need the session info anymore. @@ -213,38 +684,43 @@ gaym_weblogin_step5(GaimUtilFetchUrlData } static void -gaym_weblogin_step4(GaimUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) +gaym_weblogin_step4(GaymUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) { - GaimUrlSession *session = (GaimUrlSession *) data; + PurpleUrlSession *session = (PurpleUrlSession *) data; + if (err != NULL) { + if (session && PURPLE_CONNECTION_IS_VALID(session->account->gc)) + purple_connection_error(session->account->gc, err); + return; + } parse_cookies(text, session, len); - gaim_debug_misc("gaym", "Step 4: session: %x\n", session); - if (session && GAIM_CONNECTION_IS_VALID(session->account->gc)) { + purple_debug_misc("gaym", "Step 4: session: %x\n", session); + if (session && PURPLE_CONNECTION_IS_VALID(session->account->gc)) { // The fourth step is to parse a rand=# value out of the message // text from // The previous step. // We then connect to messenger/applet.html char url[512]; - int nonce; + int nonce = 0; //char *buf = g_strdup_printf(_("Signon: %s"), // (session->account->username)); - //gaim_connection_update_progress(session->account->gc, buf, 3, 6); + //purple_connection_update_progress(session->account->gc, buf, 3, 6); sscanf(text, "?rand=%d", &nonce); snprintf(url, 512, "http://www.gay.com/messenger/applet.html?rand=%d", nonce); session->hasFormData = TRUE; - gaim_debug_misc("weblogin","About to build url\n"); + purple_debug_misc("weblogin","About to build url\n"); gchar* request=gaym_build_session_request(url, session); - gaim_debug_misc("weblogin","Requesting: %s\n",request); - gaim_util_fetch_url_request(url, FALSE, NULL, TRUE, + purple_debug_misc("weblogin","Requesting: %s\n",request); + gaym_util_fetch_url_request(url, FALSE, NULL, TRUE, request, TRUE, gaym_weblogin_step5, session); - gaim_debug_misc("weblogin","applet fetched"); + purple_debug_misc("weblogin","applet fetched"); } else { - gaim_debug_misc("gaym", "Connection was cancelled before step4\n"); - gaim_debug_misc("gaym", "session: %x\n", session); + purple_debug_misc("gaym", "Connection was cancelled before step4\n"); + purple_debug_misc("gaym", "session: %x\n", session); gaym_session_destroy(session); // g_free(gaym->session); @@ -252,14 +728,14 @@ gaym_weblogin_step4(GaimUtilFetchUrlData } void -gaym_get_chat_key_from_weblogin(GaimAccount * account, - void (*callback) (GaimAccount * account)) +gaym_get_chat_key_from_weblogin(PurpleAccount * account, + void (*callback) (PurpleAccount * account)) { struct gaym_conn *gaym = account->gc->proto_data; - if (GAIM_CONNECTION_IS_VALID(account->gc)) { + if (PURPLE_CONNECTION_IS_VALID(account->gc)) { - GaimUrlSession *session = g_new0(GaimUrlSession, 1); + PurpleUrlSession *session = g_new0(PurpleUrlSession, 1); session->session_cb = callback; session->cookies = NULL; session->account = account; @@ -269,9 +745,9 @@ gaym_get_chat_key_from_weblogin(GaimAcco session->cookie_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); - gaim_debug_misc("gaym", "Made session: %x\n", session); - if (GAIM_CONNECTION_IS_VALID - (((GaimUrlSession *) session)->account->gc)) { + purple_debug_misc("gaym", "Made session: %x\n", session); + if (PURPLE_CONNECTION_IS_VALID + (((PurpleUrlSession *) session)->account->gc)) { // The first step is to establish the initial sesion // We connect to index.html, and get a few cookie values. char *url = @@ -280,11 +756,11 @@ gaym_get_chat_key_from_weblogin(GaimAcco session->username, session->password); session->hasFormData = TRUE; - gaim_util_fetch_url_request(url, FALSE, NULL, FALSE, NULL, TRUE, + gaym_util_fetch_url_request(url, FALSE, NULL, FALSE, NULL, TRUE, gaym_weblogin_step4, session); } else { - gaim_debug_misc("gaym", "cancelled before step1\n"); - gaim_debug_misc("gaym", "gaym->sessoin: %x\n", session); + purple_debug_misc("gaym", "cancelled before step1\n"); + purple_debug_misc("gaym", "gaym->sessoin: %x\n", session); gaym_session_destroy(session); } @@ -293,12 +769,12 @@ gaym_get_chat_key_from_weblogin(GaimAcco /*Doesn't do anything yet*/ -void gaym_try_cached_password(GaimAccount * account, - void (*callback) (GaimAccount * account)) +void gaym_try_cached_password(PurpleAccount * account, + void (*callback) (PurpleAccount * account)) { const char *pw; - pw = gaim_account_get_string(account, "chat_key", NULL); + pw = purple_account_get_string(account, "chat_key", NULL); if (pw == NULL) { gaym_get_chat_key_from_weblogin(account, callback); return; diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/bio-popups.c fork-for-gaim-2.pidgin/gaym-extras/src/bio-popups.c --- fork-for-gaim-2.gaim/gaym-extras/src/bio-popups.c 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/bio-popups.c 2007-05-15 20:56:08.000000000 +0100 @@ -7,18 +7,18 @@ GHashTable *popups; /* conta /* Called when a conversation is closed or on plugin unload */ -void clean_popup_stuff(GaimConversation * c) +void clean_popup_stuff(PurpleConversation * c) { - if (!g_strrstr(gaim_account_get_protocol_id(c->account), "prpl-gaym")) + if (!g_strrstr(purple_account_get_protocol_id(c->account), "prpl-gaym")) return; - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); - if (c->type == GAIM_CONV_TYPE_IM) { + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + if (c->type == PURPLE_CONV_TYPE_IM) { g_hash_table_remove(popup_timeouts, gtkconv->tab_label); g_hash_table_remove(popups, gtkconv->tab_label); - } else if (c->type == GAIM_CONV_TYPE_CHAT) { - GaimGtkChatPane *gtkchat = gtkconv->u.chat; + } else if (c->type == PURPLE_CONV_TYPE_CHAT) { + PidginChatPane *gtkchat = gtkconv->u.chat; g_hash_table_remove(popup_timeouts, gtkchat->list); g_hash_table_remove(popup_rects, gtkchat->list); g_hash_table_remove(popups, gtkchat->list); @@ -106,10 +106,10 @@ static gboolean tooltip_timeout(struct t GtkWidget *tv = data->tv; GaymTooltipType type = data->type; - GaimAccount *account = data->account; - GaimPluginProtocolInfo *prpl_info = - GAIM_PLUGIN_PROTOCOL_INFO(gaim_find_prpl - (gaim_account_get_protocol_id(account))); + PurpleAccount *account = data->account; + PurplePluginProtocolInfo *prpl_info = + PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl + (purple_account_get_protocol_id(account))); timeout = (guint *) g_hash_table_lookup(popup_timeouts, tv); @@ -145,7 +145,7 @@ static gboolean tooltip_timeout(struct t - GaimBuddy *gb = g_new0(GaimBuddy, 1); + PurpleBuddy *gb = g_new0(PurpleBuddy, 1); gb->name = g_strdup(name); gb->account = account; prpl_info->tooltip_text(gb, tooltip_str, TRUE); @@ -272,7 +272,7 @@ static gboolean namelist_motion_cb(GtkWi timeout = g_hash_table_lookup(popup_timeouts, tv); - delay = gaim_prefs_get_int("/gaim/gtk/blist/tooltip_delay"); + delay = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/tooltip_delay"); if (delay == 0) return FALSE; @@ -313,9 +313,9 @@ static void tab_leave_cb(GtkWidget * eve gpointer conv) { - GaimConversation *c = (GaimConversation *) conv; + PurpleConversation *c = (PurpleConversation *) conv; - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); // Prevent clicks from demolishing popup. if (e->mode != GDK_CROSSING_NORMAL && (e->state & GDK_BUTTON1_MASK)) return; @@ -338,14 +338,14 @@ static gboolean tab_entry_cb(GtkWidget * guint *timeout; guint delay; - GaimConversation *c = (GaimConversation *) conv; - GaimAccount *account = gaim_conversation_get_account(c); - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); + PurpleConversation *c = (PurpleConversation *) conv; + PurpleAccount *account = purple_conversation_get_account(c); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); GtkWidget *tab = gtkconv->tab_label; timeout = g_hash_table_lookup(popup_timeouts, tab); - delay = gaim_prefs_get_int("/gaim/gtk/blist/tooltip_delay"); + delay = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/tooltip_delay"); if (delay == 0) return FALSE; @@ -369,12 +369,12 @@ static gboolean tab_entry_cb(GtkWidget * return TRUE; } -void add_chat_popup_stuff(GaimConversation * c) +void add_chat_popup_stuff(PurpleConversation * c) { - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); - GaimGtkChatPane *gtkchat = gtkconv->u.chat; - GaimAccount *account = gaim_conversation_get_account(c); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + PidginChatPane *gtkchat = gtkconv->u.chat; + PurpleAccount *account = purple_conversation_get_account(c); g_signal_connect(G_OBJECT(gtkchat->list), "motion-notify-event", G_CALLBACK(namelist_motion_cb), account); @@ -389,9 +389,9 @@ void add_chat_popup_stuff(GaimConversati } -void add_im_popup_stuff(GaimConversation * c) +void add_im_popup_stuff(PurpleConversation * c) { - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); GtkWidget *event = gtk_event_box_new(); GtkWidget *hbox = gtk_hbox_new(FALSE, 6); diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/chaticon.c fork-for-gaim-2.pidgin/gaym-extras/src/chaticon.c --- fork-for-gaim-2.gaim/gaym-extras/src/chaticon.c 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/chaticon.c 2007-05-15 20:56:08.000000000 +0100 @@ -1,10 +1,10 @@ #include "gaym-extras.h" GHashTable *icons; -void gaym_update_thumbnail(GaimConversation * conv, GdkPixbuf * pixbuf) +void gaym_update_thumbnail(PurpleConversation * conv, GdkPixbuf * pixbuf) { - GaimGtkConversation *gtkconv; + PidginConversation *gtkconv; GdkPixbuf *scale; GdkPixmap *pm = NULL; @@ -12,29 +12,29 @@ void gaym_update_thumbnail(GaimConversat int scale_width = 0, scale_height = 0; - GaimAccount *account; - GaimPluginProtocolInfo *prpl_info = NULL; + PurpleAccount *account; + PurplePluginProtocolInfo *prpl_info = NULL; g_return_if_fail(conv != NULL); - g_return_if_fail(GAIM_IS_GTK_CONVERSATION(conv)); - g_return_if_fail(gaim_conversation_get_type(conv) == - GAIM_CONV_TYPE_CHAT); + g_return_if_fail(PIDGIN_IS_PIDGIN_CONVERSATION(conv)); + g_return_if_fail(purple_conversation_get_type(conv) == + PURPLE_CONV_TYPE_CHAT); - gtkconv = GAIM_GTK_CONVERSATION(conv); + gtkconv = PIDGIN_CONVERSATION(conv); GaymChatIcon *icon_data = g_hash_table_lookup(icons, conv); if (!icon_data->show_icon) return; - account = gaim_conversation_get_account(conv); + account = purple_conversation_get_account(conv); if (account && account->gc) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(account->gc->prpl); - if (!gaim_prefs_get_bool - ("/gaim/gtk/conversations/im/show_buddy_icons")) + if (!purple_prefs_get_bool + (PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons")) return; - if (gaim_conversation_get_gc(conv) == NULL) + if (purple_conversation_get_gc(conv) == NULL) return; get_icon_scale_size(pixbuf, @@ -83,7 +83,7 @@ static void changed_cb(GtkTreeSelection g_return_if_fail(selection != NULL); g_return_if_fail(conv != NULL); - GaimConversation *c = (GaimConversation *) conv; + PurpleConversation *c = (PurpleConversation *) conv; GtkTreeIter iter; GtkTreeModel *model = NULL; @@ -113,19 +113,19 @@ static void changed_cb(GtkTreeSelection } -void add_chat_icon_stuff(GaimConversation * c) +void add_chat_icon_stuff(PurpleConversation * c) { GtkTreeModel *ls; - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); - GaimGtkChatPane *gtkchat = gtkconv->u.chat; - GaimPluginProtocolInfo *prpl_info = NULL; - GaimAccount *account = gaim_conversation_get_account(c); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + PidginChatPane *gtkchat = gtkconv->u.chat; + PurplePluginProtocolInfo *prpl_info = NULL; + PurpleAccount *account = purple_conversation_get_account(c); GaymChatIcon *icon_data = g_new0(GaymChatIcon, 1); if (account && account->gc) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(account->gc->prpl); GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(gtkchat->list)); @@ -170,11 +170,11 @@ void add_chat_icon_stuff(GaimConversatio } -void chaticon_replace(GaimConversation * conv, const char *name, - GaimConvChatBuddyFlags flags) +void chaticon_replace(PurpleConversation * conv, const char *name, + PurpleConvChatBuddyFlags flags) { - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); - GaimGtkChatPane *gtkchat = gtkconv->u.chat; + PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); + PidginChatPane *gtkchat = gtkconv->u.chat; gboolean valid; GtkTreeIter iter; @@ -198,13 +198,13 @@ void chaticon_replace(GaimConversation * if (!strcmp(str_data, name)) { GdkPixbuf *pixbuf = lookup_cached_thumbnail(conv->account, - gaim_normalize + purple_normalize (conv->account, name)); - gaim_debug_misc("chaticon", "Got pixbuf: %x\n"); + purple_debug_misc("chaticon", "Got pixbuf: %x\n"); GtkTreePath *path = gtk_tree_model_get_path(list_store, &iter); gtk_list_store_set(GTK_LIST_STORE(list_store), &iter, 0, pixbuf, -1); @@ -219,12 +219,12 @@ void chaticon_replace(GaimConversation * } } -void init_chat_icons(GaimPlugin * plugin) +void init_chat_icons(PurplePlugin * plugin) { - // gaim_signal_connect(gaim_accounts_get_handle(), + // purple_signal_connect(purple_accounts_get_handle(), // "info-updated", - // plugin, GAIM_CALLBACK(im_set_icon), NULL); + // plugin, PURPLE_CALLBACK(im_set_icon), NULL); icons = g_hash_table_new(g_direct_hash, g_direct_equal); } diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/chatsort.c fork-for-gaim-2.pidgin/gaym-extras/src/chatsort.c --- fork-for-gaim-2.gaim/gaym-extras/src/chatsort.c 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/chatsort.c 2007-05-15 20:56:08.000000000 +0100 @@ -4,7 +4,7 @@ static gint sort_chat_users_by_entry(GtkTreeModel * model, GtkTreeIter * a, GtkTreeIter * b, gpointer userdata) { - GaimConvChatBuddyFlags f1 = 0, f2 = 0; + PurpleConvChatBuddyFlags f1 = 0, f2 = 0; char *user1 = NULL, *user2 = NULL; gint ret = 0; @@ -55,7 +55,7 @@ static gint sort_chat_users_by_pic(GtkTreeModel * model, GtkTreeIter * a, GtkTreeIter * b, gpointer userdata) { - GaimConvChatBuddyFlags f1 = 0, f2 = 0; + PurpleConvChatBuddyFlags f1 = 0, f2 = 0; gint flag_mask = 0x000F; char *user1 = NULL, *user2 = NULL; gint ret = 0; @@ -102,16 +102,16 @@ void change_sort_order(GtkWidget * butto static int current = 0; current = (current + 1) % G_N_ELEMENTS(order); - GaimGtkConversation *gtkconv = (GaimGtkConversation *) data; - GaimGtkChatPane *gtkchat = gtkconv->u.chat; + PidginConversation *gtkconv = (PidginConversation *) data; + PidginChatPane *gtkchat = gtkconv->u.chat; GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list)); GtkBox *buttonbox = GTK_BOX(button->parent); gtk_widget_destroy(button); button = - GTK_WIDGET(gaim_pixbuf_button_from_stock - (NULL, order[current].icon, GAIM_BUTTON_VERTICAL)); + GTK_WIDGET(pidgin_pixbuf_button_from_stock + (NULL, order[current].icon, PIDGIN_BUTTON_VERTICAL)); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(change_sort_order), gtkconv); gtk_tooltips_set_tip(gtkconv->tooltips, button, order[current].tooltip, @@ -127,15 +127,15 @@ void change_sort_order(GtkWidget * butto } -void add_chat_sort_functions(GaimConversation * c) +void add_chat_sort_functions(PurpleConversation * c) { - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); int current = 0; GtkBox *iconbox = (GtkBox *) gtkconv->u.chat->userlist_info->parent; GtkWidget *button = - gaim_pixbuf_button_from_stock(NULL, order[current].icon, - GAIM_BUTTON_VERTICAL); + pidgin_pixbuf_button_from_stock(NULL, order[current].icon, + PIDGIN_BUTTON_VERTICAL); gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); gtk_tooltips_set_tip(gtkconv->tooltips, button, order[current].tooltip, NULL); diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.c fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.c --- fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.c 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.c 2007-05-15 20:56:08.000000000 +0100 @@ -2,17 +2,17 @@ #include "gaym-extras.h" /* Show icons in chat room windows */ -void get_icon_scale_size(GdkPixbuf * icon, GaimBuddyIconSpec * spec, +void get_icon_scale_size(GdkPixbuf * icon, PurpleBuddyIconSpec * spec, int *width, int *height) { g_return_if_fail(icon != NULL); *width = gdk_pixbuf_get_width(icon); *height = gdk_pixbuf_get_height(icon); - // gaim_debug_misc("popups", "current: w: %i, h: %i\n", *width, + // purple_debug_misc("popups", "current: w: %i, h: %i\n", *width, // *height); /* this should eventually get smarter about preserving the aspect ratio when scaling, but gimmie a break, I just woke up */ - if (spec && spec->scale_rules & GAIM_ICON_SCALE_DISPLAY) { + if (spec && spec->scale_rules & PURPLE_ICON_SCALE_DISPLAY) { float spec_aspect = (float) spec->max_width / (float) spec->max_height; float icon_aspect = (float) (*width) / (float) (*height); @@ -40,21 +40,21 @@ void get_icon_scale_size(GdkPixbuf * ico *width = 100; if (*height > 100) *height = 100; - // gaim_debug_misc("popups", "scaled: w: %i, h: %i\n", *width, + // purple_debug_misc("popups", "scaled: w: %i, h: %i\n", *width, // *height); } // Adds motion handlers to IM tab labels. -static void redo_im_window(GaimConversation * c) +static void redo_im_window(PurpleConversation * c) { - gaim_debug_misc("chaticon", "GOT CONVERSATION CREATED FOR %s\n", + purple_debug_misc("chaticon", "GOT CONVERSATION CREATED FOR %s\n", c->name); - if (!g_strrstr(gaim_account_get_protocol_id(c->account), "prpl-gaym")) + if (!g_strrstr(purple_account_get_protocol_id(c->account), "prpl-gaym")) return; - if (c && c->type == GAIM_CONV_TYPE_IM) + if (c && c->type == PURPLE_CONV_TYPE_IM) add_im_popup_stuff(c); - else if (c->type == GAIM_CONV_TYPE_CHAT) { + else if (c->type == PURPLE_CONV_TYPE_CHAT) { add_chat_sort_functions(c); add_chat_popup_stuff(c); add_chat_icon_stuff(c); @@ -63,11 +63,11 @@ static void redo_im_window(GaimConversat } -static void update_info_cb(GaimAccount * account, char *name) +static void update_info_cb(PurpleAccount * account, char *name) { - if (!g_strrstr(gaim_account_get_protocol_id(account), "prpl-gaym")) + if (!g_strrstr(purple_account_get_protocol_id(account), "prpl-gaym")) return; - gaim_debug_misc("gaym-extras", "info update\n"); + purple_debug_misc("gaym-extras", "info update\n"); } static gchar *find_file(const char *dir, const char *base) @@ -130,18 +130,18 @@ void extras_register_stock() } -GdkPixbuf *lookup_cached_thumbnail(GaimAccount * account, +GdkPixbuf *lookup_cached_thumbnail(PurpleAccount * account, const char *fullname) { guint len; - GaimBuddyIcon *icon = gaim_buddy_icons_find(account, fullname); + PurpleBuddyIcon *icon = purple_buddy_icons_find(account, fullname); if (!icon) { - gaim_debug_misc("gaym-extras", "No icon found for %s\n", fullname); + purple_debug_misc("gaym-extras", "No icon found for %s\n", fullname); return NULL; } - const guchar *icon_bytes = gaim_buddy_icon_get_data(icon, &len); + const guchar *icon_bytes = purple_buddy_icon_get_data(icon, &len); if (!icon_bytes) { - gaim_debug_misc("gaym-extras", "No icon data found for %s\n", + purple_debug_misc("gaym-extras", "No icon data found for %s\n", fullname); return NULL; } @@ -149,28 +149,28 @@ GdkPixbuf *lookup_cached_thumbnail(GaimA GError *err = NULL; GdkPixbufLoader *loader = gdk_pixbuf_loader_new(); if (!gdk_pixbuf_loader_write(loader, icon_bytes, len, &err)) - gaim_debug_misc("roombrowse", "write error: %s\n", err->message); + purple_debug_misc("roombrowse", "write error: %s\n", err->message); else - gaim_debug_misc("roombrowse", "write %d bytes without errors.\n", + purple_debug_misc("roombrowse", "write %d bytes without errors.\n", len); GdkPixbuf *pixbuf = gdk_pixbuf_loader_get_pixbuf(loader); GdkPixbufFormat *format = gdk_pixbuf_loader_get_format(loader); if (format) { - gaim_debug_misc("gaym-extras", "pixbuf name: %s\n", + purple_debug_misc("gaym-extras", "pixbuf name: %s\n", gdk_pixbuf_format_get_name(format)); - // gaim_debug_misc("gaym-extras","pixbuf domain: + // purple_debug_misc("gaym-extras","pixbuf domain: // %s\n",gdk_pixbuf_format_get_domain(format)); - gaim_debug_misc("gaym-extras", "pixbuf description: %s\n", + purple_debug_misc("gaym-extras", "pixbuf description: %s\n", gdk_pixbuf_format_get_description(format)); int i = 0; gchar **mime_types = gdk_pixbuf_format_get_mime_types(format); gchar **extensions = gdk_pixbuf_format_get_extensions(format); while (mime_types[i] != NULL) - gaim_debug_misc("gaym-extras", "pixbuf mime_type: %s\n", + purple_debug_misc("gaym-extras", "pixbuf mime_type: %s\n", mime_types[i++]); i = 0; while (extensions[i] != NULL) - gaim_debug_misc("gaym-extras", "pixbuf extensions: %s\n", + purple_debug_misc("gaym-extras", "pixbuf extensions: %s\n", extensions[i++]); @@ -180,7 +180,7 @@ GdkPixbuf *lookup_cached_thumbnail(GaimA return pixbuf; } -static gboolean plugin_unload(GaimPlugin * plugin) +static gboolean plugin_unload(PurplePlugin * plugin) { /* Ok, this is hell. I need to: Remove any icons from the IM windows. @@ -189,66 +189,66 @@ static gboolean plugin_unload(GaimPlugin return TRUE; } -static gboolean plugin_load(GaimPlugin * plugin) +static gboolean plugin_load(PurplePlugin * plugin) { init_chat_icons(plugin); init_popups(); init_roombrowse(plugin); - gaim_debug_misc("gaym-extras", "gaim_conversations_get_handle(): %x\n", - gaim_conversations_get_handle()); - gaim_signal_connect(gaim_conversations_get_handle(), + purple_debug_misc("gaym-extras", "purple_conversations_get_handle(): %x\n", + purple_conversations_get_handle()); + purple_signal_connect(purple_conversations_get_handle(), "conversation-created", plugin, - GAIM_CALLBACK(redo_im_window), NULL); + PURPLE_CALLBACK(redo_im_window), NULL); - gaim_signal_connect(gaim_accounts_get_handle(), "info-updated", plugin, - GAIM_CALLBACK(update_info_cb), NULL); + purple_signal_connect(purple_accounts_get_handle(), "info-updated", plugin, + PURPLE_CALLBACK(update_info_cb), NULL); - gaim_signal_connect(gaim_conversations_get_handle(), + purple_signal_connect(purple_conversations_get_handle(), "deleting-conversation", plugin, - GAIM_CALLBACK(clean_popup_stuff), NULL); - gaim_prefs_add_none("/plugins/gaym-extras"); - gaim_prefs_add_none("/plugins/gaym-extras/silly"); + PURPLE_CALLBACK(clean_popup_stuff), NULL); + purple_prefs_add_none("/plugins/gaym-extras"); + purple_prefs_add_none("/plugins/gaym-extras/silly"); extras_register_stock(); return TRUE; } -static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin * plugin) +static PurplePluginPrefFrame *get_plugin_pref_frame(PurplePlugin * plugin) { - GaimPluginPrefFrame *frame; - GaimPluginPref *ppref; + PurplePluginPrefFrame *frame; + PurplePluginPref *ppref; - frame = gaim_plugin_pref_frame_new(); + frame = purple_plugin_pref_frame_new(); ppref = - gaim_plugin_pref_new_with_name_and_label + purple_plugin_pref_new_with_name_and_label ("/plugins/gaym-extras/silly", _("Do you really want to turn any of this off? ;-)")); - gaim_plugin_pref_frame_add(frame, ppref); + purple_plugin_pref_frame_add(frame, ppref); return frame; } -static GaimPluginUiInfo prefs_info = { +static PurplePluginUiInfo prefs_info = { get_plugin_pref_frame }; -static GaimPluginInfo info = { - GAIM_PLUGIN_MAGIC, - GAIM_MAJOR_VERSION, - GAIM_MINOR_VERSION, - GAIM_PLUGIN_STANDARD, - GAIM_GTK_PLUGIN_TYPE, +static PurplePluginInfo info = { + PURPLE_PLUGIN_MAGIC, + PURPLE_MAJOR_VERSION, + PURPLE_MINOR_VERSION, + PURPLE_PLUGIN_STANDARD, + PIDGIN_PLUGIN_TYPE, 0, NULL, - GAIM_PRIORITY_DEFAULT, + PURPLE_PRIORITY_DEFAULT, GAYM_EXTRAS_PLUGIN_ID, N_("Gaym Extras"), VERSION, N_("GUI-related additions for the gaym protocol plugin."), N_("Current functionality provided by this plugin:\n1. Allows namelist sort order in rooms to be changed.\n2. Shows thumbnails for currently selected user in rooms.\n3. Popup displays bio when you hover over a name in the namelist.\n4. Popup shows bio when you hover over an IM tab."), "Jason LeBrun gaym@jasonlebrun.info", - GAIM_WEBSITE, + PURPLE_WEBSITE, plugin_load, plugin_unload, NULL, @@ -257,8 +257,8 @@ static GaimPluginInfo info = { NULL }; -static void init_plugin(GaimPlugin * plugin) +static void init_plugin(PurplePlugin * plugin) { } -GAIM_INIT_PLUGIN(history, init_plugin, info) +PURPLE_INIT_PLUGIN(history, init_plugin, info) diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.h fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.h --- fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.h 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.h 2007-05-15 20:56:08.000000000 +0100 @@ -26,7 +26,7 @@ #ifdef _WIN32 #include "win32/win32dep.h" #else -#define DATADIR GAIM_DATADIR +#define DATADIR PURPLE_DATADIR #endif struct fetch_thumbnail_data { @@ -46,7 +46,7 @@ struct paint_data { // We may be able to clean this up, some. typedef struct _GaymChatIcon { - GaimConversation *conv; + PurpleConversation *conv; GtkWidget *icon_container_parent; GtkWidget *icon_container; GtkWidget *frame; @@ -65,22 +65,22 @@ typedef enum { struct timeout_cb_data { GaymTooltipType type; GtkWidget *tv; - GaimAccount *account; + PurpleAccount *account; }; -GdkPixbuf *lookup_cached_thumbnail(GaimAccount * account, +GdkPixbuf *lookup_cached_thumbnail(PurpleAccount * account, const char *fullname); -void get_icon_scale_size(GdkPixbuf * icon, GaimBuddyIconSpec * spec, +void get_icon_scale_size(GdkPixbuf * icon, PurpleBuddyIconSpec * spec, int *width, int *height); -void clean_popup_stuff(GaimConversation * c); -void add_chat_icon_stuff(GaimConversation * c); -void add_chat_popup_stuff(GaimConversation * c); -void add_chat_sort_functions(GaimConversation * c); -void add_im_popup_stuff(GaimConversation * c); -void init_chat_icons(GaimPlugin * plugin); +void clean_popup_stuff(PurpleConversation * c); +void add_chat_icon_stuff(PurpleConversation * c); +void add_chat_popup_stuff(PurpleConversation * c); +void add_chat_sort_functions(PurpleConversation * c); +void add_im_popup_stuff(PurpleConversation * c); +void init_chat_icons(PurplePlugin * plugin); void init_popups(); -void init_roombrowse(GaimPlugin * plugin); +void init_roombrowse(PurplePlugin * plugin); static struct StockIcon { diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/Makefile.am fork-for-gaim-2.pidgin/gaym-extras/src/Makefile.am --- fork-for-gaim-2.gaim/gaym-extras/src/Makefile.am 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/Makefile.am 2007-05-15 20:53:33.000000000 +0100 @@ -1,5 +1,5 @@ pkgdir = \ - $(GAIM_LIBDIR)/gaim + $(GAIM_LIBDIR)/pidgin GAYMSOURCES = \ gaym-extras.c chatsort.c bio-popups.c chaticon.c gaym-extras.h roombrowse.c diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/roombrowse.c fork-for-gaim-2.pidgin/gaym-extras/src/roombrowse.c --- fork-for-gaim-2.gaim/gaym-extras/src/roombrowse.c 2006-11-30 04:00:57.000000000 +0000 +++ fork-for-gaim-2.pidgin/gaym-extras/src/roombrowse.c 2007-05-15 20:56:08.000000000 +0100 @@ -42,12 +42,12 @@ enum { struct RoomBrowseInfo { - GaimAccount *account; - GaimConnection *gc; + PurpleAccount *account; + PurpleConnection *gc; }; struct update_cb_data { - GaimConnection *gc; + PurpleConnection *gc; const char *room; }; @@ -58,9 +58,9 @@ typedef struct RoomBrowseGui { GtkTreeModel *model; GtkWidget *label; GtkTreeIter iter; - GaimConnection *gc; + PurpleConnection *gc; char *channel; - GaimConversation *conv; + PurpleConversation *conv; } RoomBrowseGui; @@ -68,12 +68,12 @@ void update_photos(const char *room, con const char *name) { - GaimPlugin *prpl = NULL; - GaimPluginProtocolInfo *prpl_info = NULL; + PurplePlugin *prpl = NULL; + PurplePluginProtocolInfo *prpl_info = NULL; prpl = - gaim_find_prpl(gaim_account_get_protocol_id(browser->gc->account)); + purple_find_prpl(purple_account_get_protocol_id(browser->gc->account)); if (prpl) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); int scale_width = 0, scale_height = 0; gboolean valid; @@ -92,17 +92,17 @@ void update_photos(const char *room, con gtk_tree_model_get(list_store, &iter, COLUMN_NAME, &str_data, -1); - if (!strcmp(name, gaim_normalize(browser->gc->account, str_data))) { + if (!strcmp(name, purple_normalize(browser->gc->account, str_data))) { // TODO: Memory leak here, since icons will never get // unreffed. GdkPixbuf *pixbuf = lookup_cached_thumbnail(browser->gc->account, - gaim_normalize(browser->gc-> + purple_normalize(browser->gc-> account, name)); if (!pixbuf) { - gaim_debug_misc("roombrowse", "no pixbuf found for %s\n", + purple_debug_misc("roombrowse", "no pixbuf found for %s\n", name); break; } @@ -121,7 +121,7 @@ void update_photos(const char *room, con COLUMN_PHOTO, scale, -1); gtk_tree_model_row_changed(list_store, path, &iter); - gaim_debug_misc("roombrowse", "Signaled row change for %s\n", + purple_debug_misc("roombrowse", "Signaled row change for %s\n", name); // g_free(pixbuf); break; @@ -134,10 +134,10 @@ void update_photos(const char *room, con } -void roombrowse_update_list_row(GaimConnection * gc, const char *who) +void roombrowse_update_list_row(PurpleConnection * gc, const char *who) { - gaim_debug_misc("roombrowse", "Info update: %s\n", who); + purple_debug_misc("roombrowse", "Info update: %s\n", who); g_hash_table_foreach(browsers, (GHFunc) update_photos, (char *) who); } @@ -146,7 +146,7 @@ void roombrowse_add_info(gpointer data, { /* Add a new row to the model */ GaymBuddy *member = (GaymBuddy *) data; - GaimPluginProtocolInfo *prpl_info = NULL; + PurplePluginProtocolInfo *prpl_info = NULL; int scale_width = 0, scale_height = 0; char *sync = "Y"; if (!member->name || !member->prefix) @@ -185,22 +185,22 @@ void roombrowse_add_info(gpointer data, if (member->thumbnail) { pixbuf = lookup_cached_thumbnail(browser->gc->account, - gaim_normalize + purple_normalize (browser->gc->account, member->name)); if (browser->gc) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); } else { - GaimPlugin *prpl = NULL; - GaimPluginProtocolInfo *prpl_info = NULL; + PurplePlugin *prpl = NULL; + PurplePluginProtocolInfo *prpl_info = NULL; prpl = - gaim_find_prpl(gaim_account_get_protocol_id + purple_find_prpl(purple_account_get_protocol_id (browser->gc->account)); if (prpl) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); if (prpl_info && prpl_info->list_icon) { const char *protoname = prpl_info->list_icon(browser->gc->account, NULL); @@ -237,17 +237,17 @@ void roombrowse_add_info(gpointer data, } -void roombrowse_update_list(GaimAccount * account, GaymNamelist * namelist) +void roombrowse_update_list(PurpleAccount * account, GaymNamelist * namelist) { - gaim_debug_misc("roombrowse", "update_list from namelist at %x\n", + purple_debug_misc("roombrowse", "update_list from namelist at %x\n", namelist); g_return_if_fail(namelist); RoomBrowseGui *browser = g_hash_table_lookup(browsers, namelist->roomname); if (!browser && namelist->roomname) { - gaim_debug_misc("roombrowse", "No browser found for %s\n", + purple_debug_misc("roombrowse", "No browser found for %s\n", namelist->roomname); return; @@ -261,42 +261,42 @@ void roombrowse_update_list(GaimAccount static gboolean update_list(GtkWidget * button, gpointer data) { - gaim_debug_misc("roombrowse", "Doing list update!\n"); + purple_debug_misc("roombrowse", "Doing list update!\n"); struct update_cb_data *udata = (struct update_cb_data *) data; // gaym_get_room_namelist(udata->room, udata->gc->proto_data); - gaim_signal_emit(gaim_accounts_get_handle(), "request-namelist", + purple_signal_emit(purple_accounts_get_handle(), "request-namelist", udata->gc->account, udata->room); return TRUE; } static void chat_do_im(RoomBrowseGui * browser, const char *who) { - GaimPluginProtocolInfo *prpl_info = NULL; - GaimConversation *conv; + PurplePluginProtocolInfo *prpl_info = NULL; + PurpleConversation *conv; if (browser->gc->account && browser->gc) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); conv = - gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, who, + purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, who, browser->gc->account); - if (conv != NULL); // gaim_conv_window_show(gaim_conversation_get_window(conv)); + if (conv != NULL); // purple_conv_window_show(purple_conversation_get_window(conv)); else conv = - gaim_conversation_new(GAIM_CONV_TYPE_IM, browser->gc->account, + purple_conversation_new(PURPLE_CONV_TYPE_IM, browser->gc->account, who); } static void chat_do_info(RoomBrowseGui * browser, const char *who) { - GaimPluginProtocolInfo *prpl_info = NULL; - GaimConnection *gc = browser->gc; + PurplePluginProtocolInfo *prpl_info = NULL; + PurpleConnection *gc = browser->gc; if (gc) { - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); prpl_info->get_info(gc, who); } @@ -321,8 +321,8 @@ static void menu_chat_info_cb(GtkWidget // Right out of gtkconv.c, with a bunc removed. static GtkWidget *create_chat_menu(RoomBrowseGui * browser, const char *who, - GaimPluginProtocolInfo * prpl_info, - GaimConnection * gc) + PurplePluginProtocolInfo * prpl_info, + PurpleConnection * gc) { static GtkWidget *menu = NULL; GtkWidget *button; @@ -366,8 +366,8 @@ static GtkWidget *create_chat_menu(RoomB // Right out of gtkconv.c static gint chat_popup_menu_cb(GtkWidget * widget, RoomBrowseGui * browser) { - GaimPluginProtocolInfo *prpl_info = NULL; - GaimConnection *gc; + PurplePluginProtocolInfo *prpl_info = NULL; + PurpleConnection *gc; GtkTreeSelection *sel; GtkTreeIter iter; GtkTreeModel *model; @@ -379,7 +379,7 @@ static gint chat_popup_menu_cb(GtkWidget model = gtk_tree_view_get_model(GTK_TREE_VIEW(browser->list)); if (gc != NULL) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(browser->list)); if (!gtk_tree_selection_get_selected(sel, NULL, &iter)) @@ -389,7 +389,7 @@ static gint chat_popup_menu_cb(GtkWidget -1); menu = create_chat_menu(browser, who, prpl_info, gc); gtk_menu_popup(GTK_MENU(menu), NULL, NULL, - gaim_gtk_treeview_popup_menu_position_func, widget, + pidgin_treeview_popup_menu_position_func, widget, 0, GDK_CURRENT_TIME); g_free(who); @@ -399,7 +399,7 @@ static void changed_cb(GtkTreeSelection { g_return_if_fail(selection != NULL); - gaim_debug_misc("roombrowse", "changed_cb\n"); + purple_debug_misc("roombrowse", "changed_cb\n"); GtkTreeIter iter; GtkTreeModel *model = NULL; @@ -409,7 +409,7 @@ static void changed_cb(GtkTreeSelection gtk_tree_model_get(model, &iter, COLUMN_NAME, &name, -1); - gaim_signal_emit(gaim_accounts_get_handle(), "request-info-quietly", + purple_signal_emit(purple_accounts_get_handle(), "request-info-quietly", gc, name); return; @@ -421,8 +421,8 @@ static gint click_cb(GtkWidget * widget, GdkEventButton * event, RoomBrowseGui * browser) { - GaimPluginProtocolInfo *prpl_info = NULL; - GaimConnection *gc; + PurplePluginProtocolInfo *prpl_info = NULL; + PurpleConnection *gc; GtkTreePath *path; GtkTreeIter iter; GtkTreeModel *model; @@ -442,7 +442,7 @@ click_cb(GtkWidget * widget, GdkEventBut return FALSE; if (gc != NULL) - prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); gtk_tree_selection_select_path(GTK_TREE_SELECTION (gtk_tree_view_get_selection @@ -465,30 +465,30 @@ click_cb(GtkWidget * widget, GdkEventBut return TRUE; } -static gboolean browser_conv_destroy(GaimConversation * conv) +static gboolean browser_conv_destroy(PurpleConversation * conv) { g_return_val_if_fail(conv != NULL, FALSE); guchar *channel = g_hash_table_lookup(browser_channels, conv->name); if (!channel) return FALSE; - gaim_debug_misc("roombrowser", + purple_debug_misc("roombrowser", "remove browser entry for %s which is %s\n", conv->name, channel); g_hash_table_remove(browsers, channel); g_hash_table_remove(browser_channels, conv->name); return FALSE; } -static void roombrowse_fix_conv(GaimConversation * conv) +static void roombrowse_fix_conv(PurpleConversation * conv) { - gaim_debug_misc("roombrowse", "Total roombrowers so far: %x\n", + purple_debug_misc("roombrowse", "Total roombrowers so far: %x\n", g_hash_table_size(browsers)); g_return_if_fail(conv != NULL); if (!g_str_has_prefix(conv->name, "BROWSE:")) return; - GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); + PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); - conv->type = GAIM_CONV_TYPE_MISC; + conv->type = PURPLE_CONV_TYPE_MISC; gchar *channel = g_hash_table_lookup(browser_channels, conv->name); RoomBrowseGui *browser = g_hash_table_lookup(browsers, channel); gtk_container_foreach(GTK_CONTAINER(gtkconv->tab_cont), @@ -588,18 +588,18 @@ static void roombrowse_fix_conv(GaimConv update_list(browser->button, udata); } -static void roombrowse_menu_cb(GaimBlistNode * node, gpointer data) +static void roombrowse_menu_cb(PurpleBlistNode * node, gpointer data) { RoomBrowseGui *browser = g_new0(RoomBrowseGui, 1); - GaimConnection *gc = (GaimConnection *) data; + PurpleConnection *gc = (PurpleConnection *) data; - // GaimAccount *account = ((GaimChat *) node)->account; - GaimChat *chat = ((GaimChat *) node); + // PurpleAccount *account = ((PurpleChat *) node)->account; + PurpleChat *chat = ((PurpleChat *) node); const char *channel = g_hash_table_lookup(chat->components, "channel"); - const char *room = gaim_chat_get_name(chat); + const char *room = purple_chat_get_name(chat); const char *tempname; - gaim_debug_misc("roombrowse", "chat name: %s\n", room); - gaim_debug_misc("roombrowse", "channel name: %s\n", channel); + purple_debug_misc("roombrowse", "chat name: %s\n", room); + purple_debug_misc("roombrowse", "channel name: %s\n", channel); browser->channel = g_strdup(channel); browser->gc = gc; @@ -607,31 +607,31 @@ static void roombrowse_menu_cb(GaimBlist g_hash_table_insert(browsers, g_strdup(channel), browser); g_hash_table_insert(browser_channels, g_strdup(tempname), g_strdup(channel)); - GaimConversation *conv = - gaim_conversation_new(GAIM_CONV_TYPE_CHAT, gc->account, tempname); - gaim_debug_misc("roombrowse", "New conv: %x\n", conv); + PurpleConversation *conv = + purple_conversation_new(PURPLE_CONV_TYPE_CHAT, gc->account, tempname); + purple_debug_misc("roombrowse", "New conv: %x\n", conv); return; } -static void roombrowse_menu_create(GaimBlistNode * node, GList ** menu) +static void roombrowse_menu_create(PurpleBlistNode * node, GList ** menu) { char *label; struct gaym_conn *gaym; - GaimChat *chat = (GaimChat *) node; + PurpleChat *chat = (PurpleChat *) node; - if (node->type != GAIM_BLIST_CHAT_NODE) + if (node->type != PURPLE_BLIST_CHAT_NODE) return; gaym = chat->account->gc->proto_data; label = - g_strdup_printf("Browse users in %s", gaim_chat_get_name(chat)); - GaimMenuAction *act = gaim_menu_action_new(label, - GAIM_CALLBACK(roombrowse_menu_cb), + g_strdup_printf("Browse users in %s", purple_chat_get_name(chat)); + PurpleMenuAction *act = purple_menu_action_new(label, + PURPLE_CALLBACK(roombrowse_menu_cb), chat->account-> gc, NULL); @@ -639,29 +639,29 @@ static void roombrowse_menu_create(GaimB // g_free(label); } -void init_roombrowse(GaimPlugin * plugin) +void init_roombrowse(PurplePlugin * plugin) { - gaim_signal_connect(gaim_blist_get_handle(), + purple_signal_connect(purple_blist_get_handle(), "blist-node-extended-menu", - plugin, GAIM_CALLBACK(roombrowse_menu_create), + plugin, PURPLE_CALLBACK(roombrowse_menu_create), NULL); - gaim_signal_connect(gaim_accounts_get_handle(), + purple_signal_connect(purple_accounts_get_handle(), "namelist-complete", - plugin, GAIM_CALLBACK(roombrowse_update_list), + plugin, PURPLE_CALLBACK(roombrowse_update_list), NULL); - gaim_signal_connect(gaim_accounts_get_handle(), + purple_signal_connect(purple_accounts_get_handle(), "info-updated", - plugin, GAIM_CALLBACK(roombrowse_update_list_row), + plugin, PURPLE_CALLBACK(roombrowse_update_list_row), NULL); - gaim_signal_connect(gaim_conversations_get_handle(), + purple_signal_connect(purple_conversations_get_handle(), "conversation-created", - plugin, GAIM_CALLBACK(roombrowse_fix_conv), NULL); - gaim_signal_connect(gaim_conversations_get_handle(), + plugin, PURPLE_CALLBACK(roombrowse_fix_conv), NULL); + purple_signal_connect(purple_conversations_get_handle(), "deleting-conversation", - plugin, GAIM_CALLBACK(browser_conv_destroy), NULL); + plugin, PURPLE_CALLBACK(browser_conv_destroy), NULL); browsers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);