Mercurial > pidgin.yaz
diff libpurple/protocols/sametime/sametime.c @ 32724:44fc11beefab
propagate from branch 'im.pidgin.pidgin.2.x.y' (head b9c74c3f836a7a1a64710fc8244c9ec1f3f21b97)
to branch 'im.pidgin.pidgin' (head fcd1b3766ec3998ed589bfddde2bffefd9d99e65)
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 05 Oct 2011 07:33:20 +0000 |
parents | 714e25ef2550 f75041cb3fec |
children | d9434361a5cb |
line wrap: on
line diff
--- a/libpurple/protocols/sametime/sametime.c Tue Oct 04 18:34:45 2011 +0000 +++ b/libpurple/protocols/sametime/sametime.c Wed Oct 05 07:33:20 2011 +0000 @@ -197,7 +197,7 @@ /** the purple plugin data. - available as gc->proto_data and mwSession_getClientData */ + available as purple_connection_get_protocol_data(gc) and mwSession_getClientData */ struct mwPurplePluginData { struct mwSession *session; @@ -320,7 +320,7 @@ g_return_val_if_fail(gc != NULL, NULL); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_val_if_fail(pd != NULL, NULL); return pd->session; @@ -413,7 +413,7 @@ g_strerror(errno)); DEBUG_ERROR("write returned %" G_GSSIZE_FORMAT ", %" G_GSIZE_FORMAT " bytes left unwritten\n", ret, len); - purple_connection_error_reason(pd->gc, + purple_connection_error(pd->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); g_free(tmp); @@ -499,7 +499,7 @@ gc = mwAwareList_getClientData(list); acct = purple_connection_get_account(gc); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); idle = aware->status.time; stat = aware->status.status; id = aware->id.user; @@ -851,7 +851,7 @@ static PurpleBuddy *buddy_ensure(PurpleConnection *gc, PurpleGroup *group, struct mwSametimeUser *stuser) { - struct mwPurplePluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = purple_connection_get_protocol_data(gc); PurpleBuddy *buddy; PurpleAccount *acct = purple_connection_get_account(gc); @@ -861,7 +861,7 @@ enum mwSametimeUserType type = mwSametimeUser_getType(stuser); g_return_val_if_fail(id != NULL, NULL); - g_return_val_if_fail(strlen(id) > 0, NULL); + g_return_val_if_fail(*id, NULL); buddy = purple_find_buddy_in_group(acct, id, group); if(! buddy) { @@ -973,7 +973,7 @@ if(type == mwSametimeGroup_DYNAMIC) { purple_blist_node_set_string(gn, GROUP_KEY_OWNER, owner); - group_add(gc->proto_data, group); + group_add(purple_connection_get_protocol_data(gc), group); } return group; @@ -1403,7 +1403,7 @@ } if(add_buds) { - purple_account_add_buddies(acct, add_buds); + purple_account_add_buddies(acct, add_buds, NULL); g_list_free(add_buds); } } @@ -1618,7 +1618,7 @@ default: reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; } - purple_connection_error_reason(gc, reason, err); + purple_connection_error(gc, reason, err); g_free(err); } break; @@ -1767,7 +1767,7 @@ if(! ret) { DEBUG_INFO("connection reset\n"); - purple_connection_error_reason(pd->gc, + purple_connection_error(pd->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, _("Server closed the connection")); @@ -1778,7 +1778,7 @@ DEBUG_INFO("error in read callback: %s\n", err_str); msg = g_strdup_printf(_("Lost connection with server: %s"), err_str); - purple_connection_error_reason(pd->gc, + purple_connection_error(pd->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, msg); g_free(msg); @@ -1804,7 +1804,7 @@ /* this is a regular connect, error out */ gchar *tmp = g_strdup_printf(_("Unable to connect: %s"), error_message); - purple_connection_error_reason(pd->gc, + purple_connection_error(pd->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); g_free(tmp); @@ -2144,7 +2144,7 @@ static void ft_incoming_cancel(PurpleXfer *xfer) { /* incoming transfer rejected or cancelled in-progress */ - struct mwFileTransfer *ft = xfer->data; + struct mwFileTransfer *ft = purple_xfer_get_protocol_data(xfer); if(ft) mwFileTransfer_reject(ft); } @@ -2160,9 +2160,9 @@ struct mwFileTransfer *ft; FILE *fp; - ft = xfer->data; - - fp = g_fopen(xfer->local_filename, "wb"); + ft = purple_xfer_get_protocol_data(xfer); + + fp = g_fopen(purple_xfer_get_local_filename(xfer), "wb"); if(! fp) { mwFileTransfer_cancel(ft); return; @@ -2207,7 +2207,7 @@ { purple_xfer_ref(xfer); mwFileTransfer_setClientData(ft, xfer, (GDestroyNotify) purple_xfer_unref); - xfer->data = ft; + purple_xfer_set_protocol_data(xfer, ft); purple_xfer_set_init_fnc(xfer, ft_incoming_init); purple_xfer_set_cancel_recv_fnc(xfer, ft_incoming_cancel); @@ -2236,8 +2236,7 @@ if(fread(buf, (size_t) o.len, 1, fp)) { /* calculate progress and display it */ - xfer->bytes_sent += o.len; - xfer->bytes_remaining -= o.len; + purple_xfer_set_bytes_sent(xfer, purple_xfer_get_bytes_sent(xfer) + o.len); purple_xfer_update_progress(xfer); mwFileTransfer_send(ft, &o); @@ -2269,7 +2268,7 @@ } if(purple_xfer_get_type(xfer) == PURPLE_XFER_SEND) { - xfer->dest_fp = g_fopen(xfer->local_filename, "rb"); + xfer->dest_fp = g_fopen(purple_xfer_get_local_filename(xfer), "rb"); ft_send(ft, xfer->dest_fp); } } @@ -2286,7 +2285,7 @@ xfer = mwFileTransfer_getClientData(ft); if(xfer) { - xfer->data = NULL; + purple_xfer_set_protocol_data(xfer, NULL); if(! mwFileTransfer_getRemaining(ft)) { purple_xfer_set_completed(xfer, TRUE); @@ -2339,8 +2338,7 @@ } /* update the progress */ - xfer->bytes_sent += data->len; - xfer->bytes_remaining -= data->len; + purple_xfer_set_bytes_sent(xfer, purple_xfer_get_bytes_sent(xfer) + data->len); purple_xfer_update_progress(xfer); /* let the other side know we got it, and to send some more */ @@ -2487,12 +2485,12 @@ text = g_strconcat(_("Unable to send message: "), tmp, NULL); gconv = convo_get_gconv(conv); - if(gconv && !purple_conv_present_error(idb->user, gconv->account, text)) { + if(gconv && !purple_conv_present_error(idb->user, purple_conversation_get_account(gconv), text)) { g_free(text); text = g_strdup_printf(_("Unable to send message to %s:"), (idb->user)? idb->user: "(unknown)"); - purple_notify_error(purple_account_get_connection(gconv->account), + purple_notify_error(purple_account_get_connection(purple_conversation_get_account(gconv)), NULL, text, tmp); } @@ -3199,7 +3197,7 @@ mwSession_addCipher(pd->session, mwCipher_new_RC2_128(pd->session)); mwSession_setClientData(pd->session, pd, NULL); - gc->proto_data = pd; + purple_connection_set_protocol_data(gc, pd); return pd; } @@ -3208,7 +3206,7 @@ static void mwPurplePluginData_free(struct mwPurplePluginData *pd) { g_return_if_fail(pd != NULL); - pd->gc->proto_data = NULL; + purple_connection_set_protocol_data(pd->gc, NULL); mwSession_removeService(pd->session, mwService_AWARE); mwSession_removeService(pd->session, mwService_CONFERENCE); @@ -3270,7 +3268,7 @@ const char *ret = NULL; if ((gc = purple_account_get_connection(purple_buddy_get_account(b))) - && (pd = gc->proto_data)) + && (pd = purple_connection_get_protocol_data(gc))) ret = mwServiceAware_getText(pd->srvc_aware, &t); return (ret && g_utf8_validate(ret, -1, NULL)) ? g_markup_escape_text(ret, -1): NULL; @@ -3333,29 +3331,27 @@ char *tmp; if ((gc = purple_account_get_connection(purple_buddy_get_account(b))) - && (pd = gc->proto_data)) + && (pd = purple_connection_get_protocol_data(gc))) message = mwServiceAware_getText(pd->srvc_aware, &idb); status = status_text(b); if(message != NULL && g_utf8_validate(message, -1, NULL) && purple_utf8_strcasecmp(status, message)) { - tmp = g_markup_escape_text(message, -1); - purple_notify_user_info_add_pair(user_info, status, tmp); - g_free(tmp); + purple_notify_user_info_add_pair_plaintext(user_info, status, message); } else { - purple_notify_user_info_add_pair(user_info, _("Status"), status); + purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), status); } if(full && pd != NULL) { tmp = user_supports_text(pd->srvc_aware, purple_buddy_get_name(b)); if(tmp) { - purple_notify_user_info_add_pair(user_info, _("Supports"), tmp); + purple_notify_user_info_add_pair_plaintext(user_info, _("Supports"), tmp); g_free(tmp); } if(buddy_is_external(b)) { - purple_notify_user_info_add_pair(user_info, NULL, _("External User")); + purple_notify_user_info_add_pair_plaintext(user_info, NULL, _("External User")); } } } @@ -3412,7 +3408,7 @@ acct = purple_buddy_get_account(buddy); gc = purple_account_get_connection(acct); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); srvc = pd->srvc_conf; f = purple_request_fields_get_field(fields, CHAT_KEY_TOPIC); @@ -3578,7 +3574,7 @@ gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); /* @@ -3617,7 +3613,7 @@ gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); rcpt_name = g_strdup_printf("@U %s", buddy->name); @@ -3770,7 +3766,7 @@ purple_connection_update_progress(gc, _("Connecting"), 1, MW_CONNECT_STEPS); if (purple_proxy_connect(gc, account, host, port, connect_cb, pd) == NULL) { - purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, + purple_connection_error(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, _("Unable to connect")); } } @@ -3781,7 +3777,7 @@ g_return_if_fail(gc != NULL); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); /* get rid of the blist save timeout */ @@ -3795,7 +3791,7 @@ mwSession_stop(pd->session, 0x00); /* no longer necessary */ - gc->proto_data = NULL; + purple_connection_set_protocol_data(gc, NULL); /* stop watching the socket */ if(gc->inpa) { @@ -3986,7 +3982,7 @@ struct mwConversation *conv; g_return_val_if_fail(gc != NULL, 0); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_val_if_fail(pd != NULL, 0); @@ -4061,7 +4057,7 @@ gpointer t = GINT_TO_POINTER(!! state); g_return_val_if_fail(gc != NULL, 0); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_val_if_fail(pd != NULL, 0); @@ -4157,53 +4153,54 @@ g_return_if_fail(who != NULL); g_return_if_fail(*who != '\0'); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); acct = purple_connection_get_account(gc); b = purple_find_buddy(acct, who); user_info = purple_notify_user_info_new(); if(purple_str_has_prefix(who, "@E ")) { - purple_notify_user_info_add_pair(user_info, _("External User"), NULL); + purple_notify_user_info_add_pair_html(user_info, _("External User"), NULL); } - purple_notify_user_info_add_pair(user_info, _("User ID"), who); + purple_notify_user_info_add_pair_plaintext(user_info, _("User ID"), who); if(b) { guint32 type; if(purple_buddy_get_server_alias(b)) { - purple_notify_user_info_add_pair(user_info, _("Full Name"), purple_buddy_get_server_alias(b)); + /* 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_html(user_info, _("Full Name"), purple_buddy_get_server_alias(b)); } type = purple_blist_node_get_int((PurpleBlistNode *) b, BUDDY_KEY_CLIENT); if(type) { - tmp = g_strdup(mw_client_name(type)); - if (!tmp) + tmp2 = mw_client_name(type); + if (tmp2) { + purple_notify_user_info_add_pair_plaintext(user_info, _("Last Known Client"), tmp2); + } else { tmp = g_strdup_printf(_("Unknown (0x%04x)<br>"), type); - - purple_notify_user_info_add_pair(user_info, _("Last Known Client"), tmp); - - g_free(tmp); + purple_notify_user_info_add_pair_html(user_info, _("Last Known Client"), tmp); + g_free(tmp); + } } } tmp = user_supports_text(pd->srvc_aware, who); if(tmp) { - purple_notify_user_info_add_pair(user_info, _("Supports"), tmp); + purple_notify_user_info_add_pair_plaintext(user_info, _("Supports"), tmp); g_free(tmp); } if(b) { - purple_notify_user_info_add_pair(user_info, _("Status"), status_text(b)); + purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), status_text(b)); /* XXX Is this adding a status message in its own section rather than with the "Status" label? */ tmp2 = mwServiceAware_getText(pd->srvc_aware, &idb); if(tmp2 && g_utf8_validate(tmp2, -1, NULL)) { - tmp = g_markup_escape_text(tmp2, -1); purple_notify_user_info_add_section_break(user_info); - purple_notify_user_info_add_pair(user_info, NULL, tmp); - g_free(tmp); + purple_notify_user_info_add_pair_plaintext(user_info, NULL, tmp2); } } @@ -4401,7 +4398,7 @@ buddy = data->buddy; gc = purple_account_get_connection(purple_buddy_get_account(buddy)); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); if(results) res = results->data; @@ -4480,9 +4477,10 @@ static void mw_prpl_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, - PurpleGroup *group) { - - struct mwPurplePluginData *pd = gc->proto_data; + PurpleGroup *group, + const char *message) { + + struct mwPurplePluginData *pd = purple_connection_get_protocol_data(gc); struct mwServiceResolve *srvc; GList *query; enum mwResolveFlag flags; @@ -4527,13 +4525,14 @@ static void mw_prpl_add_buddies(PurpleConnection *gc, GList *buddies, - GList *groups) { + GList *groups, + const char *message) { struct mwPurplePluginData *pd; GHashTable *group_sets; struct mwAwareIdBlock *idbs, *idb; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); /* map PurpleGroup:GList of mwAwareIdBlock */ group_sets = g_hash_table_new(g_direct_hash, g_direct_equal); @@ -4584,7 +4583,7 @@ GList *rem = g_list_prepend(NULL, &idb); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); group = purple_buddy_get_group(buddy); list = list_ensure(pd, group); @@ -4631,13 +4630,13 @@ acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); session = pd->session; g_return_if_fail(session != NULL); - switch(acct->perm_deny) { + switch(purple_account_get_privacy_type(acct)) { case PURPLE_PRIVACY_DENY_USERS: DEBUG_INFO("PURPLE_PRIVACY_DENY_USERS\n"); privacy_fill(&privacy, acct->deny); @@ -4661,7 +4660,7 @@ break; default: - DEBUG_INFO("acct->perm_deny is 0x%x\n", acct->perm_deny); + DEBUG_INFO("acct->perm_deny is 0x%x\n", purple_account_get_privacy_type(acct)); return; } @@ -4715,7 +4714,7 @@ struct mwPurplePluginData *pd; char *c, *t; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); c = g_hash_table_lookup(components, CHAT_KEY_NAME); t = g_hash_table_lookup(components, CHAT_KEY_TOPIC); @@ -4757,7 +4756,7 @@ struct mwServiceConference *srvc; char *c; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); srvc = pd->srvc_conf; if(g_hash_table_lookup(components, CHAT_KEY_IS_PLACE)) { @@ -4789,7 +4788,7 @@ struct mwPlace *place; struct mwIdBlock idb = { (char *) who, NULL }; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); conf = ID_TO_CONF(pd, id); @@ -4813,7 +4812,7 @@ struct mwPurplePluginData *pd; struct mwConference *conf; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); conf = ID_TO_CONF(pd, id); @@ -4849,7 +4848,7 @@ char *msg; int ret; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_val_if_fail(pd != NULL, 0); conf = ID_TO_CONF(pd, id); @@ -4887,7 +4886,7 @@ const char *who, const char *alias) { - struct mwPurplePluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); /* it's a change to the buddy list, so we've gotta reflect that in @@ -4905,7 +4904,7 @@ struct mwAwareIdBlock idb = { mwAware_USER, (char *) who, NULL }; GList *gl = g_list_prepend(NULL, &idb); - struct mwPurplePluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = purple_connection_get_protocol_data(gc); PurpleGroup *group; struct mwAwareList *list; @@ -4931,7 +4930,7 @@ PurpleGroup *group, GList *buddies) { - struct mwPurplePluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); /* it's a change in the buddy list, so we've gotta reflect that in @@ -4951,7 +4950,7 @@ static void mw_prpl_convo_closed(PurpleConnection *gc, const char *who) { - struct mwPurplePluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = purple_connection_get_protocol_data(gc); struct mwServiceIm *srvc; struct mwConversation *conv; struct mwIdBlock idb = { (char *) who, NULL }; @@ -4986,7 +4985,7 @@ struct mwPurplePluginData *pd; struct mwAwareList *list; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_if_fail(pd != NULL); g_return_if_fail(pd->group_list_map != NULL); @@ -5010,7 +5009,7 @@ g_return_val_if_fail(gc != NULL, FALSE); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); g_return_val_if_fail(pd != NULL, FALSE); srvc = pd->srvc_aware; @@ -5042,12 +5041,12 @@ acct = purple_xfer_get_account(xfer); gc = purple_account_get_connection(acct); - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); srvc = pd->srvc_ft; filename = purple_xfer_get_local_filename(xfer); filesize = purple_xfer_get_size(xfer); - idb.user = xfer->who; + idb.user = purple_xfer_get_remote_user(xfer); purple_xfer_update_progress(xfer); @@ -5056,7 +5055,7 @@ if(! fp) { char *msg = g_strdup_printf(_("Error reading file %s: \n%s\n"), filename, g_strerror(errno)); - purple_xfer_error(purple_xfer_get_type(xfer), acct, xfer->who, msg); + purple_xfer_error(purple_xfer_get_type(xfer), acct, purple_xfer_get_remote_user(xfer), msg); g_free(msg); return; } @@ -5071,14 +5070,14 @@ purple_xfer_ref(xfer); mwFileTransfer_setClientData(ft, xfer, (GDestroyNotify) purple_xfer_unref); - xfer->data = ft; + purple_xfer_set_protocol_data(xfer, ft); mwFileTransfer_offer(ft); } static void ft_outgoing_cancel(PurpleXfer *xfer) { - struct mwFileTransfer *ft = xfer->data; + struct mwFileTransfer *ft = purple_xfer_get_protocol_data(xfer); DEBUG_INFO("ft_outgoing_cancel called\n"); @@ -5119,80 +5118,66 @@ static PurplePluginProtocolInfo mw_prpl_info = { - OPT_PROTO_IM_IMAGE, - NULL, /*< set in mw_plugin_init */ - NULL, /*< set in mw_plugin_init */ - NO_BUDDY_ICONS, - mw_prpl_list_icon, - mw_prpl_list_emblem, - mw_prpl_status_text, - mw_prpl_tooltip_text, - mw_prpl_status_types, - mw_prpl_blist_node_menu, - mw_prpl_chat_info, - mw_prpl_chat_info_defaults, - mw_prpl_login, - mw_prpl_close, - mw_prpl_send_im, - NULL, - mw_prpl_send_typing, - mw_prpl_get_info, - mw_prpl_set_status, - mw_prpl_set_idle, - NULL, - mw_prpl_add_buddy, - mw_prpl_add_buddies, - mw_prpl_remove_buddy, - NULL, - mw_prpl_add_permit, - mw_prpl_add_deny, - mw_prpl_rem_permit, - mw_prpl_rem_deny, - mw_prpl_set_permit_deny, - mw_prpl_join_chat, - mw_prpl_reject_chat, - mw_prpl_get_chat_name, - mw_prpl_chat_invite, - mw_prpl_chat_leave, - mw_prpl_chat_whisper, - mw_prpl_chat_send, - mw_prpl_keepalive, - NULL, - NULL, - NULL, - mw_prpl_alias_buddy, - mw_prpl_group_buddy, - mw_prpl_rename_group, - mw_prpl_buddy_free, - mw_prpl_convo_closed, - mw_prpl_normalize, - NULL, - mw_prpl_remove_group, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - mw_prpl_can_receive_file, - mw_prpl_send_file, - mw_prpl_new_xfer, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - sizeof(PurplePluginProtocolInfo), - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + .struct_size = sizeof(PurplePluginProtocolInfo), + .options = OPT_PROTO_IM_IMAGE, + .user_splits = NULL, /*< set in mw_plugin_init */ + .protocol_options = NULL, /*< set in mw_plugin_init */ + .icon_spec = NO_BUDDY_ICONS, + .list_icon = mw_prpl_list_icon, + .list_emblem = mw_prpl_list_emblem, + .status_text = mw_prpl_status_text, + .tooltip_text = mw_prpl_tooltip_text, + .status_types = mw_prpl_status_types, + .blist_node_menu = mw_prpl_blist_node_menu, + .chat_info = mw_prpl_chat_info, + .chat_info_defaults = mw_prpl_chat_info_defaults, + .login = mw_prpl_login, + .close = mw_prpl_close, + .send_im = mw_prpl_send_im, + .set_info = NULL, + .send_typing = mw_prpl_send_typing, + .get_info = mw_prpl_get_info, + .set_status = mw_prpl_set_status, + .set_idle = mw_prpl_set_idle, + .change_passwd = NULL, + .add_buddy = mw_prpl_add_buddy, + .add_buddies = mw_prpl_add_buddies, + .remove_buddy = mw_prpl_remove_buddy, + .remove_buddies = NULL, + .add_permit = mw_prpl_add_permit, + .add_deny = mw_prpl_add_deny, + .rem_permit = mw_prpl_rem_permit, + .rem_deny = mw_prpl_rem_deny, + .set_permit_deny = mw_prpl_set_permit_deny, + .join_chat = mw_prpl_join_chat, + .reject_chat = mw_prpl_reject_chat, + .get_chat_name = mw_prpl_get_chat_name, + .chat_invite = mw_prpl_chat_invite, + .chat_leave = mw_prpl_chat_leave, + .chat_whisper = mw_prpl_chat_whisper, + .chat_send = mw_prpl_chat_send, + .keepalive = mw_prpl_keepalive, + .register_user = NULL, + .get_cb_info = NULL, + .alias_buddy = mw_prpl_alias_buddy, + .group_buddy = mw_prpl_group_buddy, + .rename_group = mw_prpl_rename_group, + .buddy_free = mw_prpl_buddy_free, + .convo_closed = mw_prpl_convo_closed, + .normalize = mw_prpl_normalize, + .set_buddy_icon = NULL, + .remove_group = mw_prpl_remove_group, + .get_cb_real_name = NULL, + .set_chat_topic = NULL, + .find_blist_chat = NULL, + .roomlist_get_list = NULL, + .roomlist_expand_category = NULL, + .can_receive_file = mw_prpl_can_receive_file, + .send_file = mw_prpl_send_file, + .new_xfer = mw_prpl_new_xfer, + .offline_message = NULL, + .whiteboard_prpl_ops = NULL, + .send_raw = NULL }; @@ -5514,7 +5499,7 @@ enum mwResolveFlag flags; guint32 req; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); srvc = pd->srvc_resolve; query = g_list_prepend(NULL, (char *) name); @@ -5639,7 +5624,7 @@ enum mwResolveFlag flags; guint32 req; - pd = gc->proto_data; + pd = purple_connection_get_protocol_data(gc); srvc = pd->srvc_resolve; query = g_list_prepend(NULL, (char *) name);