libpurple/protocols/msn/msn.c

Sun, 01 Sep 2013 01:40:21 +0530

author
Ankit Vani <a@nevitus.org>
date
Sun, 01 Sep 2013 01:40:21 +0530
branch
soc.2013.gobjectification.plugins
changeset 36628
3d43ca8d69ee
parent 36621
3edd164b6a1a
child 36637
9b0109ae118d
permissions
-rw-r--r--

Refactored the protocols to use the error argument of purple_protocols_{add/remove}

4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
1 /**
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
2 * @file msn.c The MSN protocol plugin
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
4 * purple
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
8 * source distribution.
6701
7e2db9273748 [gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
9 *
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
10 * This program is free software; you can redistribute it and/or modify
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
11 * it under the terms of the GNU General Public License as published by
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
13 * (at your option) any later version.
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
14 *
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
15 * This program is distributed in the hope that it will be useful,
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
18 * GNU General Public License for more details.
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
19 *
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
20 * You should have received a copy of the GNU General Public License
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19643
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
23 */
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
24 #define PHOTO_SUPPORT 1
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
25
30960
82373650bd86 Add internal here so it brings config.h that make it possible to load the plugin. Fixes a regresion introduced in b875cf477e192c095c23983490d166e5ee39fc22.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30956
diff changeset
26 #include "internal.h"
82373650bd86 Add internal here so it brings config.h that make it possible to load the plugin. Fixes a regresion introduced in b875cf477e192c095c23983490d166e5ee39fc22.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30956
diff changeset
27
30945
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30944
diff changeset
28 #include "debug.h"
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
29 #include "http.h"
30945
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30944
diff changeset
30 #include "request.h"
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30944
diff changeset
31
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
32 #include "accountopt.h"
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
33 #include "contact.h"
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
34 #include "msg.h"
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
35 #include "page.h"
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
36 #include "plugins.h"
5626
6e6fc61ea2db [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
37 #include "prefs.h"
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
38 #include "session.h"
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
39 #include "smiley.h"
5361
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
40 #include "state.h"
13629
36b386194367 [gaim-migrate @ 16015]
Daniel Atallah <datallah@pidgin.im>
parents: 13628
diff changeset
41 #include "util.h"
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
42 #include "cmds.h"
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
43 #include "core.h"
36543
a8c3fecee2d3 Renamed prpl.[ch] to protocol.[ch]
Ankit Vani <a@nevitus.org>
parents: 36536
diff changeset
44 #include "protocol.h"
20475
0b3826f0e687 The first msn-p13-merge-head.diff.gz from SF Patch #1621854 from Ka-Hing Cheung.
Richard Laager <rlaager@pidgin.im>
parents: 20474
diff changeset
45 #include "msnutils.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
46 #include "version.h"
4546
d14ad00fe294 [gaim-migrate @ 4825]
Herman Bloggs <herman@bluedigits.com>
parents: 4542
diff changeset
47
30956
74ba2cc3e760 A little header cleanup.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30948
diff changeset
48 #include "error.h"
24420
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
49 #include "msg.h"
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
50 #include "switchboard.h"
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
51 #include "notification.h"
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
52 #include "slplink.h"
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
53
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
54 #if PHOTO_SUPPORT
24013
44c189da652d A similar size limit for MSN buddy icon retrieval from arbitrary urls.
Daniel Atallah <datallah@pidgin.im>
parents: 24006
diff changeset
55 #define MAX_HTTP_BUDDYICON_BYTES (200 * 1024)
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
56 #include "imgstore.h"
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
57 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
58
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
59 typedef struct
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
60 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
61 PurpleConnection *gc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
62 const char *passport;
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
63
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
64 } MsnMobileData;
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
65
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
66 typedef struct
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
67 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
68 PurpleConnection *gc;
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
69 char *name;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
70
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
71 } MsnGetInfoData;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
72
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
73 typedef struct
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
74 {
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
75 MsnGetInfoData *info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
76 char *stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
77 char *url_buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
78 PurpleNotifyUserInfo *user_info;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
79 char *photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
80
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
81 } MsnGetInfoStepTwoData;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
82
17103
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
83 typedef struct
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
84 {
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
85 PurpleConnection *gc;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
86 const char *who;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
87 char *msg;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
88 PurpleMessageFlags flags;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
89 time_t when;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
90 } MsnIMData;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
91
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
92 typedef struct
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
93 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
94 char *smile;
28351
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
95 PurpleSmiley *ps;
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
96 MsnObject *obj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
97 } MsnEmoticon;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
98
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
99 static PurpleProtocol *my_protocol = NULL;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
100
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
101 static const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
102 msn_normalize(const PurpleAccount *account, const char *str)
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
103 {
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
104 static char buf[BUF_LEN];
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
105 char *tmp;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
106
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
107 g_return_val_if_fail(str != NULL, NULL);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
108
31477
287335be7bad Strip spaces when normalizing MSN usernames. Spaces in the account
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31436
diff changeset
109 tmp = g_strchomp(g_utf8_strdown(str, -1));
287335be7bad Strip spaces when normalizing MSN usernames. Spaces in the account
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31436
diff changeset
110 g_snprintf(buf, sizeof(buf), "%s%s", tmp,
287335be7bad Strip spaces when normalizing MSN usernames. Spaces in the account
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31436
diff changeset
111 (strchr(tmp, '@') ? "" : "@hotmail.com"));
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
112 g_free(tmp);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
113
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
114 return buf;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
115 }
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
116
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
117 static gboolean
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
118 msn_send_attention(PurpleConnection *gc, const char *username, guint type)
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
119 {
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
120 MsnMessage *msg;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
121 MsnSession *session;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
122 MsnSwitchBoard *swboard;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
123
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
124 msg = msn_message_new_nudge();
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
125 session = purple_connection_get_protocol_data(gc);
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
126 swboard = msn_session_get_swboard(session, username, MSN_SB_FLAG_IM);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
127
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
128 msn_switchboard_send_msg(swboard, msg, TRUE);
31162
2c596217766b msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <markdoliner@pidgin.im>
parents: 31161
diff changeset
129 msn_message_unref(msg);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
130
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
131 return TRUE;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
132 }
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
133
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
134 static GList *
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
135 msn_attention_types(PurpleAccount *account)
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
136 {
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
137 static GList *list = NULL;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
138
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
139 if (!list) {
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22164
diff changeset
140 list = g_list_append(list, purple_attention_type_new("Nudge", _("Nudge"),
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22164
diff changeset
141 _("%s has nudged you!"), _("Nudging %s...")));
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
142 }
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
143
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
144 return list;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
145 }
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
146
23277
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
147 static GHashTable *
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
148 msn_get_account_text_table(PurpleAccount *unused)
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
149 {
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
150 GHashTable *table;
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
151
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
152 table = g_hash_table_new(g_str_hash, g_str_equal);
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
153
23325
a374a26fe217 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@pidgin.im>
parents: 23295
diff changeset
154 g_hash_table_insert(table, "login_label", (gpointer)_("Email Address..."));
23277
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
155
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
156 return table;
ea315a8d5bad Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23276
diff changeset
157 }
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
158
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
159 static PurpleCmdRet
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
160 msn_cmd_nudge(PurpleConversation *conv, const gchar *cmd, gchar **args, gchar **error, void *data)
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
161 {
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
162 PurpleAccount *account = purple_conversation_get_account(conv);
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
163 PurpleConnection *gc = purple_account_get_connection(account);
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
164 const gchar *username;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
165
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
166 username = purple_conversation_get_name(conv);
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
167
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 36544
diff changeset
168 purple_protocol_send_attention(gc, username, MSN_NUDGE);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
169
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
170 return PURPLE_CMD_RET_OK;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
171 }
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
172
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
173 struct public_alias_closure
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
174 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
175 PurpleAccount *account;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
176 gpointer success_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
177 gpointer failure_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
178 };
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
179
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
180 static gboolean
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
181 set_public_alias_length_error(gpointer data)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
182 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
183 struct public_alias_closure *closure = data;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
184 PurpleSetPublicAliasFailureCallback failure_cb = closure->failure_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
185
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
186 failure_cb(closure->account, _("Your new MSN friendly name is too long."));
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
187 g_free(closure);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
188
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
189 return FALSE;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
190 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
191
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
192 static void
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
193 prp_success_cb(MsnCmdProc *cmdproc, MsnCommand *cmd)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
194 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
195 const char *type, *friendlyname;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
196 struct public_alias_closure *closure;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 31212
diff changeset
197
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
198 g_return_if_fail(cmd->param_count >= 3);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
199 type = cmd->params[1];
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
200 g_return_if_fail(!strcmp(type, "MFN"));
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
201
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
202 closure = cmd->trans->data;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
203 friendlyname = purple_url_decode(cmd->params[2]);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
204
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
205 msn_update_contact(cmdproc->session, "Me", MSN_UPDATE_DISPLAY, friendlyname);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
206
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
207 purple_connection_set_display_name(
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
208 purple_account_get_connection(closure->account),
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
209 friendlyname);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
210 purple_account_set_string(closure->account, "display-name", friendlyname);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
211
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
212 if (closure->success_cb) {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
213 PurpleSetPublicAliasSuccessCallback success_cb = closure->success_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
214 success_cb(closure->account, friendlyname);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
215 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
216 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
217
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
218 static void
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
219 prp_error_cb(MsnCmdProc *cmdproc, MsnTransaction *trans, int error)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
220 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
221 struct public_alias_closure *closure = trans->data;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
222 PurpleSetPublicAliasFailureCallback failure_cb = closure->failure_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
223 gboolean debug;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
224 const char *error_text;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
225
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
226 error_text = msn_error_get_text(error, &debug);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
227 failure_cb(closure->account, error_text);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
228 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
229
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
230 static void
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
231 prp_timeout_cb(MsnCmdProc *cmdproc, MsnTransaction *trans)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
232 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
233 struct public_alias_closure *closure = trans->data;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
234 PurpleSetPublicAliasFailureCallback failure_cb = closure->failure_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
235 failure_cb(closure->account, _("Connection Timeout"));
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
236 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
237
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
238 void
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
239 msn_set_public_alias(PurpleConnection *pc, const char *alias,
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
240 PurpleSetPublicAliasSuccessCallback success_cb,
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
241 PurpleSetPublicAliasFailureCallback failure_cb)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
242 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
243 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
244 MsnSession *session;
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
245 MsnTransaction *trans;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
246 PurpleAccount *account;
31204
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
247 char real_alias[BUDDY_ALIAS_MAXLEN + 1];
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
248 struct public_alias_closure *closure;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
249
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
250 session = purple_connection_get_protocol_data(pc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
251 cmdproc = session->notification->cmdproc;
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
252 account = purple_connection_get_account(pc);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
253
31186
26c47566d14a Stop escaping all characters in the display name. It's only necessary
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31178
diff changeset
254 if (alias && *alias) {
31204
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
255 if (!msn_encode_spaces(alias, real_alias, BUDDY_ALIAS_MAXLEN + 1)) {
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
256 if (failure_cb) {
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
257 struct public_alias_closure *closure =
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
258 g_new0(struct public_alias_closure, 1);
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
259 closure->account = account;
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
260 closure->failure_cb = failure_cb;
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
261 purple_timeout_add(0, set_public_alias_length_error, closure);
31186
26c47566d14a Stop escaping all characters in the display name. It's only necessary
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31178
diff changeset
262 } else {
31204
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
263 purple_notify_error(pc, NULL,
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
264 _("Your new MSN friendly name is too long."),
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
265 NULL);
31186
26c47566d14a Stop escaping all characters in the display name. It's only necessary
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31178
diff changeset
266 }
31204
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
267 return;
31186
26c47566d14a Stop escaping all characters in the display name. It's only necessary
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31178
diff changeset
268 }
26c47566d14a Stop escaping all characters in the display name. It's only necessary
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31178
diff changeset
269
31204
268d6dcff367 Combine the encode_spaces function and the stuff for the display name
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31203
diff changeset
270 if (real_alias[0] == '\0')
31962
8f2d0081358a Use g_strlcpy instead of strcpy in MSN alias string creation.
Ethan Blanton <elb@pidgin.im>
parents: 31598
diff changeset
271 g_strlcpy(real_alias, purple_account_get_username(account), sizeof(real_alias));
31186
26c47566d14a Stop escaping all characters in the display name. It's only necessary
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31178
diff changeset
272 } else
31962
8f2d0081358a Use g_strlcpy instead of strcpy in MSN alias string creation.
Ethan Blanton <elb@pidgin.im>
parents: 31598
diff changeset
273 g_strlcpy(real_alias, purple_account_get_username(account), sizeof(real_alias));
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
274
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
275 closure = g_new0(struct public_alias_closure, 1);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
276 closure->account = account;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
277 closure->success_cb = success_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
278 closure->failure_cb = failure_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
279
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
280 trans = msn_transaction_new(cmdproc, "PRP", "MFN %s", real_alias);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
281 msn_transaction_set_data(trans, closure);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
282 msn_transaction_set_data_free(trans, g_free);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
283 msn_transaction_add_cb(trans, "PRP", prp_success_cb);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
284 if (failure_cb) {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
285 msn_transaction_set_error_cb(trans, prp_error_cb);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
286 msn_transaction_set_timeout_cb(trans, prp_timeout_cb);
20474
b0ef257ef8d4 The second msn.tgz from SF Patch #1621854 from Ka-Hing Cheung.
Ka-Hing Cheung <khc@pidgin.im>
parents: 20473
diff changeset
287 }
30196
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
288 msn_cmdproc_send_trans(cmdproc, trans);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
289 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
290
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
291 static gboolean
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
292 get_public_alias_cb(gpointer data)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
293 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
294 struct public_alias_closure *closure = data;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
295 PurpleGetPublicAliasSuccessCallback success_cb = closure->success_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
296 const char *alias;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
297
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
298 alias = purple_account_get_string(closure->account, "display-name",
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
299 purple_account_get_username(closure->account));
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
300 success_cb(closure->account, alias);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
301 g_free(closure);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
302
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
303 return FALSE;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
304 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
305
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
306 static void
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
307 msn_get_public_alias(PurpleConnection *pc,
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
308 PurpleGetPublicAliasSuccessCallback success_cb,
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
309 PurpleGetPublicAliasFailureCallback failure_cb)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
310 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
311 struct public_alias_closure *closure = g_new0(struct public_alias_closure, 1);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
312 PurpleAccount *account = purple_connection_get_account(pc);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
313
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
314 closure->account = account;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
315 closure->success_cb = success_cb;
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
316 purple_timeout_add(0, get_public_alias_cb, closure);
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
317 }
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
318
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
319 static void
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
320 msn_act_id(PurpleConnection *gc, const char *entry)
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
321 {
6a2c93988900 Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30194
diff changeset
322 msn_set_public_alias(gc, entry, NULL, NULL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
323 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
324
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
325 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
326 msn_set_prp(PurpleConnection *gc, const char *type, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
327 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
328 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
329 MsnSession *session;
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
330 MsnTransaction *trans;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
331
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
332 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
333 cmdproc = session->notification->cmdproc;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
334
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
335 if (entry == NULL || *entry == '\0')
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
336 {
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
337 trans = msn_transaction_new(cmdproc, "PRP", "%s", type);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
338 }
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
339 else
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
340 {
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
341 trans = msn_transaction_new(cmdproc, "PRP", "%s %s", type,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
342 purple_url_encode(entry));
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
343 }
30914
24c47e42518a Fix a few little things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30910
diff changeset
344 msn_cmdproc_send_trans(cmdproc, trans);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
345 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
346
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
347 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
348 msn_set_home_phone_cb(PurpleConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
349 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
350 msn_set_prp(gc, "PHH", entry);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
351 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
352
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
353 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
354 msn_set_work_phone_cb(PurpleConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
355 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
356 msn_set_prp(gc, "PHW", entry);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
357 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
358
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
359 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
360 msn_set_mobile_phone_cb(PurpleConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
361 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
362 msn_set_prp(gc, "PHM", entry);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
363 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
365 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
366 enable_msn_pages_cb(PurpleConnection *gc)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
367 {
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
368 msn_set_prp(gc, "MOB", "Y");
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
369 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
370
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
371 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
372 disable_msn_pages_cb(PurpleConnection *gc)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
373 {
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
374 msn_set_prp(gc, "MOB", "N");
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
375 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
376
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
377 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
378 send_to_mobile(PurpleConnection *gc, const char *who, const char *entry)
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
379 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
380 MsnTransaction *trans;
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
381 MsnSession *session;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
382 MsnCmdProc *cmdproc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
383 MsnPage *page;
28346
1250dd4e9448 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27780
diff changeset
384 MsnMessage *msg;
22670
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
385 MsnUser *user;
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
386 char *payload = NULL;
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
387 const char *mobile_number = NULL;
22969
51f5e7777915 This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22670
diff changeset
388 gsize payload_len;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
389
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
390 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
391 cmdproc = session->notification->cmdproc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
392
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
393 page = msn_page_new();
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
394 msn_page_set_body(page, entry);
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
395
9092
34b9e78827f6 [gaim-migrate @ 9869]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9091
diff changeset
396 payload = msn_page_gen_payload(page, &payload_len);
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
397
22670
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
398 if ((user = msn_userlist_find_user(session->userlist, who)) &&
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
399 (mobile_number = msn_user_get_mobile_phone(user)) &&
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
400 mobile_number[0] == '+') {
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
401 /* if msn_user_get_mobile_phone() has a + in front, it's a number
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
402 that from the buddy's contact card */
22969
51f5e7777915 This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22670
diff changeset
403 trans = msn_transaction_new(cmdproc, "PGD", "tel:%s 1 %" G_GSIZE_FORMAT,
22670
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
404 mobile_number, payload_len);
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
405 } else {
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
406 /* otherwise we send to whatever phone number the buddy registered
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
407 with msn */
22969
51f5e7777915 This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22670
diff changeset
408 trans = msn_transaction_new(cmdproc, "PGD", "%s 1 %" G_GSIZE_FORMAT,
51f5e7777915 This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22670
diff changeset
409 who, payload_len);
22670
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
410 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
411
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
412 msn_transaction_set_payload(trans, payload, payload_len);
21065
8bbf0f6700ed Fix some leaks and prevent some unnecessary allocations and frees.
Daniel Atallah <datallah@pidgin.im>
parents: 21033
diff changeset
413 g_free(payload);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
414
28346
1250dd4e9448 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27780
diff changeset
415 msg = msn_message_new_plain(entry);
1250dd4e9448 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27780
diff changeset
416 msn_transaction_set_data(trans, msg);
1250dd4e9448 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27780
diff changeset
417
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
418 msn_page_destroy(page);
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
419
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
420 msn_cmdproc_send_trans(cmdproc, trans);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
421 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
422
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
423 static void
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
424 send_to_mobile_cb(MsnMobileData *data, const char *entry)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
425 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
426 send_to_mobile(data->gc, data->passport, entry);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
427 g_free(data);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
428 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
429
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
430 static void
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
431 close_mobile_page_cb(MsnMobileData *data, const char *entry)
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
432 {
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
433 g_free(data);
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
434 }
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
435
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
436 /* -- */
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
437
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
438 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
439 msn_show_set_friendly_name(PurpleProtocolAction *action)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
440 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
441 PurpleConnection *gc;
29160
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
442 PurpleAccount *account;
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
443 char *tmp;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
444
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
445 gc = action->connection;
29160
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
446 account = purple_connection_get_account(gc);
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
447
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
448 tmp = g_strdup_printf(_("Set friendly name for %s."),
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
449 purple_account_get_username(account));
30926
563077529cae Give the Set Friendly Name window a better title
Mark Doliner <markdoliner@pidgin.im>
parents: 30925
diff changeset
450 purple_request_input(gc, _("Set Friendly Name"), tmp,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
451 _("This is the name that other MSN buddies will "
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
452 "see you as."),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
453 purple_connection_get_display_name(gc), FALSE, FALSE, NULL,
5481
2f161d72e311 [gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
454 _("OK"), G_CALLBACK(msn_act_id),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
455 _("Cancel"), NULL,
29160
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
456 account, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
457 gc);
29160
06bf248756a1 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
458 g_free(tmp);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
459 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
460
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
461 typedef struct MsnLocationData {
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
462 PurpleAccount *account;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
463 MsnSession *session;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
464 PurpleRequestFieldGroup *group;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
465 } MsnLocationData;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
466
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
467 static void
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
468 update_endpoint_cb(MsnLocationData *data, PurpleRequestFields *fields)
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
469 {
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
470 PurpleAccount *account;
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
471 MsnSession *session;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
472 const char *old_name;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
473 const char *name;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
474 GList *others;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
475
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
476 session = data->session;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
477 account = data->account;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
478
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
479 /* Update the current location's name */
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
480 old_name = purple_account_get_string(account, "endpoint-name", NULL);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
481 name = purple_request_fields_get_string(fields, "endpoint-name");
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
482 if (!g_str_equal(old_name, name)) {
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
483 purple_account_set_string(account, "endpoint-name", name);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
484 msn_notification_send_uux_private_endpointdata(session);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
485 }
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
486
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
487 /* Sign out other locations */
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
488 for (others = purple_request_field_group_get_fields(data->group);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
489 others;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
490 others = g_list_next(others)) {
29452
bf81dc65bbd4 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29451
diff changeset
491 PurpleRequestField *field = others->data;
bf81dc65bbd4 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29451
diff changeset
492 if (purple_request_field_get_type(field) != PURPLE_REQUEST_FIELD_BOOLEAN)
bf81dc65bbd4 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29451
diff changeset
493 continue;
29453
4f4a9646df32 Fix this inverted logic. Disconnect the selected endpoints as said in the field label.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 29452
diff changeset
494 if (purple_request_field_bool_get_value(field)) {
29452
bf81dc65bbd4 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29451
diff changeset
495 const char *id = purple_request_field_get_id(field);
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
496 char *user;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
497 purple_debug_info("msn", "Disconnecting Endpoint %s\n", id);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
498
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
499 user = g_strdup_printf("%s;%s", purple_account_get_username(account), id);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
500 msn_notification_send_uun(session, user, MSN_UNIFIED_NOTIFICATION_MPOP, "goawyplzthxbye");
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
501 g_free(user);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
502 }
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
503 }
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
504
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
505 g_free(data);
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
506 }
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
507
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
508 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
509 msn_show_locations(PurpleProtocolAction *action)
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
510 {
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
511 PurpleConnection *pc;
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
512 PurpleAccount *account;
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
513 MsnSession *session;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
514 PurpleRequestFields *fields;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
515 PurpleRequestFieldGroup *group;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
516 PurpleRequestField *field;
31161
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
517 gboolean have_other_endpoints;
30927
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
518 GSList *l;
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
519 MsnLocationData *data;
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
520
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
521 pc = action->connection;
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
522 account = purple_connection_get_account(pc);
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
523 session = purple_connection_get_protocol_data(pc);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
524
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
525 fields = purple_request_fields_new();
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
526
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
527 group = purple_request_field_group_new(_("This Location"));
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
528 purple_request_fields_add_group(fields, group);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
529 field = purple_request_field_label_new("endpoint-label", _("This is the name that identifies this location"));
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
530 purple_request_field_group_add_field(group, field);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
531 field = purple_request_field_string_new("endpoint-name",
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
532 _("Name"),
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
533 purple_account_get_string(account, "endpoint-name", NULL),
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
534 FALSE);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
535 purple_request_field_set_required(field, TRUE);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
536 purple_request_field_group_add_field(group, field);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
537
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
538 group = purple_request_field_group_new(_("Other Locations"));
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
539 purple_request_fields_add_group(fields, group);
31161
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
540
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
541 have_other_endpoints = FALSE;
30927
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
542 for (l = session->user->endpoints; l; l = l->next) {
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
543 MsnUserEndpoint *ep = l->data;
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
544
31161
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
545 if (ep->id[0] != '\0' && strncasecmp(ep->id + 1, session->guid, 36) == 0)
30927
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
546 /* Don't add myself to the list */
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
547 continue;
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
548
31161
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
549 if (!have_other_endpoints) {
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
550 /* We do in fact have an endpoint other than ourselves... let's
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
551 add a label */
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
552 field = purple_request_field_label_new("others-label",
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
553 _("You can sign out from other locations here"));
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
554 purple_request_field_group_add_field(group, field);
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
555 }
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
556
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
557 have_other_endpoints = TRUE;
30927
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
558 field = purple_request_field_bool_new(ep->id, ep->name, FALSE);
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
559 purple_request_field_group_add_field(group, field);
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
560 }
31161
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
561 if (!have_other_endpoints) {
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
562 /* TODO: Due to limitations in our current request field API, the
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
563 following string will show up with a trailing colon. This should
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
564 be fixed either by adding an "include_colon" boolean, or creating
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
565 a separate purple_request_field_label_new_without_colon function,
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
566 or by never automatically adding the colon and requiring that
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
567 callers add the colon themselves. */
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
568 field = purple_request_field_label_new("others-label", _("You are not signed in from any other locations."));
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
569 purple_request_field_group_add_field(group, field);
6a6358232969 * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <markdoliner@pidgin.im>
parents: 31143
diff changeset
570 }
30927
ca3c59bdc5d3 Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <markdoliner@pidgin.im>
parents: 30926
diff changeset
571
29451
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
572 data = g_new0(MsnLocationData, 1);
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
573 data->account = account;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
574 data->session = session;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
575 data->group = group;
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
576
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
577 purple_request_fields(pc, NULL, NULL, NULL,
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
578 fields,
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
579 _("OK"), G_CALLBACK(update_endpoint_cb),
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
580 _("Cancel"), G_CALLBACK(g_free),
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
581 account, NULL, NULL,
a9f73732927b Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29448
diff changeset
582 data);
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
583 }
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
584
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
585 static void
31212
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
586 enable_mpop_cb(PurpleConnection *pc)
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
587 {
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
588 MsnSession *session = purple_connection_get_protocol_data(pc);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
589
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
590 purple_debug_info("msn", "Enabling MPOP\n");
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
591
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
592 session->enable_mpop = TRUE;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
593 msn_annotate_contact(session, "Me", "MSN.IM.MPOP", "1", NULL);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
594
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 36544
diff changeset
595 purple_protocol_got_account_actions(purple_connection_get_account(pc));
31212
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
596 }
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
597
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
598 static void
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
599 disable_mpop_cb(PurpleConnection *pc)
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
600 {
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
601 PurpleAccount *account = purple_connection_get_account(pc);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
602 MsnSession *session = purple_connection_get_protocol_data(pc);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
603 GSList *l;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
604
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
605 purple_debug_info("msn", "Disabling MPOP\n");
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
606
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
607 session->enable_mpop = FALSE;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
608 msn_annotate_contact(session, "Me", "MSN.IM.MPOP", "0", NULL);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
609
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
610 for (l = session->user->endpoints; l; l = l->next) {
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
611 MsnUserEndpoint *ep = l->data;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
612 char *user;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
613
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
614 if (ep->id[0] != '\0' && strncasecmp(ep->id + 1, session->guid, 36) == 0)
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
615 /* Don't kick myself */
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
616 continue;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
617
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
618 purple_debug_info("msn", "Disconnecting Endpoint %s\n", ep->id);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
619
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
620 user = g_strdup_printf("%s;%s", purple_account_get_username(account), ep->id);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
621 msn_notification_send_uun(session, user, MSN_UNIFIED_NOTIFICATION_MPOP, "goawyplzthxbye");
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
622 g_free(user);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
623 }
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
624
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 36544
diff changeset
625 purple_protocol_got_account_actions(account);
31212
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
626 }
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
627
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
628 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
629 msn_show_set_mpop(PurpleProtocolAction *action)
31212
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
630 {
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
631 PurpleConnection *pc;
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
632
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
633 pc = action->connection;
31212
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
634
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
635 purple_request_action(pc, NULL, _("Allow multiple logins?"),
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
636 _("Do you want to allow or disallow connecting from "
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
637 "multiple locations simultaneously?"),
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
638 PURPLE_DEFAULT_ACTION_NONE,
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
639 purple_connection_get_account(pc), NULL, NULL,
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
640 pc, 3,
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
641 _("Allow"), G_CALLBACK(enable_mpop_cb),
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
642 _("Disallow"), G_CALLBACK(disable_mpop_cb),
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
643 _("Cancel"), NULL);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
644 }
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
645
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
646 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
647 msn_show_set_home_phone(PurpleProtocolAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
648 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
649 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
650 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
651
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
652 gc = action->connection;
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
653 session = purple_connection_get_protocol_data(gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
654
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
655 purple_request_input(gc, NULL, _("Set your home phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
656 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
657 _("OK"), G_CALLBACK(msn_set_home_phone_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
658 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
659 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
660 gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
661 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
662
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
663 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
664 msn_show_set_work_phone(PurpleProtocolAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
665 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
666 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
667 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
668
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
669 gc = action->connection;
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
670 session = purple_connection_get_protocol_data(gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
671
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
672 purple_request_input(gc, NULL, _("Set your work phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
673 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
674 _("OK"), G_CALLBACK(msn_set_work_phone_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
675 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
676 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
677 gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
678 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
679
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
680 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
681 msn_show_set_mobile_phone(PurpleProtocolAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
682 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
683 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
684 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
685
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
686 gc = action->connection;
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
687 session = purple_connection_get_protocol_data(gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
688
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
689 purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
690 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
691 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
692 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
693 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
694 gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
695 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
696
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
697 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
698 msn_show_set_mobile_pages(PurpleProtocolAction *action)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
699 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
700 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
701
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
702 gc = action->connection;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
703
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
704 purple_request_action(gc, NULL, _("Allow MSN Mobile pages?"),
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
705 _("Do you want to allow or disallow people on "
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
706 "your buddy list to send you MSN Mobile pages "
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
707 "to your cell phone or other mobile device?"),
22265
81cc9a21d463 Minor improvements to the default_action used in purple_action_request
Mark Doliner <markdoliner@pidgin.im>
parents: 22230
diff changeset
708 PURPLE_DEFAULT_ACTION_NONE,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
709 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
710 gc, 3,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
711 _("Allow"), G_CALLBACK(enable_msn_pages_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
712 _("Disallow"), G_CALLBACK(disable_msn_pages_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
713 _("Cancel"), NULL);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
714 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
715
23839
7351d841f0b5 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23830
diff changeset
716 /* QuLogic: Disabled until confirmed correct. */
7351d841f0b5 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23830
diff changeset
717 #if 0
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
718 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
719 msn_show_blocked_text(PurpleProtocolAction *action)
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
720 {
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
721 PurpleConnection *pc = action->connection;
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
722 MsnSession *session;
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
723 char *title;
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
724
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
725 session = purple_connection_get_protocol_data(pc);
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
726
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
727 title = g_strdup_printf(_("Blocked Text for %s"), session->account->username);
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
728 if (session->blocked_text == NULL) {
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
729 purple_notify_formatted(pc, title, title, NULL, _("No text is blocked for this account."), NULL, NULL);
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
730 } else {
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
731 char *blocked_text;
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
732 blocked_text = g_strdup_printf(_("MSN servers are currently blocking the following regular expressions:<br/>%s"),
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
733 session->blocked_text);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 31212
diff changeset
734
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
735 purple_notify_formatted(pc, title, title, NULL, blocked_text, NULL, NULL);
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
736 g_free(blocked_text);
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
737 }
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
738 g_free(title);
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
739 }
23839
7351d841f0b5 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23830
diff changeset
740 #endif
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
741
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
742 static void
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
743 msn_show_hotmail_inbox(PurpleProtocolAction *action)
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
744 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
745 PurpleConnection *gc;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
746 MsnSession *session;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
747
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
748 gc = action->connection;
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
749 session = purple_connection_get_protocol_data(gc);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
750
23923
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
751 if (!session->passport_info.email_enabled) {
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
752 purple_notify_error(gc, NULL,
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
753 _("This account does not have email enabled."), NULL);
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
754 return;
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
755 }
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
756
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 31212
diff changeset
757 /** apparently the correct value is 777, use 750 as a failsafe */
23924
1f8e75759bf3 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23923
diff changeset
758 if ((session->passport_info.mail_url == NULL)
1f8e75759bf3 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23923
diff changeset
759 || (time (NULL) - session->passport_info.mail_timestamp >= 750)) {
23866
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
760 MsnTransaction *trans;
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
761 MsnCmdProc *cmdproc;
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
762
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
763 cmdproc = session->notification->cmdproc;
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
764
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
765 trans = msn_transaction_new(cmdproc, "URL", "%s", "INBOX");
23923
79bcb6763b5c Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23922
diff changeset
766 msn_transaction_set_data(trans, GUINT_TO_POINTER(TRUE));
23866
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
767
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
768 msn_cmdproc_send_trans(cmdproc, trans);
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
769
23924
1f8e75759bf3 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23923
diff changeset
770 } else
1f8e75759bf3 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23923
diff changeset
771 purple_notify_uri(gc, session->passport_info.mail_url);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
772 }
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
773
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
774 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
775 show_send_to_mobile_cb(PurpleBlistNode *node, gpointer ignored)
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
776 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
777 PurpleBuddy *buddy;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
778 PurpleConnection *gc;
9042
a44973ada5fe [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
779 MsnMobileData *data;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
780 PurpleAccount *account;
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
781 const char *name;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
782
34696
6e0d13978666 Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents: 34670
diff changeset
783 g_return_if_fail(PURPLE_IS_BUDDY(node));
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
784
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
785 buddy = (PurpleBuddy *) node;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
786 account = purple_buddy_get_account(buddy);
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
787 gc = purple_account_get_connection(account);
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
788 name = purple_buddy_get_name(buddy);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
789
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
790 data = g_new0(MsnMobileData, 1);
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
791 data->gc = gc;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
792 data->passport = name;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
793
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
794 purple_request_input(gc, NULL, _("Send a mobile message."), NULL,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
795 NULL, TRUE, FALSE, NULL,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
796 _("Page"), G_CALLBACK(send_to_mobile_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
797 _("Close"), G_CALLBACK(close_mobile_page_cb),
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
798 account, name, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
799 data);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
800 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
801
16890
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
802 static gboolean
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
803 msn_offline_message(const PurpleBuddy *buddy) {
24153
486c95be10e0 correctly say we support offline messages for all buddies, this was never
Ka-Hing Cheung <khc@pidgin.im>
parents: 24073
diff changeset
804 return TRUE;
16890
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
805 }
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
806
20542
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
807 void
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
808 msn_send_privacy(PurpleConnection *gc)
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
809 {
24000
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
810 PurpleAccount *account;
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
811 MsnSession *session;
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
812 MsnCmdProc *cmdproc;
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
813 MsnTransaction *trans;
24000
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
814
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
815 account = purple_connection_get_account(gc);
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
816 session = purple_connection_get_protocol_data(gc);
24000
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
817 cmdproc = session->notification->cmdproc;
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
818
34578
cfb2f856a5d0 Refactored prpls according to the changed PurpleAccount API
Ankit Vani <a@nevitus.org>
parents: 33774
diff changeset
819 if (purple_account_get_privacy_type(account) == PURPLE_ACCOUNT_PRIVACY_ALLOW_ALL ||
cfb2f856a5d0 Refactored prpls according to the changed PurpleAccount API
Ankit Vani <a@nevitus.org>
parents: 33774
diff changeset
820 purple_account_get_privacy_type(account) == PURPLE_ACCOUNT_PRIVACY_DENY_USERS)
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
821 trans = msn_transaction_new(cmdproc, "BLP", "%s", "AL");
24000
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
822 else
30908
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
823 trans = msn_transaction_new(cmdproc, "BLP", "%s", "BL");
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
824
a56cb7eb6036 msn: Delete msn_cmdproc_send since it just have duplicated code from
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30902
diff changeset
825 msn_cmdproc_send_trans(cmdproc, trans);
20542
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
826 }
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
827
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
828 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
829 initiate_chat_cb(PurpleBlistNode *node, gpointer data)
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
830 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
831 PurpleBuddy *buddy;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
832 PurpleConnection *gc;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
833 PurpleAccount *account;
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
834
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
835 MsnSession *session;
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
836 MsnSwitchBoard *swboard;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
837
24006
acaac2aa49b7 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24000
diff changeset
838 const char *alias;
acaac2aa49b7 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24000
diff changeset
839
34696
6e0d13978666 Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents: 34670
diff changeset
840 g_return_if_fail(PURPLE_IS_BUDDY(node));
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
841
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
842 buddy = (PurpleBuddy *) node;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
843 account = purple_buddy_get_account(buddy);
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
844 gc = purple_account_get_connection(account);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
845
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
846 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
847
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
848 swboard = msn_switchboard_new(session);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
849 msn_switchboard_request(swboard);
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
850 msn_switchboard_request_add_user(swboard, purple_buddy_get_name(buddy));
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
851
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
852 /* TODO: This might move somewhere else, after USR might be */
22164
2307c0c05225 Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22133
diff changeset
853 swboard->chat_id = msn_switchboard_get_chat_id();
34636
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
854 swboard->conv = PURPLE_CONVERSATION(serv_got_joined_chat(gc,
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
855 swboard->chat_id, "MSN Chat"));
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
856 swboard->flag = MSN_SB_FLAG_IM;
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
857
24006
acaac2aa49b7 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24000
diff changeset
858 /* Local alias > Display name > Username */
34589
428e92c79631 Renamed purple_account_[get,set]_alias to purple_account[get,set]_private_alias.
Ankit Vani <a@nevitus.org>
parents: 34578
diff changeset
859 if ((alias = purple_account_get_private_alias(account)) == NULL)
24006
acaac2aa49b7 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24000
diff changeset
860 if ((alias = purple_connection_get_display_name(gc)) == NULL)
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
861 alias = purple_account_get_username(account);
24006
acaac2aa49b7 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24000
diff changeset
862
34636
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
863 purple_chat_conversation_add_user(PURPLE_CHAT_CONVERSATION(swboard->conv),
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34640
diff changeset
864 alias, NULL, PURPLE_CHAT_USER_NONE, TRUE);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
865 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
866
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
867 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
868 t_msn_xfer_init(PurpleXfer *xfer)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
869 {
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30960
diff changeset
870 msn_request_ft(xfer);
30046
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
871 }
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
872
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
873 static void
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
874 t_msn_xfer_cancel_send(PurpleXfer *xfer)
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
875 {
32244
21305036245c Convert the msn prpl to use the new API.
Andrew Victor <andrew.victor@mxit.com>
parents: 32225
diff changeset
876 MsnSlpLink *slplink = purple_xfer_get_protocol_data(xfer);
30046
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
877 msn_slplink_unref(slplink);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
878 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
879
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
880 static PurpleXfer*
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
881 msn_new_xfer(PurpleConnection *gc, const char *who)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
882 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
883 MsnSession *session;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
884 PurpleXfer *xfer;
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
885
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
886 session = purple_connection_get_protocol_data(gc);
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
887
32678
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32623
diff changeset
888 xfer = purple_xfer_new(purple_connection_get_account(gc), PURPLE_XFER_SEND, who);
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
889
24633
7ee2fe561fa7 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <markdoliner@pidgin.im>
parents: 24420
diff changeset
890 g_return_val_if_fail(xfer != NULL, NULL);
7ee2fe561fa7 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <markdoliner@pidgin.im>
parents: 24420
diff changeset
891
32244
21305036245c Convert the msn prpl to use the new API.
Andrew Victor <andrew.victor@mxit.com>
parents: 32225
diff changeset
892 purple_xfer_set_protocol_data(xfer, msn_slplink_ref(msn_session_get_slplink(session, who)));
24633
7ee2fe561fa7 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <markdoliner@pidgin.im>
parents: 24420
diff changeset
893
7ee2fe561fa7 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <markdoliner@pidgin.im>
parents: 24420
diff changeset
894 purple_xfer_set_init_fnc(xfer, t_msn_xfer_init);
30046
b1109ea8d963 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29965
diff changeset
895 purple_xfer_set_cancel_send_fnc(xfer, t_msn_xfer_cancel_send);
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
896
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
897 return xfer;
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
898 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
899
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
900 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
901 msn_send_file(PurpleConnection *gc, const char *who, const char *file)
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
902 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
903 PurpleXfer *xfer = msn_new_xfer(gc, who);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
904
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
905 if (file)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
906 purple_xfer_request_accepted(xfer, file);
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
907 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
908 purple_xfer_request(xfer);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
909 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
910
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
911 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
912 msn_can_receive_file(PurpleConnection *gc, const char *who)
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
913 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
914 PurpleAccount *account;
23928
345ec6709d3b Fix a crash when the user isn't in your list.
Daniel Atallah <datallah@pidgin.im>
parents: 23924
diff changeset
915 gchar *normal;
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
916 gboolean ret;
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
917
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
918 account = purple_connection_get_account(gc);
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
919
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
920 normal = g_strdup(msn_normalize(account, purple_account_get_username(account)));
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
921 ret = strcmp(normal, msn_normalize(account, who));
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
922 g_free(normal);
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
923
23921
48f0392f47e9 Disable sending files to MSN contacts using the web messenger. Not sure
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23872
diff changeset
924 if (ret) {
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
925 MsnSession *session = purple_connection_get_protocol_data(gc);
23940
fc45c1d8ff30 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23928
diff changeset
926 if (session) {
fc45c1d8ff30 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23928
diff changeset
927 MsnUser *user = msn_userlist_find_user(session->userlist, who);
28787
26e9c95a91ae Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28731
diff changeset
928 if (user) {
31436
1f56689dc398 Updated client capabilities and networks from msnpsharp.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31294
diff changeset
929 /* Include these too: MSN_CAP_MOBILE_ON|MSN_CAP_WEB_WATCH ? */
1f56689dc398 Updated client capabilities and networks from msnpsharp.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31294
diff changeset
930 if ((user->clientid & MSN_CAP_VIA_WEBIM) ||
28787
26e9c95a91ae Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28731
diff changeset
931 user->networkid == MSN_NETWORK_YAHOO)
26e9c95a91ae Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28731
diff changeset
932 ret = FALSE;
26e9c95a91ae Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28731
diff changeset
933 else
26e9c95a91ae Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28731
diff changeset
934 ret = TRUE;
26e9c95a91ae Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28731
diff changeset
935 }
23940
fc45c1d8ff30 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23928
diff changeset
936 } else
fc45c1d8ff30 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23928
diff changeset
937 ret = FALSE;
23921
48f0392f47e9 Disable sending files to MSN contacts using the web messenger. Not sure
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23872
diff changeset
938 }
48f0392f47e9 Disable sending files to MSN contacts using the web messenger. Not sure
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23872
diff changeset
939
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
940 return ret;
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
941 }
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
942
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
943 /**************************************************************************
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
944 * Protocol Plugin ops
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
945 **************************************************************************/
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
946
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
947 static const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
948 msn_list_icon(PurpleAccount *a, PurpleBuddy *b)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
949 {
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
950 return "msn";
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
951 }
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
952
23791
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
953 static const char *
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
954 msn_list_emblems(PurpleBuddy *b)
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
955 {
24946
390536329dc5 Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24571
diff changeset
956 MsnUser *user = purple_buddy_get_protocol_data(b);
23791
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
957
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
958 if (user != NULL) {
31436
1f56689dc398 Updated client capabilities and networks from msnpsharp.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31294
diff changeset
959 if (user->clientid & MSN_CAP_BOT)
23791
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
960 return "bot";
31436
1f56689dc398 Updated client capabilities and networks from msnpsharp.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31294
diff changeset
961 if (user->clientid & MSN_CAP_VIA_MOBILE)
23922
979a9f52387d On MSN, use "external" and "mobile" for Web messenger and mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23921
diff changeset
962 return "mobile";
23791
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
963 #if 0
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
964 /* XXX: Since we don't support this, there's no point in showing it just yet */
31436
1f56689dc398 Updated client capabilities and networks from msnpsharp.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31294
diff changeset
965 if (user->clientid & MSN_CAP_SCHANNEL)
23791
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
966 return "secure";
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
967 #endif
31436
1f56689dc398 Updated client capabilities and networks from msnpsharp.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31294
diff changeset
968 if (user->clientid & MSN_CAP_VIA_WEBIM)
23922
979a9f52387d On MSN, use "external" and "mobile" for Web messenger and mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23921
diff changeset
969 return "external";
23791
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
970 if (user->networkid == MSN_NETWORK_YAHOO)
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
971 return "yahoo";
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
972 }
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
973
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
974 return NULL;
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
975 }
a11ef8611747 Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23789
diff changeset
976
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
977 /*
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
978 * Set the User status text
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
979 */
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
980 static char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
981 msn_status_text(PurpleBuddy *buddy)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
982 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
983 PurplePresence *presence;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
984 PurpleStatus *status;
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
985 const char *msg;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
986
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
987 presence = purple_buddy_get_presence(buddy);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
988 status = purple_presence_get_active_status(presence);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
989
25402
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
990 /* Official client says media takes precedence over message */
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
991 /* I say message take precedence over media! Plus prpl-jabber agrees
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
992 too */
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
993 msg = purple_status_get_attr_string(status, "message");
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
994 if (msg && *msg)
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
995 return g_markup_escape_text(msg, -1);
1ec1160f61f4 xmpp does this!
Ka-Hing Cheung <khc@pidgin.im>
parents: 25156
diff changeset
996
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
997 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
24771
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
998 const char *title, *game, *office;
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
999 char *media, *esc;
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1000 status = purple_presence_get_status(presence, "tune");
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1001 title = purple_status_get_attr_string(status, PURPLE_TUNE_TITLE);
24771
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1002
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1003 game = purple_status_get_attr_string(status, "game");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1004 office = purple_status_get_attr_string(status, "office");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1005
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1006 if (title && *title) {
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1007 const char *artist = purple_status_get_attr_string(status, PURPLE_TUNE_ARTIST);
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1008 const char *album = purple_status_get_attr_string(status, PURPLE_TUNE_ALBUM);
27755
fdf193e013c4 Use purple_util_format_song_info in MSN/XMPP for the buddy list status text.
Paul Aurich <darkrain42@pidgin.im>
parents: 27654
diff changeset
1009 media = purple_util_format_song_info(title, artist, album, NULL);
27780
e48b7c1b0f20 Don't double-escape media.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27779
diff changeset
1010 return media;
24771
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1011 }
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1012 else if (game && *game)
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1013 media = g_strdup_printf("Playing %s", game);
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1014 else if (office && *office)
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1015 media = g_strdup_printf("Editing %s", office);
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1016 else
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1017 return NULL;
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1018 esc = g_markup_escape_text(media, -1);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1019 g_free(media);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1020 return esc;
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1021 }
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1022
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1023 return NULL;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1024 }
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1025
12970
c2f3b4dcf711 [gaim-migrate @ 15323]
Richard Laager <rlaager@pidgin.im>
parents: 12948
diff changeset
1026 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1027 msn_tooltip_text(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full)
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1028 {
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1029 MsnUser *user;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1030 PurplePresence *presence = purple_buddy_get_presence(buddy);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1031 PurpleStatus *status = purple_presence_get_active_status(presence);
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1032
24946
390536329dc5 Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24571
diff changeset
1033 user = purple_buddy_get_protocol_data(buddy);
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
1034
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1035 if (purple_presence_is_online(presence))
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1036 {
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1037 const char *psm, *name;
24771
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1038 const char *mediatype = NULL;
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1039 char *currentmedia = NULL;
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
1040
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
1041 psm = purple_status_get_attr_string(status, "message");
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1042 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1043 PurpleStatus *tune = purple_presence_get_status(presence, "tune");
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1044 const char *title = purple_status_get_attr_string(tune, PURPLE_TUNE_TITLE);
24771
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1045 const char *game = purple_status_get_attr_string(tune, "game");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1046 const char *office = purple_status_get_attr_string(tune, "office");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1047 if (title && *title) {
24772
c87747478d71 Only get the artist and album if we are setting a Music mediatype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24771
diff changeset
1048 const char *artist = purple_status_get_attr_string(tune, PURPLE_TUNE_ARTIST);
c87747478d71 Only get the artist and album if we are setting a Music mediatype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24771
diff changeset
1049 const char *album = purple_status_get_attr_string(tune, PURPLE_TUNE_ALBUM);
24771
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1050 mediatype = _("Now Listening");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1051 currentmedia = purple_util_format_song_info(title, artist, album, NULL);
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1052 } else if (game && *game) {
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1053 mediatype = _("Playing a game");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1054 currentmedia = g_strdup(game);
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1055 } else if (office && *office) {
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1056 mediatype = _("Working");
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1057 currentmedia = g_strdup(office);
7a17ecc0c85b Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24767
diff changeset
1058 }
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1059 }
13905
87ed03dbbe7e [gaim-migrate @ 17181]
Ma Yuan <mayuan2006@gmail.com>
parents: 13900
diff changeset
1060
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1061 if (!purple_status_is_available(status)) {
20586
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1062 name = purple_status_get_name(status);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1063 } else {
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1064 name = NULL;
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1065 }
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1066
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1067 if (name != NULL && *name) {
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1068 char *tmp2;
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1069
24073
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1070 tmp2 = g_markup_escape_text(name, -1);
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1071 if (purple_presence_is_idle(presence)) {
24073
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1072 char *idle;
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1073 char *tmp3;
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1074 /* Never know what those translations might end up like... */
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1075 idle = g_markup_escape_text(_("Idle"), -1);
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1076 tmp3 = g_strdup_printf("%s/%s", tmp2, idle);
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1077 g_free(idle);
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1078 g_free(tmp2);
9c569eb69980 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24072
diff changeset
1079 tmp2 = tmp3;
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1080 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1081
20586
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1082 if (psm != NULL && *psm) {
30537
9f833935ecd7 Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents: 30303
diff changeset
1083 purple_notify_user_info_add_pair_plaintext(user_info, tmp2, psm);
20586
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1084 } else {
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
1085 purple_notify_user_info_add_pair_html(user_info, _("Status"), tmp2);
20586
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1086 }
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1087
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1088 g_free(tmp2);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
1089 } else {
20639
e52bdb8edd5b don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@pidgin.im>
parents: 20626
diff changeset
1090 if (psm != NULL && *psm) {
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1091 if (purple_presence_is_idle(presence)) {
30537
9f833935ecd7 Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents: 30303
diff changeset
1092 purple_notify_user_info_add_pair_plaintext(user_info, _("Idle"), psm);
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1093 } else {
30537
9f833935ecd7 Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents: 30303
diff changeset
1094 purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), psm);
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1095 }
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1096 } else {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1097 if (purple_presence_is_idle(presence)) {
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1098 purple_notify_user_info_add_pair_plaintext(user_info,
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1099 _("Status"), _("Idle"));
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1100 } else {
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1101 purple_notify_user_info_add_pair_plaintext(user_info,
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1102 _("Status"), purple_status_get_name(status));
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
1103 }
20639
e52bdb8edd5b don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@pidgin.im>
parents: 20626
diff changeset
1104 }
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
1105 }
20555
c0b556851de1 removed "PSM:" label and move the message to "Status:" to be consistent with
Ka-Hing Cheung <khc@pidgin.im>
parents: 20553
diff changeset
1106
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
1107 if (currentmedia) {
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
1108 purple_notify_user_info_add_pair_html(user_info, mediatype, currentmedia);
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1109 g_free(currentmedia);
20473
91e1b3a49d10 msn.tgz from SF Patch #1621854 from Ka-Hing Cheung
Ka-Hing Cheung <khc@pidgin.im>
parents: 20472
diff changeset
1110 }
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1111 }
12948
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
1112
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
1113 /* XXX: This is being shown in non-full tooltips because the
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
1114 * XXX: blocked icon overlay isn't always accurate for MSN.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1115 * XXX: This can die as soon as purple_privacy_check() knows that
12948
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
1116 * XXX: this prpl always honors both the allow and deny lists. */
21101
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
1117 /* While the above comment may be strictly correct (the privacy API needs
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
1118 * rewriteing), purple_privacy_check() is going to be more accurate at
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
1119 * indicating whether a particular buddy is going to be able to message
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
1120 * you, which is the important information that this is trying to convey.
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
1121 */
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
1122 if (full && user)
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1123 {
22387
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1124 const char *phone;
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1125
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1126 purple_notify_user_info_add_pair_plaintext(user_info, _("Has you"),
24245
c159dcb1f5de We can't have ./configure lying to you, can we?
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24153
diff changeset
1127 ((user->list_op & (1 << MSN_LIST_RL)) ? _("Yes") : _("No")));
c159dcb1f5de We can't have ./configure lying to you, can we?
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24153
diff changeset
1128
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1129 purple_notify_user_info_add_pair_plaintext(user_info, _("Blocked"),
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1130 ((user->list_op & (1 << MSN_LIST_BL)) ? _("Yes") : _("No")));
22387
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1131
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1132 phone = msn_user_get_home_phone(user);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1133 if (phone != NULL) {
32225
a8a4f59f9367 Fix the _add_pair_html/plaintext calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32204
diff changeset
1134 purple_notify_user_info_add_pair_plaintext(user_info, _("Home Phone Number"), phone);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1135 }
22387
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1136
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1137 phone = msn_user_get_work_phone(user);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1138 if (phone != NULL) {
32225
a8a4f59f9367 Fix the _add_pair_html/plaintext calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32204
diff changeset
1139 purple_notify_user_info_add_pair_plaintext(user_info, _("Work Phone Number"), phone);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1140 }
22387
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1141
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
1142 phone = msn_user_get_mobile_phone(user);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1143 if (phone != NULL) {
32225
a8a4f59f9367 Fix the _add_pair_html/plaintext calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32204
diff changeset
1144 purple_notify_user_info_add_pair_plaintext(user_info, _("Mobile Phone Number"), phone);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
1145 }
10093
e22f76d46b0b [gaim-migrate @ 11111]
Evan Schoenberg <evands@pidgin.im>
parents: 10069
diff changeset
1146 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1147 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1148
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1149 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1150 msn_status_types(PurpleAccount *account)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1151 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1152 PurpleStatusType *status;
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1153 GList *types = NULL;
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1154
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1155 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1156 PURPLE_STATUS_AVAILABLE, NULL, NULL, TRUE, TRUE, FALSE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1157 "message", _("Message"), purple_g_value_new(G_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
1158 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1159 types = g_list_append(types, status);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1160
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1161 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1162 PURPLE_STATUS_AWAY, NULL, NULL, TRUE, TRUE, FALSE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1163 "message", _("Message"), purple_g_value_new(G_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
1164 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1165 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1166
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1167 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1168 PURPLE_STATUS_AWAY, "brb", _("Be Right Back"), TRUE, TRUE, FALSE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1169 "message", _("Message"), purple_g_value_new(G_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
1170 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1171 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1172
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1173 status = purple_status_type_new_with_attrs(
20520
49dd75a0c895 Patch from Pse to use the same status primitives as im.pidgin.pidgin for
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20508
diff changeset
1174 PURPLE_STATUS_UNAVAILABLE, "busy", _("Busy"), TRUE, TRUE, FALSE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1175 "message", _("Message"), purple_g_value_new(G_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
1176 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1177 types = g_list_append(types, status);
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1178 status = purple_status_type_new_with_attrs(
20520
49dd75a0c895 Patch from Pse to use the same status primitives as im.pidgin.pidgin for
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20508
diff changeset
1179 PURPLE_STATUS_UNAVAILABLE, "phone", _("On the Phone"), TRUE, TRUE, FALSE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1180 "message", _("Message"), purple_g_value_new(G_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
1181 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1182 types = g_list_append(types, status);
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1183 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1184 PURPLE_STATUS_AWAY, "lunch", _("Out to Lunch"), TRUE, TRUE, FALSE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1185 "message", _("Message"), purple_g_value_new(G_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
1186 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1187 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1188
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1189 status = purple_status_type_new_full(PURPLE_STATUS_INVISIBLE,
25552
ffd94785b2ad For some reason, all these statuses were set to saveable=FALSE. With the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25415
diff changeset
1190 NULL, NULL, TRUE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1191 types = g_list_append(types, status);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1192
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1193 status = purple_status_type_new_full(PURPLE_STATUS_OFFLINE,
25552
ffd94785b2ad For some reason, all these statuses were set to saveable=FALSE. With the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25415
diff changeset
1194 NULL, NULL, TRUE, TRUE, FALSE);
12658
4aa7a873628d [gaim-migrate @ 15001]
Mark Doliner <markdoliner@pidgin.im>
parents: 12645
diff changeset
1195 types = g_list_append(types, status);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1196
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1197 status = purple_status_type_new_full(PURPLE_STATUS_MOBILE,
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1198 "mobile", NULL, FALSE, FALSE, TRUE);
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1199 types = g_list_append(types, status);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1200
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1201 status = purple_status_type_new_with_attrs(PURPLE_STATUS_TUNE,
24693
9ab5d932ab6c I don't know why we'd want the TUNE status to be saveable.
Richard Laager <rlaager@pidgin.im>
parents: 24652
diff changeset
1202 "tune", NULL, FALSE, TRUE, TRUE,
34811
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1203 PURPLE_TUNE_ARTIST, _("Tune Artist"), purple_g_value_new(G_TYPE_STRING),
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1204 PURPLE_TUNE_ALBUM, _("Tune Album"), purple_g_value_new(G_TYPE_STRING),
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1205 PURPLE_TUNE_TITLE, _("Tune Title"), purple_g_value_new(G_TYPE_STRING),
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1206 "game", _("Game Title"), purple_g_value_new(G_TYPE_STRING),
377d4d43e0e0 Refactored the remaining protocols to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
1207 "office", _("Office Title"), purple_g_value_new(G_TYPE_STRING),
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1208 NULL);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1209 types = g_list_append(types, status);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
1210
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1211 return types;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1212 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1213
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1214 static GList *
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1215 msn_get_actions(PurpleConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1216 {
31189
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1217 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1218 GList *m = NULL;
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1219 PurpleProtocolAction *act;
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1220
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1221 session = purple_connection_get_protocol_data(gc);
31189
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1222
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1223 act = purple_protocol_action_new(_("Set Friendly Name..."),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1224 msn_show_set_friendly_name);
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1225 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1226 m = g_list_append(m, NULL);
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1227
32091
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1228 if (session->enable_mpop)
31189
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1229 {
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1230 act = purple_protocol_action_new(_("View Locations..."),
31189
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1231 msn_show_locations);
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1232 m = g_list_append(m, act);
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1233 m = g_list_append(m, NULL);
82ef255d2c01 Suppress the "View Locations..." protocol action on MSN if we are not
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 31186
diff changeset
1234 }
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
1235
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1236 act = purple_protocol_action_new(_("Set Home Phone Number..."),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1237 msn_show_set_home_phone);
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1238 m = g_list_append(m, act);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
1239
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1240 act = purple_protocol_action_new(_("Set Work Phone Number..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1241 msn_show_set_work_phone);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1242 m = g_list_append(m, act);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
1243
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1244 act = purple_protocol_action_new(_("Set Mobile Phone Number..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1245 msn_show_set_mobile_phone);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1246 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1247 m = g_list_append(m, NULL);
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1248
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1249 #if 0
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1250 act = purple_protocol_action_new(_("Enable/Disable Mobile Devices..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1251 msn_show_set_mobile_support);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1252 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1253 #endif
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1254
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1255 act = purple_protocol_action_new(_("Allow/Disallow Multiple Logins..."),
31212
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
1256 msn_show_set_mpop);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
1257 m = g_list_append(m, act);
6b52c76e943d Add account action to enable/disable connecting from multiple
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31210
diff changeset
1258
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1259 act = purple_protocol_action_new(_("Allow/Disallow Mobile Pages..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1260 msn_show_set_mobile_pages);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1261 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
1262
23839
7351d841f0b5 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23830
diff changeset
1263 /* QuLogic: Disabled until confirmed correct. */
7351d841f0b5 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23830
diff changeset
1264 #if 0
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
1265 m = g_list_append(m, NULL);
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1266 act = purple_protocol_action_new(_("View Blocked Text..."),
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
1267 msn_show_blocked_text);
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
1268 m = g_list_append(m, act);
23839
7351d841f0b5 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23830
diff changeset
1269 #endif
23789
3ef57c5a8d9c Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23784
diff changeset
1270
23866
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
1271 m = g_list_append(m, NULL);
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
1272 act = purple_protocol_action_new(_("Open Hotmail Inbox"),
23866
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
1273 msn_show_hotmail_inbox);
6926fed80ff1 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23839
diff changeset
1274 m = g_list_append(m, act);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
1275
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1276 return m;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1277 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1278
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1279 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1280 msn_buddy_menu(PurpleBuddy *buddy)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1281 {
5372
6fa63c80ea61 [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
1282 MsnUser *user;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1283
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1284 GList *m = NULL;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1285 PurpleMenuAction *act;
6858
a367cfd3e75f [gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents: 6842
diff changeset
1286
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1287 g_return_val_if_fail(buddy != NULL, NULL);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1288
24946
390536329dc5 Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24571
diff changeset
1289 user = purple_buddy_get_protocol_data(buddy);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1290
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1291 if (user != NULL)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1292 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1293 if (user->mobile)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1294 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1295 act = purple_menu_action_new(_("Send to Mobile"),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1296 PURPLE_CALLBACK(show_send_to_mobile_cb),
12919
519199cca273 [gaim-migrate @ 15272]
Etan Reisner <deryni@pidgin.im>
parents: 12886
diff changeset
1297 NULL, NULL);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1298 m = g_list_append(m, act);
5382
8580140115ea [gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents: 5379
diff changeset
1299 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
1300 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
1301
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
1302 if (g_ascii_strcasecmp(purple_buddy_get_name(buddy),
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
1303 purple_account_get_username(purple_buddy_get_account(buddy))))
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1304 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1305 act = purple_menu_action_new(_("Initiate _Chat"),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1306 PURPLE_CALLBACK(initiate_chat_cb),
12919
519199cca273 [gaim-migrate @ 15272]
Etan Reisner <deryni@pidgin.im>
parents: 12886
diff changeset
1307 NULL, NULL);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1308 m = g_list_append(m, act);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
1309 }
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
1310
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1311 return m;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1312 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1313
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1314 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1315 msn_blist_node_menu(PurpleBlistNode *node)
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1316 {
34696
6e0d13978666 Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents: 34670
diff changeset
1317 if(PURPLE_IS_BUDDY(node))
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1318 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1319 return msn_buddy_menu((PurpleBuddy *) node);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1320 }
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1321 else
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1322 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1323 return NULL;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1324 }
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1325 }
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
1326
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1327 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1328 msn_login(PurpleAccount *account)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1329 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1330 PurpleConnection *gc;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1331 MsnSession *session;
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1332 const char *username;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1333 const char *host;
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
1334 gboolean http_method = FALSE;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1335 int port;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1336
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1337 gc = purple_account_get_connection(account);
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
1338
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1339 if (!purple_ssl_is_supported())
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
1340 {
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 31962
diff changeset
1341 purple_connection_error(gc,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21211
diff changeset
1342 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
8499
bbe91550c012 [gaim-migrate @ 9235]
Robert Mibus <mibus@mibus.org>
parents: 8475
diff changeset
1343 _("SSL support is needed for MSN. Please install a supported "
21934
520eb16688da Stu says this was unnecessary, that it is already there.
Luke Schierer <lschiere@pidgin.im>
parents: 21931
diff changeset
1344 "SSL library."));
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
1345 return;
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
1346 }
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
1347
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1348 http_method = purple_account_get_bool(account, "http_method", FALSE);
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
1349
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1350 if (http_method)
20171
619991c900b7 Merged MSN_HTTPCONN_SERVER fix
Evan Schoenberg <evands@pidgin.im>
parents: 20077
diff changeset
1351 host = purple_account_get_string(account, "http_method_server", MSN_HTTPCONN_SERVER);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1352 else
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1353 host = purple_account_get_string(account, "server", MSN_SERVER);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1354 port = purple_account_get_int(account, "port", MSN_PORT);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1355
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1356 session = msn_session_new(account);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1357
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1358 purple_connection_set_protocol_data(gc, session);
32678
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32623
diff changeset
1359 purple_connection_set_flags(gc,
34746
dc9c911dbd35 Started GObjectification of PurpleConnection.
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
1360 PURPLE_CONNECTION_FLAG_HTML | PURPLE_CONNECTION_FLAG_FORMATTING_WBFO | PURPLE_CONNECTION_FLAG_NO_BGCOLOR |
dc9c911dbd35 Started GObjectification of PurpleConnection.
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
1361 PURPLE_CONNECTION_FLAG_NO_FONTSIZE | PURPLE_CONNECTION_FLAG_NO_URLDESC | PURPLE_CONNECTION_FLAG_ALLOW_CUSTOM_SMILEY);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1362
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1363 msn_session_set_login_step(session, MSN_LOGIN_STEP_START);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1364
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1365 /* Hmm, I don't like this. */
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1366 /* XXX shx: Me neither */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1367 username = msn_normalize(account, purple_account_get_username(account));
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1368
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1369 if (strcmp(username, purple_account_get_username(account)))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1370 purple_account_set_username(account, username);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1371
29001
9e0cff9fd757 Due to a server change, the friendly name on MSN was being changed to the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28981
diff changeset
1372 username = purple_account_get_string(account, "display-name", NULL);
9e0cff9fd757 Due to a server change, the friendly name on MSN was being changed to the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28981
diff changeset
1373 purple_connection_set_display_name(gc, username);
9e0cff9fd757 Due to a server change, the friendly name on MSN was being changed to the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28981
diff changeset
1374
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
1375 if (purple_account_get_string(account, "endpoint-name", NULL) == NULL) {
30925
7263e633a236 Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <markdoliner@pidgin.im>
parents: 30921
diff changeset
1376 GHashTable *ui_info = purple_core_get_ui_info();
7263e633a236 Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <markdoliner@pidgin.im>
parents: 30921
diff changeset
1377 const gchar *ui_name = ui_info ? g_hash_table_lookup(ui_info, "name") : NULL;
7263e633a236 Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <markdoliner@pidgin.im>
parents: 30921
diff changeset
1378 purple_account_set_string(account, "endpoint-name",
7263e633a236 Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <markdoliner@pidgin.im>
parents: 30921
diff changeset
1379 ui_name && *ui_name ? ui_name : PACKAGE_NAME);
29448
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
1380 }
6796411135f1 Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29001
diff changeset
1381
10568
15f02c0e7fc1 [gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10533
diff changeset
1382 if (!msn_session_connect(session, host, port, http_method))
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 31962
diff changeset
1383 purple_connection_error(gc,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21211
diff changeset
1384 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27635
0cd19038c417 More uniformity among disconnect error messages
Mark Doliner <markdoliner@pidgin.im>
parents: 27361
diff changeset
1385 _("Unable to connect"));
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1386 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1387
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1388 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1389 msn_close(PurpleConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1390 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1391 MsnSession *session;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1392
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1393 session = purple_connection_get_protocol_data(gc);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1394
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1395 g_return_if_fail(session != NULL);
8298
eb6f1096ffa6 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
1396
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1397 msn_session_destroy(session);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1398
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1399 purple_connection_set_protocol_data(gc, NULL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1400 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1401
17103
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1402 static gboolean
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1403 msn_send_me_im(gpointer data)
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1404 {
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1405 MsnIMData *imdata = data;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1406 serv_got_im(imdata->gc, imdata->who, imdata->msg, imdata->flags, imdata->when);
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1407 g_free(imdata->msg);
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1408 g_free(imdata);
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1409 return FALSE;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1410 }
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
1411
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1412 static GString*
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1413 msn_msg_emoticon_add(GString *current, MsnEmoticon *emoticon)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1414 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1415 MsnObject *obj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1416 char *strobj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1417
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1418 if (emoticon == NULL)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1419 return current;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1420
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1421 obj = emoticon->obj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1422
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1423 if (!obj)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1424 return current;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1425
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1426 strobj = msn_object_to_string(obj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1427
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1428 if (current)
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
1429 g_string_append_printf(current, "\t%s\t%s", emoticon->smile, strobj);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1430 else {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1431 current = g_string_new("");
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
1432 g_string_printf(current, "%s\t%s", emoticon->smile, strobj);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1433 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1434
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1435 g_free(strobj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1436
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1437 return current;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1438 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1439
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1440 static void
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1441 msn_send_emoticons(MsnSwitchBoard *swboard, GString *body)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1442 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1443 MsnMessage *msg;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1444
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1445 g_return_if_fail(body != NULL);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1446
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1447 msg = msn_message_new(MSN_MSG_SLP);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1448 msn_message_set_content_type(msg, "text/x-mms-emoticon");
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1449 msn_message_set_flag(msg, 'N');
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1450 msn_message_set_bin_data(msg, body->str, body->len);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1451
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1452 msn_switchboard_send_msg(swboard, msg, TRUE);
31162
2c596217766b msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <markdoliner@pidgin.im>
parents: 31161
diff changeset
1453 msn_message_unref(msg);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1454 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1455
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1456 static void msn_emoticon_destroy(MsnEmoticon *emoticon)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1457 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1458 if (emoticon->obj)
32312
44c2bc252f60 Be a bit more specific about removing non-local MSN objects, which
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32278
diff changeset
1459 msn_object_destroy(emoticon->obj, FALSE);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1460 g_free(emoticon->smile);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1461 g_free(emoticon);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1462 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1463
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1464 static GSList* msn_msg_grab_emoticons(const char *msg, const char *username)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1465 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1466 GSList *list;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1467 GList *smileys;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1468 PurpleSmiley *smiley;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1469 PurpleStoredImage *img;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1470 char *ptr;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1471 MsnEmoticon *emoticon;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1472 int length;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1473
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1474 list = NULL;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1475 smileys = purple_smileys_get_all();
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1476 length = strlen(msg);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1477
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1478 for (; smileys; smileys = g_list_delete_link(smileys, smileys)) {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1479 smiley = smileys->data;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1480
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1481 ptr = g_strstr_len(msg, length, purple_smiley_get_shortcut(smiley));
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1482
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1483 if (!ptr)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1484 continue;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1485
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1486 img = purple_smiley_get_stored_image(smiley);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1487
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1488 emoticon = g_new0(MsnEmoticon, 1);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1489 emoticon->smile = g_strdup(purple_smiley_get_shortcut(smiley));
28351
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
1490 emoticon->ps = smiley;
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1491 emoticon->obj = msn_object_new_from_image(img,
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1492 purple_imgstore_get_filename(img),
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1493 username, MSN_OBJECT_EMOTICON);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1494
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1495 purple_imgstore_unref(img);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1496 list = g_slist_prepend(list, emoticon);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1497 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1498
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1499 return list;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1500 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1501
24420
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1502 void
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1503 msn_send_im_message(MsnSession *session, MsnMessage *msg)
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1504 {
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1505 MsnEmoticon *smile;
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1506 GSList *smileys;
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1507 GString *emoticons = NULL;
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1508 const char *username = purple_account_get_username(session->account);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1509 MsnSwitchBoard *swboard = msn_session_get_swboard(session, msg->remote_user, MSN_SB_FLAG_IM);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1510
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1511 smileys = msn_msg_grab_emoticons(msg->body, username);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1512 while (smileys) {
28351
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
1513 smile = (MsnEmoticon *)smileys->data;
24420
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1514 emoticons = msn_msg_emoticon_add(emoticons, smile);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1515 msn_emoticon_destroy(smile);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1516 smileys = g_slist_delete_link(smileys, smileys);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1517 }
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1518
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1519 if (emoticons) {
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1520 msn_send_emoticons(swboard, emoticons);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1521 g_string_free(emoticons, TRUE);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1522 }
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1523
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1524 msn_switchboard_send_msg(swboard, msg, TRUE);
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1525 }
e83317602b22 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@pidgin.im>
parents: 24409
diff changeset
1526
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1527 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1528 msn_send_im(PurpleConnection *gc, const char *who, const char *message,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1529 PurpleMessageFlags flags)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1530 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1531 PurpleAccount *account;
34728
8efd73063ecf Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents: 34717
diff changeset
1532 PurpleBuddy *buddy = purple_blist_find_buddy(purple_connection_get_account(gc), who);
23800
8028755bd342 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1533 MsnSession *session;
8028755bd342 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1534 MsnSwitchBoard *swboard;
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1535 MsnMessage *msg;
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1536 char *msgformat;
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1537 char *msgtext;
25563
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1538 size_t msglen;
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1539 const char *username;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1540
24000
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
1541 purple_debug_info("msn", "send IM {%s} to %s\n", message, who);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1542 account = purple_connection_get_account(gc);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1543 username = purple_account_get_username(account);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1544
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1545 session = purple_connection_get_protocol_data(gc);
23800
8028755bd342 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1546 swboard = msn_session_find_swboard(session, who);
8028755bd342 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1547
24409
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1548 if (!strncmp("tel:+", who, 5)) {
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1549 char *text = purple_markup_strip_html(message);
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1550 send_to_mobile(gc, who, text);
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1551 g_free(text);
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1552 return 1;
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1553 }
ab6b342e807d Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24245
diff changeset
1554
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1555 if (buddy) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1556 PurplePresence *p = purple_buddy_get_presence(buddy);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1557 if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1558 char *text = purple_markup_strip_html(message);
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1559 send_to_mobile(gc, who, text);
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1560 g_free(text);
15654
fb4e6617313e Get rid of a minor compile warning
Mark Doliner <markdoliner@pidgin.im>
parents: 15602
diff changeset
1561 return 1;
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1562 }
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1563 }
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1564
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1565 msn_import_html(message, &msgformat, &msgtext);
25563
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1566 msglen = strlen(msgtext);
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1567 if (msglen == 0) {
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1568 /* Stuff like <hr> will be ignored. Don't send an empty message
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1569 if that's all there is. */
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1570 g_free(msgtext);
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1571 g_free(msgformat);
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1572
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1573 return 0;
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1574 }
545c69f0b96b After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25552
diff changeset
1575
32091
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1576 if (msglen + strlen(msgformat) + strlen(VERSION) > 1564)
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1577 {
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1578 g_free(msgformat);
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1579 g_free(msgtext);
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1580
32091
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1581 return -E2BIG;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1582 }
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1583
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1584 msg = msn_message_new_plain(msgtext);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1585 msg->remote_user = g_strdup(who);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1586 msn_message_set_header(msg, "X-MMS-IM-Format", msgformat);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1587
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1588 g_free(msgformat);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1589 g_free(msgtext);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1590
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1591 purple_debug_info("msn", "prepare to send online Message\n");
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1592 if (g_ascii_strcasecmp(who, username))
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1593 {
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1594 if (flags & PURPLE_MESSAGE_AUTO_RESP) {
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1595 msn_message_set_flag(msg, 'U');
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1596 }
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1597
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1598 if (msn_user_is_yahoo(account, who) || !(msn_user_is_online(account, who) || swboard != NULL)) {
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1599 /*we send the online and offline Message to Yahoo User via UBM*/
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1600 purple_debug_info("msn", "send to Yahoo User\n");
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1601 msn_notification_send_uum(session, msg);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1602 } else {
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1603 purple_debug_info("msn", "send via switchboard\n");
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1604 msn_send_im_message(session, msg);
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1605 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1606 }
32091
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1607 else
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1608 {
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1609 char *body_str, *body_enc, *pre, *post;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1610 const char *format;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1611 MsnIMData *imdata = g_new0(MsnIMData, 1);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1612 /*
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1613 * In MSN, you can't send messages to yourself, so
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1614 * we'll fake like we received it ;)
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1615 */
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1616 body_str = msn_message_to_string(msg);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1617 body_enc = g_markup_escape_text(body_str, -1);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1618 g_free(body_str);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1619
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1620 format = msn_message_get_header_value(msg, "X-MMS-IM-Format");
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1621 msn_parse_format(format, &pre, &post);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1622 body_str = g_strdup_printf("%s%s%s", pre ? pre : "",
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1623 body_enc ? body_enc : "", post ? post : "");
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1624 g_free(body_enc);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1625 g_free(pre);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1626 g_free(post);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1627
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1628 serv_got_typing_stopped(gc, who);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1629 imdata->gc = gc;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1630 imdata->who = who;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1631 imdata->msg = body_str;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1632 imdata->flags = flags & ~PURPLE_MESSAGE_SEND;
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1633 imdata->when = time(NULL);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1634 purple_timeout_add(0, msn_send_me_im, imdata);
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1635 }
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1636
5061380d9fee Pluck all MSNP18 changes. This is pretty much to fix sending OIMs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31962
diff changeset
1637 msn_message_unref(msg);
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1638
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1639 return 1;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1640 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1641
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1642 static unsigned int
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34640
diff changeset
1643 msn_send_typing(PurpleConnection *gc, const char *who, PurpleIMTypingState state)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1644 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1645 PurpleAccount *account;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1646 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1647 MsnSwitchBoard *swboard;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1648 MsnMessage *msg;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1649
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1650 account = purple_connection_get_account(gc);
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1651 session = purple_connection_get_protocol_data(gc);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1652
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1653 /*
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34640
diff changeset
1654 * TODO: I feel like this should be "if (state != PURPLE_IM_TYPING)"
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1655 * but this is how it was before, and I don't want to break
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1656 * anything. --KingAnt
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1657 */
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34640
diff changeset
1658 if (state == PURPLE_IM_NOT_TYPING)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1659 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1660
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1661 if (!g_ascii_strcasecmp(who, purple_account_get_username(account)))
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1662 {
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1663 /* We'll just fake it, since we're sending to ourself. */
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34640
diff changeset
1664 serv_got_typing(gc, who, MSN_TYPING_RECV_TIMEOUT, PURPLE_IM_TYPING);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1665
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1666 return MSN_TYPING_SEND_TIMEOUT;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1667 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1668
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1669 swboard = msn_session_find_swboard(session, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1670
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1671 if (swboard == NULL || !msn_switchboard_can_send(swboard))
10346
9c65a007b4a5 [gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10345
diff changeset
1672 return 0;
9c65a007b4a5 [gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10345
diff changeset
1673
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1674 swboard->flag |= MSN_SB_FLAG_IM;
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1675
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10116
diff changeset
1676 msg = msn_message_new(MSN_MSG_TYPING);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1677 msn_message_set_content_type(msg, "text/x-msmsgscontrol");
5505
176c91a635b7 [gaim-migrate @ 5904]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1678 msn_message_set_flag(msg, 'U');
29457
15f977c9ac76 Rename "attribute" to "header" in a bunch of places. The SLP protocol
Mark Doliner <markdoliner@pidgin.im>
parents: 29455
diff changeset
1679 msn_message_set_header(msg, "TypingUser",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1680 purple_account_get_username(account));
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1681 msn_message_set_bin_data(msg, "\r\n", 2);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1682
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1683 msn_switchboard_send_msg(swboard, msg, FALSE);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1684
31162
2c596217766b msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <markdoliner@pidgin.im>
parents: 31161
diff changeset
1685 msn_message_unref(msg);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1686
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1687 return MSN_TYPING_SEND_TIMEOUT;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1688 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1689
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1690 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1691 msn_set_status(PurpleAccount *account, PurpleStatus *status)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1692 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1693 PurpleConnection *gc;
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1694 MsnSession *session;
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1695
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1696 gc = purple_account_get_connection(account);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1697
11028
b3568dd036a9 [gaim-migrate @ 12906]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10914
diff changeset
1698 if (gc != NULL)
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1699 {
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1700 session = purple_connection_get_protocol_data(gc);
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1701 msn_change_status(session);
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1702 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1703 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1704
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1705 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1706 msn_set_idle(PurpleConnection *gc, int idle)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1707 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1708 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1709
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1710 session = purple_connection_get_protocol_data(gc);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1711
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1712 msn_change_status(session);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1713 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1714
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1715 /*
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1716 * Actually adds a buddy once we have the response from FQY
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1717 */
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1718 static void
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1719 add_pending_buddy(MsnSession *session,
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1720 const char *who,
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1721 MsnNetwork network,
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1722 MsnUser *user)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1723 {
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1724 char *group;
31483
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1725 MsnUserList *userlist;
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1726 MsnUser *user2;
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1727
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1728 g_return_if_fail(user != NULL);
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1729
31483
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1730 if (network == MSN_NETWORK_UNKNOWN) {
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1731 purple_debug_error("msn", "Network in FQY response was unknown. "
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1732 "Assuming %s is a passport user and adding anyway.\n", who);
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1733 network = MSN_NETWORK_PASSPORT;
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1734 }
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1735
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1736 group = msn_user_remove_pending_group(user);
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1737
31483
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1738 userlist = session->userlist;
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1739 user2 = msn_userlist_find_user(userlist, who);
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1740 if (user2 != NULL) {
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1741 /* User already in userlist, so just update it. */
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1742 msn_user_unref(user);
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1743 user = user2;
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1744 } else {
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1745 msn_userlist_add_user(userlist, user);
30944
4f1fc7c401fd Remove msn_user_destroy in favor of msn_user_unref.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30930
diff changeset
1746 msn_user_unref(user);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1747 }
31483
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1748
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1749 msn_user_set_network(user, network);
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1750 msn_userlist_add_buddy(userlist, who, group);
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1751
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1752 g_free(group);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1753 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1754
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1755 static void
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1756 msn_add_buddy(PurpleConnection *pc, PurpleBuddy *buddy, PurpleGroup *group, const char *message)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1757 {
27654
697bea551516 Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27635
diff changeset
1758 PurpleAccount *account;
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1759 const char *bname, *gname;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1760 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1761 MsnUserList *userlist;
25156
af3e232e2463 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25098
diff changeset
1762 MsnUser *user;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1763
27776
60d79d68cde1 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27769
diff changeset
1764 account = purple_connection_get_account(pc);
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1765 session = purple_connection_get_protocol_data(pc);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1766 bname = purple_buddy_get_name(buddy);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1767
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1768 if (!session->logged_in)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1769 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1770 purple_debug_error("msn", "msn_add_buddy called before connected\n");
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1771
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1772 return;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1773 }
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1774
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1775 /* XXX - Would group ever be NULL here? I don't think so...
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1776 * shx: Yes it should; MSN handles non-grouped buddies, and this is only
31483
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1777 * internal.
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1778 * KingAnt: But PurpleBuddys must always exist inside PurpleGroups, so
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1779 * won't group always be non-NULL here?
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1780 */
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1781 bname = msn_normalize(account, bname);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1782 gname = group ? purple_group_get_name(group) : NULL;
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1783 purple_debug_info("msn", "Add user:%s to group:%s\n",
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1784 bname, gname ? gname : "(null)");
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1785
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1786 if (!msn_email_is_valid(bname)) {
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1787 gchar *buf;
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1788 buf = g_strdup_printf(_("Unable to add the buddy %s because the username is invalid. Usernames must be valid email addresses."), bname);
34868
faa5b053f310 Replaced purple_conversation_helper_present_error() with simpler purple_conversation_present_error()
Ankit Vani <a@nevitus.org>
parents: 34864
diff changeset
1789 if (!purple_conversation_present_error(bname, account, buf))
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1790 purple_notify_error(pc, NULL, _("Unable to Add"), buf);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1791 g_free(buf);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1792
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1793 /* Remove from local list */
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1794 purple_blist_remove_buddy(buddy);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1795
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1796 return;
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1797 }
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1798
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1799 /* Make sure name is normalized */
34728
8efd73063ecf Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents: 34717
diff changeset
1800 purple_buddy_set_name(buddy, bname);
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1801
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1802 userlist = session->userlist;
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1803 user = msn_userlist_find_user(userlist, bname);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1804 if (user && user->authorized) {
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1805 message = NULL;
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1806 }
25156
af3e232e2463 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25098
diff changeset
1807 if ((user != NULL) && (user->networkid != MSN_NETWORK_UNKNOWN)) {
af3e232e2463 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25098
diff changeset
1808 /* We already know this buddy and their network. This function knows
af3e232e2463 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25098
diff changeset
1809 what to do with users already in the list and stuff... */
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1810 msn_user_set_invite_message(user, message);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1811 msn_userlist_add_buddy(userlist, bname, gname);
24779
b348af6b49a9 Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24772
diff changeset
1812 } else {
25680
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1813 char **tokens;
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1814 char *fqy;
24779
b348af6b49a9 Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24772
diff changeset
1815 /* We need to check the network for this buddy first */
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1816 user = msn_user_new(userlist, bname, NULL);
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1817 msn_user_set_invite_message(user, message);
27299
aee35fe64295 Add a data parameter for FQY callbacks and remove the pending users list
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27298
diff changeset
1818 msn_user_set_pending_group(user, gname);
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1819 msn_user_set_network(user, MSN_NETWORK_UNKNOWN);
31518
5569ce742c8e Add a little note about something that nobody cares about
Mark Doliner <markdoliner@pidgin.im>
parents: 31485
diff changeset
1820 /* Should probably re-use the msn_add_contact_xml function here */
31598
742b90853103 Add the invite message support to MSN prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31595
diff changeset
1821 tokens = g_strsplit(bname, "@", 2);
25680
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1822 fqy = g_strdup_printf("<ml><d n=\"%s\"><c n=\"%s\"/></d></ml>",
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1823 tokens[1],
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1824 tokens[0]);
31483
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1825 /* TODO: I think user will leak if we disconnect before receiving
39b2c055003a Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Mark Doliner <markdoliner@pidgin.im>
parents: 31482
diff changeset
1826 a response to this FQY request */
25680
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1827 msn_notification_send_fqy(session, fqy, strlen(fqy),
25773
81ed6eacab59 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@pidgin.im>
parents: 25680
diff changeset
1828 (MsnFqyCb)add_pending_buddy, user);
25680
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1829 g_free(fqy);
a193b015a9da Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25563
diff changeset
1830 g_strfreev(tokens);
24779
b348af6b49a9 Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24772
diff changeset
1831 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1832 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1833
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1834 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1835 msn_rem_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1836 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1837 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1838 MsnUserList *userlist;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1839
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1840 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1841 userlist = session->userlist;
9091
8c3907d0f436 [gaim-migrate @ 9868]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9086
diff changeset
1842
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1843 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1844 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1845
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1846 /* XXX - Does buddy->name need to be msn_normalize'd here? --KingAnt */
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
1847 msn_userlist_rem_buddy(userlist, purple_buddy_get_name(buddy));
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1848 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1849
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1850 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1851 msn_add_permit(PurpleConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1852 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1853 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1854 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1855 MsnUser *user;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1856
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1857 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1858 userlist = session->userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1859 user = msn_userlist_find_user(userlist, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1860
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1861 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1862 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1863
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1864 if (user != NULL && user->list_op & MSN_LIST_BL_OP) {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1865 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_BL);
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1866
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1867 /* delete contact from Block list and add it to Allow in the callback */
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
1868 msn_del_contact_from_list(session, NULL, who, MSN_LIST_BL);
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1869 } else {
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1870 /* just add the contact to Allow list */
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
1871 msn_add_contact_to_list(session, NULL, who, MSN_LIST_AL);
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1872 }
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1873
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1874
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1875 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_AL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1876 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1877
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1878 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1879 msn_add_deny(PurpleConnection *gc, const char *who)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1880 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1881 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1882 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1883 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1884
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1885 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1886 userlist = session->userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1887 user = msn_userlist_find_user(userlist, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1888
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1889 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1890 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1891
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1892 if (user != NULL && user->list_op & MSN_LIST_AL_OP) {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1893 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_AL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1894
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1895 /* delete contact from Allow list and add it to Block in the callback */
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
1896 msn_del_contact_from_list(session, NULL, who, MSN_LIST_AL);
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1897 } else {
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1898 /* just add the contact to Block list */
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
1899 msn_add_contact_to_list(session, NULL, who, MSN_LIST_BL);
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1900 }
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1901
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1902 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_BL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1903 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1904
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1905 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1906 msn_rem_permit(PurpleConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1907 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1908 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1909 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1910 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1911
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1912 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1913 userlist = session->userlist;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1914
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1915 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1916 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1917
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1918 user = msn_userlist_find_user(userlist, who);
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1919
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1920 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_AL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1921
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
1922 msn_del_contact_from_list(session, NULL, who, MSN_LIST_AL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1923
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1924 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1925 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_BL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1926 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1927
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 12318
diff changeset
1928 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1929 msn_rem_deny(PurpleConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1930 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1931 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1932 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1933 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1934
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1935 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1936 userlist = session->userlist;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1937
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1938 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1939 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1940
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1941 user = msn_userlist_find_user(userlist, who);
2213
3a176de28de1 [gaim-migrate @ 2223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2210
diff changeset
1942
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1943 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_BL);
7563
b921749e2976 [gaim-migrate @ 8179]
Robert Mibus <mibus@mibus.org>
parents: 7469
diff changeset
1944
23771
c98f7e879218 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@pidgin.im>
parents: 23768
diff changeset
1945 msn_del_contact_from_list(session, NULL, who, MSN_LIST_BL);
7563
b921749e2976 [gaim-migrate @ 8179]
Robert Mibus <mibus@mibus.org>
parents: 7469
diff changeset
1946
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1947 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1948 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_AL);
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1949 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1950
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1951 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1952 msn_set_permit_deny(PurpleConnection *gc)
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1953 {
20542
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
1954 msn_send_privacy(gc);
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1955 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1956
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1957 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1958 msn_chat_invite(PurpleConnection *gc, int id, const char *msg,
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1959 const char *who)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1960 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1961 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1962 MsnSwitchBoard *swboard;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1963
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1964 session = purple_connection_get_protocol_data(gc);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1965
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1966 swboard = msn_session_find_swboard_with_id(session, id);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1967
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1968 if (swboard == NULL)
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1969 {
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1970 /* if we have no switchboard, everyone else left the chat already */
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1971 swboard = msn_switchboard_new(session);
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1972 msn_switchboard_request(swboard);
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1973 swboard->chat_id = id;
34636
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
1974 swboard->conv = PURPLE_CONVERSATION(purple_conversations_find_chat(gc, id));
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1975 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1976
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1977 swboard->flag |= MSN_SB_FLAG_IM;
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1978
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1979 msn_switchboard_request_add_user(swboard, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1980 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1981
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1982 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1983 msn_chat_leave(PurpleConnection *gc, int id)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1984 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1985 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1986 MsnSwitchBoard *swboard;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1987 PurpleConversation *conv;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1988
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
1989 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1990
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1991 swboard = msn_session_find_swboard_with_id(session, id);
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1992
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1993 /* if swboard is NULL we were the only person left anyway */
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1994 if (swboard == NULL)
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1995 return;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1996
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1997 conv = swboard->conv;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1998
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1999 msn_switchboard_release(swboard, MSN_SB_FLAG_IM);
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2000
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2001 /* If other switchboards managed to associate themselves with this
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2002 * conv, make sure they know it's gone! */
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2003 if (conv != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2004 {
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2005 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2006 swboard->conv = NULL;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2007 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2008 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2009
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2010 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2011 msn_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags)
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
2012 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2013 PurpleAccount *account;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2014 MsnSession *session;
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2015 const char *username;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2016 MsnSwitchBoard *swboard;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2017 MsnMessage *msg;
8922
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
2018 char *msgformat;
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
2019 char *msgtext;
28349
f7833e8cfd90 Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28346
diff changeset
2020 size_t msglen;
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2021 MsnEmoticon *smile;
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2022 GSList *smileys;
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2023 GString *emoticons = NULL;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2024
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2025 account = purple_connection_get_account(gc);
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2026 session = purple_connection_get_protocol_data(gc);
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2027 username = purple_account_get_username(account);
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2028 swboard = msn_session_find_swboard_with_id(session, id);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2029
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2030 if (swboard == NULL)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2031 return -EINVAL;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2032
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2033 if (!swboard->ready)
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2034 return 0;
10274
f329b1d7fd43 [gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10225
diff changeset
2035
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
2036 swboard->flag |= MSN_SB_FLAG_IM;
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
2037
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2038 msn_import_html(message, &msgformat, &msgtext);
28349
f7833e8cfd90 Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28346
diff changeset
2039 msglen = strlen(msgtext);
f7833e8cfd90 Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28346
diff changeset
2040
f7833e8cfd90 Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28346
diff changeset
2041 if ((msglen == 0) || (msglen + strlen(msgformat) + strlen(VERSION) > 1564))
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2042 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2043 g_free(msgformat);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2044 g_free(msgtext);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2045
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2046 return -E2BIG;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2047 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2048
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2049 msg = msn_message_new_plain(msgtext);
29457
15f977c9ac76 Rename "attribute" to "header" in a bunch of places. The SLP protocol
Mark Doliner <markdoliner@pidgin.im>
parents: 29455
diff changeset
2050 msn_message_set_header(msg, "X-MMS-IM-Format", msgformat);
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2051
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2052 smileys = msn_msg_grab_emoticons(msg->body, username);
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2053 while (smileys) {
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2054 smile = (MsnEmoticon *)smileys->data;
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2055 emoticons = msn_msg_emoticon_add(emoticons, smile);
34635
bbecf6e1daee Replace purple_conv_ by purple_conversation_ calls
Ankit Vani <a@nevitus.org>
parents: 34631
diff changeset
2056 if (purple_conversation_custom_smiley_add(swboard->conv, smile->smile,
28351
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
2057 "sha1", purple_smiley_get_checksum(smile->ps),
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
2058 FALSE)) {
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
2059 gconstpointer data;
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
2060 size_t len;
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
2061 data = purple_smiley_get_data(smile->ps, &len);
34635
bbecf6e1daee Replace purple_conv_ by purple_conversation_ calls
Ankit Vani <a@nevitus.org>
parents: 34631
diff changeset
2062 purple_conversation_custom_smiley_write(swboard->conv, smile->smile, data, len);
bbecf6e1daee Replace purple_conv_ by purple_conversation_ calls
Ankit Vani <a@nevitus.org>
parents: 34631
diff changeset
2063 purple_conversation_custom_smiley_close(swboard->conv, smile->smile);
28351
54c4e81b6e28 It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28350
diff changeset
2064 }
28350
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2065 msn_emoticon_destroy(smile);
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2066 smileys = g_slist_delete_link(smileys, smileys);
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2067 }
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2068
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2069 if (emoticons) {
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2070 msn_send_emoticons(swboard, emoticons);
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2071 g_string_free(emoticons, TRUE);
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2072 }
d21e3805aa16 Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28349
diff changeset
2073
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
2074 msn_switchboard_send_msg(swboard, msg, FALSE);
31162
2c596217766b msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <markdoliner@pidgin.im>
parents: 31161
diff changeset
2075 msn_message_unref(msg);
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2076
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2077 g_free(msgformat);
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2078 g_free(msgtext);
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2079
23295
5d3a2fd59439 When calling serv_got_chat_in() after sending a group chat message (to let
Evan Schoenberg <evands@pidgin.im>
parents: 23289
diff changeset
2080 serv_got_chat_in(gc, id, purple_account_get_username(account), flags,
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2081 message, time(NULL));
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
2082
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2083 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2084 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2085
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2086 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2087 msn_keepalive(PurpleConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2088 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2089 MsnSession *session;
30909
db4b1876a304 msn: Remove msn_cmdproc_send_quick in favor of msn_cmdproc_send_trans
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30908
diff changeset
2090 MsnTransaction *trans;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2091
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2092 session = purple_connection_get_protocol_data(gc);
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
2093
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2094 if (!session->http_method)
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2095 {
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2096 MsnCmdProc *cmdproc;
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
2097
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2098 cmdproc = session->notification->cmdproc;
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2099
30910
374c457d65b5 We need a way to send commands without transaction ID
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30909
diff changeset
2100 trans = msn_transaction_new(cmdproc, "PNG", NULL);
30915
56295f0a8ade I don't really like this name.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30914
diff changeset
2101 msn_transaction_set_saveable(trans, FALSE);
30909
db4b1876a304 msn: Remove msn_cmdproc_send_quick in favor of msn_cmdproc_send_trans
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30908
diff changeset
2102 msn_cmdproc_send_trans(cmdproc, trans);
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2103 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
2104 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
2105
23784
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2106 static void msn_alias_buddy(PurpleConnection *pc, const char *name, const char *alias)
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2107 {
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2108 MsnSession *session;
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2109
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2110 session = purple_connection_get_protocol_data(pc);
23784
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2111
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2112 msn_update_contact(session, name, MSN_UPDATE_ALIAS, alias);
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2113 }
f09ed4e732df Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23776
diff changeset
2114
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2115 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2116 msn_group_buddy(PurpleConnection *gc, const char *who,
5518
436fb9490b62 [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
2117 const char *old_group_name, const char *new_group_name)
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2118 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2119 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2120 MsnUserList *userlist;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
2121
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2122 session = purple_connection_get_protocol_data(gc);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2123 userlist = session->userlist;
5518
436fb9490b62 [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
2124
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2125 msn_userlist_move_buddy(userlist, who, old_group_name, new_group_name);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2126 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2127
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2128 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2129 msn_rename_group(PurpleConnection *gc, const char *old_name,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2130 PurpleGroup *group, GList *moved_buddies)
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2131 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2132 MsnSession *session;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2133 const char *gname;
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2134
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2135 session = purple_connection_get_protocol_data(gc);
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23325
diff changeset
2136
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
2137 g_return_if_fail(session != NULL);
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
2138 g_return_if_fail(session->userlist != NULL);
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23325
diff changeset
2139
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2140 gname = purple_group_get_name(group);
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
2141 if (msn_userlist_find_group_with_name(session->userlist, old_name) != NULL)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2142 {
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2143 msn_contact_rename_group(session, old_name, gname);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2144 }
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2145 else
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2146 {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
2147 /* not found */
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2148 msn_add_group(session, NULL, gname);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2149 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2150 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2151
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
2152 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2153 msn_convo_closed(PurpleConnection *gc, const char *who)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2154 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2155 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
2156 MsnSwitchBoard *swboard;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2157 PurpleConversation *conv;
6026
b11d9f2fd725 [gaim-migrate @ 6476]
Christian Hammond <chipx86@chipx86.com>
parents: 6024
diff changeset
2158
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2159 session = purple_connection_get_protocol_data(gc);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2160
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2161 swboard = msn_session_find_swboard(session, who);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2162
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2163 /*
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
2164 * Don't perform an assertion here. If swboard is NULL, then the
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2165 * switchboard was either closed by the other party, or the person
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2166 * is talking to himself.
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2167 */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2168 if (swboard == NULL)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2169 return;
4349
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4333
diff changeset
2170
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2171 conv = swboard->conv;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2172
17290
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
2173 /* If we release the switchboard here, it may still have messages
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
2174 pending ACK which would result in incorrect unsent message errors.
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
2175 Just let it timeout... This is *so* going to screw with people who
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
2176 use dumb clients that report "User has closed the conversation window" */
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
2177 /* msn_switchboard_release(swboard, MSN_SB_FLAG_IM); */
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
2178 swboard->conv = NULL;
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2179
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2180 /* If other switchboards managed to associate themselves with this
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2181 * conv, make sure they know it's gone! */
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2182 if (conv != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2183 {
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2184 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2185 swboard->conv = NULL;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
2186 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
2187 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
2188
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2189 static void
16538
c7e61e2917c9 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents: 16437
diff changeset
2190 msn_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img)
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
2191 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2192 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2193 MsnUser *user;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2194
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2195 session = purple_connection_get_protocol_data(gc);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2196 user = session->user;
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
2197
16538
c7e61e2917c9 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents: 16437
diff changeset
2198 msn_user_set_buddy_icon(user, img);
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
2199
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
2200 msn_change_status(session);
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
2201 }
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
2202
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
2203 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2204 msn_remove_group(PurpleConnection *gc, PurpleGroup *group)
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2205 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2206 MsnSession *session;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2207 const char *gname;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2208
32278
61bbe54bab82 Convert msn prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32244
diff changeset
2209 session = purple_connection_get_protocol_data(gc);
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2210 gname = purple_group_get_name(group);
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2211
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2212 purple_debug_info("msn", "Remove group %s\n", gname);
13897
9636e5364590 [gaim-migrate @ 17043]
Ma Yuan <mayuan2006@gmail.com>
parents: 13894
diff changeset
2213 /*we can't delete the default group*/
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2214 if(!strcmp(gname, MSN_INDIVIDUALS_GROUP_NAME)||
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2215 !strcmp(gname, MSN_NON_IM_GROUP_NAME))
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2216 {
23830
1436e3de5d6c The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23817
diff changeset
2217 purple_debug_info("msn", "This group can't be removed, returning.\n");
13897
9636e5364590 [gaim-migrate @ 17043]
Ma Yuan <mayuan2006@gmail.com>
parents: 13894
diff changeset
2218 return ;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2219 }
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23325
diff changeset
2220
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2221 msn_del_group(session, gname);
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2222 }
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2223
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2224 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2225 * Extract info text from info_data and add it to user_info
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2226 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2227 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2228 msn_tooltip_extract_info_text(PurpleNotifyUserInfo *user_info, MsnGetInfoData *info_data)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2229 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2230 PurpleBuddy *b;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2231
34728
8efd73063ecf Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents: 34717
diff changeset
2232 b = purple_blist_find_buddy(purple_connection_get_account(info_data->gc),
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2233 info_data->name);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2234
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2235 if (b)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2236 {
12970
c2f3b4dcf711 [gaim-migrate @ 15323]
Richard Laager <rlaager@pidgin.im>
parents: 12948
diff changeset
2237 char *tmp;
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2238 const char *alias;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2239
34717
b3e588adef5a Global replace purple_buddy_get_local_buddy_alias() with purple_buddy_get_local_alias()
Ankit Vani <a@nevitus.org>
parents: 34701
diff changeset
2240 alias = purple_buddy_get_local_alias(b);
24950
143f594f0cd0 Alias foo. I think blist.h structs are now completely hidden.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24946
diff changeset
2241 if (alias && alias[0])
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2242 {
30537
9f833935ecd7 Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents: 30303
diff changeset
2243 purple_notify_user_info_add_pair_plaintext(user_info, _("Alias"), alias);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2244 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2245
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2246 if ((alias = purple_buddy_get_server_alias(b)) != NULL)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2247 {
24398
4865c2ee6ea8 Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24245
diff changeset
2248 char *nicktext = g_markup_escape_text(alias, -1);
25089
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2249 tmp = g_strdup_printf("<font sml=\"msn\">%s</font>", nicktext);
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
2250 purple_notify_user_info_add_pair_html(user_info, _("Nickname"), tmp);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2251 g_free(tmp);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2252 g_free(nicktext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2253 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2254
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2255 /* Add the tooltip information */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2256 msn_tooltip_text(b, user_info, TRUE);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2257
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2258 return TRUE;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2259 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2260
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2261 return FALSE;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2262 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2263
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2264 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2265
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2266 static char *
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2267 msn_get_photo_url(const char *url_text)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2268 {
13391
22e0ab3fb068 [gaim-migrate @ 15763]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13390
diff changeset
2269 char *p, *q;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2270
20508
a8855578906a Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20505
diff changeset
2271 if ((p = strstr(url_text, PHOTO_URL)) != NULL)
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2272 {
13862
9d790ad9fc7a [gaim-migrate @ 16654]
Ma Yuan <mayuan2006@gmail.com>
parents: 13861
diff changeset
2273 p += strlen(PHOTO_URL);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2274 }
24000
0885f72ade83 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23940
diff changeset
2275 if (p && (strncmp(p, "http://", strlen("http://")) == 0) && ((q = strchr(p, '"')) != NULL))
13391
22e0ab3fb068 [gaim-migrate @ 15763]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13390
diff changeset
2276 return g_strndup(p, q - p);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2277
13391
22e0ab3fb068 [gaim-migrate @ 15763]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13390
diff changeset
2278 return NULL;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2279 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2280
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2281 static void msn_got_photo(PurpleHttpConnection *http_conn, PurpleHttpResponse *response,
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2282 gpointer _info2_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2283
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2284 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2285
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2286 #if 0
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2287 static char *msn_info_date_reformat(const char *field, size_t len)
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2288 {
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2289 char *tmp = g_strndup(field, len);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2290 time_t t = purple_str_to_time(tmp, FALSE, NULL, NULL, NULL);
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2291
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2292 g_free(tmp);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2293 return g_strdup(purple_date_format_short(localtime(&t)));
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2294 }
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2295 #endif
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2296
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2297 #define MSN_GOT_INFO_GET_FIELD(a, b) \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2298 found = purple_markup_extract_info_field(stripped, stripped_len, user_info, \
14430
de574ba08dd9 [gaim-migrate @ 17074]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14416
diff changeset
2299 "\n" a ":", 0, "\n", 0, "Undisclosed", b, 0, NULL, NULL); \
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2300 if (found) \
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2301 sect_info = TRUE;
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2302
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2303 #define MSN_GOT_INFO_GET_FIELD_NO_SEARCH(a, b) \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2304 found = purple_markup_extract_info_field(stripped, stripped_len, user_info, \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2305 "\n" a ":", 0, "\n", 0, "Undisclosed", b, 0, NULL, msn_info_strip_search_link); \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2306 if (found) \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2307 sect_info = TRUE;
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2308
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2309 static char *
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2310 msn_info_strip_search_link(const char *field, size_t len)
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2311 {
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2312 const char *c;
20626
dffaa4f562f5 Compile\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20613
diff changeset
2313 if ((c = strstr(field, " (http://")) == NULL)
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2314 return g_strndup(field, len);
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2315 return g_strndup(field, c - field);
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2316 }
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2317
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
2318 static void
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2319 msn_got_info(PurpleHttpConnection *http_conn,
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2320 PurpleHttpResponse *response, gpointer _info_data)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2321 {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2322 MsnGetInfoData *info_data = _info_data;
30579
458621d24012 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30303
diff changeset
2323 MsnSession *session;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2324 PurpleNotifyUserInfo *user_info;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2325 char *stripped, *p, *q, *tmp;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2326 char *user_url = NULL;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2327 gboolean found;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2328 gboolean has_tooltip_text = FALSE;
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2329 gboolean has_info = FALSE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2330 gboolean sect_info = FALSE;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2331 gboolean has_contact_info = FALSE;
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2332 char *url_buffer;
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
2333 int stripped_len;
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2334 const gchar *got_data;
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2335 size_t got_len;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2336 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2337 char *photo_url_text = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2338 MsnGetInfoStepTwoData *info2_data = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2339 #endif
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2340
30579
458621d24012 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30303
diff changeset
2341 session = purple_connection_get_protocol_data(info_data->gc);
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2342
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2343 user_info = purple_notify_user_info_new();
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2344 has_tooltip_text = msn_tooltip_extract_info_text(user_info, info_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2345
34287
6cd0c77b1f6a HTTP: successful is spelled with one l
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34269
diff changeset
2346 if (!purple_http_response_is_successful(response))
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2347 {
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
2348 purple_notify_user_info_add_pair_html(user_info,
25089
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2349 _("Error retrieving profile"), NULL);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2350
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2351 purple_notify_userinfo(info_data->gc, info_data->name, user_info, NULL, NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2352 purple_notify_user_info_destroy(user_info);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2353
14430
de574ba08dd9 [gaim-migrate @ 17074]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14416
diff changeset
2354 g_free(info_data->name);
de574ba08dd9 [gaim-migrate @ 17074]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14416
diff changeset
2355 g_free(info_data);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2356 return;
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2357 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2358
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2359 got_data = purple_http_response_get_data(response, &got_len);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2360
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2361 purple_debug_info("msn", "In msn_got_info,url_text:{%s}\n", got_data);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2362
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2363 url_buffer = g_strdup(got_data);
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2364
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2365 /* If they have a homepage link, MSN masks it such that we need to
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2366 * fetch the url out before purple_markup_strip_html() nukes it */
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2367 /* I don't think this works with the new spaces profiles - Stu 3/2/06 */
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2368 if ((p = strstr(url_buffer,
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2369 "Take a look at my </font><A class=viewDesc title=\"")) != NULL)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2370 {
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2371 p += 50;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2372
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2373 if ((q = strchr(p, '"')) != NULL)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2374 user_url = g_strndup(p, q - p);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2375 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2376
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2377 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2378 * purple_markup_strip_html() doesn't strip out character entities like &nbsp;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2379 * and &#183;
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2380 */
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2381 while ((p = strstr(url_buffer, "&nbsp;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2382 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2383 *p = ' '; /* Turn &nbsp;'s into ordinary blanks */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2384 p += 1;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2385 memmove(p, p + 5, strlen(p + 5));
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2386 url_buffer[strlen(url_buffer) - 5] = '\0';
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2387 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2388
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2389 while ((p = strstr(url_buffer, "&#183;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2390 {
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2391 memmove(p, p + 6, strlen(p + 6));
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2392 url_buffer[strlen(url_buffer) - 6] = '\0';
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2393 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2394
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2395 /* Nuke the nasty \r's that just get in the way */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2396 purple_str_strip_char(url_buffer, '\r');
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2397
8735
01248ea222d3 [gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 8713
diff changeset
2398 /* MSN always puts in &#39; for apostrophes...replace them */
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2399 while ((p = strstr(url_buffer, "&#39;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2400 {
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2401 *p = '\'';
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2402 memmove(p + 1, p + 5, strlen(p + 5));
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2403 url_buffer[strlen(url_buffer) - 4] = '\0';
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2404 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2405
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2406 /* Nuke the html, it's easier than trying to parse the horrid stuff */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2407 stripped = purple_markup_strip_html(url_buffer);
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
2408 stripped_len = strlen(stripped);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2409
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2410 purple_debug_misc("msn", "stripped = %p\n", stripped);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2411 purple_debug_misc("msn", "url_buffer = %p\n", url_buffer);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2412
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2413 /* General section header */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2414 if (has_tooltip_text)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2415 purple_notify_user_info_add_section_break(user_info);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2416
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2417 purple_notify_user_info_add_section_header(user_info, _("General"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2418
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2419 /* Extract their Name and put it in */
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2420 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2421
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2422 /* General */
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2423 MSN_GOT_INFO_GET_FIELD("Nickname", _("Nickname"));
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2424 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Age", _("Age"));
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2425 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Gender", _("Gender"));
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2426 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Occupation", _("Occupation"));
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2427 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Location", _("Location"));
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2428
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2429 /* Extract their Interests and put it in */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2430 found = purple_markup_extract_info_field(stripped, stripped_len, user_info,
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2431 "\nInterests\t", 0, " (/default.aspx?page=searchresults", 0,
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2432 "Undisclosed", _("Hobbies and Interests") /* _("Interests") */,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2433 0, NULL, NULL);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2434
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2435 if (found)
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2436 sect_info = TRUE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2437
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2438 MSN_GOT_INFO_GET_FIELD("More about me", _("A Little About Me"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2439
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2440 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2441 {
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2442 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2443 sect_info = FALSE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2444 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2445 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2446 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2447 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2448 purple_notify_user_info_remove_last_item(user_info);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2449 if (has_tooltip_text)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2450 purple_notify_user_info_remove_last_item(user_info);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2451 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2452
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2453 /* Social */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2454 purple_notify_user_info_add_section_break(user_info);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2455 purple_notify_user_info_add_section_header(user_info, _("Social"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2456
22581
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2457 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Marital status", _("Marital Status"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2458 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Interested in", _("Interests"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2459 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Pets", _("Pets"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2460 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Hometown", _("Hometown"));
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2461 MSN_GOT_INFO_GET_FIELD("Places lived", _("Places Lived"));
22581
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2462 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Fashion", _("Fashion"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2463 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Humor", _("Humor"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2464 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Music", _("Music"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
2465 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Favorite quote", _("Favorite Quote"));
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2466
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2467 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2468 {
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2469 has_info = TRUE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2470 sect_info = FALSE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2471 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2472 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2473 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2474 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2475 purple_notify_user_info_remove_last_item(user_info);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2476 purple_notify_user_info_remove_last_item(user_info);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2477 }
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2478
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2479 /* Contact Info */
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2480 /* Personal */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2481 purple_notify_user_info_add_section_break(user_info);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2482 purple_notify_user_info_add_section_header(user_info, _("Contact Info"));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2483 purple_notify_user_info_add_section_header(user_info, _("Personal"));
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2484
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2485 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2486 MSN_GOT_INFO_GET_FIELD("Significant other", _("Significant Other"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2487 MSN_GOT_INFO_GET_FIELD("Home phone", _("Home Phone"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2488 MSN_GOT_INFO_GET_FIELD("Home phone 2", _("Home Phone 2"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2489 MSN_GOT_INFO_GET_FIELD("Home address", _("Home Address"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2490 MSN_GOT_INFO_GET_FIELD("Personal Mobile", _("Personal Mobile"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2491 MSN_GOT_INFO_GET_FIELD("Home fax", _("Home Fax"));
23325
a374a26fe217 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@pidgin.im>
parents: 23295
diff changeset
2492 MSN_GOT_INFO_GET_FIELD("Personal email", _("Personal Email"));
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2493 MSN_GOT_INFO_GET_FIELD("Personal IM", _("Personal IM"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2494 MSN_GOT_INFO_GET_FIELD("Birthday", _("Birthday"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2495 MSN_GOT_INFO_GET_FIELD("Anniversary", _("Anniversary"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2496 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2497
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2498 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2499 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2500 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2501 sect_info = FALSE;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2502 has_contact_info = TRUE;
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2503 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2504 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2505 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2506 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2507 purple_notify_user_info_remove_last_item(user_info);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2508 }
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2509
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2510 /* Business */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2511 purple_notify_user_info_add_section_header(user_info, _("Work"));
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2512 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2513 MSN_GOT_INFO_GET_FIELD("Job title", _("Job Title"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2514 MSN_GOT_INFO_GET_FIELD("Company", _("Company"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2515 MSN_GOT_INFO_GET_FIELD("Department", _("Department"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2516 MSN_GOT_INFO_GET_FIELD("Profession", _("Profession"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2517 MSN_GOT_INFO_GET_FIELD("Work phone 1", _("Work Phone"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2518 MSN_GOT_INFO_GET_FIELD("Work phone 2", _("Work Phone 2"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2519 MSN_GOT_INFO_GET_FIELD("Work address", _("Work Address"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2520 MSN_GOT_INFO_GET_FIELD("Work mobile", _("Work Mobile"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2521 MSN_GOT_INFO_GET_FIELD("Work pager", _("Work Pager"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2522 MSN_GOT_INFO_GET_FIELD("Work fax", _("Work Fax"));
23325
a374a26fe217 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@pidgin.im>
parents: 23295
diff changeset
2523 MSN_GOT_INFO_GET_FIELD("Work email", _("Work Email"));
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2524 MSN_GOT_INFO_GET_FIELD("Work IM", _("Work IM"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2525 MSN_GOT_INFO_GET_FIELD("Start date", _("Start Date"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
2526 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2527
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2528 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2529 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2530 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2531 sect_info = FALSE;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2532 has_contact_info = TRUE;
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2533 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2534 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2535 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2536 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2537 purple_notify_user_info_remove_last_item(user_info);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2538 }
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2539
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2540 if (!has_contact_info)
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2541 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2542 /* Remove the Contact Info section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2543 purple_notify_user_info_remove_last_item(user_info);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2544 }
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2545
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2546 #if 0 /* these probably don't show up any more */
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2547 /*
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2548 * The fields, 'A Little About Me', 'Favorite Things', 'Hobbies
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2549 * and Interests', 'Favorite Quote', and 'My Homepage' may or may
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2550 * not appear, in any combination. However, they do appear in
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2551 * certain order, so we can successively search to pin down the
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2552 * distinct values.
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2553 */
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2554
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2555 /* Check if they have A Little About Me */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2556 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2557 " A Little About Me \n\n", 0, "Favorite Things", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2558 _("A Little About Me"), 0, NULL, NULL);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2559
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2560 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2561 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2562 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2563 " A Little About Me \n\n", 0, "Hobbies and Interests", '\n',
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2564 NULL, _("A Little About Me"), 0, NULL, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2565 }
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2566
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2567 if (!found)
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2568 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2569 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2570 " A Little About Me \n\n", 0, "Favorite Quote", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2571 _("A Little About Me"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2572 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2573
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2574 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2575 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2576 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2577 " A Little About Me \n\n", 0, "My Homepage \n\nTake a look",
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2578 '\n',
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2579 NULL, _("A Little About Me"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2580 }
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2581
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2582 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2583 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2584 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2585 " A Little About Me \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2586 _("A Little About Me"), 0, NULL, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2587 }
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2588
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2589 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2590 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2591
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2592 /* Check if they have Favorite Things */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2593 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2594 " Favorite Things \n\n", 0, "Hobbies and Interests", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2595 _("Favorite Things"), 0, NULL, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2596
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2597 if (!found)
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2598 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2599 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2600 " Favorite Things \n\n", 0, "Favorite Quote", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2601 _("Favorite Things"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2602 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2603
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2604 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2605 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2606 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2607 " Favorite Things \n\n", 0, "My Homepage \n\nTake a look", '\n',
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2608 NULL, _("Favorite Things"), 0, NULL, NULL);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2609 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2610
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2611 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2612 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2613 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2614 " Favorite Things \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2615 _("Favorite Things"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2616 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2617
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2618 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2619 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2620
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2621 /* Check if they have Hobbies and Interests */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2622 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2623 " Hobbies and Interests \n\n", 0, "Favorite Quote", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2624 _("Hobbies and Interests"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2625
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2626 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2627 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2628 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2629 " Hobbies and Interests \n\n", 0, "My Homepage \n\nTake a look",
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2630 '\n', NULL, _("Hobbies and Interests"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2631 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2632
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2633 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2634 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2635 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2636 " Hobbies and Interests \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2637 _("Hobbies and Interests"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2638 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2639
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2640 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2641 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2642
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2643 /* Check if they have Favorite Quote */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2644 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2645 "Favorite Quote \n\n", 0, "My Homepage \n\nTake a look", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2646 _("Favorite Quote"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2647
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2648 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2649 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2650 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2651 "Favorite Quote \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2652 _("Favorite Quote"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2653 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2654
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2655 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2656 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2657
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2658 /* Extract the last updated date and put it in */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2659 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2660 " last updated:", 1, "\n", 0, NULL, _("Last Updated"), 0,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2661 NULL, msn_info_date_reformat);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2662
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2663 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2664 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2665 #endif
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2666
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2667 /* If we were able to fetch a homepage url earlier, stick it in there */
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2668 if (user_url != NULL)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2669 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2670 tmp = g_strdup_printf("<a href=\"%s\">%s</a>", user_url, user_url);
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
2671 purple_notify_user_info_add_pair_html(user_info, _("Homepage"), tmp);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2672 g_free(tmp);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2673 g_free(user_url);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2674
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2675 has_info = TRUE;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2676 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2677
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2678 if (!has_info)
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2679 {
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2680 /* MSN doesn't actually distinguish between "unknown member" and
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2681 * a known member with an empty profile. Try to explain this fact.
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2682 * Note that if we have a nonempty tooltip_text, we know the user
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2683 * exists.
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2684 */
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2685 /* This doesn't work with the new spaces profiles - Stu 3/2/06
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2686 char *p = strstr(url_buffer, "Unknown Member </TITLE>");
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2687 * This might not work for long either ... */
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2688 /* Nope, it failed some time before 5/2/07 :(
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2689 char *p = strstr(url_buffer, "form id=\"SpacesSearch\" name=\"SpacesSearch\"");
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2690 * Let's see how long this one holds out for ... */
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2691 char *p = strstr(url_buffer, "<form id=\"profile_form\" name=\"profile_form\" action=\"http&#58;&#47;&#47;spaces.live.com&#47;profile.aspx&#63;cid&#61;0\"");
34728
8efd73063ecf Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents: 34717
diff changeset
2692 PurpleBuddy *b = purple_blist_find_buddy
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2693 (purple_connection_get_account(info_data->gc), info_data->name);
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
2694 purple_notify_user_info_add_pair_html(user_info,
25089
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2695 _("Error retrieving profile"), NULL);
32188
cb9cad610bc6 I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents: 32157
diff changeset
2696 purple_notify_user_info_add_pair_plaintext(user_info, NULL,
25089
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2697 ((p && b) ? _("The user has not created a public profile.") :
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2698 (p ? _("MSN reported not being able to find the user's profile. "
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2699 "This either means that the user does not exist, "
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2700 "or that the user exists "
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2701 "but has not created a public profile.") :
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2702 _("Could not find " /* This should never happen */
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2703 "any information in the user's profile. "
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2704 "The user most likely does not exist."))));
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2705 }
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2706
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2707 /* put a link to the actual profile URL */
25089
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2708 purple_notify_user_info_add_section_break(user_info);
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2709 tmp = g_strdup_printf("<a href=\"%s%s\">%s</a>",
b381e7e2a1cf Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents: 24767
diff changeset
2710 PROFILE_URL, info_data->name, _("View web profile"));
32191
a4668d9dc8d1 Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents: 32188
diff changeset
2711 purple_notify_user_info_add_pair_html(user_info, NULL, tmp);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2712 g_free(tmp);
7062
26abb8b189ce [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
2713
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2714 #if PHOTO_SUPPORT
9569
63364b43cb0b [gaim-migrate @ 10412]
Tim Ringenbach <marv@pidgin.im>
parents: 9558
diff changeset
2715 /* Find the URL to the photo; must be before the marshalling [Bug 994207] */
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2716 photo_url_text = msn_get_photo_url(got_data);
23830
1436e3de5d6c The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23817
diff changeset
2717 purple_debug_info("msn", "photo url:{%s}\n", photo_url_text ? photo_url_text : "(null)");
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2718
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2719 /* Marshall the existing state */
21065
8bbf0f6700ed Fix some leaks and prevent some unnecessary allocations and frees.
Daniel Atallah <datallah@pidgin.im>
parents: 21033
diff changeset
2720 info2_data = g_new0(MsnGetInfoStepTwoData, 1);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2721 info2_data->info_data = info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2722 info2_data->stripped = stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2723 info2_data->url_buffer = url_buffer;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2724 info2_data->user_info = user_info;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2725 info2_data->photo_url_text = photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2726
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2727 /* Try to put the photo in there too, if there's one */
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2728 if (photo_url_text)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2729 {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2730 PurpleHttpRequest *req;
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2731
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2732 req = purple_http_request_new(photo_url_text);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2733 purple_http_request_set_max_len(req, MAX_HTTP_BUDDYICON_BYTES);
34269
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34233
diff changeset
2734 purple_http_connection_set_add(session->http_reqs,
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34233
diff changeset
2735 purple_http_request(info_data->gc, req, msn_got_photo,
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34233
diff changeset
2736 info2_data));
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2737 purple_http_request_unref(req);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2738 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2739 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2740 {
30579
458621d24012 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30303
diff changeset
2741 /* Finish the Get Info and show the user something */
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2742 msn_got_photo(NULL, NULL, info2_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2743 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2744 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2745
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2746 static void
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2747 msn_got_photo(PurpleHttpConnection *http_conn, PurpleHttpResponse *response,
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2748 gpointer _info2_data)
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2749 {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2750 MsnGetInfoStepTwoData *info2_data = _info2_data;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2751 int id = -1;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2752
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2753 /* Unmarshall the saved state */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2754 MsnGetInfoData *info_data = info2_data->info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2755 char *stripped = info2_data->stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2756 char *url_buffer = info2_data->url_buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2757 PurpleNotifyUserInfo *user_info = info2_data->user_info;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2758 char *photo_url_text = info2_data->photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2759
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2760 /* Try to put the photo in there too, if there's one and is readable */
34287
6cd0c77b1f6a HTTP: successful is spelled with one l
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34269
diff changeset
2761 if (response && purple_http_response_is_successful(response))
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2762 {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2763 char buf[1024];
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2764 const gchar *photo_data;
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2765 size_t len;
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2766
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2767 photo_data = purple_http_response_get_data(response, &len);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2768 purple_debug_info("msn", "%s is %" G_GSIZE_FORMAT " bytes\n", photo_url_text, len);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2769 id = purple_imgstore_new_with_id(g_memdup(photo_data, len), len, NULL);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2770 g_snprintf(buf, sizeof(buf), "<img id=\"%d\"><br>", id);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33774
diff changeset
2771 purple_notify_user_info_prepend_pair_html(user_info, NULL, buf);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2772 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2773
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2774 /* We continue here from msn_got_info, as if nothing has happened */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2775 #endif
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2776 purple_notify_userinfo(info_data->gc, info_data->name, user_info, NULL, NULL);
7062
26abb8b189ce [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
2777
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2778 g_free(stripped);
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2779 g_free(url_buffer);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2780 purple_notify_user_info_destroy(user_info);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2781 g_free(info_data->name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2782 g_free(info_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2783 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2784 g_free(photo_url_text);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2785 g_free(info2_data);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2786 if (id != -1)
16437
7ff7c3405ea2 Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
2787 purple_imgstore_unref_by_id(id);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2788 #endif
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2789 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2790
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2791 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2792 msn_get_info(PurpleConnection *gc, const char *name)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2793 {
30579
458621d24012 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30303
diff changeset
2794 MsnSession *session = purple_connection_get_protocol_data(gc);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2795 MsnGetInfoData *data;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2796
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2797 data = g_new0(MsnGetInfoData, 1);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2798 data->gc = gc;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2799 data->name = g_strdup(name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2800
34269
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34233
diff changeset
2801 purple_http_connection_set_add(session->http_reqs,
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34233
diff changeset
2802 purple_http_get_printf(gc, msn_got_info, data, "%s%s",
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34233
diff changeset
2803 PROFILE_URL, name));
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2804 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2805
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2806 static PurpleAccount *find_acct(const char *prpl, const char *acct_id)
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2807 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2808 PurpleAccount *acct = NULL;
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2809
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2810 /* If we have a specific acct, use it */
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2811 if (acct_id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2812 acct = purple_accounts_find(acct_id, prpl);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2813 if (acct && !purple_account_is_connected(acct))
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2814 acct = NULL;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2815 } else { /* Otherwise find an active account for the protocol */
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
2816 GList *l = purple_accounts_get_all();
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2817 while (l) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2818 if (!strcmp(prpl, purple_account_get_protocol_id(l->data))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2819 && purple_account_is_connected(l->data)) {
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2820 acct = l->data;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2821 break;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2822 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2823 l = l->next;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2824 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2825 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2826
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2827 return acct;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2828 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2829
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2830 static gboolean msn_uri_handler(const char *proto, const char *cmd, GHashTable *params)
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2831 {
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2832 char *acct_id = g_hash_table_lookup(params, "account");
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2833 PurpleAccount *acct;
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2834
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2835 if (g_ascii_strcasecmp(proto, "msnim"))
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2836 return FALSE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2837
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2838 acct = find_acct("prpl-msn", acct_id);
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2839
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2840 if (!acct)
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2841 return FALSE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2842
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2843 /* msnim:chat?contact=user@domain.tld */
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2844 if (!g_ascii_strcasecmp(cmd, "Chat")) {
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2845 char *sname = g_hash_table_lookup(params, "contact");
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2846 if (sname) {
34636
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
2847 PurpleIMConversation *im = purple_conversations_find_im_with_account(
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
2848 sname, acct);
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
2849 if (im == NULL)
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
2850 im = purple_im_conversation_new(acct, sname);
cfbdf3297c99 Refactored msn protocol to use GObject-based PurpleConversation
Ankit Vani <a@nevitus.org>
parents: 34635
diff changeset
2851 purple_conversation_present(PURPLE_CONVERSATION(im));
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2852 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2853 /*else
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2854 **If pidgindialogs_im() was in the core, we could use it here.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2855 * It is all purple_request_* based, but I'm not sure it really belongs in the core
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2856 pidgindialogs_im();*/
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2857
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2858 return TRUE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2859 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2860 /* msnim:add?contact=user@domain.tld */
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2861 else if (!g_ascii_strcasecmp(cmd, "Add")) {
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2862 char *name = g_hash_table_lookup(params, "contact");
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2863 purple_blist_request_add_buddy(acct, name, NULL, NULL);
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2864 return TRUE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2865 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2866
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2867 return FALSE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2868 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2869
34321
f60fcab02bd4 Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34312
diff changeset
2870 static gssize
f60fcab02bd4 Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34312
diff changeset
2871 msn_get_max_message_size(PurpleConversation *conv)
34312
4461d5c1e61c Extend prpl with max message length callback
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34287
diff changeset
2872 {
34321
f60fcab02bd4 Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34312
diff changeset
2873 /* XXX: pidgin-otr says 1409. Verify and document it. */
34312
4461d5c1e61c Extend prpl with max message length callback
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34287
diff changeset
2874 return 1525 - strlen(VERSION);
4461d5c1e61c Extend prpl with max message length callback
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34287
diff changeset
2875 }
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2876
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2877 static void
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2878 msn_protocol_base_init(MSNProtocolClass *klass)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2879 {
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2880 PurpleProtocolClass *proto_class = PURPLE_PROTOCOL_CLASS(klass);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2881 PurpleAccountOption *option;
3572
d07e14aa6f26 [gaim-migrate @ 3670]
Sean Egan <seanegan@pidgin.im>
parents: 3538
diff changeset
2882
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2883 proto_class->id = MSN_ID;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2884 proto_class->name = MSN_NAME;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2885 proto_class->options = OPT_PROTO_MAIL_CHECK | OPT_PROTO_INVITE_MESSAGE;
36609
637155f87448 Refactored the protocols to use purple_buddy_icon_spec_new()
Ankit Vani <a@nevitus.org>
parents: 36584
diff changeset
2886 proto_class->icon_spec = purple_buddy_icon_spec_new("png,gif",
637155f87448 Refactored the protocols to use purple_buddy_icon_spec_new()
Ankit Vani <a@nevitus.org>
parents: 36584
diff changeset
2887 0, 0, 96, 96, 0,
637155f87448 Refactored the protocols to use purple_buddy_icon_spec_new()
Ankit Vani <a@nevitus.org>
parents: 36584
diff changeset
2888 PURPLE_ICON_SCALE_SEND);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2889
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2890 option = purple_account_option_string_new(_("Server"), "server",
23817
aff31c9b1fad Clean up some #define's in msn.h and various supporting changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23800
diff changeset
2891 MSN_SERVER);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2892 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2893 option);
3572
d07e14aa6f26 [gaim-migrate @ 3670]
Sean Egan <seanegan@pidgin.im>
parents: 3538
diff changeset
2894
23817
aff31c9b1fad Clean up some #define's in msn.h and various supporting changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23800
diff changeset
2895 option = purple_account_option_int_new(_("Port"), "port", MSN_PORT);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2896 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2897 option);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2898
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2899 option = purple_account_option_bool_new(_("Use HTTP Method"),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2900 "http_method", FALSE);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2901 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2902 option);
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2903
20077
dad85816359f applied changes from e3d8fe145881335e4c42f96480b7c2681ff85fe9
Richard Laager <rlaager@pidgin.im>
parents: 19989
diff changeset
2904 option = purple_account_option_string_new(_("HTTP Method Server"),
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2905 "http_method_server", MSN_HTTPCONN_SERVER);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2906 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2907 option);
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2908
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2909 option = purple_account_option_bool_new(_("Show custom smileys"),
12886
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2910 "custom_smileys", TRUE);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2911 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
12886
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2912 option);
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2913
30303
3dd06cd2f208 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30196
diff changeset
2914 option = purple_account_option_bool_new(_("Allow direct connections"),
3dd06cd2f208 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30196
diff changeset
2915 "direct_connect", TRUE);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2916 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
30303
3dd06cd2f208 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30196
diff changeset
2917 option);
3dd06cd2f208 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30196
diff changeset
2918
31201
97dbb1e30ee1 Read the MPOP setting from the AB.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31189
diff changeset
2919 option = purple_account_option_bool_new(_("Allow connecting from multiple locations"),
97dbb1e30ee1 Read the MPOP setting from the AB.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31189
diff changeset
2920 "mpop", TRUE);
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2921 proto_class->protocol_options = g_list_append(proto_class->protocol_options,
31201
97dbb1e30ee1 Read the MPOP setting from the AB.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31189
diff changeset
2922 option);
97dbb1e30ee1 Read the MPOP setting from the AB.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31189
diff changeset
2923
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2924 purple_cmd_register("nudge", "", PURPLE_CMD_P_PROTOCOL,
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2925 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PROTOCOL_ONLY,
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
2926 "prpl-msn", msn_cmd_nudge,
12318
942b7c089acb [gaim-migrate @ 14622]
Richard Laager <rlaager@pidgin.im>
parents: 12243
diff changeset
2927 _("nudge: nudge a user to get their attention"), NULL);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
2928
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2929 purple_prefs_remove("/plugins/prpl/msn");
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2930
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2931 msn_notification_init();
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2932 msn_switchboard_init();
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2933 }
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2934
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2935 static void
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2936 msn_protocol_base_finalize(MSNProtocolClass *klass)
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2937 {
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2938 msn_notification_end();
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2939 msn_switchboard_end();
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2940 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2941
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2942 static void
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2943 msn_protocol_interface_init(PurpleProtocolInterface *iface)
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2944 {
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2945 iface->get_actions = msn_get_actions;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2946 iface->list_icon = msn_list_icon;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2947 iface->list_emblem = msn_list_emblems;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2948 iface->status_text = msn_status_text;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2949 iface->tooltip_text = msn_tooltip_text;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2950 iface->status_types = msn_status_types;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2951 iface->blist_node_menu = msn_blist_node_menu;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2952 iface->login = msn_login;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2953 iface->close = msn_close;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2954 iface->send_im = msn_send_im;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2955 iface->send_typing = msn_send_typing;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2956 iface->get_info = msn_get_info;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2957 iface->set_status = msn_set_status;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2958 iface->set_idle = msn_set_idle;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2959 iface->add_buddy = msn_add_buddy;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2960 iface->remove_buddy = msn_rem_buddy;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2961 iface->add_permit = msn_add_permit;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2962 iface->add_deny = msn_add_deny;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2963 iface->rem_permit = msn_rem_permit;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2964 iface->rem_deny = msn_rem_deny;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2965 iface->set_permit_deny = msn_set_permit_deny;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2966 iface->chat_invite = msn_chat_invite;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2967 iface->chat_leave = msn_chat_leave;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2968 iface->chat_send = msn_chat_send;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2969 iface->keepalive = msn_keepalive;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2970 iface->alias_buddy = msn_alias_buddy;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2971 iface->group_buddy = msn_group_buddy;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2972 iface->rename_group = msn_rename_group;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2973 iface->convo_closed = msn_convo_closed;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2974 iface->normalize = msn_normalize;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2975 iface->set_buddy_icon = msn_set_buddy_icon;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2976 iface->remove_group = msn_remove_group;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2977 iface->can_receive_file = msn_can_receive_file;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2978 iface->send_file = msn_send_file;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2979 iface->new_xfer = msn_new_xfer;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2980 iface->offline_message = msn_offline_message;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2981 iface->send_attention = msn_send_attention;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2982 iface->get_attention_types = msn_attention_types;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2983 iface->get_account_text_table = msn_get_account_text_table;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2984 iface->set_public_alias = msn_set_public_alias;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2985 iface->get_public_alias = msn_get_public_alias;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2986 iface->get_max_message_size = msn_get_max_message_size;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2987 }
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2988
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2989 static PurplePluginInfo *
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2990 plugin_query(GError **error)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2991 {
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2992 return purple_plugin_info_new(
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2993 "id", MSN_ID,
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
2994 "name", MSN_NAME,
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2995 "version", DISPLAY_VERSION,
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2996 "category", N_("Protocol"),
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2997 "summary", N_("Windows Live Messenger Protocol Plugin"),
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2998 "description", N_("Windows Live Messenger Protocol Plugin"),
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
2999 "website", PURPLE_WEBSITE,
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3000 "abi-version", PURPLE_ABI_VERSION,
36536
07f8c9889257 Added flags to all prpls
Ankit Vani <a@nevitus.org>
parents: 36525
diff changeset
3001 "flags", GPLUGIN_PLUGIN_INFO_FLAGS_INTERNAL |
07f8c9889257 Added flags to all prpls
Ankit Vani <a@nevitus.org>
parents: 36525
diff changeset
3002 GPLUGIN_PLUGIN_INFO_FLAGS_LOAD_ON_QUERY,
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3003 NULL
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3004 );
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3005 }
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3006
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3007 static gboolean
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3008 plugin_load(PurplePlugin *plugin, GError **error)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3009 {
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
3010 my_protocol = purple_protocols_add(MSN_TYPE_PROTOCOL, error);
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
3011 if (!my_protocol)
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
3012 return FALSE;
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
3013
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
3014 purple_signal_connect(purple_get_core(), "uri-handler", my_protocol,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
3015 PURPLE_CALLBACK(msn_uri_handler), NULL);
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3016
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3017 return TRUE;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3018 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3019
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3020 static gboolean
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3021 plugin_unload(PurplePlugin *plugin, GError **error)
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3022 {
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
3023 if (!purple_protocols_remove(my_protocol, error))
36584
36e13bdb3e35 Refactored msn to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36583
diff changeset
3024 return FALSE;
36523
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3025
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3026 return TRUE;
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3027 }
b09989ccf2d9 Refactored msn to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 34878
diff changeset
3028
36613
0e96218aa13a Refactored the protocols to use the new macros, to allow for static or dynamic loading of types as configured
Ankit Vani <a@nevitus.org>
parents: 36609
diff changeset
3029 static PurplePlugin *my_plugin;
0e96218aa13a Refactored the protocols to use the new macros, to allow for static or dynamic loading of types as configured
Ankit Vani <a@nevitus.org>
parents: 36609
diff changeset
3030 PURPLE_PROTOCOL_DEFINE(my_plugin, MSNProtocol, msn_protocol);
0e96218aa13a Refactored the protocols to use the new macros, to allow for static or dynamic loading of types as configured
Ankit Vani <a@nevitus.org>
parents: 36609
diff changeset
3031 PURPLE_PLUGIN_INIT_VAL(my_plugin, msn, plugin_query, plugin_load,
0e96218aa13a Refactored the protocols to use the new macros, to allow for static or dynamic loading of types as configured
Ankit Vani <a@nevitus.org>
parents: 36609
diff changeset
3032 plugin_unload);

mercurial