summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpurple/protocols/sametime/sametime.c79
-rw-r--r--libpurple/protocols/yahoo/libyahoo.c12
-rw-r--r--libpurple/protocols/yahoo/libymsg.c50
-rw-r--r--libpurple/protocols/yahoo/yahoo_doodle.c2
-rw-r--r--libpurple/protocols/yahoo/yahoochat.c106
-rw-r--r--libpurple/protocols/yahoo/ycht.c16
6 files changed, 137 insertions, 128 deletions
diff --git a/libpurple/protocols/sametime/sametime.c b/libpurple/protocols/sametime/sametime.c
index f2110d8467..a8e352374e 100644
--- a/libpurple/protocols/sametime/sametime.c
+++ b/libpurple/protocols/sametime/sametime.c
@@ -295,7 +295,7 @@ static void convo_data_free(struct convo_data *conv);
static void convo_features(struct mwConversation *conv);
-static PurpleConversation *convo_get_gconv(struct mwConversation *conv);
+static PurpleIMConversation *convo_get_im(struct mwConversation *conv);
/* name and id */
@@ -1279,7 +1279,7 @@ static void conversation_created_cb(PurpleConversation *g_conv,
if(pd->gc != gc)
return; /* not ours */
- if(purple_conversation_get_type(g_conv) != PURPLE_CONV_TYPE_IM)
+ if(PURPLE_IS_CHAT_CONVERSATION(g_conv))
return; /* wrong type */
who.user = (char *) purple_conversation_get_name(g_conv);
@@ -1835,15 +1835,15 @@ static void mw_session_announce(struct mwSession *s,
const char *text) {
struct mwPurplePluginData *pd;
PurpleAccount *acct;
- PurpleConversation *conv;
+ PurpleIMConversation *im;
PurpleBuddy *buddy;
char *who = from->user_id;
char *msg;
pd = mwSession_getClientData(s);
acct = purple_connection_get_account(pd->gc);
- conv = purple_conversations_find_im_with_account(who, acct);
- if(! conv) conv = purple_im_conversation_new(acct, who);
+ im = purple_conversations_find_im_with_account(who, acct);
+ if(! im) im = purple_im_conversation_new(acct, who);
buddy = purple_find_buddy(acct, who);
if(buddy) who = (char *) purple_buddy_get_contact_alias(buddy);
@@ -1851,7 +1851,8 @@ static void mw_session_announce(struct mwSession *s,
who = g_strdup_printf(_("Announcement from %s"), who);
msg = purple_markup_linkify(text);
- purple_conversation_write(conv, who, msg ? msg : "", PURPLE_MESSAGE_RECV, time(NULL));
+ purple_conversation_write(PURPLE_CONVERSATION(im), who, msg ? msg : "",
+ PURPLE_MESSAGE_RECV, time(NULL));
g_free(who);
g_free(msg);
}
@@ -1978,7 +1979,7 @@ static void mw_conf_opened(struct mwConference *conf, GList *members) {
struct mwSession *session;
struct mwPurplePluginData *pd;
PurpleConnection *gc;
- PurpleConversation *g_conf;
+ PurpleChatConversation *g_conf;
const char *n = mwConference_getName(conf);
const char *t = mwConference_getTitle(conf);
@@ -1994,11 +1995,11 @@ static void mw_conf_opened(struct mwConference *conf, GList *members) {
if(! t) t = "(no title)";
g_conf = serv_got_joined_chat(gc, CONF_TO_ID(conf), t);
- mwConference_setClientData(conf, PURPLE_CONV_CHAT(g_conf), NULL);
+ mwConference_setClientData(conf, g_conf, NULL);
for(; members; members = members->next) {
struct mwLoginInfo *peer = members->data;
- purple_chat_conversation_add_user(PURPLE_CONV_CHAT(g_conf), peer->user_id,
+ purple_chat_conversation_add_user(g_conf, peer->user_id,
NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, FALSE);
}
}
@@ -2408,7 +2409,7 @@ static void convo_data_new(struct mwConversation *conv) {
}
-static PurpleConversation *convo_get_gconv(struct mwConversation *conv) {
+static PurpleIMConversation *convo_get_im(struct mwConversation *conv) {
struct mwServiceIm *srvc;
struct mwSession *session;
struct mwPurplePluginData *pd;
@@ -2425,8 +2426,7 @@ static PurpleConversation *convo_get_gconv(struct mwConversation *conv) {
idb = mwConversation_getTarget(conv);
- return purple_conversations_find_with_account(PURPLE_CONV_TYPE_IM,
- idb->user, acct);
+ return purple_conversations_find_im_with_account(idb->user, acct);
}
@@ -2460,7 +2460,7 @@ static void convo_queue(struct mwConversation *conv,
/* Does what it takes to get an error displayed for a conversation */
static void convo_error(struct mwConversation *conv, guint32 err) {
- PurpleConversation *gconv;
+ PurpleIMConversation *im;
char *tmp, *text;
struct mwIdBlock *idb;
@@ -2469,13 +2469,15 @@ static void convo_error(struct mwConversation *conv, guint32 err) {
tmp = mwError(err);
text = g_strconcat(_("Unable to send message: "), tmp, NULL);
- gconv = convo_get_gconv(conv);
- if(gconv && !purple_conversation_helper_present_error(idb->user, purple_conversation_get_account(gconv), text)) {
+ im = convo_get_im(conv);
+ if(im && !purple_conversation_helper_present_error(idb->user,
+ purple_conversation_get_account(PURPLE_CONVERSATION(im)), 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(purple_conversation_get_account(gconv)),
+ purple_notify_error(purple_account_get_connection(
+ purple_conversation_get_account(PURPLE_CONVERSATION(im))),
NULL, text, tmp);
}
@@ -2507,16 +2509,17 @@ static void convo_queue_send(struct mwConversation *conv) {
inform the purple conversation that it's unsafe to offer any *cool*
features. */
static void convo_nofeatures(struct mwConversation *conv) {
- PurpleConversation *gconv;
+ PurpleIMConversation *im;
PurpleConnection *gc;
- gconv = convo_get_gconv(conv);
- if(! gconv) return;
+ im = convo_get_im(conv);
+ if(! im) return;
- gc = purple_conversation_get_connection(gconv);
+ gc = purple_conversation_get_connection(PURPLE_CONVERSATION(im));
if(! gc) return;
- purple_conversation_set_features(gconv, purple_connection_get_flags(gc));
+ purple_conversation_set_features(PURPLE_CONVERSATION(im),
+ purple_connection_get_flags(gc));
}
@@ -2524,13 +2527,13 @@ static void convo_nofeatures(struct mwConversation *conv) {
to inform the purple conversation of what features to offer the
user */
static void convo_features(struct mwConversation *conv) {
- PurpleConversation *gconv;
+ PurpleIMConversation *im;
PurpleConnectionFlags feat;
- gconv = convo_get_gconv(conv);
- if(! gconv) return;
+ im = convo_get_im(conv);
+ if(! im) return;
- feat = purple_conversation_get_features(gconv);
+ feat = purple_conversation_get_features(PURPLE_CONVERSATION(im));
if(mwConversation_isOpen(conv)) {
if(mwConversation_supports(conv, mwImSend_HTML)) {
@@ -2546,7 +2549,7 @@ static void convo_features(struct mwConversation *conv) {
}
DEBUG_INFO("conversation features set to 0x%04x\n", feat);
- purple_conversation_set_features(gconv, feat);
+ purple_conversation_set_features(PURPLE_CONVERSATION(im), feat);
} else {
convo_nofeatures(conv);
@@ -2574,7 +2577,7 @@ static void mw_conversation_opened(struct mwConversation *conv) {
if(cd) {
convo_queue_send(conv);
- if(! convo_get_gconv(conv)) {
+ if(! convo_get_im(conv)) {
mwConversation_free(conv);
return;
}
@@ -2965,7 +2968,7 @@ place_find_by_id(struct mwPurplePluginData *pd, int id) {
l = (GList *) mwServicePlace_getPlaces(srvc);
for(; l; l = l->next) {
struct mwPlace *p = l->data;
- PurpleChatConversation *h = PURPLE_CONV_CHAT(mwPlace_getClientData(p));
+ PurpleChatConversation *h = mwPlace_getClientData(p);
if(CHAT_TO_ID(h) == id) {
place = p;
@@ -2982,7 +2985,7 @@ static void mw_place_opened(struct mwPlace *place) {
struct mwSession *session;
struct mwPurplePluginData *pd;
PurpleConnection *gc;
- PurpleConversation *gconf;
+ PurpleChatConversation *gconf;
GList *members, *l;
@@ -3006,7 +3009,7 @@ static void mw_place_opened(struct mwPlace *place) {
for(l = members; l; l = l->next) {
struct mwIdBlock *idb = l->data;
- purple_chat_conversation_add_user(PURPLE_CONV_CHAT(gconf), idb->user,
+ purple_chat_conversation_add_user(gconf, idb->user,
NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, FALSE);
}
g_list_free(members);
@@ -3038,7 +3041,7 @@ static void mw_place_closed(struct mwPlace *place, guint32 code) {
static void mw_place_peerJoined(struct mwPlace *place,
const struct mwIdBlock *peer) {
- PurpleConversation *gconf;
+ PurpleChatConversation *gconf;
const char *n = mwPlace_getName(place);
@@ -3047,14 +3050,14 @@ static void mw_place_peerJoined(struct mwPlace *place,
gconf = mwPlace_getClientData(place);
g_return_if_fail(gconf != NULL);
- purple_chat_conversation_add_user(PURPLE_CONV_CHAT(gconf), peer->user,
+ purple_chat_conversation_add_user(gconf, peer->user,
NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, TRUE);
}
static void mw_place_peerParted(struct mwPlace *place,
const struct mwIdBlock *peer) {
- PurpleConversation *gconf;
+ PurpleChatConversation *gconf;
const char *n = mwPlace_getName(place);
@@ -3063,7 +3066,7 @@ static void mw_place_peerParted(struct mwPlace *place,
gconf = mwPlace_getClientData(place);
g_return_if_fail(gconf != NULL);
- purple_chat_conversation_remove_user(PURPLE_CONV_CHAT(gconf), peer->user, NULL);
+ purple_chat_conversation_remove_user(gconf, peer->user, NULL);
}
@@ -4274,14 +4277,14 @@ static void mw_prpl_set_idle(PurpleConnection *gc, int t) {
static void notify_im(PurpleConnection *gc, GList *row, void *user_data) {
PurpleAccount *acct;
- PurpleConversation *conv;
+ PurpleIMConversation *im;
char *id;
acct = purple_connection_get_account(gc);
id = g_list_nth_data(row, 1);
- conv = purple_conversations_find_im_with_account(id, acct);
- if(! conv) conv = purple_im_conversation_new(acct, id);
- purple_conversation_present(conv);
+ im = purple_conversations_find_im_with_account(id, acct);
+ if(! im) im = purple_im_conversation_new(acct, id);
+ purple_conversation_present(PURPLE_CONVERSATION(im));
}
diff --git a/libpurple/protocols/yahoo/libyahoo.c b/libpurple/protocols/yahoo/libyahoo.c
index 48d4ea686d..36c1d285ce 100644
--- a/libpurple/protocols/yahoo/libyahoo.c
+++ b/libpurple/protocols/yahoo/libyahoo.c
@@ -112,16 +112,16 @@ static gboolean yahoo_uri_handler(const char *proto, const char *cmd, GHashTable
if (sname) {
char *message = g_hash_table_lookup(params, "m");
- PurpleConversation *conv = purple_conversations_find_with_account(
- PURPLE_CONV_TYPE_IM, sname, acct);
- if (conv == NULL)
- conv = purple_im_conversation_new(acct, sname);
- purple_conversation_present(conv);
+ PurpleIMConversation *im = purple_conversations_find_im_with_account(
+ sname, acct);
+ if (im == NULL)
+ im = purple_im_conversation_new(acct, sname);
+ purple_conversation_present(PURPLE_CONVERSATION(im));
if (message) {
/* Spaces are encoded as '+' */
g_strdelimit(message, "+", ' ');
- purple_conversation_send_confirm(conv, message);
+ purple_conversation_send_confirm(PURPLE_CONVERSATION(im), message);
}
}
/* else
diff --git a/libpurple/protocols/yahoo/libymsg.c b/libpurple/protocols/yahoo/libymsg.c
index 34cdb0c8b1..69a140336e 100644
--- a/libpurple/protocols/yahoo/libymsg.c
+++ b/libpurple/protocols/yahoo/libymsg.c
@@ -870,9 +870,9 @@ static void yahoo_process_notify(PurpleConnection *gc, struct yahoo_packet *pkt,
yahoo_update_status(gc, from, f);
}
} else if (!g_ascii_strncasecmp(msg, "WEBCAMINVITE", strlen("WEBCAMINVITE"))) {
- PurpleConversation *conv = purple_conversations_find_im_with_account(from, account);
+ PurpleIMConversation *im = purple_conversations_find_im_with_account(from, account);
char *buf = g_strdup_printf(_("%s has sent you a webcam invite, which is not yet supported."), from);
- purple_conversation_write(conv, NULL, buf, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL));
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL, buf, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL));
g_free(buf);
}
}
@@ -929,11 +929,11 @@ static void yahoo_process_sms_message(PurpleConnection *gc, struct yahoo_packet
if( (pkt->status == -1) || (pkt->status == YAHOO_STATUS_DISCONNECTED) ) {
if (server_msg) {
- PurpleConversation *c;
- c = purple_conversations_find_im_with_account(sms->from, account);
- if (c == NULL)
- c = purple_im_conversation_new(account, sms->from);
- purple_conversation_write(c, NULL, server_msg, PURPLE_MESSAGE_SYSTEM, time(NULL));
+ PurpleIMConversation *im;
+ im = purple_conversations_find_im_with_account(sms->from, account);
+ if (im == NULL)
+ im = purple_im_conversation_new(account, sms->from);
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL, server_msg, PURPLE_MESSAGE_SYSTEM, time(NULL));
}
else
purple_notify_error(gc, NULL, _("Your SMS was not delivered"), NULL);
@@ -3724,11 +3724,11 @@ void yahoo_close(PurpleConnection *gc) {
}
for (l = yd->confs; l; l = l->next) {
- PurpleConversation *conv = l->data;
+ PurpleChatConversation *conv = l->data;
- yahoo_conf_leave(yd, purple_conversation_get_name(conv),
+ yahoo_conf_leave(yd, purple_conversation_get_name(PURPLE_CONVERSATION(conv)),
purple_connection_get_display_name(gc),
- purple_chat_conversation_get_users(PURPLE_CONV_CHAT(conv)));
+ purple_chat_conversation_get_users(conv));
}
g_slist_free(yd->confs);
@@ -4380,12 +4380,13 @@ static void yahoo_get_sms_carrier_cb(PurpleUtilFetchUrlData *url_data, gpointer
char *status = NULL;
char *carrier = NULL;
PurpleAccount *account = purple_connection_get_account(gc);
- PurpleConversation *conv = purple_conversations_find_im_with_account(sms_cb_data->who, account);
+ PurpleIMConversation *im = purple_conversations_find_im_with_account(sms_cb_data->who, account);
yd->url_datas = g_slist_remove(yd->url_datas, url_data);
if (error_message != NULL) {
- purple_conversation_write(conv, NULL, _("Can't send SMS. Unable to obtain mobile carrier."), PURPLE_MESSAGE_SYSTEM, time(NULL));
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL, _("Can't send SMS. Unable to obtain mobile carrier."),
+ PURPLE_MESSAGE_SYSTEM, time(NULL));
g_free(sms_cb_data->who);
g_free(sms_cb_data->what);
@@ -4414,7 +4415,7 @@ static void yahoo_get_sms_carrier_cb(PurpleUtilFetchUrlData *url_data, gpointer
} else {
g_hash_table_insert(yd->sms_carrier,
g_strdup_printf("+%s", mobile_no), g_strdup("Unknown"));
- purple_conversation_write(conv, NULL,
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL,
_("Can't send SMS. Unknown mobile carrier."),
PURPLE_MESSAGE_SYSTEM, time(NULL));
}
@@ -4481,8 +4482,9 @@ static void yahoo_get_sms_carrier(PurpleConnection *gc, gpointer data)
yd->url_datas = g_slist_prepend(yd->url_datas, url_data);
else {
PurpleAccount *account = purple_connection_get_account(gc);
- PurpleConversation *conv = purple_conversations_find_im_with_account(sms_cb_data->who, account);
- purple_conversation_write(conv, NULL, _("Can't send SMS. Unable to obtain mobile carrier."), PURPLE_MESSAGE_SYSTEM, time(NULL));
+ PurpleIMConversation *im = purple_conversations_find_im_with_account(sms_cb_data->who, account);
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL, _("Can't send SMS. Unable to obtain mobile carrier."),
+ PURPLE_MESSAGE_SYSTEM, time(NULL));
g_free(sms_cb_data->who);
g_free(sms_cb_data->what);
g_free(sms_cb_data);
@@ -4527,7 +4529,7 @@ int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, Purpl
gchar *carrier = NULL;
const char *alias = NULL;
PurpleAccount *account = purple_connection_get_account(gc);
- PurpleConversation *conv = purple_conversations_find_im_with_account(who, account);
+ PurpleIMConversation *im = purple_conversations_find_im_with_account(who, account);
carrier = g_hash_table_lookup(yd->sms_carrier, who);
if (!carrier) {
@@ -4537,7 +4539,7 @@ int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, Purpl
sms_cb_data->who = g_strdup(who);
sms_cb_data->what = g_strdup(what);
- purple_conversation_write(conv, NULL, _("Getting mobile carrier to send the SMS."), PURPLE_MESSAGE_SYSTEM, time(NULL));
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL, _("Getting mobile carrier to send the SMS."), PURPLE_MESSAGE_SYSTEM, time(NULL));
yahoo_get_sms_carrier(gc, sms_cb_data);
@@ -4546,7 +4548,7 @@ int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, Purpl
return ret;
}
else if( strcmp(carrier,"Unknown") == 0 ) {
- purple_conversation_write(conv, NULL, _("Can't send SMS. Unknown mobile carrier."), PURPLE_MESSAGE_SYSTEM, time(NULL));
+ purple_conversation_write(PURPLE_CONVERSATION(im), NULL, _("Can't send SMS. Unknown mobile carrier."), PURPLE_MESSAGE_SYSTEM, time(NULL));
g_free(msg);
g_free(msg2);
@@ -5249,16 +5251,16 @@ gboolean yahoo_offline_message(const PurpleBuddy *buddy)
gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type)
{
- PurpleConversation *c;
+ PurpleIMConversation *im;
- c = purple_conversations_find_with_account(PURPLE_CONV_TYPE_IM,
- username, purple_connection_get_account(gc));
+ im = purple_conversations_find_im_with_account(username,
+ purple_connection_get_account(gc));
- g_return_val_if_fail(c != NULL, FALSE);
+ g_return_val_if_fail(im != NULL, FALSE);
purple_debug_info("yahoo", "Sending <ding> on account %s to buddy %s.\n",
- username, purple_conversation_get_name(c));
- purple_im_conversation_send_message(PURPLE_CONV_IM(c), "<ding>", PURPLE_MESSAGE_INVISIBLE);
+ username, purple_conversation_get_name(PURPLE_CONVERSATION(im)));
+ purple_conversation_send_message(PURPLE_CONVERSATION(im), "<ding>", PURPLE_MESSAGE_INVISIBLE);
return TRUE;
}
diff --git a/libpurple/protocols/yahoo/yahoo_doodle.c b/libpurple/protocols/yahoo/yahoo_doodle.c
index 6dbe45bab4..c13b36eb28 100644
--- a/libpurple/protocols/yahoo/yahoo_doodle.c
+++ b/libpurple/protocols/yahoo/yahoo_doodle.c
@@ -93,7 +93,7 @@ PurpleCmdRet yahoo_doodle_purple_cmd_start(PurpleConversation *conv, const char
/* Write a local message to this conversation showing that a request for a
* Doodle session has been made
*/
- purple_im_conversation_write_message(PURPLE_CONV_IM(conv), "", _("Sent Doodle request."),
+ purple_conversation_write_message(conv, "", _("Sent Doodle request."),
PURPLE_MESSAGE_NICK | PURPLE_MESSAGE_RECV, time(NULL));
return PURPLE_CMD_RET_OK;
diff --git a/libpurple/protocols/yahoo/yahoochat.c b/libpurple/protocols/yahoo/yahoochat.c
index 33eef4ff5f..7d958b8d44 100644
--- a/libpurple/protocols/yahoo/yahoochat.c
+++ b/libpurple/protocols/yahoo/yahoochat.c
@@ -96,7 +96,7 @@ void yahoo_chat_add_user(PurpleChatConversation *chat, const char *user, const c
purple_chat_conversation_add_user(chat, user, reason, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, TRUE);
}
-static PurpleConversation *yahoo_find_conference(PurpleConnection *gc, const char *name)
+static PurpleChatConversation *yahoo_find_conference(PurpleConnection *gc, const char *name)
{
YahooData *yd;
GSList *l;
@@ -104,8 +104,8 @@ static PurpleConversation *yahoo_find_conference(PurpleConnection *gc, const cha
yd = purple_connection_get_protocol_data(gc);
for (l = yd->confs; l; l = l->next) {
- PurpleConversation *c = l->data;
- if (!purple_utf8_strcasecmp(purple_conversation_get_name(c), name))
+ PurpleChatConversation *c = l->data;
+ if (!purple_utf8_strcasecmp(purple_conversation_get_name(PURPLE_CONVERSATION(c)), name))
return c;
}
return NULL;
@@ -208,7 +208,7 @@ void yahoo_process_conference_decline(PurpleConnection *gc, struct yahoo_packet
char *room = NULL;
char *who = NULL;
char *msg = NULL;
- PurpleConversation *c = NULL;
+ PurpleChatConversation *c = NULL;
int utf8 = 0;
for (l = pkt->hash; l; l = l->next) {
@@ -246,13 +246,14 @@ void yahoo_process_conference_decline(PurpleConnection *gc, struct yahoo_packet
{
msg_tmp = yahoo_string_decode(gc, msg, utf8);
msg = yahoo_codes_to_html(msg_tmp);
- serv_got_chat_in(gc, purple_chat_conversation_get_id(PURPLE_CONV_CHAT(c)), who, 0, msg, time(NULL));
+ serv_got_chat_in(gc, purple_chat_conversation_get_id(c), who, 0, msg, time(NULL));
g_free(msg_tmp);
g_free(msg);
}
tmp = g_strdup_printf(_("%s has declined to join."), who);
- purple_conversation_write(c, NULL, tmp, PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LINKIFY, time(NULL));
+ purple_conversation_write(PURPLE_CONVERSATION(c), NULL, tmp,
+ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LINKIFY, time(NULL));
g_free(tmp);
}
@@ -266,7 +267,7 @@ void yahoo_process_conference_logon(PurpleConnection *gc, struct yahoo_packet *p
GSList *l;
char *room = NULL;
char *who = NULL;
- PurpleConversation *c;
+ PurpleChatConversation *c;
for (l = pkt->hash; l; l = l->next) {
struct yahoo_pair *pair = l->data;
@@ -286,8 +287,8 @@ void yahoo_process_conference_logon(PurpleConnection *gc, struct yahoo_packet *p
c = yahoo_find_conference(gc, room);
if (c)
{ /* Prevent duplicate users in the chat */
- if( !purple_chat_conversation_find_user(PURPLE_CONV_CHAT(c), who) )
- yahoo_chat_add_user(PURPLE_CONV_CHAT(c), who, NULL);
+ if( !purple_chat_conversation_find_user(c, who) )
+ yahoo_chat_add_user(c, who, NULL);
}
g_free(room);
}
@@ -298,7 +299,7 @@ void yahoo_process_conference_logoff(PurpleConnection *gc, struct yahoo_packet *
GSList *l;
char *room = NULL;
char *who = NULL;
- PurpleConversation *c;
+ PurpleChatConversation *c;
for (l = pkt->hash; l; l = l->next) {
struct yahoo_pair *pair = l->data;
@@ -317,7 +318,7 @@ void yahoo_process_conference_logoff(PurpleConnection *gc, struct yahoo_packet *
if (who && room) {
c = yahoo_find_conference(gc, room);
if (c)
- purple_chat_conversation_remove_user(PURPLE_CONV_CHAT(c), who, NULL);
+ purple_chat_conversation_remove_user(c, who, NULL);
g_free(room);
}
}
@@ -329,7 +330,7 @@ void yahoo_process_conference_message(PurpleConnection *gc, struct yahoo_packet
char *who = NULL;
char *msg = NULL;
int utf8 = 0;
- PurpleConversation *c;
+ PurpleChatConversation *c;
for (l = pkt->hash; l; l = l->next) {
struct yahoo_pair *pair = l->data;
@@ -362,7 +363,7 @@ void yahoo_process_conference_message(PurpleConnection *gc, struct yahoo_packet
msg2 = yahoo_string_decode(gc, msg, utf8);
msg = yahoo_codes_to_html(msg2);
- serv_got_chat_in(gc, purple_chat_conversation_get_id(PURPLE_CONV_CHAT(c)), who, 0, msg, time(NULL));
+ serv_got_chat_in(gc, purple_chat_conversation_get_id(c), who, 0, msg, time(NULL));
g_free(msg);
g_free(msg2);
}
@@ -463,7 +464,7 @@ void yahoo_process_chat_join(PurpleConnection *gc, struct yahoo_packet *pkt)
{
PurpleAccount *account = purple_connection_get_account(gc);
YahooData *yd = purple_connection_get_protocol_data(gc);
- PurpleConversation *c = NULL;
+ PurpleChatConversation *c = NULL;
GSList *l;
GList *members = NULL;
GList *roomies = NULL;
@@ -542,60 +543,60 @@ void yahoo_process_chat_join(PurpleConnection *gc, struct yahoo_packet *pkt)
c = purple_conversations_find_chat(gc, YAHOO_CHAT_ID);
- if (room && (!c || purple_chat_conversation_has_left(PURPLE_CONV_CHAT(c))) &&
+ if (room && (!c || purple_chat_conversation_has_left(c)) &&
members && (members->next ||
!g_ascii_strcasecmp(members->data, purple_connection_get_display_name(gc)))) {
GList *l;
GList *flags = NULL;
for (l = members; l; l = l->next)
flags = g_list_prepend(flags, GINT_TO_POINTER(PURPLE_CHAT_CONVERSATION_BUDDY_NONE));
- if (c && purple_chat_conversation_has_left(PURPLE_CONV_CHAT(c))) {
+ if (c && purple_chat_conversation_has_left(c)) {
/* this might be a hack, but oh well, it should nicely */
char *tmpmsg;
- purple_conversation_set_name(c, room);
+ purple_conversation_set_name(PURPLE_CONVERSATION(c), room);
c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room);
if (topic) {
- purple_chat_conversation_set_topic(PURPLE_CONV_CHAT(c), NULL, topic);
+ purple_chat_conversation_set_topic(c, NULL, topic);
/* Also print the topic to the backlog so that the captcha link is clickable */
- purple_chat_conversation_write_message(PURPLE_CONV_CHAT(c), "", topic, PURPLE_MESSAGE_SYSTEM, time(NULL));
+ purple_conversation_write_message(PURPLE_CONVERSATION(c), "", topic, PURPLE_MESSAGE_SYSTEM, time(NULL));
}
yd->in_chat = 1;
yd->chat_name = g_strdup(room);
- purple_chat_conversation_add_users(PURPLE_CONV_CHAT(c), members, NULL, flags, FALSE);
+ purple_chat_conversation_add_users(c, members, NULL, flags, FALSE);
tmpmsg = g_strdup_printf(_("You are now chatting in %s."), room);
- purple_chat_conversation_write_message(PURPLE_CONV_CHAT(c), "", tmpmsg, PURPLE_MESSAGE_SYSTEM, time(NULL));
+ purple_conversation_write_message(PURPLE_CONVERSATION(c), "", tmpmsg, PURPLE_MESSAGE_SYSTEM, time(NULL));
g_free(tmpmsg);
} else {
c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room);
if (topic) {
- purple_chat_conversation_set_topic(PURPLE_CONV_CHAT(c), NULL, topic);
+ purple_chat_conversation_set_topic(c, NULL, topic);
/* Also print the topic to the backlog so that the captcha link is clickable */
- purple_chat_conversation_write_message(PURPLE_CONV_CHAT(c), "", topic, PURPLE_MESSAGE_SYSTEM, time(NULL));
+ purple_conversation_write_message(PURPLE_CONVERSATION(c), "", topic, PURPLE_MESSAGE_SYSTEM, time(NULL));
}
yd->in_chat = 1;
yd->chat_name = g_strdup(room);
- purple_chat_conversation_add_users(PURPLE_CONV_CHAT(c), members, NULL, flags, FALSE);
+ purple_chat_conversation_add_users(c, members, NULL, flags, FALSE);
}
g_list_free(flags);
} else if (c) {
if (topic) {
- const char *cur_topic = purple_chat_conversation_get_topic(PURPLE_CONV_CHAT(c));
+ const char *cur_topic = purple_chat_conversation_get_topic(c);
if (cur_topic == NULL || strcmp(cur_topic, topic) != 0)
- purple_chat_conversation_set_topic(PURPLE_CONV_CHAT(c), NULL, topic);
+ purple_chat_conversation_set_topic(c, NULL, topic);
}
- yahoo_chat_add_users(PURPLE_CONV_CHAT(c), members);
+ yahoo_chat_add_users(c, members);
}
if (purple_account_privacy_get_denied(account) && c) {
- PurpleConversationUiOps *ops = purple_conversation_get_ui_ops(c);
+ PurpleConversationUiOps *ops = purple_conversation_get_ui_ops(PURPLE_CONVERSATION(c));
for (l = purple_account_privacy_get_denied(account); l != NULL; l = l->next) {
for (roomies = members; roomies; roomies = roomies->next) {
if (!purple_utf8_strcasecmp((char *)l->data, roomies->data)) {
purple_debug_info("yahoo", "Ignoring room member %s in room %s\n" , (char *)roomies->data, room ? room : "");
- purple_chat_conversation_ignore(PURPLE_CONV_CHAT(c),roomies->data);
+ purple_chat_conversation_ignore(c,roomies->data);
ops->chat_update_user(c, roomies->data);
}
}
@@ -625,9 +626,10 @@ void yahoo_process_chat_exit(PurpleConnection *gc, struct yahoo_packet *pkt)
}
if (who && room) {
- PurpleConversation *c = purple_conversations_find_chat(gc, YAHOO_CHAT_ID);
- if (c && !purple_utf8_strcasecmp(purple_conversation_get_name(c), room))
- purple_chat_conversation_remove_user(PURPLE_CONV_CHAT(c), who, NULL);
+ PurpleChatConversation *c = purple_conversations_find_chat(gc, YAHOO_CHAT_ID);
+ if (c && !purple_utf8_strcasecmp(purple_conversation_get_name(
+ PURPLE_CONVERSATION(c)), room))
+ purple_chat_conversation_remove_user(c, who, NULL);
}
g_free(room);
@@ -637,7 +639,7 @@ void yahoo_process_chat_message(PurpleConnection *gc, struct yahoo_packet *pkt)
{
char *room = NULL, *who = NULL, *msg = NULL, *msg2;
int msgtype = 1, utf8 = 1; /* default to utf8 */
- PurpleConversation *c = NULL;
+ PurpleChatConversation *c = NULL;
GSList *l;
for (l = pkt->hash; l; l = l->next) {
@@ -808,7 +810,7 @@ static int yahoo_conf_send(PurpleConnection *gc, const char *dn, const char *roo
return 0;
}
-static void yahoo_conf_join(YahooData *yd, PurpleConversation *c, const char *dn, const char *room,
+static void yahoo_conf_join(YahooData *yd, PurpleChatConversation *c, const char *dn, const char *room,
const char *topic, const char *members)
{
struct yahoo_packet *pkt;
@@ -826,7 +828,7 @@ static void yahoo_conf_join(YahooData *yd, PurpleConversation *c, const char *dn
if (!strcmp(memarr[i], "") || !strcmp(memarr[i], dn))
continue;
yahoo_packet_hash_str(pkt, 3, memarr[i]);
- purple_chat_conversation_add_user(PURPLE_CONV_CHAT(c), memarr[i], NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, TRUE);
+ purple_chat_conversation_add_user(c, memarr[i], NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, TRUE);
}
}
yahoo_packet_send_and_free(pkt, yd);
@@ -835,7 +837,7 @@ static void yahoo_conf_join(YahooData *yd, PurpleConversation *c, const char *dn
g_strfreev(memarr);
}
-static void yahoo_conf_invite(PurpleConnection *gc, PurpleConversation *c,
+static void yahoo_conf_invite(PurpleConnection *gc, PurpleChatConversation *c,
const char *dn, const char *buddy, const char *room, const char *msg)
{
YahooData *yd = purple_connection_get_protocol_data(gc);
@@ -846,7 +848,7 @@ static void yahoo_conf_invite(PurpleConnection *gc, PurpleConversation *c,
if (msg)
msg2 = yahoo_string_encode(gc, msg, NULL);
- members = purple_chat_conversation_get_users(PURPLE_CONV_CHAT(c));
+ members = purple_chat_conversation_get_users(c);
pkt = yahoo_packet_new(YAHOO_SERVICE_CONFADDINVITE, YAHOO_STATUS_AVAILABLE, yd->session_id);
@@ -1025,7 +1027,7 @@ void yahoo_chat_goto(PurpleConnection *gc, const char *name)
void yahoo_c_leave(PurpleConnection *gc, int id)
{
YahooData *yd = purple_connection_get_protocol_data(gc);
- PurpleConversation *c;
+ PurpleChatConversation *c;
if (!yd)
return;
@@ -1035,11 +1037,12 @@ void yahoo_c_leave(PurpleConnection *gc, int id)
return;
if (id != YAHOO_CHAT_ID) {
- yahoo_conf_leave(yd, purple_conversation_get_name(c),
- purple_connection_get_display_name(gc), purple_chat_conversation_get_users(PURPLE_CONV_CHAT(c)));
+ yahoo_conf_leave(yd, purple_conversation_get_name(PURPLE_CONVERSATION(c)),
+ purple_connection_get_display_name(gc), purple_chat_conversation_get_users(c));
yd->confs = g_slist_remove(yd->confs, c);
} else {
- yahoo_chat_leave(gc, purple_conversation_get_name(c), purple_connection_get_display_name(gc), TRUE);
+ yahoo_chat_leave(gc, purple_conversation_get_name(PURPLE_CONVERSATION(c)),
+ purple_connection_get_display_name(gc), TRUE);
}
serv_got_chat_left(gc, id);
@@ -1047,7 +1050,7 @@ void yahoo_c_leave(PurpleConnection *gc, int id)
int yahoo_c_send(PurpleConnection *gc, int id, const char *what, PurpleMessageFlags flags)
{
- PurpleConversation *c;
+ PurpleChatConversation *c;
int ret;
YahooData *yd;
@@ -1061,12 +1064,13 @@ int yahoo_c_send(PurpleConnection *gc, int id, const char *what, PurpleMessageFl
if (id != YAHOO_CHAT_ID) {
ret = yahoo_conf_send(gc, purple_connection_get_display_name(gc),
- purple_conversation_get_name(c), purple_chat_conversation_get_users(PURPLE_CONV_CHAT(c)), what);
+ purple_conversation_get_name(PURPLE_CONVERSATION(c)),
+ purple_chat_conversation_get_users(c), what);
} else {
ret = yahoo_chat_send(gc, purple_connection_get_display_name(gc),
- purple_conversation_get_name(c), what, flags);
+ purple_conversation_get_name(PURPLE_CONVERSATION(c)), what, flags);
if (!ret)
- serv_got_chat_in(gc, purple_chat_conversation_get_id(PURPLE_CONV_CHAT(c)),
+ serv_got_chat_in(gc, purple_chat_conversation_get_id(c),
purple_connection_get_display_name(gc), flags, what, time(NULL));
}
return ret;
@@ -1107,7 +1111,7 @@ void yahoo_c_join(PurpleConnection *gc, GHashTable *data)
{
YahooData *yd;
char *room, *topic, *type;
- PurpleConversation *c;
+ PurpleChatConversation *c;
yd = purple_connection_get_protocol_data(gc);
if (!yd)
@@ -1127,7 +1131,7 @@ void yahoo_c_join(PurpleConnection *gc, GHashTable *data)
id = yd->conf_id++;
c = serv_got_joined_chat(gc, id, room);
yd->confs = g_slist_prepend(yd->confs, c);
- purple_chat_conversation_set_topic(PURPLE_CONV_CHAT(c), purple_connection_get_display_name(gc), topic);
+ purple_chat_conversation_set_topic(c, purple_connection_get_display_name(gc), topic);
yahoo_conf_join(yd, c, purple_connection_get_display_name(gc), room, topic, members);
return;
} else {
@@ -1158,18 +1162,18 @@ void yahoo_c_join(PurpleConnection *gc, GHashTable *data)
void yahoo_c_invite(PurpleConnection *gc, int id, const char *msg, const char *name)
{
- PurpleConversation *c;
+ PurpleChatConversation *c;
c = purple_conversations_find_chat(gc, id);
- if (!c || !purple_conversation_get_name(c))
+ if (!c || !purple_conversation_get_name(PURPLE_CONVERSATION(c)))
return;
if (id != YAHOO_CHAT_ID) {
yahoo_conf_invite(gc, c, purple_connection_get_display_name(gc), name,
- purple_conversation_get_name(c), msg);
+ purple_conversation_get_name(PURPLE_CONVERSATION(c)), msg);
} else {
yahoo_chat_invite(gc, purple_connection_get_display_name(gc), name,
- purple_conversation_get_name(c), msg);
+ purple_conversation_get_name(PURPLE_CONVERSATION(c)), msg);
}
}
diff --git a/libpurple/protocols/yahoo/ycht.c b/libpurple/protocols/yahoo/ycht.c
index 125c79b177..ffc905c76c 100644
--- a/libpurple/protocols/yahoo/ycht.c
+++ b/libpurple/protocols/yahoo/ycht.c
@@ -78,7 +78,7 @@ static void ycht_process_chatjoin(YchtConn *ycht, YchtPkt *pkt)
{
char *room, *topic;
PurpleConnection *gc = ycht->gc;
- PurpleConversation *c = NULL;
+ PurpleChatConversation *c = NULL;
gboolean new_room = FALSE;
char **members;
int i;
@@ -109,15 +109,15 @@ static void ycht_process_chatjoin(YchtConn *ycht, YchtPkt *pkt)
}
if (topic)
- purple_chat_conversation_set_topic(PURPLE_CONV_CHAT(c), NULL, topic);
+ purple_chat_conversation_set_topic(c, NULL, topic);
for (i = 0; members[i]; i++) {
if (new_room) {
/*if (!strcmp(members[i], purple_connection_get_display_name(ycht->gc)))
continue;*/
- purple_chat_conversation_add_user(PURPLE_CONV_CHAT(c), members[i], NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, TRUE);
+ purple_chat_conversation_add_user(c, members[i], NULL, PURPLE_CHAT_CONVERSATION_BUDDY_NONE, TRUE);
} else {
- yahoo_chat_add_user(PURPLE_CONV_CHAT(c), members[i], NULL);
+ yahoo_chat_add_user(c, members[i], NULL);
}
}
@@ -132,9 +132,9 @@ static void ycht_process_chatpart(YchtConn *ycht, YchtPkt *pkt)
who = g_list_nth_data(pkt->data, 1);
if (who && room) {
- PurpleConversation *c = purple_conversations_find_chat(ycht->gc, YAHOO_CHAT_ID);
- if (c && !purple_utf8_strcasecmp(purple_conversation_get_name(c), room))
- purple_chat_conversation_remove_user(PURPLE_CONV_CHAT(c), who, NULL);
+ PurpleChatConversation *c = purple_conversations_find_chat(ycht->gc, YAHOO_CHAT_ID);
+ if (c && !purple_utf8_strcasecmp(purple_conversation_get_name(PURPLE_CONVERSATION(c)), room))
+ purple_chat_conversation_remove_user(c, who, NULL);
}
}
@@ -142,7 +142,7 @@ static void ycht_process_chatpart(YchtConn *ycht, YchtPkt *pkt)
static void ycht_progress_chatmsg(YchtConn *ycht, YchtPkt *pkt)
{
char *who, *what, *msg;
- PurpleConversation *c;
+ PurpleChatConversation *c;
PurpleConnection *gc = ycht->gc;
who = g_list_nth_data(pkt->data, 1);