Mercurial > pidgin
annotate src/protocols/msn/msn.c @ 8993:294ae6548d4e
[gaim-migrate @ 9768]
update the structs
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Fri, 21 May 2004 00:32:52 +0000 |
| parents | 80b4c956d7ae |
| children | 67421e0dc497 |
| rev | line source |
|---|---|
|
4542
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
1 /** |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
2 * @file msn.c The MSN protocol plugin |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
3 * |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
4 * gaim |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
5 * |
|
8475
06f57183e29f
[gaim-migrate @ 9208]
Christian Hammond <chipx86@chipx86.com>
parents:
8442
diff
changeset
|
6 * Copyright (C) 2003-2004 Christian Hammond <chipx86@gnupdate.org> |
|
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
7 * |
|
4542
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
8 * This program is free software; you can redistribute it and/or modify |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
11 * (at your option) any later version. |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
12 * |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
13 * This program is distributed in the hope that it will be useful, |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
16 * GNU General Public License for more details. |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
17 * |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
19 * along with this program; if not, write to the Free Software |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
21 */ |
|
6827
1cfbb731aa1f
[gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents:
6801
diff
changeset
|
22 #include <glib.h> |
|
1cfbb731aa1f
[gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents:
6801
diff
changeset
|
23 |
|
4542
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
24 #include "msn.h" |
|
5638
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
25 #include "accountopt.h" |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
26 #include "msg.h" |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
27 #include "page.h" |
| 8713 | 28 #include "pluginpref.h" |
|
5626
6275ac113622
[gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
29 #include "prefs.h" |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
30 #include "session.h" |
|
5361
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
31 #include "state.h" |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
32 #include "utils.h" |
| 5717 | 33 #include "multi.h" |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
34 #include "util.h" |
|
4546
a951bb590857
[gaim-migrate @ 4825]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4542
diff
changeset
|
35 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
36 #include "notification.h" |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
37 #include "switchboard.h" |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
38 |
|
8333
85dbaac926a7
[gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents:
8298
diff
changeset
|
39 #define BUDDY_ALIAS_MAXLEN 387 |
|
4542
86b0a0243be8
[gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents:
4508
diff
changeset
|
40 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
41 static GaimPlugin *my_protocol = NULL; |
| 4249 | 42 |
| 7322 | 43 static const char *msn_normalize(const GaimAccount *account, const char *str); |
| 2086 | 44 |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
45 typedef struct |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
46 { |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
47 GaimConnection *gc; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
48 const char *passport; |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
49 |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
50 } MsnMobileData; |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
51 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
52 typedef struct |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
53 { |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
54 GaimConnection *gc; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
55 char *name; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
56 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
57 } MsnGetInfoData; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
58 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
59 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
60 msn_act_id(GaimConnection *gc, const char *entry) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
61 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
62 MsnCmdProc *cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
63 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
64 GaimAccount *account; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
65 char *alias; |
| 2086 | 66 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
67 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
68 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
69 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
70 |
|
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
71 if (entry == NULL || *entry == '\0') |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
72 alias = g_strdup(""); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
73 else |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
74 alias = g_strdup(entry); |
| 3171 | 75 |
|
8333
85dbaac926a7
[gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents:
8298
diff
changeset
|
76 if (strlen(alias) > BUDDY_ALIAS_MAXLEN) |
|
85dbaac926a7
[gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents:
8298
diff
changeset
|
77 { |
|
5436
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5382
diff
changeset
|
78 gaim_notify_error(gc, NULL, |
|
ad445074d239
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5382
diff
changeset
|
79 _("Your new MSN friendly name is too long."), NULL); |
|
2738
01f0497fe6c8
[gaim-migrate @ 2751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2688
diff
changeset
|
80 return; |
|
01f0497fe6c8
[gaim-migrate @ 2751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2688
diff
changeset
|
81 } |
|
01f0497fe6c8
[gaim-migrate @ 2751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2688
diff
changeset
|
82 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
83 msn_cmdproc_send(cmdproc, "REA", "%s %s", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
84 gaim_account_get_username(account), |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
85 gaim_url_encode(alias)); |
| 2086 | 86 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
87 g_free(alias); |
| 2086 | 88 } |
| 89 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
90 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
91 msn_set_prp(GaimConnection *gc, const char *type, const char *entry) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
92 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
93 MsnCmdProc *cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
94 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
95 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
96 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
97 cmdproc = session->notification_conn->cmdproc; |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
98 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
99 if (entry == NULL || *entry == '\0') |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
100 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
101 msn_cmdproc_send(cmdproc, "PRP", "%s ", type); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
102 } |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
103 else |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
104 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
105 msn_cmdproc_send(cmdproc, "PRP", "%s %s", type, |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
106 gaim_url_encode(entry)); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
107 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
108 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
109 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
110 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
111 msn_set_home_phone_cb(GaimConnection *gc, const char *entry) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
112 { |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
113 msn_set_prp(gc, "PHH", entry); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
114 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
115 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
116 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
117 msn_set_work_phone_cb(GaimConnection *gc, const char *entry) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
118 { |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
119 msn_set_prp(gc, "PHW", entry); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
120 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
121 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
122 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
123 msn_set_mobile_phone_cb(GaimConnection *gc, const char *entry) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
124 { |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
125 msn_set_prp(gc, "PHM", entry); |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
126 } |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
127 |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
128 static void |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
129 enable_msn_pages_cb(GaimConnection *gc) |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
130 { |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
131 msn_set_prp(gc, "MOB", "Y"); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
132 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
133 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
134 static void |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
135 disable_msn_pages_cb(GaimConnection *gc) |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
136 { |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
137 msn_set_prp(gc, "MOB", "N"); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
138 } |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
139 |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
140 static void |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
141 send_to_mobile(GaimConnection *gc, const char *who, const char *entry) |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
142 { |
|
8646
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
143 MsnSession *session; |
|
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
144 MsnServConn *servconn; |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
145 MsnCmdProc *cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
146 MsnTransaction *trans; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
147 MsnPage *page; |
|
8646
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
148 char *payload; |
|
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
149 size_t payload_len; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
150 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
151 session = gc->proto_data; |
|
8646
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
152 servconn = session->notification_conn; |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
153 cmdproc = servconn->cmdproc; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
154 |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
155 page = msn_page_new(); |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
156 msn_page_set_body(page, entry); |
|
8646
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
157 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
158 trans = msn_transaction_new("PGD", "%s 1 %d", who, page->size); |
|
8646
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
159 |
|
1e211dde3cae
[gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents:
8595
diff
changeset
|
160 payload = msn_page_gen_payload(page, &payload_len); |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
161 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
162 msn_transaction_set_payload(trans, payload, payload_len); |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
163 |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
164 msn_page_destroy(page); |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
165 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
166 msn_cmdproc_send_trans(cmdproc, trans); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
167 } |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
168 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
169 static void |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
170 send_to_mobile_cb(MsnMobileData *data, const char *entry) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
171 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
172 send_to_mobile(data->gc, data->passport, entry); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
173 g_free(data); |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
174 } |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
175 |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
176 static void |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
177 close_mobile_page_cb(MsnMobileData *data, const char *entry) |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
178 { |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
179 g_free(data); |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
180 } |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
181 |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
182 /* -- */ |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
183 |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
184 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
185 msn_show_set_friendly_name(GaimConnection *gc) |
| 2086 | 186 { |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
187 gaim_request_input(gc, NULL, _("Set your friendly name."), |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
188 _("This is the name that other MSN buddies will " |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
189 "see you as."), |
| 8697 | 190 gaim_connection_get_display_name(gc), FALSE, FALSE, NULL, |
|
5481
084147a0d9e4
[gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
191 _("OK"), G_CALLBACK(msn_act_id), |
|
084147a0d9e4
[gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents:
5436
diff
changeset
|
192 _("Cancel"), NULL, gc); |
| 2086 | 193 } |
| 194 | |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
195 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
196 msn_show_set_home_phone(GaimConnection *gc) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
197 { |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
198 MsnSession *session = gc->proto_data; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
199 |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
200 gaim_request_input(gc, NULL, _("Set your home phone number."), NULL, |
| 8697 | 201 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL, |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
202 _("OK"), G_CALLBACK(msn_set_home_phone_cb), |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
203 _("Cancel"), NULL, gc); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
204 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
205 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
206 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
207 msn_show_set_work_phone(GaimConnection *gc) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
208 { |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
209 MsnSession *session = gc->proto_data; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
210 |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
211 gaim_request_input(gc, NULL, _("Set your work phone number."), NULL, |
| 8697 | 212 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL, |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
213 _("OK"), G_CALLBACK(msn_set_work_phone_cb), |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
214 _("Cancel"), NULL, gc); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
215 } |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
216 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
217 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
218 msn_show_set_mobile_phone(GaimConnection *gc) |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
219 { |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
220 MsnSession *session = gc->proto_data; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
221 |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
222 gaim_request_input(gc, NULL, _("Set your mobile phone number."), NULL, |
| 8697 | 223 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL, |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
224 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb), |
|
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
225 _("Cancel"), NULL, gc); |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
226 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
227 |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
228 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
229 msn_show_set_mobile_pages(GaimConnection *gc) |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
230 { |
|
5496
b7c0be69c749
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5491
diff
changeset
|
231 gaim_request_action(gc, NULL, _("Allow MSN Mobile pages?"), |
|
b7c0be69c749
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5491
diff
changeset
|
232 _("Do you want to allow or disallow people on " |
|
b7c0be69c749
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5491
diff
changeset
|
233 "your buddy list to send you MSN Mobile pages " |
|
b7c0be69c749
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5491
diff
changeset
|
234 "to your cell phone or other mobile device?"), |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
235 -1, gc, 3, |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
236 _("Allow"), G_CALLBACK(enable_msn_pages_cb), |
|
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
237 _("Disallow"), G_CALLBACK(disable_msn_pages_cb), |
|
5498
cce2d7868c78
[gaim-migrate @ 5894]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
238 _("Cancel"), NULL); |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
239 } |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
240 |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
241 static void |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
242 show_send_to_mobile_cb(GaimConnection *gc, const char *passport) |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
243 { |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
244 MsnUser *user; |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
245 MsnSession *session; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
246 MsnMobileData *data; |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
247 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
248 session = gc->proto_data; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
249 user = msn_users_find_with_passport(session->users, passport); |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
250 |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
251 data = g_new0(MsnMobileData, 1); |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
252 data->gc = gc; |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
253 data->passport = passport; |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
254 |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
255 gaim_request_input(gc, NULL, _("Send a mobile message."), NULL, |
| 8697 | 256 NULL, TRUE, FALSE, NULL, |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
257 _("Page"), G_CALLBACK(send_to_mobile_cb), |
|
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
258 _("Close"), G_CALLBACK(close_mobile_page_cb), |
|
5491
4bcae8503866
[gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents:
5481
diff
changeset
|
259 data); |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
260 } |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
261 |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
262 static void |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
263 initiate_chat_cb(GaimConnection *gc, const char *passport) |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
264 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
265 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
266 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
267 MsnCmdProc *cmdproc; |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
268 MsnSwitchBoard *swboard; |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
269 MsnUser *user; |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
270 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
271 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
272 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
273 cmdproc = session->notification_conn->cmdproc; |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
274 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
275 if ((swboard = msn_session_open_switchboard(session)) == NULL) |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
276 return; |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
277 |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
278 user = msn_user_new(session, passport, NULL); |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
279 |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
280 msn_switchboard_set_user(swboard, user); |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
281 |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
282 swboard->total_users = 1; |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
283 |
|
8499
467b01d02f9c
[gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
284 session->last_chat_id++; |
|
467b01d02f9c
[gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
285 swboard->chat_id = session->last_chat_id; |
|
467b01d02f9c
[gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
286 swboard->chat = serv_got_joined_chat(gc, swboard->chat_id, "MSN Chat"); |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
287 |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
288 gaim_conv_chat_add_user(GAIM_CONV_CHAT(swboard->chat), |
|
8298
c719f9a181d4
[gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents:
8291
diff
changeset
|
289 gaim_account_get_username(account), NULL); |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
290 } |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
291 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
292 /************************************************************************** |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
293 * Protocol Plugin ops |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
294 **************************************************************************/ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
295 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
296 static const char * |
| 6695 | 297 msn_list_icon(GaimAccount *a, GaimBuddy *b) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
298 { |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
299 return "msn"; |
| 2993 | 300 } |
| 301 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
302 static void |
| 6695 | 303 msn_list_emblems(GaimBuddy *b, char **se, char **sw, |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
304 char **nw, char **ne) |
| 2086 | 305 { |
|
5372
fa0217bec87e
[gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents:
5369
diff
changeset
|
306 MsnUser *user; |
|
5361
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
307 char *emblems[4] = { NULL, NULL, NULL, NULL }; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
308 int away_type = MSN_AWAY_TYPE(b->uc); |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
309 int i = 0; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
310 |
|
5372
fa0217bec87e
[gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents:
5369
diff
changeset
|
311 user = b->proto_data; |
|
fa0217bec87e
[gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents:
5369
diff
changeset
|
312 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
313 if (b->present == GAIM_BUDDY_OFFLINE) |
|
5361
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
314 emblems[i++] = "offline"; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
315 else if (away_type == MSN_BUSY || away_type == MSN_PHONE) |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
316 emblems[i++] = "occupied"; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
317 else if (away_type != 0) |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
318 emblems[i++] = "away"; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
319 |
|
5378
a991ff4d5d40
[gaim-migrate @ 5754]
Christian Hammond <chipx86@chipx86.com>
parents:
5372
diff
changeset
|
320 if (user == NULL) { |
|
6739
2beae1058ca4
[gaim-migrate @ 7271]
Christian Hammond <chipx86@chipx86.com>
parents:
6702
diff
changeset
|
321 emblems[0] = "offline"; |
|
5378
a991ff4d5d40
[gaim-migrate @ 5754]
Christian Hammond <chipx86@chipx86.com>
parents:
5372
diff
changeset
|
322 } |
|
a991ff4d5d40
[gaim-migrate @ 5754]
Christian Hammond <chipx86@chipx86.com>
parents:
5372
diff
changeset
|
323 else if (user->mobile) |
|
5361
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
324 emblems[i++] = "wireless"; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
325 |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
326 *se = emblems[0]; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
327 *sw = emblems[1]; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
328 *nw = emblems[2]; |
|
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
329 *ne = emblems[3]; |
| 2086 | 330 } |
| 331 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
332 static char * |
| 6695 | 333 msn_status_text(GaimBuddy *b) |
| 2086 | 334 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
335 if (b->uc & UC_UNAVAILABLE) |
|
5361
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
336 return g_strdup(msn_away_get_text(MSN_AWAY_TYPE(b->uc))); |
| 2086 | 337 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
338 return NULL; |
| 2086 | 339 } |
| 340 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
341 static char * |
| 6695 | 342 msn_tooltip_text(GaimBuddy *b) |
| 2086 | 343 { |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
344 char *text = NULL; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
345 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
346 if (GAIM_BUDDY_IS_ONLINE(b)) { |
| 8591 | 347 text = g_strdup_printf("\n<b>%s:</b> %s", _("Status"), |
|
5361
953aa05279f4
[gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents:
5351
diff
changeset
|
348 msn_away_get_text(MSN_AWAY_TYPE(b->uc))); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
349 } |
| 2086 | 350 |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
351 return text; |
| 2086 | 352 } |
| 353 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
354 static GList * |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
355 msn_away_states(GaimConnection *gc) |
| 2086 | 356 { |
| 357 GList *m = NULL; | |
| 358 | |
| 3263 | 359 m = g_list_append(m, _("Available")); |
| 360 m = g_list_append(m, _("Away From Computer")); | |
| 361 m = g_list_append(m, _("Be Right Back")); | |
| 362 m = g_list_append(m, _("Busy")); | |
| 363 m = g_list_append(m, _("On The Phone")); | |
| 364 m = g_list_append(m, _("Out To Lunch")); | |
| 365 m = g_list_append(m, _("Hidden")); | |
| 2086 | 366 |
| 367 return m; | |
| 368 } | |
| 369 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
370 static GList * |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
371 msn_actions(GaimConnection *gc) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
372 { |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
373 GList *m = NULL; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
374 struct proto_actions_menu *pam; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
375 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
376 pam = g_new0(struct proto_actions_menu, 1); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
377 pam->label = _("Set Friendly Name"); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
378 pam->callback = msn_show_set_friendly_name; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
379 pam->gc = gc; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
380 m = g_list_append(m, pam); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
381 |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
382 m = g_list_append(m, NULL); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
383 |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
384 pam = g_new0(struct proto_actions_menu, 1); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
385 pam->label = _("Set Home Phone Number"); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
386 pam->callback = msn_show_set_home_phone; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
387 pam->gc = gc; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
388 m = g_list_append(m, pam); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
389 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
390 pam = g_new0(struct proto_actions_menu, 1); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
391 pam->label = _("Set Work Phone Number"); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
392 pam->callback = msn_show_set_work_phone; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
393 pam->gc = gc; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
394 m = g_list_append(m, pam); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
395 |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
396 pam = g_new0(struct proto_actions_menu, 1); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
397 pam->label = _("Set Mobile Phone Number"); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
398 pam->callback = msn_show_set_mobile_phone; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
399 pam->gc = gc; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
400 m = g_list_append(m, pam); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
401 |
|
5364
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
402 m = g_list_append(m, NULL); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
403 |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
404 #if 0 |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
405 pam = g_new0(struct proto_actions_menu, 1); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
406 pam->label = _("Enable/Disable Mobile Devices"); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
407 pam->callback = msn_show_set_mobile_support; |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
408 pam->gc = gc; |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
409 m = g_list_append(m, pam); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
410 #endif |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
411 |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
412 pam = g_new0(struct proto_actions_menu, 1); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
413 pam->label = _("Allow/Disallow Mobile Pages"); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
414 pam->callback = msn_show_set_mobile_pages; |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
415 pam->gc = gc; |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
416 m = g_list_append(m, pam); |
|
379beab3d157
[gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents:
5363
diff
changeset
|
417 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
418 return m; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
419 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
420 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
421 static GList * |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
422 msn_buddy_menu(GaimConnection *gc, const char *who) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
423 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
424 GaimAccount *account; |
|
5372
fa0217bec87e
[gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents:
5369
diff
changeset
|
425 MsnUser *user; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
426 struct proto_buddy_menu *pbm; |
| 6695 | 427 GaimBuddy *b; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
428 GList *m = NULL; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
429 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
430 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
431 b = gaim_find_buddy(account, who); |
|
6858
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
432 |
|
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
433 g_return_val_if_fail(b != NULL, NULL); |
|
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
434 |
|
5372
fa0217bec87e
[gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents:
5369
diff
changeset
|
435 user = b->proto_data; |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
436 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
437 if (user != NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
438 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
439 if (user->mobile) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
440 { |
|
5382
b18332105302
[gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents:
5379
diff
changeset
|
441 pbm = g_new0(struct proto_buddy_menu, 1); |
|
b18332105302
[gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents:
5379
diff
changeset
|
442 pbm->label = _("Send to Mobile"); |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
443 pbm->callback = show_send_to_mobile_cb; |
|
5382
b18332105302
[gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents:
5379
diff
changeset
|
444 pbm->gc = gc; |
|
b18332105302
[gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents:
5379
diff
changeset
|
445 m = g_list_append(m, pbm); |
|
b18332105302
[gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents:
5379
diff
changeset
|
446 } |
|
5369
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
447 } |
|
a87818e9dc54
[gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents:
5364
diff
changeset
|
448 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
449 if (g_ascii_strcasecmp(who, gaim_account_get_username(account))) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
450 { |
|
6148
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
451 pbm = g_new0(struct proto_buddy_menu, 1); |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
452 pbm->label = _("Initiate Chat"); |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
453 pbm->callback = initiate_chat_cb; |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
454 pbm->gc = gc; |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
455 m = g_list_append(m, pbm); |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
456 } |
|
82e7eaa67406
[gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents:
6059
diff
changeset
|
457 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
458 return m; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
459 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
460 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
461 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
462 msn_login(GaimAccount *account) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
463 { |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
464 GaimConnection *gc; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
465 MsnSession *session; |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
466 const char *username; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
467 const char *server; |
|
7288
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
468 gboolean http_method = FALSE; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
469 int port; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
470 |
|
7277
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
471 gc = gaim_account_get_connection(account); |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
472 |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
473 if (!gaim_ssl_is_supported()) |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
474 { |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
475 gaim_connection_error(gc, |
|
8499
467b01d02f9c
[gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
476 _("SSL support is needed for MSN. Please install a supported " |
|
467b01d02f9c
[gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
477 "SSL library. See http://gaim.sf.net/faq-ssl.php for more " |
|
467b01d02f9c
[gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
478 "information.")); |
|
7277
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
479 |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
480 return; |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
481 } |
|
2972dad4438b
[gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents:
7262
diff
changeset
|
482 |
|
7288
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
483 if (gaim_account_get_bool(account, "http_method", FALSE)) |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
484 { |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
485 http_method = TRUE; |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
486 |
|
7834
99ffabc6ce73
[gaim-migrate @ 8487]
Christian Hammond <chipx86@chipx86.com>
parents:
7675
diff
changeset
|
487 gaim_debug(GAIM_DEBUG_INFO, "msn", "using http method\n"); |
|
7937
0dc286295b36
[gaim-migrate @ 8608]
Christian Hammond <chipx86@chipx86.com>
parents:
7935
diff
changeset
|
488 |
|
7288
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
489 server = "gateway.messenger.hotmail.com"; |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
490 port = 80; |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
491 } |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
492 else |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
493 { |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
494 server = gaim_account_get_string(account, "server", MSN_SERVER); |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
495 port = gaim_account_get_int(account, "port", MSN_PORT); |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
496 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
497 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
498 session = msn_session_new(account, server, port); |
|
7288
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
499 session->http_method = http_method; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
500 session->prpl = my_protocol; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
501 |
|
8298
c719f9a181d4
[gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents:
8291
diff
changeset
|
502 if (session->http_method) |
|
c719f9a181d4
[gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents:
8291
diff
changeset
|
503 msn_http_session_init(session); |
|
c719f9a181d4
[gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents:
8291
diff
changeset
|
504 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
505 gc->proto_data = session; |
|
8691
0eb5161ef333
[gaim-migrate @ 9444]
Christian Hammond <chipx86@chipx86.com>
parents:
8677
diff
changeset
|
506 gc->flags |= GAIM_CONNECTION_HTML | GAIM_CONNECTION_FORMATTING_WBFO | GAIM_CONNECTION_NO_BGCOLOR | GAIM_CONNECTION_NO_FONTSIZE; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
507 |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
508 gaim_connection_update_progress(gc, _("Connecting"), 0, MSN_CONNECT_STEPS); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
509 |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
510 /* Hmm, I don't like this. */ |
| 7322 | 511 username = msn_normalize(account, gaim_account_get_username(account)); |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
512 |
|
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
513 if (strcmp(username, gaim_account_get_username(account))) |
|
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
514 gaim_account_set_username(account, username); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
515 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
516 if (!msn_session_connect(session)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
517 { |
| 7981 | 518 gaim_connection_error(gc, _("Unable to connect.")); |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
519 |
|
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
520 return; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
521 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
522 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
523 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
524 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
525 msn_close(GaimConnection *gc) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
526 { |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
527 MsnSession *session = gc->proto_data; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
528 |
|
8368
57e5ef6b7a69
[gaim-migrate @ 9095]
Christian Hammond <chipx86@chipx86.com>
parents:
8333
diff
changeset
|
529 if (session != NULL) |
|
57e5ef6b7a69
[gaim-migrate @ 9095]
Christian Hammond <chipx86@chipx86.com>
parents:
8333
diff
changeset
|
530 { |
|
57e5ef6b7a69
[gaim-migrate @ 9095]
Christian Hammond <chipx86@chipx86.com>
parents:
8333
diff
changeset
|
531 if (session->http_method) |
|
57e5ef6b7a69
[gaim-migrate @ 9095]
Christian Hammond <chipx86@chipx86.com>
parents:
8333
diff
changeset
|
532 msn_http_session_uninit(session); |
|
8298
c719f9a181d4
[gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents:
8291
diff
changeset
|
533 |
|
8368
57e5ef6b7a69
[gaim-migrate @ 9095]
Christian Hammond <chipx86@chipx86.com>
parents:
8333
diff
changeset
|
534 msn_session_destroy(session); |
|
57e5ef6b7a69
[gaim-migrate @ 9095]
Christian Hammond <chipx86@chipx86.com>
parents:
8333
diff
changeset
|
535 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
536 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
537 gc->proto_data = NULL; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
538 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
539 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
540 static int |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
541 msn_send_im(GaimConnection *gc, const char *who, const char *message, |
|
7118
bf630f7dfdcd
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7108
diff
changeset
|
542 GaimConvImFlags flags) |
| 2086 | 543 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
544 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
545 MsnSession *session; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
546 MsnSwitchBoard *swboard; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
547 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
548 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
549 session = gc->proto_data; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
550 swboard = msn_session_find_switch_with_passport(session, who); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
551 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
552 if (g_ascii_strcasecmp(who, gaim_account_get_username(account))) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
553 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
554 MsnMessage *msg; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
555 MsnUser *user; |
|
8595
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
556 char *msgformat; |
|
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
557 char *msgtext; |
|
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
558 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
559 user = msn_user_new(session, who, NULL); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
560 |
|
8595
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
561 msn_import_html(message, &msgformat, &msgtext); |
|
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
562 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
563 msg = msn_message_new(); |
|
8595
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
564 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat); |
|
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
565 msn_message_set_body(msg, msgtext); |
|
8518
833dd756dcc3
[gaim-migrate @ 9257]
Christian Hammond <chipx86@chipx86.com>
parents:
8509
diff
changeset
|
566 |
|
8595
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
567 g_free(msgformat); |
|
1d5e31e518fc
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8591
diff
changeset
|
568 g_free(msgtext); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
569 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
570 if (swboard != NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
571 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
572 msn_switchboard_send_msg(swboard, msg); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
573 } |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
574 else |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
575 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
576 if ((swboard = msn_session_open_switchboard(session)) == NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
577 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
578 msn_message_destroy(msg); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
579 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
580 return 1; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
581 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
582 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
583 msn_switchboard_set_user(swboard, user); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
584 msn_switchboard_send_msg(swboard, msg); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
585 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
586 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
587 msn_user_destroy(user); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
588 msn_message_destroy(msg); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
589 } |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
590 else |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
591 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
592 /* |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
593 * In MSN, you can't send messages to yourself, so |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
594 * we'll fake like we received it ;) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
595 */ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
596 serv_got_typing_stopped(gc, (char *)who); |
| 8922 | 597 serv_got_im(gc, who, message, flags, time(NULL)); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
598 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
599 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
600 return 1; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
601 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
602 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
603 static int |
| 6059 | 604 msn_send_typing(GaimConnection *gc, const char *who, int typing) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
605 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
606 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
607 MsnSession *session; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
608 MsnSwitchBoard *swboard; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
609 MsnMessage *msg; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
610 MsnUser *user; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
611 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
612 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
613 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
614 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
615 if (!typing) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
616 return 0; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
617 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
618 if (!g_ascii_strcasecmp(who, gaim_account_get_username(account))) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
619 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
620 /* We'll just fake it, since we're sending to ourself. */ |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5793
diff
changeset
|
621 serv_got_typing(gc, who, MSN_TYPING_RECV_TIMEOUT, GAIM_TYPING); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
622 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
623 return MSN_TYPING_SEND_TIMEOUT; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
624 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
625 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
626 swboard = msn_session_find_switch_with_passport(session, who); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
627 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
628 if (swboard == NULL) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
629 return 0; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
630 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
631 user = msn_user_new(session, who, NULL); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
632 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
633 msg = msn_message_new(); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
634 msn_message_set_content_type(msg, "text/x-msmsgscontrol"); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
635 msn_message_set_charset(msg, NULL); |
|
5505
870207a49f2f
[gaim-migrate @ 5904]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
636 msn_message_set_flag(msg, 'U'); |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
637 msn_message_set_attr(msg, "TypingUser", |
|
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
638 gaim_account_get_username(account)); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
639 msn_message_set_attr(msg, "User-Agent", NULL); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
640 msn_message_set_body(msg, "\r\n"); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
641 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
642 msn_switchboard_send_msg(swboard, msg); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
643 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
644 msn_user_destroy(user); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
645 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
646 return MSN_TYPING_SEND_TIMEOUT; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
647 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
648 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
649 static void |
| 6059 | 650 msn_set_away(GaimConnection *gc, const char *state, const char *msg) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
651 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
652 MsnSession *session; |
| 4270 | 653 const char *away; |
| 2086 | 654 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
655 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
656 |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
657 if (gc->away != NULL) |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
658 { |
|
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
4069
diff
changeset
|
659 g_free(gc->away); |
|
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
4069
diff
changeset
|
660 gc->away = NULL; |
|
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
4069
diff
changeset
|
661 } |
| 2086 | 662 |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
663 if (msg != NULL) |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
664 { |
|
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
4069
diff
changeset
|
665 gc->away = g_strdup(""); |
| 2086 | 666 away = "AWY"; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
667 } |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
668 else if (state) |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
669 { |
|
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
4069
diff
changeset
|
670 gc->away = g_strdup(""); |
| 2086 | 671 |
| 3538 | 672 if (!strcmp(state, _("Away From Computer"))) |
| 2086 | 673 away = "AWY"; |
| 3538 | 674 else if (!strcmp(state, _("Be Right Back"))) |
| 2086 | 675 away = "BRB"; |
| 3538 | 676 else if (!strcmp(state, _("Busy"))) |
| 2086 | 677 away = "BSY"; |
| 3538 | 678 else if (!strcmp(state, _("On The Phone"))) |
| 2086 | 679 away = "PHN"; |
| 3538 | 680 else if (!strcmp(state, _("Out To Lunch"))) |
| 2086 | 681 away = "LUN"; |
| 3538 | 682 else if (!strcmp(state, _("Hidden"))) |
|
2152
f631cfc8e824
[gaim-migrate @ 2162]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2123
diff
changeset
|
683 away = "HDN"; |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
684 else |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
685 { |
|
4111
ee884f1d7ae3
[gaim-migrate @ 4326]
Christian Hammond <chipx86@chipx86.com>
parents:
4069
diff
changeset
|
686 g_free(gc->away); |
| 2086 | 687 gc->away = NULL; |
| 688 away = "NLN"; | |
| 689 } | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
690 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
691 else if (gc->is_idle) |
| 2086 | 692 away = "IDL"; |
| 693 else | |
| 694 away = "NLN"; | |
| 695 | |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
696 msn_session_change_status(session, away); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
697 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
698 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
699 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
700 msn_set_idle(GaimConnection *gc, int idle) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
701 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
702 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
703 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
704 session = gc->proto_data; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
705 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
706 if (gc->away != NULL) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
707 return; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
708 |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
709 msn_session_change_status(session, (idle ? "IDL" : "NLN")); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
710 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
711 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
712 static void |
|
6787
faa491042c66
[gaim-migrate @ 7326]
Christian Hammond <chipx86@chipx86.com>
parents:
6786
diff
changeset
|
713 msn_add_buddy(GaimConnection *gc, const char *name, GaimGroup *group) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
714 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
715 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
716 MsnCmdProc *cmdproc; |
|
6789
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
717 MsnGroup *msn_group = NULL; |
| 7261 | 718 const char *who; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
719 GSList *l; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
720 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
721 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
722 cmdproc = session->notification_conn->cmdproc; |
| 7322 | 723 who = msn_normalize(gc->account, name); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
724 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
725 if (strchr(who, ' ')) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
726 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
727 /* This is a broken blist entry. */ |
| 2086 | 728 return; |
| 729 } | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
730 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
731 for (l = session->lists.forward; l != NULL; l = l->next) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
732 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
733 MsnUser *user = l->data; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
734 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
735 if (!gaim_utf8_strcasecmp(who, msn_user_get_passport(user))) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
736 break; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
737 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
738 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
739 if (l != NULL) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
740 return; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
741 |
|
6789
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
742 if (group != NULL) |
|
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
743 msn_group = msn_groups_find_with_name(session->groups, group->name); |
|
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
744 |
|
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
745 if (msn_group != NULL) |
|
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
746 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
747 msn_cmdproc_send(cmdproc, "ADD", "FL %s %s %d", who, who, |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
748 msn_group_get_id(msn_group)); |
|
6789
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
749 } |
|
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
750 else |
|
94b575afb77e
[gaim-migrate @ 7328]
Christian Hammond <chipx86@chipx86.com>
parents:
6787
diff
changeset
|
751 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
752 msn_cmdproc_send(cmdproc, "ADD", "FL %s %s", who, who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
753 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
754 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
755 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
756 static void |
|
6702
302ee2792e91
[gaim-migrate @ 7228]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
757 msn_rem_buddy(GaimConnection *gc, const char *who, const char *group_name) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
758 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
759 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
760 MsnCmdProc *cmdproc; |
|
6702
302ee2792e91
[gaim-migrate @ 7228]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
761 MsnGroup *group; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
762 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
763 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
764 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
765 |
|
8509
711927294475
[gaim-migrate @ 9245]
Christian Hammond <chipx86@chipx86.com>
parents:
8499
diff
changeset
|
766 if (strchr(who, ' ')) |
|
711927294475
[gaim-migrate @ 9245]
Christian Hammond <chipx86@chipx86.com>
parents:
8499
diff
changeset
|
767 { |
|
711927294475
[gaim-migrate @ 9245]
Christian Hammond <chipx86@chipx86.com>
parents:
8499
diff
changeset
|
768 /* This is a broken blist entry. */ |
|
711927294475
[gaim-migrate @ 9245]
Christian Hammond <chipx86@chipx86.com>
parents:
8499
diff
changeset
|
769 return; |
|
711927294475
[gaim-migrate @ 9245]
Christian Hammond <chipx86@chipx86.com>
parents:
8499
diff
changeset
|
770 } |
|
711927294475
[gaim-migrate @ 9245]
Christian Hammond <chipx86@chipx86.com>
parents:
8499
diff
changeset
|
771 |
|
6702
302ee2792e91
[gaim-migrate @ 7228]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
772 group = msn_groups_find_with_name(session->groups, group_name); |
|
302ee2792e91
[gaim-migrate @ 7228]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
773 |
|
302ee2792e91
[gaim-migrate @ 7228]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
774 if (group == NULL) |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
775 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
776 msn_cmdproc_send(cmdproc, "REM", "FL %s", who); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
777 } |
|
6702
302ee2792e91
[gaim-migrate @ 7228]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
778 else |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
779 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
780 msn_cmdproc_send(cmdproc, "REM", "FL %s %d", who, |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
781 msn_group_get_id(group)); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
782 } |
| 2086 | 783 } |
| 784 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
785 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
786 msn_add_permit(GaimConnection *gc, const char *who) |
| 2086 | 787 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
788 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
789 MsnCmdProc *cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
790 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
791 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
792 cmdproc = session->notification_conn->cmdproc; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
793 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
794 if (!strchr(who, '@')) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
795 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
796 char buf[MSN_BUF_LEN]; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
797 |
|
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
798 g_snprintf(buf, sizeof(buf), |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
799 _("An MSN screen name must be in the form \"user@server.com\". " |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
800 "Perhaps you meant %s@hotmail.com. No changes were made " |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
801 "to your allow list."), who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
802 |
| 8152 | 803 gaim_notify_error(gc, NULL, _("Invalid MSN screen name"), buf); |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
804 gaim_privacy_permit_remove(gc->account, who, TRUE); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
805 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
806 return; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
807 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
808 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
809 if (g_slist_find_custom(gc->account->deny, who, (GCompareFunc)strcmp)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
810 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
811 gaim_debug_info("msn", "Moving %s from BL to AL\n", who); |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
812 gaim_privacy_deny_remove(gc->account, who, TRUE); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
813 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
814 msn_cmdproc_send(cmdproc, "REM", "BL %s", who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
815 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
816 if (cmdproc->error) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
817 return; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
818 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
819 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
820 msn_cmdproc_send(cmdproc, "ADD", "AL %s %s", who, who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
821 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
822 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
823 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
824 msn_add_deny(GaimConnection *gc, const char *who) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
825 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
826 MsnCmdProc *cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
827 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
828 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
829 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
830 cmdproc = session->notification_conn->cmdproc; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
831 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
832 if (!strchr(who, '@')) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
833 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
834 char buf[MSN_BUF_LEN]; |
|
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
835 g_snprintf(buf, sizeof(buf), |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
836 _("An MSN screen name must be in the form \"user@server.com\". " |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
837 "Perhaps you meant %s@hotmail.com. No changes were made " |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
838 "to your block list."), who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
839 |
| 8152 | 840 gaim_notify_error(gc, NULL, _("Invalid MSN screen name"), buf); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
841 |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
842 gaim_privacy_deny_remove(gc->account, who, TRUE); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
843 |
| 2086 | 844 return; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
845 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
846 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
847 if (g_slist_find_custom(gc->account->permit, who, (GCompareFunc)strcmp)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
848 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
849 gaim_debug(GAIM_DEBUG_INFO, "msn", "Moving %s from AL to BL\n", who); |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
850 gaim_privacy_permit_remove(gc->account, who, TRUE); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
851 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
852 msn_cmdproc_send(cmdproc, "REM", "AL %s", who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
853 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
854 if (cmdproc->error) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
855 return; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
856 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
857 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
858 msn_cmdproc_send(cmdproc, "ADD", "BL %s %s", who, who); |
| 2086 | 859 } |
| 860 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
861 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
862 msn_rem_permit(GaimConnection *gc, const char *who) |
| 2086 | 863 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
864 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
865 MsnCmdProc *cmdproc; |
| 4150 | 866 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
867 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
868 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
869 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
870 msn_cmdproc_send(cmdproc, "REM", "AL %s", who); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
871 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
872 if (cmdproc->error) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
873 return; |
| 2086 | 874 |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
875 gaim_privacy_deny_add(gc->account, who, TRUE); |
|
2600
8aade06646b5
[gaim-migrate @ 2613]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2597
diff
changeset
|
876 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
877 msn_cmdproc_send(cmdproc, "ADD", "BL %s %s", who, who); |
| 2086 | 878 } |
| 879 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
880 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
881 msn_rem_deny(GaimConnection *gc, const char *who) |
| 2086 | 882 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
883 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
884 MsnCmdProc *cmdproc; |
| 2086 | 885 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
886 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
887 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
888 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
889 msn_cmdproc_send(cmdproc, "REM", "BL %s", who); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
890 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
891 if (cmdproc->error) |
|
2213
a226ebf4be47
[gaim-migrate @ 2223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2210
diff
changeset
|
892 return; |
|
a226ebf4be47
[gaim-migrate @ 2223]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2210
diff
changeset
|
893 |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
894 gaim_privacy_permit_add(gc->account, who, TRUE); |
|
7563
cb9c3b6d6de9
[gaim-migrate @ 8179]
Christian Hammond <chipx86@chipx86.com>
parents:
7469
diff
changeset
|
895 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
896 msn_cmdproc_send(cmdproc, "ADD", "AL %s %s", who, who); |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
897 } |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
898 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
899 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
900 msn_set_permit_deny(GaimConnection *gc) |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
901 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
902 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
903 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
904 MsnCmdProc *cmdproc; |
|
2665
b0478af51be0
[gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2611
diff
changeset
|
905 GSList *s, *t = NULL; |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
906 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
907 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
908 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
909 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
910 |
| 8175 | 911 if (account->perm_deny == GAIM_PRIVACY_ALLOW_ALL || |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
912 account->perm_deny == GAIM_PRIVACY_DENY_USERS) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
913 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
914 msn_cmdproc_send(cmdproc, "BLP", "%s", "AL"); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
915 } |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
916 else |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
917 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
918 msn_cmdproc_send(cmdproc, "BLP", "%s", "BL"); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
919 } |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
920 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
921 if (cmdproc->error) |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
922 return; |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
923 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
924 /* |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
925 * This is safe because we'll always come here after we've gotten |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
926 * the list off the server, and data is never removed. So if the |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
927 * lengths are equal we don't know about anyone locally and so |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
928 * there's no sense in going through them all. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
929 */ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
930 if (g_slist_length(gc->account->permit) == |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
931 g_slist_length(session->lists.allow)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
932 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
933 g_slist_free(session->lists.allow); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
934 session->lists.allow = NULL; |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
935 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
936 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
937 if (g_slist_length(gc->account->deny) == |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
938 g_slist_length(session->lists.block)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
939 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
940 g_slist_free(session->lists.block); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
941 session->lists.block = NULL; |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
942 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
943 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
944 if (session->lists.allow == NULL && session->lists.block == NULL) |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
945 return; |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
946 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
947 if (session->lists.allow != NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
948 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
949 for (s = g_slist_nth(gc->account->permit, |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
950 g_slist_length(session->lists.allow)); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
951 s != NULL; |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
952 s = s->next) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
953 { |
| 3200 | 954 char *who = s->data; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
955 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
956 if (!strchr(who, '@')) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
957 { |
| 3200 | 958 t = g_slist_append(t, who); |
| 959 continue; | |
| 960 } | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
961 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
962 if (g_slist_find(session->lists.block, who)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
963 { |
| 3294 | 964 t = g_slist_append(t, who); |
| 965 continue; | |
| 966 } | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
967 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
968 msn_cmdproc_send(cmdproc, "ADD", "AL %s %s", who, who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
969 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
970 if (cmdproc->error) |
| 3200 | 971 return; |
|
2665
b0478af51be0
[gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2611
diff
changeset
|
972 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
973 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
974 for (; t != NULL; t = t->next) |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
975 gaim_privacy_permit_remove(gc->account, t->data, TRUE); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
976 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
977 if (t != NULL) |
| 3200 | 978 g_slist_free(t); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
979 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
980 t = NULL; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
981 g_slist_free(session->lists.allow); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
982 session->lists.allow = NULL; |
| 3200 | 983 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
984 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
985 if (session->lists.block) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
986 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
987 for (s = g_slist_nth(gc->account->deny, |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
988 g_slist_length(session->lists.block)); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
989 s != NULL; |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
990 s = s->next) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
991 { |
| 3200 | 992 char *who = s->data; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
993 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
994 if (!strchr(who, '@')) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
995 { |
| 3200 | 996 t = g_slist_append(t, who); |
| 997 continue; | |
| 998 } | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
999 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1000 if (g_slist_find(session->lists.block, who)) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1001 { |
| 3294 | 1002 t = g_slist_append(t, who); |
| 1003 continue; | |
| 1004 } | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1005 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1006 msn_cmdproc_send(cmdproc, "ADD", "BL %s %s", who, who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1007 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1008 if (cmdproc->error) |
| 3200 | 1009 return; |
|
2665
b0478af51be0
[gaim-migrate @ 2678]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2611
diff
changeset
|
1010 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1011 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1012 for (; t != NULL; t = t->next) |
|
6378
01289157fc37
[gaim-migrate @ 6883]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
1013 gaim_privacy_deny_remove(gc->account, t->data, TRUE); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1014 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1015 if (t != NULL) |
| 3200 | 1016 g_slist_free(t); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1017 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1018 g_slist_free(session->lists.block); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1019 session->lists.block = NULL; |
| 3200 | 1020 } |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1021 } |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1022 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1023 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
1024 msn_chat_invite(GaimConnection *gc, int id, const char *msg, |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1025 const char *who) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1026 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1027 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1028 MsnSwitchBoard *swboard; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1029 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1030 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1031 swboard = msn_session_find_switch_with_id(session, id); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1032 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1033 if (swboard == NULL) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1034 return; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1035 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1036 msn_cmdproc_send(swboard->cmdproc, "CAL", "%s", who); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1037 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1038 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1039 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
1040 msn_chat_leave(GaimConnection *gc, int id) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1041 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1042 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1043 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1044 MsnSwitchBoard *swboard; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1045 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1046 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1047 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1048 swboard = msn_session_find_switch_with_id(session, id); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1049 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1050 if (swboard == NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1051 { |
|
6149
6f4979d8cc3c
[gaim-migrate @ 6623]
Christian Hammond <chipx86@chipx86.com>
parents:
6148
diff
changeset
|
1052 serv_got_chat_left(gc, id); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1053 return; |
|
6149
6f4979d8cc3c
[gaim-migrate @ 6623]
Christian Hammond <chipx86@chipx86.com>
parents:
6148
diff
changeset
|
1054 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1055 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1056 msn_cmdproc_send_quick(swboard->cmdproc, "OUT", NULL, NULL); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1057 msn_switchboard_destroy(swboard); |
|
6023
f8edfcb55a34
[gaim-migrate @ 6473]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
1058 |
|
6024
a23a1d51f573
[gaim-migrate @ 6474]
Christian Hammond <chipx86@chipx86.com>
parents:
6023
diff
changeset
|
1059 serv_got_chat_left(gc, id); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1060 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1061 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1062 static int |
| 6059 | 1063 msn_chat_send(GaimConnection *gc, int id, const char *message) |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1064 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1065 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1066 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1067 MsnSwitchBoard *swboard; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1068 MsnMessage *msg; |
| 8922 | 1069 char *msgformat; |
| 1070 char *msgtext; | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1071 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1072 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1073 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1074 swboard = msn_session_find_switch_with_id(session, id); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1075 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1076 if (swboard == NULL) |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1077 return -EINVAL; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1078 |
| 8922 | 1079 msn_import_html(message, &msgformat, &msgtext); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1080 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1081 msg = msn_message_new(); |
| 8922 | 1082 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat); |
| 1083 msn_message_set_body(msg, msgtext); | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1084 |
| 8922 | 1085 g_free(msgformat); |
| 1086 g_free(msgtext); | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1087 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1088 msn_switchboard_send_msg(swboard, msg); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1089 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1090 msn_message_destroy(msg); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1091 |
| 6059 | 1092 serv_got_chat_in(gc, id, gaim_account_get_username(account), |
| 8922 | 1093 0, message, time(NULL)); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1094 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1095 return 0; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1096 } |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1097 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1098 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
1099 msn_keepalive(GaimConnection *gc) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1100 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1101 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1102 MsnCmdProc *cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1103 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1104 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1105 cmdproc = session->notification_conn->cmdproc; |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1106 |
|
8207
aa44049e8891
[gaim-migrate @ 8930]
Christian Hammond <chipx86@chipx86.com>
parents:
8175
diff
changeset
|
1107 if (!session->http_method) |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1108 msn_cmdproc_send_quick(cmdproc, "PNG", NULL, NULL); |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1109 } |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1110 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1111 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
1112 msn_group_buddy(GaimConnection *gc, const char *who, |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1113 const char *old_group_name, const char *new_group_name) |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1114 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1115 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1116 MsnCmdProc *cmdproc; |
|
6786
8efafdc38718
[gaim-migrate @ 7325]
Christian Hammond <chipx86@chipx86.com>
parents:
6772
diff
changeset
|
1117 MsnGroup *old_group, *new_group; |
|
6772
e719379c8a79
[gaim-migrate @ 7309]
Christian Hammond <chipx86@chipx86.com>
parents:
6739
diff
changeset
|
1118 MsnUser *user; |
|
6858
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
1119 const char *friendly; |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1120 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1121 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1122 cmdproc = session->notification_conn->cmdproc; |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1123 old_group = msn_groups_find_with_name(session->groups, old_group_name); |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1124 new_group = msn_groups_find_with_name(session->groups, new_group_name); |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1125 |
|
6772
e719379c8a79
[gaim-migrate @ 7309]
Christian Hammond <chipx86@chipx86.com>
parents:
6739
diff
changeset
|
1126 user = msn_users_find_with_passport(session->users, who); |
|
e719379c8a79
[gaim-migrate @ 7309]
Christian Hammond <chipx86@chipx86.com>
parents:
6739
diff
changeset
|
1127 |
|
6858
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
1128 if ((friendly = msn_user_get_name(user)) == NULL) |
|
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
1129 friendly = msn_user_get_passport(user); |
|
885c6528843b
[gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents:
6842
diff
changeset
|
1130 |
|
6786
8efafdc38718
[gaim-migrate @ 7325]
Christian Hammond <chipx86@chipx86.com>
parents:
6772
diff
changeset
|
1131 if (old_group != NULL) |
|
8efafdc38718
[gaim-migrate @ 7325]
Christian Hammond <chipx86@chipx86.com>
parents:
6772
diff
changeset
|
1132 msn_user_remove_group_id(user, msn_group_get_id(old_group)); |
|
6772
e719379c8a79
[gaim-migrate @ 7309]
Christian Hammond <chipx86@chipx86.com>
parents:
6739
diff
changeset
|
1133 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1134 if (new_group == NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1135 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1136 msn_cmdproc_send(cmdproc, "ADG", "%s 0", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1137 gaim_url_encode(new_group_name)); |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1138 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1139 if (cmdproc->error) |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1140 return; |
|
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1141 |
|
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1142 /* I hate this. So much. */ |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1143 session->moving_buddy = TRUE; |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1144 session->dest_group_name = g_strdup(new_group_name); |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1145 session->old_group = old_group; |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1146 |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1147 session->moving_user = |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1148 msn_users_find_with_passport(session->users, who); |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1149 |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1150 msn_user_ref(session->moving_user); |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1151 } |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1152 else |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1153 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1154 msn_cmdproc_send(cmdproc, "ADD", "FL %s %s %d", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1155 who, gaim_url_encode(friendly), |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1156 msn_group_get_id(new_group)); |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1157 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1158 if (cmdproc->error) |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1159 return; |
|
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1160 } |
|
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1161 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1162 if (old_group != NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1163 { |
| 8924 | 1164 msn_cmdproc_send(cmdproc, "REM", "FL %s %d", who, |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1165 msn_group_get_id(old_group)); |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1166 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1167 if (cmdproc->error) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1168 return; |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1169 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1170 if (msn_users_get_count(msn_group_get_users(old_group)) <= 0) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1171 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1172 msn_cmdproc_send(cmdproc, "RMG", "%d", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1173 msn_group_get_id(old_group)); |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1174 } |
|
5322
a4d017bee1de
[gaim-migrate @ 5694]
Christian Hammond <chipx86@chipx86.com>
parents:
5318
diff
changeset
|
1175 } |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1176 } |
|
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1177 |
|
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1178 static void |
|
5564
187c740f2a4e
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5518
diff
changeset
|
1179 msn_rename_group(GaimConnection *gc, const char *old_group_name, |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1180 const char *new_group_name, GList *members) |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1181 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1182 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1183 MsnCmdProc *cmdproc; |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1184 MsnGroup *old_group; |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1185 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1186 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1187 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1188 |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1189 if ((old_group = msn_groups_find_with_name(session->groups, |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1190 old_group_name)) != NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1191 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1192 msn_cmdproc_send(cmdproc, "REG", "%d %s 0", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1193 msn_group_get_id(old_group), |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1194 gaim_url_encode(new_group_name)); |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1195 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1196 if (cmdproc->error) |
|
5518
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1197 return; |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1198 |
|
bf2a7a7b739d
[gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents:
5507
diff
changeset
|
1199 msn_group_set_name(old_group, new_group_name); |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1200 } |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1201 else |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1202 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1203 msn_cmdproc_send(cmdproc, "ADG", "%s 0", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1204 gaim_url_encode(new_group_name)); |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1205 } |
|
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1206 } |
|
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1207 |
|
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1208 static void |
| 6695 | 1209 msn_buddy_free(GaimBuddy *b) |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1210 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1211 if (b->proto_data != NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1212 { |
|
5363
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
1213 msn_user_destroy(b->proto_data); |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
1214 b->proto_data = NULL; |
|
ebebc833cf77
[gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents:
5361
diff
changeset
|
1215 } |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1216 } |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1217 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1218 static void |
| 6059 | 1219 msn_convo_closed(GaimConnection *gc, const char *who) |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1220 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1221 GaimAccount *account; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1222 MsnSession *session; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1223 MsnSwitchBoard *swboard; |
|
6026
01dd6b652c22
[gaim-migrate @ 6476]
Christian Hammond <chipx86@chipx86.com>
parents:
6024
diff
changeset
|
1224 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1225 account = gaim_connection_get_account(gc); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1226 session = gc->proto_data; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1227 swboard = msn_session_find_switch_with_passport(session, who); |
| 4349 | 1228 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1229 if (swboard != NULL && swboard->chat == NULL) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1230 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1231 msn_cmdproc_send_quick(swboard->cmdproc, "BYE", "%s", |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1232 gaim_account_get_username(account)); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1233 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1234 msn_switchboard_destroy(swboard); |
| 3294 | 1235 } |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1236 } |
|
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1237 |
| 7261 | 1238 static const char * |
| 7322 | 1239 msn_normalize(const GaimAccount *account, const char *str) |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1240 { |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1241 static char buf[BUF_LEN]; |
|
7469
603a58cd23dc
[gaim-migrate @ 8082]
Christian Hammond <chipx86@chipx86.com>
parents:
7322
diff
changeset
|
1242 char *tmp; |
| 3294 | 1243 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1244 g_return_val_if_fail(str != NULL, NULL); |
|
2597
2ced57c58653
[gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2591
diff
changeset
|
1245 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1246 g_snprintf(buf, sizeof(buf), "%s%s", str, |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1247 (strchr(str, '@') ? "" : "@hotmail.com")); |
| 4349 | 1248 |
|
7469
603a58cd23dc
[gaim-migrate @ 8082]
Christian Hammond <chipx86@chipx86.com>
parents:
7322
diff
changeset
|
1249 tmp = g_utf8_strdown(buf, -1); |
|
603a58cd23dc
[gaim-migrate @ 8082]
Christian Hammond <chipx86@chipx86.com>
parents:
7322
diff
changeset
|
1250 strncpy(buf, tmp, sizeof(buf)); |
|
603a58cd23dc
[gaim-migrate @ 8082]
Christian Hammond <chipx86@chipx86.com>
parents:
7322
diff
changeset
|
1251 g_free(tmp); |
|
603a58cd23dc
[gaim-migrate @ 8082]
Christian Hammond <chipx86@chipx86.com>
parents:
7322
diff
changeset
|
1252 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5221
diff
changeset
|
1253 return buf; |
|
2607
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2603
diff
changeset
|
1254 } |
|
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2603
diff
changeset
|
1255 |
| 6516 | 1256 static void |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1257 msn_set_buddy_icon(GaimConnection *gc, const char *filename) |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1258 { |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1259 MsnSession *session = (MsnSession *)gc->proto_data; |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1260 MsnUser *user = session->user; |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1261 |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1262 msn_user_set_buddy_icon(user, filename); |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1263 |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1264 msn_session_change_status(session, session->away_state); |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1265 } |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1266 |
|
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1267 static void |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1268 msn_remove_group(GaimConnection *gc, const char *name) |
|
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1269 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1270 MsnSession *session; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1271 MsnCmdProc *cmdproc; |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1272 MsnGroup *group; |
|
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1273 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1274 session = gc->proto_data; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1275 cmdproc = session->notification_conn->cmdproc; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1276 |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1277 if ((group = msn_groups_find_with_name(session->groups, name)) != NULL) |
|
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1278 { |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1279 msn_cmdproc_send(cmdproc, "RMG", "%d", msn_group_get_id(group)); |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1280 } |
|
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1281 } |
|
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1282 |
|
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1283 static void |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1284 msn_got_info(void *data, const char *url_text, size_t len) |
| 6516 | 1285 { |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1286 MsnGetInfoData *info_data = (MsnGetInfoData *)data; |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1287 char *stripped, *p, *q; |
| 6516 | 1288 char buf[1024]; |
| 1289 char *user_url = NULL; | |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1290 gboolean found; |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1291 gboolean has_info = FALSE; |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1292 char *url_buffer; |
| 7675 | 1293 GString *s; |
| 1294 int stripped_len; | |
| 6516 | 1295 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1296 gaim_debug_info("msn", "In msn_got_info\n"); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1297 |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1298 if (url_text == NULL || strcmp(url_text, "") == 0) |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1299 { |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1300 gaim_notify_formatted(info_data->gc, NULL, |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1301 _("Buddy Information"), NULL, |
|
7062
86ed8b2aa665
[gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
1302 _("<html><body><b>Error retrieving profile</b></body></html>"), |
|
86ed8b2aa665
[gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
1303 NULL, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1304 |
| 6516 | 1305 return; |
| 1306 } | |
| 1307 | |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1308 url_buffer = g_strdup(url_text); |
|
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1309 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1310 /* If they have a homepage link, MSN masks it such that we need to |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1311 * fetch the url out before gaim_markup_strip_html() nukes it */ |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1312 if ((p = strstr(url_text, |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1313 "Take a look at my </font><A class=viewDesc title=\"")) != NULL) |
| 6516 | 1314 { |
| 1315 p += 50; | |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1316 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1317 if ((q = strchr(p, '"')) != NULL) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1318 user_url = g_strndup(p, q - p); |
| 6516 | 1319 } |
| 1320 | |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1321 /* |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1322 * gaim_markup_strip_html() doesn't strip out character entities like |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1323 * and · |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1324 */ |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1325 while ((p = strstr(url_buffer, " ")) != NULL) |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1326 { |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1327 memmove(p, p + 6, strlen(p + 6)); |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1328 url_buffer[strlen(url_text) - 6] = '\0'; |
| 6516 | 1329 } |
| 1330 | |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1331 while ((p = strstr(url_buffer, "·")) != NULL) |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1332 { |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1333 memmove(p, p + 6, strlen(p + 6)); |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1334 url_buffer[strlen(url_buffer) - 6] = '\0'; |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1335 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1336 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1337 /* Nuke the nasty \r's that just get in the way */ |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1338 while ((p = strchr(url_buffer, '\r')) != NULL) |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1339 { |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1340 memmove(p, p + 1, strlen(p + 1)); |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1341 url_buffer[strlen(url_buffer) - 1] = '\0'; |
| 6516 | 1342 } |
| 1343 | |
|
8735
92cbf9713795
[gaim-migrate @ 9490]
Christian Hammond <chipx86@chipx86.com>
parents:
8713
diff
changeset
|
1344 /* MSN always puts in ' for apostrophes...replace them */ |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1345 while ((p = strstr(url_buffer, "'")) != NULL) |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1346 { |
| 6516 | 1347 *p = '\''; |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1348 memmove(p + 1, p + 5, strlen(p + 5)); |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1349 url_buffer[strlen(url_buffer) - 4] = '\0'; |
| 6516 | 1350 } |
| 1351 | |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1352 /* Nuke the html, it's easier than trying to parse the horrid stuff */ |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1353 stripped = gaim_markup_strip_html(url_buffer); |
| 7675 | 1354 stripped_len = strlen(stripped); |
| 6516 | 1355 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1356 gaim_debug_misc("msn", "stripped = %p\n", stripped); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1357 gaim_debug_misc("msn", "url_buffer = %p\n", url_buffer); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1358 |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1359 /* Gonna re-use the memory we've already got for url_buffer */ |
| 7675 | 1360 /* No we're not. */ |
| 1361 s = g_string_sized_new(strlen(url_buffer)); | |
| 6516 | 1362 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1363 /* Extract their Name and put it in */ |
| 7675 | 1364 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1365 "\tName", 0, "\t", '\n', "Undisclosed", _("Name"), 0, NULL); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1366 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1367 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1368 has_info = TRUE; |
| 6516 | 1369 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1370 /* Extract their Age and put it in */ |
| 7675 | 1371 found = gaim_markup_extract_info_field(stripped, stripped_len, s,"\tAge", |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1372 0, "\t", '\n', "Undisclosed", _("Age"), 0, NULL); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1373 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1374 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1375 has_info = TRUE; |
| 6516 | 1376 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1377 /* Extract their Gender and put it in */ |
| 7675 | 1378 found = gaim_markup_extract_info_field(stripped, stripped_len, s,"\tGender", |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1379 6, "\t", '\n', "Undisclosed", _("Gender"), 0, NULL); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1380 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1381 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1382 has_info = TRUE; |
| 6516 | 1383 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1384 /* Extract their MaritalStatus and put it in */ |
| 7675 | 1385 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1386 "\tMaritalStatus", 0, "\t", '\n', "Undisclosed", |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1387 _("Marital Status"), 0, NULL); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1388 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1389 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1390 has_info = TRUE; |
| 6516 | 1391 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1392 /* Extract their Location and put it in */ |
| 7675 | 1393 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1394 "\tLocation", 0, "\t", '\n', "Undisclosed", _("Location"), |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1395 0, NULL); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1396 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1397 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1398 has_info = TRUE; |
| 6516 | 1399 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1400 /* Extract their Occupation and put it in */ |
| 7675 | 1401 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1402 "\t Occupation", 6, "\t", '\n', "Undisclosed", _("Occupation"), |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1403 0, NULL); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1404 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1405 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1406 has_info = TRUE; |
| 6516 | 1407 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1408 /* |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1409 * The fields, 'A Little About Me', 'Favorite Things', 'Hobbies |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1410 * and Interests', 'Favorite Quote', and 'My Homepage' may or may |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1411 * not appear, in any combination. However, they do appear in |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1412 * certain order, so we can successively search to pin down the |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1413 * distinct values. |
| 6516 | 1414 */ |
| 1415 | |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1416 /* Check if they have A Little About Me */ |
| 7675 | 1417 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1418 "\tA Little About Me", 1, "Favorite Things", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1419 _("A Little About Me"), 0, NULL); |
| 6516 | 1420 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1421 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1422 { |
| 7675 | 1423 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1424 "\tA Little About Me", 1, "Hobbies and Interests", '\n', |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1425 NULL, _("A Little About Me"), 0, NULL); |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1426 } |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1427 |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1428 if (!found) |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1429 { |
| 7675 | 1430 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1431 "\tA Little About Me", 1, "Favorite Quote", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1432 _("A Little About Me"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1433 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1434 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1435 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1436 { |
| 7675 | 1437 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1438 "\tA Little About Me", 1, "My Homepage\tTake a look", '\n', |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1439 NULL, _("A Little About Me"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1440 } |
| 6516 | 1441 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1442 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1443 { |
| 7675 | 1444 gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1445 "\tA Little About Me", 1, "last updated", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1446 _("A Little About Me"), 0, NULL); |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1447 } |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1448 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1449 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1450 has_info = TRUE; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1451 |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1452 /* Check if they have Favorite Things */ |
| 7675 | 1453 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1454 "Favorite Things", 1, "Hobbies and Interests", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1455 _("Favorite Things"), 0, NULL); |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1456 |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1457 if (!found) |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1458 { |
| 7675 | 1459 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1460 "Favorite Things", 1, "Favorite Quote", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1461 "Favorite Things", 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1462 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1463 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1464 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1465 { |
| 7675 | 1466 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1467 "Favorite Things", 1, "My Homepage\tTake a look", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1468 _("Favorite Things"), 0, NULL); |
| 6516 | 1469 } |
| 1470 | |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1471 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1472 { |
| 7675 | 1473 gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1474 "Favorite Things", 1, "last updated", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1475 _("Favorite Things"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1476 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1477 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1478 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1479 has_info = TRUE; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1480 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1481 /* Check if they have Hobbies and Interests */ |
| 7675 | 1482 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1483 "Hobbies and Interests", 1, "Favorite Quote", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1484 _("Hobbies and Interests"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1485 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1486 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1487 { |
| 7675 | 1488 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1489 "Hobbies and Interests", 1, "My Homepage\tTake a look", |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1490 '\n', NULL, _("Hobbies and Interests"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1491 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1492 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1493 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1494 { |
| 7675 | 1495 gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1496 "Hobbies and Interests", 1, "last updated", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1497 _("Hobbies and Interests"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1498 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1499 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1500 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1501 has_info = TRUE; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1502 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1503 /* Check if they have Favorite Quote */ |
| 7675 | 1504 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1505 "Favorite Quote", 1, "My Homepage\tTake a look", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1506 _("Favorite Quote"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1507 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1508 if (!found) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1509 { |
| 7675 | 1510 gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1511 "Favorite Quote", 1, "last updated", '\n', NULL, |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1512 _("Favorite Quote"), 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1513 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1514 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1515 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1516 has_info = TRUE; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1517 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1518 /* Extract the last updated date and put it in */ |
| 7675 | 1519 found = gaim_markup_extract_info_field(stripped, stripped_len, s, |
|
7095
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1520 "\tlast updated:", 1, "\n", '\n', NULL, _("Last Updated"), |
|
c8bf2da398e3
[gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents:
7094
diff
changeset
|
1521 0, NULL); |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1522 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1523 if (found) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1524 has_info = TRUE; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1525 |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1526 /* If we were able to fetch a homepage url earlier, stick it in there */ |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1527 if (user_url != NULL) |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1528 { |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1529 g_snprintf(buf, sizeof(buf), |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1530 "<b>%s:</b><br><a href=\"%s\">%s</a><br>\n", |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1531 _("Homepage"), user_url, user_url); |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1532 |
| 7675 | 1533 g_string_append(s, buf); |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1534 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1535 g_free(user_url); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1536 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1537 has_info = TRUE; |
|
6859
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1538 } |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1539 |
|
17514a2f976a
[gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents:
6858
diff
changeset
|
1540 /* Finish it off, and show it to them */ |
| 7675 | 1541 g_string_append(s, "</body></html>\n"); |
|
7062
86ed8b2aa665
[gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
1542 |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1543 if (has_info) |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1544 { |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1545 gaim_notify_formatted(info_data->gc, NULL, _("Buddy Information"), |
| 7675 | 1546 NULL, s->str, NULL, NULL); |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1547 } |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1548 else |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1549 { |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1550 char primary[256]; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1551 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1552 g_snprintf(primary, sizeof(primary), |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1553 _("User information for %s unavailable"), info_data->name); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1554 gaim_notify_error(info_data->gc, NULL, primary, |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1555 _("The user's profile is empty.")); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1556 } |
|
7062
86ed8b2aa665
[gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents:
7015
diff
changeset
|
1557 |
| 6516 | 1558 g_free(stripped); |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1559 g_free(url_buffer); |
| 7675 | 1560 g_string_free(s, TRUE); |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1561 g_free(info_data->name); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1562 g_free(info_data); |
| 6516 | 1563 } |
| 1564 | |
| 1565 static void | |
| 1566 msn_get_info(GaimConnection *gc, const char *name) | |
| 1567 { | |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1568 MsnGetInfoData *data; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1569 char *url; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1570 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1571 data = g_new0(MsnGetInfoData, 1); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1572 data->gc = gc; |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1573 data->name = g_strdup(name); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1574 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1575 url = g_strdup_printf("%s%s", PROFILE_URL, name); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1576 |
|
7094
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1577 gaim_url_fetch(url, FALSE, |
|
2343c3aa1dec
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7062
diff
changeset
|
1578 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", TRUE, |
|
7104
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1579 msn_got_info, data); |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1580 |
|
7700a28929bd
[gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1581 g_free(url); |
| 6516 | 1582 } |
| 1583 | |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1584 static gboolean msn_load(GaimPlugin *plugin) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1585 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1586 msn_notification_init(); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1587 msn_switchboard_init(); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1588 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1589 return TRUE; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1590 } |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1591 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1592 static gboolean msn_unload(GaimPlugin *plugin) |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1593 { |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1594 msn_notification_end(); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1595 msn_switchboard_end(); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1596 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1597 return TRUE; |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1598 } |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1599 |
| 8713 | 1600 static GaimPluginPrefFrame * |
| 1601 get_plugin_pref_frame(GaimPlugin *plugin) { | |
| 1602 GaimPluginPrefFrame *frame; | |
| 1603 GaimPluginPref *ppref; | |
| 1604 | |
| 1605 frame = gaim_plugin_pref_frame_new(); | |
| 1606 | |
| 1607 ppref = gaim_plugin_pref_new_with_label(_("Conversations")); | |
| 1608 gaim_plugin_pref_frame_add(frame, ppref); | |
| 1609 | |
| 1610 ppref = gaim_plugin_pref_new_with_name_and_label( | |
| 1611 "/plugins/prpl/msn/conv_close_notice", | |
| 1612 _("Display conversation closed notices")); | |
| 1613 gaim_plugin_pref_frame_add(frame, ppref); | |
| 1614 | |
| 1615 ppref = gaim_plugin_pref_new_with_name_and_label( | |
| 1616 "/plugins/prpl/msn/conv_timeout_notice", | |
| 1617 _("Display timeout notices")); | |
| 1618 gaim_plugin_pref_frame_add(frame, ppref); | |
| 1619 | |
| 1620 return frame; | |
| 1621 } | |
| 1622 | |
| 1623 static GaimPluginUiInfo prefs_info = { | |
| 1624 get_plugin_pref_frame | |
| 1625 }; | |
| 1626 | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1627 static GaimPluginProtocolInfo prpl_info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1628 { |
|
8749
d7b8eb1f0a18
[gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents:
8735
diff
changeset
|
1629 GAIM_PRPL_API_VERSION, |
| 8044 | 1630 OPT_PROTO_MAIL_CHECK /* | OPT_PROTO_BUDDY_ICON */, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1631 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1632 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1633 msn_list_icon, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1634 msn_list_emblems, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1635 msn_status_text, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1636 msn_tooltip_text, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1637 msn_away_states, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1638 msn_actions, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1639 msn_buddy_menu, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1640 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1641 msn_login, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1642 msn_close, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1643 msn_send_im, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1644 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1645 msn_send_typing, |
| 6516 | 1646 msn_get_info, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1647 msn_set_away, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1648 msn_set_idle, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1649 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1650 msn_add_buddy, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1651 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1652 msn_rem_buddy, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1653 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1654 msn_add_permit, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1655 msn_add_deny, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1656 msn_rem_permit, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1657 msn_rem_deny, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1658 msn_set_permit_deny, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1659 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1660 NULL, |
| 8562 | 1661 NULL, /* reject chat invite */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1662 msn_chat_invite, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1663 msn_chat_leave, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1664 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1665 msn_chat_send, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1666 msn_keepalive, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1667 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1668 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1669 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1670 NULL, |
|
5318
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1671 msn_group_buddy, |
|
bd98232872a3
[gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
1672 msn_rename_group, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1673 msn_buddy_free, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1674 msn_convo_closed, |
|
6885
66dd420d3d23
[gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents:
6859
diff
changeset
|
1675 msn_normalize, |
|
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7563
diff
changeset
|
1676 msn_set_buddy_icon, |
| 8586 | 1677 msn_remove_group, |
| 8589 | 1678 NULL, |
| 1679 NULL, | |
| 1680 NULL, | |
| 1681 NULL, | |
| 1682 NULL, | |
| 1683 NULL, | |
| 1684 NULL | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1685 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1686 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1687 static GaimPluginInfo info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1688 { |
|
8749
d7b8eb1f0a18
[gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents:
8735
diff
changeset
|
1689 GAIM_PLUGIN_API_VERSION, /**< api_version */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1690 GAIM_PLUGIN_PROTOCOL, /**< type */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1691 NULL, /**< ui_requirement */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1692 0, /**< flags */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1693 NULL, /**< dependencies */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1694 GAIM_PRIORITY_DEFAULT, /**< priority */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1695 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1696 "prpl-msn", /**< id */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1697 "MSN", /**< name */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1698 VERSION, /**< version */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1699 /** summary */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1700 N_("MSN Protocol Plugin"), |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1701 /** description */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1702 N_("MSN Protocol Plugin"), |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1703 "Christian Hammond <chipx86@gnupdate.org>", /**< author */ |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6228
diff
changeset
|
1704 GAIM_WEBSITE, /**< homepage */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1705 |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1706 msn_load, /**< load */ |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1707 msn_unload, /**< unload */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1708 NULL, /**< destroy */ |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1709 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1710 NULL, /**< ui_info */ |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8749
diff
changeset
|
1711 &prpl_info, /**< extra_info */ |
| 8993 | 1712 &prefs_info, /**< prefs_info */ |
| 1713 NULL | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1714 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1715 |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1716 static void |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
1717 init_plugin(GaimPlugin *plugin) |
| 2086 | 1718 { |
|
5638
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1719 GaimAccountOption *option; |
| 3572 | 1720 |
|
5685
43ea75092684
[gaim-migrate @ 6106]
Christian Hammond <chipx86@chipx86.com>
parents:
5638
diff
changeset
|
1721 option = gaim_account_option_string_new(_("Login server"), "server", |
|
5638
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1722 MSN_SERVER); |
|
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1723 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1724 option); |
| 3572 | 1725 |
|
5638
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1726 option = gaim_account_option_int_new(_("Port"), "port", 1863); |
|
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1727 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5626
diff
changeset
|
1728 option); |
| 2086 | 1729 |
|
7288
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
1730 option = gaim_account_option_bool_new(_("Use HTTP Method"), "http_method", |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
1731 FALSE); |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
1732 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
1733 option); |
|
ff9127038a5a
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
7277
diff
changeset
|
1734 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5191
diff
changeset
|
1735 my_protocol = plugin; |
|
5626
6275ac113622
[gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1736 |
|
6275ac113622
[gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1737 gaim_prefs_add_none("/plugins/prpl/msn"); |
|
6275ac113622
[gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1738 gaim_prefs_add_bool("/plugins/prpl/msn/conv_close_notice", TRUE); |
|
6275ac113622
[gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1739 gaim_prefs_add_bool("/plugins/prpl/msn/conv_timeout_notice", TRUE); |
| 2086 | 1740 } |
| 1741 | |
|
5793
952710ac6635
[gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
1742 GAIM_INIT_PLUGIN(msn, init_plugin, info); |
