# HG changeset patch # User Daniel Atallah # Date 1314658203 0 # Node ID 011abe09b2646c6b529ae285dfccbc642e38e635 # Parent 44d3e067ca461fe7dcb92a88ae99aba7505b0922# Parent a13f4cad3cdde6ad588c7886b9f630ee998cf86e merge of '808c311196ce8853437bde38c9e3c0864698a4d4' and 'b5432d58ea3fe5a2182f1eb3ee4fceb12118f088' diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/bonjour/bonjour.c --- a/libpurple/protocols/bonjour/bonjour.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/bonjour/bonjour.c Mon Aug 29 22:50:03 2011 +0000 @@ -51,7 +51,7 @@ bonjour_get_jid(PurpleAccount *account) { PurpleConnection *conn = purple_account_get_connection(account); - BonjourData *bd = conn->proto_data; + BonjourData *bd = purple_connection_get_protocol_data(conn); return bd->jid; } @@ -103,7 +103,8 @@ #endif /* _WIN32 */ gc->flags |= PURPLE_CONNECTION_HTML; - gc->proto_data = bd = g_new0(BonjourData, 1); + bd = g_new0(BonjourData, 1); + purple_connection_set_protocol_data(gc, bd); /* Start waiting for jabber connections (iChat style) */ bd->jabber_data = g_new0(BonjourJabber, 1); @@ -157,7 +158,7 @@ bonjour_close(PurpleConnection *connection) { PurpleGroup *bonjour_group; - BonjourData *bd = connection->proto_data; + BonjourData *bd = purple_connection_get_protocol_data(connection); bonjour_group = purple_find_group(BONJOUR_GROUP_NAME); @@ -192,7 +193,7 @@ if (bd != NULL) g_free(bd->jid); g_free(bd); - connection->proto_data = NULL; + purple_connection_set_protocol_data(connection, NULL); } static const char * @@ -204,10 +205,12 @@ static int bonjour_send_im(PurpleConnection *connection, const char *to, const char *msg, PurpleMessageFlags flags) { + BonjourData *bd = purple_connection_get_protocol_data(connection); + if(!to || !msg) return 0; - return bonjour_jabber_send_message(((BonjourData*)(connection->proto_data))->jabber_data, to, msg); + return bonjour_jabber_send_message(bd->jabber_data, to, msg); } static void @@ -220,7 +223,7 @@ gchar *stripped; gc = purple_account_get_connection(account); - bd = gc->proto_data; + bd = purple_connection_get_protocol_data(gc); presence = purple_account_get_presence(account); message = purple_status_get_attr_string(status, "message"); @@ -325,7 +328,7 @@ static void bonjour_set_buddy_icon(PurpleConnection *conn, PurpleStoredImage *img) { - BonjourData *bd = conn->proto_data; + BonjourData *bd = purple_connection_get_protocol_data(conn); bonjour_dns_sd_update_buddy_icon(bd->dns_sd_data); } diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/bonjour/bonjour_ft.c --- a/libpurple/protocols/bonjour/bonjour_ft.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/bonjour/bonjour_ft.c Mon Aug 29 22:50:03 2011 +0000 @@ -328,7 +328,7 @@ return NULL; purple_debug_info("bonjour", "Bonjour-new-xfer to %s.\n", who); - bd = (BonjourData*) gc->proto_data; + bd = purple_connection_get_protocol_data(gc); if(bd == NULL) return NULL; @@ -417,7 +417,7 @@ g_return_if_fail(packet != NULL); g_return_if_fail(pb != NULL); - bd = (BonjourData*) pc->proto_data; + bd = purple_connection_get_protocol_data(pc); if(bd == NULL) return; @@ -503,7 +503,7 @@ g_return_if_fail(packet != NULL); g_return_if_fail(pb != NULL); - bd = (BonjourData*) pc->proto_data; + bd = purple_connection_get_protocol_data(pc); if(bd == NULL) return; @@ -585,7 +585,7 @@ if(pc == NULL || id == NULL || from == NULL) return; - bd = (BonjourData*) pc->proto_data; + bd = purple_connection_get_protocol_data(pc); if(bd == NULL) return; diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/bonjour/jabber.c --- a/libpurple/protocols/bonjour/jabber.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/bonjour/jabber.c Mon Aug 29 22:50:03 2011 +0000 @@ -930,7 +930,8 @@ ip = tmp->data; if (ip != NULL && g_ascii_strcasecmp(ip, bconv->ip) == 0) { PurpleConnection *pc = purple_account_get_connection(bconv->account); - BonjourJabber *jdata = ((BonjourData *)pc->proto_data)->jabber_data; + BonjourData *bd = purple_connection_get_protocol_data(pc); + BonjourJabber *jdata = bd->jabber_data; purple_debug_info("bonjour", "Matched buddy %s to incoming conversation \"from\" attrib and IP (%s)\n", purple_buddy_get_name(pb), bconv->ip); @@ -964,7 +965,8 @@ void bonjour_jabber_conv_match_by_ip(BonjourJabberConversation *bconv) { PurpleConnection *pc = purple_account_get_connection(bconv->account); - BonjourJabber *jdata = ((BonjourData *)pc->proto_data)->jabber_data; + BonjourData *bd = purple_connection_get_protocol_data(pc); + BonjourJabber *jdata = bd->jabber_data; struct _match_buddies_by_address_t *mbba; GSList *buddies; @@ -1125,7 +1127,8 @@ void async_bonjour_jabber_close_conversation(BonjourJabberConversation *bconv) { PurpleConnection *pc = purple_account_get_connection(bconv->account); - BonjourJabber *jdata = ((BonjourData *)pc->proto_data)->jabber_data; + BonjourData *bd = purple_connection_get_protocol_data(pc); + BonjourJabber *jdata = bd->jabber_data; jdata->pending_conversations = g_slist_remove(jdata->pending_conversations, bconv); @@ -1147,7 +1150,7 @@ PurpleConnection *pc = purple_account_get_connection(bconv->account); if (PURPLE_CONNECTION_IS_VALID(pc)) { - bd = pc->proto_data; + bd = purple_connection_get_protocol_data(pc); bd->jabber_data->pending_conversations = g_slist_remove(bd->jabber_data->pending_conversations, bconv); } diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/bonjour/mdns_avahi.c --- a/libpurple/protocols/bonjour/mdns_avahi.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/bonjour/mdns_avahi.c Mon Aug 29 22:50:03 2011 +0000 @@ -615,7 +615,7 @@ void _mdns_retrieve_buddy_icon(BonjourBuddy* buddy) { PurpleConnection *conn = purple_account_get_connection(buddy->account); - BonjourData *bd = conn->proto_data; + BonjourData *bd = purple_connection_get_protocol_data(conn); AvahiSessionImplData *session_idata = bd->dns_sd_data->mdns_impl_data; AvahiBuddyImplData *idata = buddy->mdns_impl_data; gchar *name; diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/bonjour/mdns_common.c --- a/libpurple/protocols/bonjour/mdns_common.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/bonjour/mdns_common.c Mon Aug 29 22:50:03 2011 +0000 @@ -257,7 +257,7 @@ bonjour_dns_sd_set_jid(PurpleAccount *account, const char *hostname) { PurpleConnection *conn = purple_account_get_connection(account); - BonjourData *bd = conn->proto_data; + BonjourData *bd = purple_connection_get_protocol_data(conn); const char *tmp, *account_name = purple_account_get_username(account); /* Previously we allowed the hostname part of the jid to be set diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/gg/buddylist.c --- a/libpurple/protocols/gg/buddylist.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/gg/buddylist.c Mon Aug 29 22:50:03 2011 +0000 @@ -38,7 +38,7 @@ /* void ggp_buddylist_send(PurpleConnection *gc) {{{ */ void ggp_buddylist_send(PurpleConnection *gc) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); PurpleAccount *account = purple_connection_get_account(gc); GSList *buddies; uin_t *userlist; diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/gg/confer.c --- a/libpurple/protocols/gg/confer.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/gg/confer.c Mon Aug 29 22:50:03 2011 +0000 @@ -42,7 +42,7 @@ const uin_t uin) { PurpleConversation *conv; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPChat *chat; GList *l; gchar *str_uin; @@ -73,7 +73,7 @@ void ggp_confer_participants_add(PurpleConnection *gc, const gchar *chat_name, const uin_t *recipients, int count) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GList *l; gchar *str_uin; @@ -111,7 +111,7 @@ const char *ggp_confer_find_by_participants(PurpleConnection *gc, const uin_t *recipients, int count) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPChat *chat = NULL; GList *l; int matches; @@ -149,7 +149,7 @@ /* const char *ggp_confer_add_new(PurpleConnection *gc, const char *name) {{{ */ const char *ggp_confer_add_new(PurpleConnection *gc, const char *name) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPChat *chat; chat = g_new0(GGPChat, 1); diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/gg/gg.c --- a/libpurple/protocols/gg/gg.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/gg/gg.c Mon Aug 29 22:50:03 2011 +0000 @@ -97,7 +97,7 @@ static void ggp_async_token_handler(gpointer _gc, gint fd, PurpleInputCondition cond) { PurpleConnection *gc = _gc; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPToken *token = info->token; GGPTokenCallback cb; @@ -170,7 +170,7 @@ if (ggp_setup_proxy(account) == -1) return; - info = gc->proto_data; + info = purple_connection_get_protocol_data(gc); if ((req = gg_token(1)) == NULL) { purple_notify_error(account, @@ -199,7 +199,7 @@ static void ggp_action_buddylist_get(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *)action->context; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); purple_debug_info("gg", "Downloading...\n"); @@ -214,7 +214,7 @@ static void ggp_action_buddylist_put(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *)action->context; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); char *buddylist = ggp_buddylist_dump(purple_connection_get_account(gc)); @@ -235,7 +235,7 @@ static void ggp_action_buddylist_delete(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *)action->context; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); purple_debug_info("gg", "Deleting...\n"); @@ -334,7 +334,7 @@ PurpleRequestFields *fields) { PurpleAccount *account; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); struct gg_http *h = NULL; struct gg_pubdir *s; uin_t uin; @@ -415,7 +415,7 @@ static void ggp_callback_register_account_cancel(PurpleConnection *gc, PurpleRequestFields *fields) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPToken *token = info->token; purple_account_disconnect(gc->account); @@ -433,7 +433,7 @@ PurpleRequestFieldGroup *group; PurpleRequestField *field; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPToken *token = info->token; @@ -483,7 +483,7 @@ static void ggp_callback_show_next(PurpleConnection *gc, GList *row, gpointer user_data) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPSearchForm *form = user_data; guint32 seq; @@ -520,7 +520,7 @@ static void ggp_callback_find_buddies(PurpleConnection *gc, PurpleRequestFields *fields) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPSearchForm *form; guint32 seq; @@ -621,7 +621,7 @@ static void ggp_callback_change_passwd_ok(PurpleConnection *gc, PurpleRequestFields *fields) { PurpleAccount *account; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); struct gg_http *h; gchar *cur, *p1, *p2, *t; @@ -696,7 +696,7 @@ PurpleRequestFieldGroup *group; PurpleRequestField *field; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPToken *token = info->token; char *msg; @@ -758,7 +758,7 @@ static void ggp_action_change_status_broadcasting_ok(PurpleConnection *gc, PurpleRequestFields *fields) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); int selected_field; PurpleAccount *account = purple_connection_get_account(gc); PurpleStatus *status; @@ -778,7 +778,7 @@ static void ggp_action_change_status_broadcasting(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *)action->context; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); PurpleRequestFields *fields; PurpleRequestFieldGroup *group; @@ -848,7 +848,7 @@ buddy = (PurpleBuddy *)node; gc = purple_account_get_connection(purple_buddy_get_account(buddy)); - info = gc->proto_data; + info = purple_connection_get_protocol_data(gc); fields = purple_request_fields_new(); group = purple_request_field_group_new(NULL); @@ -879,7 +879,7 @@ static void ggp_add_deny(PurpleConnection *gc, const char *who) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); uin_t uin = ggp_str_to_uin(who); purple_debug_info("gg", "ggp_add_deny: %u\n", uin); @@ -890,7 +890,7 @@ static void ggp_rem_deny(PurpleConnection *gc, const char *who) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); uin_t uin = ggp_str_to_uin(who); purple_debug_info("gg", "ggp_rem_deny: %u\n", uin); @@ -1349,7 +1349,7 @@ static void ggp_pubdir_reply_handler(PurpleConnection *gc, gg_pubdir50_t req) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPSearchForm *form; int res_count; guint32 seq; @@ -1391,7 +1391,7 @@ static void ggp_recv_image_handler(PurpleConnection *gc, const struct gg_event *ev) { gint imgid = 0; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GList *entry = g_list_first(info->pending_richtext_messages); gchar *handlerid = g_strdup_printf("IMGID_HANDLER-%i", ev->event.image_reply.crc32); @@ -1439,7 +1439,7 @@ */ static void ggp_recv_message_handler(PurpleConnection *gc, const struct gg_event *ev) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); PurpleConversation *conv; gchar *from; gchar *msg; @@ -1608,7 +1608,7 @@ static void ggp_send_image_handler(PurpleConnection *gc, const struct gg_event *ev) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); PurpleStoredImage *image; gint imgid = GPOINTER_TO_INT(g_hash_table_lookup(info->pending_images, GINT_TO_POINTER(ev->event.image_request.crc32))); @@ -1714,7 +1714,7 @@ static void ggp_callback_recv(gpointer _gc, gint fd, PurpleInputCondition cond) { PurpleConnection *gc = _gc; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); struct gg_event *ev; int i; @@ -1849,7 +1849,7 @@ g_return_if_fail(PURPLE_CONNECTION_IS_VALID(gc)); - info = gc->proto_data; + info = purple_connection_get_protocol_data(gc); purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n", info->session->check, info->session->state); @@ -2067,13 +2067,15 @@ PurpleMenuAction *act; GList *m = NULL; PurpleAccount *account; + PurpleConnection *gc; GGPInfo *info; if (!PURPLE_BLIST_NODE_IS_BUDDY(node)) return NULL; account = purple_buddy_get_account((PurpleBuddy *) node); - info = purple_account_get_connection(account)->proto_data; + gc = purple_account_get_connection(account); + info = purple_connection_get_protocol_data(gc); if (info->chats) { act = purple_menu_action_new(_("Add to chat"), PURPLE_CALLBACK(ggp_bmenu_add_to_chat), @@ -2125,7 +2127,7 @@ info->pending_images = g_hash_table_new(g_direct_hash, g_direct_equal); info->status_broadcasting = purple_account_get_bool(account, "status_broadcasting", TRUE); - gc->proto_data = info; + purple_connection_set_protocol_data(gc, info); glp->uin = ggp_get_uin(account); glp->password = (char *)purple_account_get_password(account); @@ -2189,18 +2191,19 @@ static void ggp_close(PurpleConnection *gc) { + PurpleAccount *account; + GGPInfo *info;; if (gc == NULL) { purple_debug_info("gg", "gc == NULL\n"); return; } - if (gc->proto_data) { - PurpleAccount *account = purple_connection_get_account(gc); - PurpleStatus *status; - GGPInfo *info = gc->proto_data; - - status = purple_account_get_active_status(account); + account = purple_connection_get_account(gc); + info = purple_connection_get_protocol_data(gc); + + if (info) { + PurpleStatus *status = purple_account_get_active_status(account); if (info->session != NULL) { ggp_set_status(account, status); @@ -2219,7 +2222,7 @@ g_list_free(info->pending_richtext_messages); g_hash_table_destroy(info->pending_images); g_free(info); - gc->proto_data = NULL; + purple_connection_set_protocol_data(gc, NULL); } if (gc->inpa > 0) @@ -2231,7 +2234,7 @@ static int ggp_send_im(PurpleConnection *gc, const char *who, const char *msg, PurpleMessageFlags flags) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); char *tmp, *plain; int ret = 1; unsigned char format[1024]; @@ -2349,6 +2352,7 @@ static unsigned int ggp_send_typing(PurpleConnection *gc, const char *name, PurpleTypingState state) { + GGPInfo *info = purple_connection_get_protocol_data(gc); int dummy_length; // we don't send real length of typed message if (state == PURPLE_TYPED) // not supported @@ -2360,7 +2364,7 @@ dummy_length = 0; gg_typing_notification( - ((GGPInfo*)gc->proto_data)->session, + info->session, ggp_str_to_uin(name), dummy_length); @@ -2369,7 +2373,7 @@ static void ggp_get_info(PurpleConnection *gc, const char *name) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPSearchForm *form; guint32 seq; @@ -2445,7 +2449,7 @@ return; gc = purple_account_get_connection(account); - info = gc->proto_data; + info = purple_connection_get_protocol_data(gc); new_status = ggp_to_gg_status(status, &new_msg); @@ -2466,7 +2470,7 @@ static void ggp_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { PurpleAccount *account; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); const gchar *name = purple_buddy_get_name(buddy); gg_add_notify(info->session, ggp_str_to_uin(name)); @@ -2480,14 +2484,14 @@ static void ggp_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); gg_remove_notify(info->session, ggp_str_to_uin(purple_buddy_get_name(buddy))); } static void ggp_join_chat(PurpleConnection *gc, GHashTable *data) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPChat *chat; char *chat_name; GList *l; @@ -2525,7 +2529,7 @@ static int ggp_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags) { PurpleConversation *conv; - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); GGPChat *chat = NULL; GList *l; /* char *msg, *plain; */ @@ -2580,7 +2584,7 @@ static void ggp_keepalive(PurpleConnection *gc) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); /* purple_debug_info("gg", "Keeping connection alive....\n"); */ diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/gg/search.c --- a/libpurple/protocols/gg/search.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/gg/search.c Mon Aug 29 22:50:03 2011 +0000 @@ -135,7 +135,7 @@ /* guint32 ggp_search_start(PurpleConnection *gc, GGPSearchForm *form) {{{ */ guint32 ggp_search_start(PurpleConnection *gc, GGPSearchForm *form) { - GGPInfo *info = gc->proto_data; + GGPInfo *info = purple_connection_get_protocol_data(gc); gg_pubdir50_t req; guint seq, offset; diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/myspace/myspace.c --- a/libpurple/protocols/myspace/myspace.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/myspace/myspace.c Mon Aug 29 22:50:03 2011 +0000 @@ -429,11 +429,9 @@ user = msim_get_user_from_buddy(buddy, TRUE); if (PURPLE_BUDDY_IS_ONLINE(buddy)) { - MsimSession *session; PurpleAccount *account = purple_buddy_get_account(buddy); PurpleConnection *gc = purple_account_get_connection(account); - - session = (MsimSession *)gc->proto_data; + MsimSession *session = purple_connection_get_protocol_data(gc); /* TODO: if (full), do something different? */ @@ -2022,7 +2020,7 @@ g_return_if_fail(source >= 0); /* Note: 0 is a valid fd */ gc = (PurpleConnection *)(gc_uncasted); - session = gc->proto_data; + session = purple_connection_get_protocol_data(gc); /* libpurple/eventloop.h only defines these two */ if (cond != PURPLE_INPUT_READ && cond != PURPLE_INPUT_WRITE) { @@ -2157,7 +2155,7 @@ g_return_if_fail(data != NULL); gc = (PurpleConnection *)data; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); if (source < 0) { gchar *tmp = g_strdup_printf(_("Unable to connect: %s"), @@ -2191,7 +2189,7 @@ purple_debug_info("msim", "logging in %s\n", acct->username); gc = purple_account_get_connection(acct); - gc->proto_data = msim_session_new(acct); + purple_connection_set_protocol_data(gc, msim_session_new(acct)); gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_NO_URLDESC; /* @@ -2259,11 +2257,11 @@ buddies = g_slist_delete_link(buddies, buddies); } - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); if (session == NULL) return; - gc->proto_data = NULL; + purple_connection_set_protocol_data(gc, NULL); if (session->gc->inpa) { purple_input_remove(session->gc->inpa); @@ -2304,7 +2302,7 @@ /* 'flags' has many options, not used here. */ - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); message_msim = html_to_msim_markup(session, message); @@ -2344,7 +2342,7 @@ g_return_val_if_fail(gc != NULL, 0); g_return_val_if_fail(name != NULL, 0); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); switch (state) { case PURPLE_TYPING: @@ -2430,7 +2428,7 @@ g_return_if_fail(gc != NULL); g_return_if_fail(username != NULL); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); /* Obtain uid of buddy. */ user = msim_find_user(session, username); @@ -2487,6 +2485,7 @@ static void msim_set_status(PurpleAccount *account, PurpleStatus *status) { + PurpleConnection *gc = purple_account_get_connection(account); PurpleStatusType *type; PurplePresence *pres; MsimSession *session; @@ -2495,7 +2494,7 @@ gchar *stripped; gchar *unrecognized_msg; - session = (MsimSession *)account->gc->proto_data; + session = purple_connection_get_protocol_data(gc); type = purple_status_get_type(status); pres = purple_status_get_presence(status); @@ -2558,7 +2557,7 @@ g_return_if_fail(gc != NULL); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); status = purple_account_get_active_status(session->account); @@ -2636,7 +2635,7 @@ MsimMessage *body; const char *name, *gname; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); name = purple_buddy_get_name(buddy); gname = group ? purple_group_get_name(group) : NULL; @@ -2709,7 +2708,7 @@ MsimMessage *persist_msg; const char *name; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); name = purple_buddy_get_name(buddy); delbuddy_msg = msim_msg_new( @@ -2766,7 +2765,7 @@ MsimSession *session; MsimMessage *msg, *body; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); /* Remove from buddy list */ msg = msim_msg_new( @@ -2818,7 +2817,7 @@ MsimSession *session; MsimMessage *msg, *body; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); /* * Remove from our list of blocked contacts, so we know they @@ -2948,7 +2947,7 @@ g_return_val_if_fail(buf != NULL, -1); g_return_val_if_fail(total_bytes >= 0, -1); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); /* Loop until all data is sent, or a failure occurs. */ total_bytes_sent = 0; @@ -3151,7 +3150,7 @@ gchar *group_name; gc = (PurpleConnection *)action->context; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); group_name = "MySpace Friends"; @@ -3530,6 +3529,7 @@ msim_uri_handler(const gchar *proto, const gchar *cmd, GHashTable *params) { PurpleAccount *account; + PurpleConnection *gc; MsimSession *session; GList *l; gchar *uid_str, *cid_str; @@ -3578,7 +3578,8 @@ return FALSE; } - session = (MsimSession *)account->gc->proto_data; + gc = purple_account_get_connection(account); + session = purple_connection_get_protocol_data(gc); g_return_val_if_fail(session != NULL, FALSE); /* Lookup userid to username. TODO: push this down, to IM sending/contact diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/myspace/user.c --- a/libpurple/protocols/myspace/user.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/myspace/user.c Mon Aug 29 22:50:03 2011 +0000 @@ -758,7 +758,7 @@ g_return_if_fail(gc != NULL); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); user_msg = msim_msg_new( "user", MSIM_TYPE_STRING, g_strdup(msim_username_to_set), @@ -851,7 +851,7 @@ g_return_if_fail(gc != NULL); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); purple_debug_info("msim_check_username_availability_cb", "Checking username: %s\n", username_to_check); diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/myspace/zap.c --- a/libpurple/protocols/myspace/zap.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/myspace/zap.c Mon Aug 29 22:50:03 2011 +0000 @@ -132,7 +132,7 @@ PurpleAttentionType *attn; PurpleBuddy *buddy; - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); /* Look for this attention type, by the code index given. */ types = msim_attention_types(gc->account); @@ -175,7 +175,7 @@ /* Find the session */ account = purple_buddy_get_account(buddy); gc = purple_account_get_connection(account); - session = (MsimSession *)gc->proto_data; + session = purple_connection_get_protocol_data(gc); zap = GPOINTER_TO_INT(zap_num_ptr); diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/novell/novell.c --- a/libpurple/protocols/novell/novell.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/novell/novell.c Mon Aug 29 22:50:03 2011 +0000 @@ -1629,7 +1629,7 @@ buddy = (PurpleBuddy *) node; gc = purple_account_get_connection(purple_buddy_get_account(buddy)); - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -1685,7 +1685,7 @@ NMUser *user; gc = data; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); user->conn->ssl_conn->data = NULL; purple_connection_ssl_error (gc, error); @@ -1702,7 +1702,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -1736,7 +1736,7 @@ if (gc == NULL || gsc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if ((user == NULL) || (conn = user->conn) == NULL) return; @@ -2206,7 +2206,7 @@ user = nm_initialize_user(name, server, port, account, _event_callback); if (user && user->conn) { /* save user */ - gc->proto_data = user; + purple_connection_set_protocol_data(gc, user); /* connect to the server */ purple_connection_update_progress(gc, _("Connecting"), @@ -2238,7 +2238,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user) { conn = user->conn; if (conn && conn->ssl_conn) { @@ -2246,7 +2246,7 @@ } nm_deinitialize_user(user); } - gc->proto_data = NULL; + purple_connection_set_protocol_data(gc, NULL); } static int @@ -2266,7 +2266,7 @@ message_body == NULL || *message_body == '\0') return 0; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return 0; @@ -2352,7 +2352,7 @@ if (gc == NULL || name == NULL) return 0; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return 0; @@ -2386,7 +2386,7 @@ if (gc == NULL || who == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user && (dn = nm_lookup_dn(user, who))) { conf = nm_find_conversation(user, dn); if (conf) { @@ -2408,7 +2408,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -2440,7 +2440,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -2479,7 +2479,7 @@ if (gc == NULL || text == NULL) return -1; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return -1; @@ -2619,7 +2619,7 @@ if (gc == NULL || buddy == NULL || group == NULL) return; - user = (NMUser *) gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user && (dn = nm_lookup_dn(user, purple_buddy_get_name(buddy)))) { gname = purple_group_get_name(group); if (strcmp(gname, NM_ROOT_FOLDER_NAME) == 0) { @@ -2651,7 +2651,7 @@ if (gc == NULL || group == NULL) return; - user = (NMUser *) gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user) { NMFolder *folder = nm_find_folder(user, purple_group_get_name(group)); @@ -2676,7 +2676,7 @@ if (gc == NULL || name == NULL || alias == NULL) return; - user = (NMUser *) gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user && (dn = nm_lookup_dn(user, name))) { /* Alias all of instances of the contact */ @@ -2735,7 +2735,7 @@ old_group_name == NULL || new_group_name == NULL) return; - user = (NMUser *) gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user && (dn = nm_lookup_dn(user, name))) { /* Find the old folder */ @@ -2793,7 +2793,7 @@ return; } - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user) { const char *gname = purple_group_get_name(group); /* Does new folder exist already? */ @@ -2839,7 +2839,7 @@ return; gc = purple_account_get_connection(purple_buddy_get_account(buddy)); - if (gc == NULL || (user = gc->proto_data) == NULL) + if (gc == NULL || (user = purple_connection_get_protocol_data(gc)) == NULL) return; if (PURPLE_BUDDY_IS_ONLINE(buddy)) { @@ -2891,7 +2891,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -2920,7 +2920,7 @@ if (gc == NULL || name == NULL) return; - user = (NMUser *) gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user) { user_record = nm_find_user_record(user, name); @@ -2949,17 +2949,19 @@ if (buddy && account) { PurpleConnection *gc = purple_account_get_connection(account); - if (gc && gc->proto_data) { - NMUser *user = gc->proto_data; - - dn = nm_lookup_dn(user, purple_buddy_get_name(buddy)); - if (dn) { - NMUserRecord *user_record = nm_find_user_record(user, dn); - - if (user_record) { - text = nm_user_record_get_status_text(user_record); - if (text) - return g_strdup(text); + if (gc) { + NMUser *user = purple_connection_get_protocol_data(gc); + + if (user) { + dn = nm_lookup_dn(user, purple_buddy_get_name(buddy)); + if (dn) { + NMUserRecord *user_record = nm_find_user_record(user, dn); + + if (user_record) { + text = nm_user_record_get_status_text(user_record); + if (text) + return g_strdup(text); + } } } } @@ -3035,7 +3037,7 @@ return; gc = purple_account_get_connection(account); - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -3082,7 +3084,7 @@ if (gc == NULL || who == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -3126,7 +3128,7 @@ if (gc == NULL || who == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -3170,7 +3172,7 @@ if (gc == NULL || who == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -3200,7 +3202,7 @@ if (gc == NULL || who == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -3235,7 +3237,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -3463,7 +3465,7 @@ if (gc == NULL) return; - user = gc->proto_data; + user = purple_connection_get_protocol_data(gc); if (user == NULL) return; diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/null/nullprpl.c --- a/libpurple/protocols/null/nullprpl.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/null/nullprpl.c Mon Aug 29 22:50:03 2011 +0000 @@ -260,7 +260,7 @@ char *msg = nullprpl_status_text(buddy); /* TODO: Check whether it's correct to call add_pair_html, or if we should be using add_pair_plaintext */ - purple_notify_user_info_add_pair(info, purple_status_get_name(status), + purple_notify_user_info_add_pair_html(info, purple_status_get_name(status), msg); g_free(msg); @@ -269,7 +269,7 @@ if (user_info) /* TODO: Check whether it's correct to call add_pair_html, or if we should be using add_pair_plaintext */ - purple_notify_user_info_add_pair(info, _("User info"), user_info); + purple_notify_user_info_add_pair_html(info, _("User info"), user_info); } } else { @@ -516,7 +516,7 @@ body = _("No user info."); /* TODO: Check whether it's correct to call add_pair_html, or if we should be using add_pair_plaintext */ - purple_notify_user_info_add_pair(info, "Info", body); + purple_notify_user_info_add_pair_html(info, "Info", body); /* show a buddy's user info in a nice dialog box */ purple_notify_userinfo(gc, /* connection the buddy info came through */ @@ -1019,14 +1019,17 @@ } static void nullprpl_roomlist_cancel(PurpleRoomlist *list) { + PurpleAccount *account = purple_roomlist_get_account(list); purple_debug_info("nullprpl", "%s asked to cancel room list request\n", - list->account->username); + purple_account_get_username(account)); } static void nullprpl_roomlist_expand_category(PurpleRoomlist *list, PurpleRoomlistRoom *category) { + PurpleAccount *account = purple_roomlist_get_account(list); purple_debug_info("nullprpl", "%s asked to expand room list category %s\n", - list->account->username, category->name); + purple_account_get_username(account), + purple_roomlist_room_get_name(category)); } /* nullprpl doesn't support file transfer...yet... */ diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/oscar/oscar.c Mon Aug 29 22:50:03 2011 +0000 @@ -5040,7 +5040,7 @@ name = purple_buddy_get_name(buddy); account = purple_buddy_get_account(buddy); gc = purple_account_get_connection(account); - od = gc->proto_data; + od = purple_connection_get_protocol_data(gc); conn = peer_connection_find_by_type(od, name, OSCAR_CAPABILITY_DIRECTIM); if (conn != NULL) diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/simple/simple.c --- a/libpurple/protocols/simple/simple.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/simple/simple.c Mon Aug 29 22:50:03 2011 +0000 @@ -67,7 +67,7 @@ } static void simple_keep_alive(PurpleConnection *gc) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); if(sip->udp) { /* in case of UDP send a packet only with a 0 byte to remain in the NAT table */ gchar buf[2] = {0, 0}; @@ -100,14 +100,15 @@ } static void simple_set_status(PurpleAccount *account, PurpleStatus *status) { + PurpleConnection *gc = purple_account_get_connection(account); PurpleStatusPrimitive primitive = purple_status_type_get_primitive(purple_status_get_type(status)); struct simple_account_data *sip = NULL; if (!purple_status_is_active(status)) return; - if (account->gc) - sip = account->gc->proto_data; + if (gc) + sip = purple_connection_get_protocol_data(gc); if (sip) { @@ -194,7 +195,7 @@ static void simple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { - struct simple_account_data *sip = (struct simple_account_data *)gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); struct simple_buddy *b; const char *name = purple_buddy_get_name(buddy); if(strncmp(name, "sip:", 4)) { @@ -231,7 +232,7 @@ static void simple_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { const char *name = purple_buddy_get_name(buddy); - struct simple_account_data *sip = (struct simple_account_data *)gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); struct simple_buddy *b = g_hash_table_lookup(sip->buddies, name); g_hash_table_remove(sip->buddies, name); g_free(b->name); @@ -412,7 +413,7 @@ static void simple_canwrite_cb(gpointer data, gint source, PurpleInputCondition cond) { PurpleConnection *gc = data; - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); gsize max_write; gssize written; @@ -457,7 +458,7 @@ return; } - sip = gc->proto_data; + sip = purple_connection_get_protocol_data(gc); sip->fd = source; sip->connecting = FALSE; @@ -474,7 +475,7 @@ static void sendlater(PurpleConnection *gc, const char *buf) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); if(!sip->connecting) { purple_debug_info("simple", "connecting to %s port %d\n", sip->realhostname ? sip->realhostname : "{NULL}", sip->realport); @@ -491,7 +492,7 @@ } static void sendout_pkt(PurpleConnection *gc, const char *buf) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); time_t currtime = time(NULL); int writelen = strlen(buf); @@ -629,7 +630,7 @@ static void send_sip_request(PurpleConnection *gc, const gchar *method, const gchar *url, const gchar *to, const gchar *addheaders, const gchar *body, struct sip_dialog *dialog, TransCallback tc) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); char *callid = dialog ? g_strdup(dialog->callid) : gencallid(); char *auth = NULL; const char *addh = ""; @@ -1026,7 +1027,7 @@ } static int simple_im_send(PurpleConnection *gc, const char *who, const char *what, PurpleMessageFlags flags) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); char *to = g_strdup(who); char *text = purple_unescape_html(what); simple_send_message(sip, to, text, NULL); @@ -1285,7 +1286,7 @@ } static unsigned int simple_typing(PurpleConnection *gc, const char *name, PurpleTypingState state) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); gchar *xml = "\n" "proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); struct sipmsg *msg; int len; time_t currtime = time(NULL); @@ -1681,7 +1682,7 @@ static void simple_input_cb(gpointer data, gint source, PurpleInputCondition cond) { PurpleConnection *gc = data; - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); int len; struct sip_connection *conn = connection_find(sip, source); if(!conn) { @@ -1714,7 +1715,7 @@ /* Callback for new connections on incoming TCP port */ static void simple_newconn_cb(gpointer data, gint source, PurpleInputCondition cond) { PurpleConnection *gc = data; - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); struct sip_connection *conn; int newfd, flags; @@ -1745,7 +1746,7 @@ return; } - sip = gc->proto_data; + sip = purple_connection_get_protocol_data(gc); sip->fd = source; conn = connection_create(sip, source); @@ -1930,7 +1931,8 @@ return; } - gc->proto_data = sip = g_new0(struct simple_account_data, 1); + sip = g_new0(struct simple_account_data, 1); + purple_connection_set_protocol_data(gc, sip); sip->gc = gc; sip->fd = -1; sip->listenfd = -1; @@ -1974,7 +1976,7 @@ static void simple_close(PurpleConnection *gc) { - struct simple_account_data *sip = gc->proto_data; + struct simple_account_data *sip = purple_connection_get_protocol_data(gc); if (!sip) return; @@ -2039,7 +2041,7 @@ g_free(sip->realhostname); g_free(sip); - gc->proto_data = NULL; + purple_connection_set_protocol_data(gc, NULL); } static PurplePluginProtocolInfo prpl_info = diff -r 44d3e067ca46 -r 011abe09b264 libpurple/protocols/zephyr/zephyr.c --- a/libpurple/protocols/zephyr/zephyr.c Mon Aug 29 03:02:47 2011 +0000 +++ b/libpurple/protocols/zephyr/zephyr.c Mon Aug 29 22:50:03 2011 +0000 @@ -347,7 +347,7 @@ { gchar *utf8; GError *err = NULL; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if (g_utf8_validate(string, -1, NULL)) { return g_strdup(string); } else { @@ -762,7 +762,7 @@ static void handle_message(PurpleConnection *gc,ZNotice_t notice) { - zephyr_account* zephyr = gc->proto_data; + zephyr_account* zephyr = purple_connection_get_protocol_data(gc); if (!g_ascii_strcasecmp(notice.z_class, LOGIN_CLASS)) { /* well, we'll be updating in 20 seconds anyway, might as well ignore this. */ @@ -872,7 +872,7 @@ } else { zephyr_triple *zt1, *zt2; gchar *send_inst_utf8; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); zt1 = new_triple(zephyr,notice.z_class, notice.z_class_inst, notice.z_recipient); zt2 = find_sub_by_triple(zephyr,zt1); if (!zt2) { @@ -1109,7 +1109,7 @@ static gint check_notify_tzc(gpointer data) { PurpleConnection *gc = (PurpleConnection *)data; - zephyr_account* zephyr = gc->proto_data; + zephyr_account* zephyr = purple_connection_get_protocol_data(gc); parse_tree *newparsetree = read_from_tzc(zephyr); if (newparsetree != NULL) { gchar *spewtype; @@ -1265,7 +1265,7 @@ GSList *buddies; ZLocations_t locations; PurpleConnection *gc = data; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); PurpleAccount *account = purple_connection_get_account(gc); int numlocs; int one = 1; @@ -1296,7 +1296,7 @@ GSList *buddies; ZAsyncLocateData_t ald; PurpleConnection *gc = (PurpleConnection *)data; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); PurpleAccount *account = purple_connection_get_account(gc); if (use_zeph02(zephyr)) { @@ -1572,7 +1572,8 @@ username = purple_account_get_username(account); #endif gc->flags |= PURPLE_CONNECTION_AUTO_RESP | PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_URLDESC; - gc->proto_data = zephyr=g_new0(zephyr_account,1); + zephyr = g_new0(zephyr_account, 1); + purple_connection_set_protocol_data(gc, zephyr); zephyr->account = account; @@ -1961,7 +1962,7 @@ { GList *l; GSList *s; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); pid_t tzc_pid = zephyr->tzc_pid; l = zephyr->pending_zloc_names; @@ -2036,7 +2037,7 @@ PurpleConvChat *gcc; char *inst; char *recipient; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); zt = find_sub_by_id(zephyr,id); if (!zt) @@ -2065,7 +2066,7 @@ static int zephyr_send_im(PurpleConnection * gc, const char *who, const char *im, PurpleMessageFlags flags) { const char *sig; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if (flags & PURPLE_MESSAGE_AUTO_RESP) sig = "Automated reply:"; else { @@ -2234,7 +2235,7 @@ if (gc == NULL) return NULL; - tmp = local_zephyr_normalize(gc->proto_data, who); + tmp = local_zephyr_normalize(purple_connection_get_protocol_data(gc), who); if (strlen(tmp) >= sizeof(buf)) { g_free(tmp); @@ -2250,7 +2251,7 @@ static void zephyr_zloc(PurpleConnection *gc, const char *who) { ZAsyncLocateData_t ald; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); gchar* normalized_who = local_zephyr_normalize(zephyr,who); if (use_zeph02(zephyr)) { @@ -2277,7 +2278,8 @@ static void zephyr_set_status(PurpleAccount *account, PurpleStatus *status) { size_t len; size_t result; - zephyr_account *zephyr = purple_account_get_connection(account)->proto_data; + PurpleConnection *gc = purple_account_get_connection(account); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); PurpleStatusPrimitive primitive = purple_status_type_get_primitive(purple_status_get_type(status)); if (zephyr->away) { @@ -2411,7 +2413,7 @@ const char *classname; const char *instname; const char *recip; - zephyr_account *zephyr=gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); classname = g_hash_table_lookup(data, "class"); instname = g_hash_table_lookup(data, "instance"); recip = g_hash_table_lookup(data, "recipient"); @@ -2474,7 +2476,7 @@ static void zephyr_chat_leave(PurpleConnection * gc, int id) { zephyr_triple *zt; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); zt = find_sub_by_id(zephyr,id); if (zt) { @@ -2524,7 +2526,7 @@ static unsigned int zephyr_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state) { gchar *recipient; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if (use_tzc(zephyr)) return 0; @@ -2566,7 +2568,7 @@ PurpleConversation *gconv; PurpleConvChat *gcc; gchar *topic_utf8; - zephyr_account* zephyr = gc->proto_data; + zephyr_account* zephyr = purple_connection_get_protocol_data(gc); char *sender = (char *)zephyr->username; zt = find_sub_by_id(zephyr,id); @@ -2589,7 +2591,8 @@ const char *cmd, char **args, char **error, void *data) { char *recipient; - zephyr_account *zephyr = purple_conversation_get_gc(conv)->proto_data; + PurpleConnection *gc = purple_conversation_get_gc(conv); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc);; if (!g_ascii_strcasecmp(args[0],"*")) return PURPLE_CMD_RET_FAILED; /* "*" is not a valid argument */ else @@ -2641,7 +2644,8 @@ const char *cmd, char **args, char **error, void *data) { /* args = instance, message */ - zephyr_account *zephyr = purple_conversation_get_gc(conv)->proto_data; + PurpleConnection *gc = purple_conversation_get_gc(conv); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if ( zephyr_send_message(zephyr,"message",args[0],"",args[1],zephyr_get_signature(),"")) return PURPLE_CMD_RET_OK; else @@ -2652,7 +2656,8 @@ const char *cmd, char **args, char **error, void *data) { /* args = class, instance, message */ - zephyr_account *zephyr = purple_conversation_get_gc(conv)->proto_data; + PurpleConnection *gc = purple_conversation_get_gc(conv); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if ( zephyr_send_message(zephyr,args[0],args[1],"",args[2],zephyr_get_signature(),"")) return PURPLE_CMD_RET_OK; else @@ -2663,7 +2668,8 @@ const char *cmd, char **args, char **error, void *data) { /* args = class, instance, recipient, message */ - zephyr_account *zephyr = purple_conversation_get_gc(conv)->proto_data; + PurpleConnection *gc = purple_conversation_get_gc(conv); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if ( zephyr_send_message(zephyr,args[0],args[1],args[2],args[3],zephyr_get_signature(),"")) return PURPLE_CMD_RET_OK; else @@ -2674,7 +2680,8 @@ const char *cmd, char **args, char **error, void *data) { /* args = instance, recipient, message */ - zephyr_account *zephyr = purple_conversation_get_gc(conv)->proto_data; + PurpleConnection *gc = purple_conversation_get_gc(conv); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if ( zephyr_send_message(zephyr,"message",args[0],args[1],args[2],zephyr_get_signature(),"")) return PURPLE_CMD_RET_OK; else @@ -2685,7 +2692,8 @@ const char *cmd, char **args, char **error, void *data) { /* args = class, message */ - zephyr_account *zephyr = purple_conversation_get_gc(conv)->proto_data; + PurpleConnection *gc = purple_conversation_get_gc(conv); + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); if ( zephyr_send_message(zephyr,args[0],"PERSONAL","",args[1],zephyr_get_signature(),"")) return PURPLE_CMD_RET_OK; else @@ -2766,7 +2774,7 @@ { /* Resubscribe to the in-memory list of subscriptions and also unsubscriptions*/ - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); GSList *s = zephyr->subscrips; zephyr_triple *zt; while (s) { @@ -2791,7 +2799,7 @@ static void zephyr_action_get_subs_from_server(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; - zephyr_account *zephyr = gc->proto_data; + zephyr_account *zephyr = purple_connection_get_protocol_data(gc); gchar *title; int retval, nsubs, one,i; ZSubscription_t subs;