Mercurial > pidgin.yaz
annotate libpurple/protocols/msnp9/userlist.c @ 21312:a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
old fools like me who prefer the stability of our MSNP9 code over the
features of MSNP14 can enable this using the --disable-msnp14 ./configure
option.
If we want to release from i.p.p and MSN stability is the only blocker, we
can trivially flick the default to use MSNP9 in configure.ac
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sun, 11 Nov 2007 12:57:52 +0000 |
parents | |
children | fd101c75472f |
rev | line source |
---|---|
21312
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
1 /** |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
2 * @file userlist.c MSN user list support |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
3 * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
4 * purple |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
5 * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
6 * Purple is the legal property of its developers, whose names are too numerous |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
8 * source distribution. |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
9 * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
13 * (at your option) any later version. |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
14 * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
19 * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
23 */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
24 #include "msn.h" |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
25 #include "userlist.h" |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
26 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
27 const char *lists[] = { "FL", "AL", "BL", "RL" }; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
28 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
29 typedef struct |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
30 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
31 PurpleConnection *gc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
32 char *who; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
33 char *friendly; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
34 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
35 } MsnPermitAdd; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
36 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
37 /************************************************************************** |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
38 * Callbacks |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
39 **************************************************************************/ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
40 static void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
41 msn_accept_add_cb(gpointer data) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
42 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
43 MsnPermitAdd *pa = data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
44 MsnSession *session = pa->gc->proto_data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
45 MsnUserList *userlist = session->userlist; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
46 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
47 msn_userlist_add_buddy(userlist, pa->who, MSN_LIST_AL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
48 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
49 g_free(pa->who); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
50 g_free(pa->friendly); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
51 g_free(pa); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
52 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
53 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
54 static void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
55 msn_cancel_add_cb(gpointer data) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
56 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
57 MsnPermitAdd *pa = data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
58 MsnSession *session = pa->gc->proto_data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
59 MsnUserList *userlist = session->userlist; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
60 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
61 msn_userlist_add_buddy(userlist, pa->who, MSN_LIST_BL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
62 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
63 g_free(pa->who); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
64 g_free(pa->friendly); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
65 g_free(pa); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
66 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
67 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
68 static void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
69 got_new_entry(PurpleConnection *gc, const char *passport, const char *friendly) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
70 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
71 MsnPermitAdd *pa; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
72 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
73 pa = g_new0(MsnPermitAdd, 1); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
74 pa->who = g_strdup(passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
75 pa->friendly = g_strdup(friendly); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
76 pa->gc = gc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
77 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
78 purple_account_request_authorization(purple_connection_get_account(gc), passport, NULL, friendly, NULL, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
79 purple_find_buddy(purple_connection_get_account(gc), passport) != NULL, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
80 msn_accept_add_cb, msn_cancel_add_cb, pa); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
81 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
82 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
83 /************************************************************************** |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
84 * Utility functions |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
85 **************************************************************************/ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
86 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
87 static gboolean |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
88 user_is_in_group(MsnUser *user, int group_id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
89 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
90 if (user == NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
91 return FALSE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
92 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
93 if (group_id < 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
94 return FALSE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
95 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
96 if (g_list_find(user->group_ids, GINT_TO_POINTER(group_id))) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
97 return TRUE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
98 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
99 return FALSE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
100 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
101 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
102 static gboolean |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
103 user_is_there(MsnUser *user, int list_id, int group_id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
104 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
105 int list_op; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
106 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
107 if (user == NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
108 return FALSE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
109 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
110 list_op = 1 << list_id; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
111 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
112 if (!(user->list_op & list_op)) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
113 return FALSE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
114 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
115 if (list_id == MSN_LIST_FL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
116 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
117 if (group_id >= 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
118 return user_is_in_group(user, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
119 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
120 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
121 return TRUE; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
122 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
123 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
124 static const char* |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
125 get_store_name(MsnUser *user) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
126 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
127 const char *store_name; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
128 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
129 g_return_val_if_fail(user != NULL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
130 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
131 store_name = msn_user_get_store_name(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
132 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
133 if (store_name != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
134 store_name = purple_url_encode(store_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
135 else |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
136 store_name = msn_user_get_passport(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
137 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
138 /* this might be a bit of a hack, but it should prevent notification server |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
139 * disconnections for people who have buddies with insane friendly names |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
140 * who added you to their buddy list from being disconnected. Stu. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
141 /* Shx: What? Isn't the store_name obtained from the server, and hence it's |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
142 * below the BUDDY_ALIAS_MAXLEN ? */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
143 /* Stu: yeah, that's why it's a bit of a hack, as you pointed out, we're |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
144 * probably decoding the incoming store_name wrong, or something. bleh. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
145 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
146 if (strlen(store_name) > BUDDY_ALIAS_MAXLEN) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
147 store_name = msn_user_get_passport(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
148 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
149 return store_name; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
150 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
151 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
152 static void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
153 msn_request_add_group(MsnUserList *userlist, const char *who, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
154 const char *old_group_name, const char *new_group_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
155 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
156 MsnCmdProc *cmdproc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
157 MsnTransaction *trans; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
158 MsnMoveBuddy *data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
159 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
160 cmdproc = userlist->session->notification->cmdproc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
161 data = g_new0(MsnMoveBuddy, 1); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
162 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
163 data->who = g_strdup(who); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
164 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
165 if (old_group_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
166 data->old_group_name = g_strdup(old_group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
167 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
168 trans = msn_transaction_new(cmdproc, "ADG", "%s %d", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
169 purple_url_encode(new_group_name), |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
170 0); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
171 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
172 msn_transaction_set_data(trans, data); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
173 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
174 msn_cmdproc_send_trans(cmdproc, trans); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
175 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
176 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
177 /************************************************************************** |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
178 * Server functions |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
179 **************************************************************************/ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
180 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
181 MsnListId |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
182 msn_get_list_id(const char *list) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
183 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
184 if (list[0] == 'F') |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
185 return MSN_LIST_FL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
186 else if (list[0] == 'A') |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
187 return MSN_LIST_AL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
188 else if (list[0] == 'B') |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
189 return MSN_LIST_BL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
190 else if (list[0] == 'R') |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
191 return MSN_LIST_RL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
192 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
193 return -1; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
194 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
195 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
196 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
197 msn_got_add_user(MsnSession *session, MsnUser *user, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
198 MsnListId list_id, int group_id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
199 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
200 PurpleAccount *account; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
201 const char *passport; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
202 const char *friendly; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
203 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
204 account = session->account; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
205 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
206 passport = msn_user_get_passport(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
207 friendly = msn_user_get_friendly_name(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
208 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
209 if (list_id == MSN_LIST_FL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
210 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
211 PurpleConnection *gc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
212 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
213 gc = purple_account_get_connection(account); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
214 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
215 serv_got_alias(gc, passport, friendly); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
216 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
217 if (group_id >= 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
218 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
219 msn_user_add_group_id(user, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
220 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
221 else |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
222 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
223 /* session->sync->fl_users_count++; */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
224 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
225 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
226 else if (list_id == MSN_LIST_AL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
227 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
228 purple_privacy_permit_add(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
229 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
230 else if (list_id == MSN_LIST_BL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
231 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
232 purple_privacy_deny_add(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
233 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
234 else if (list_id == MSN_LIST_RL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
235 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
236 PurpleConnection *gc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
237 PurpleConversation *convo; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
238 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
239 gc = purple_account_get_connection(account); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
240 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
241 purple_debug_info("msn", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
242 "%s has added you to his or her buddy list.\n", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
243 passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
244 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
245 convo = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, passport, account); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
246 if (convo) { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
247 PurpleBuddy *buddy; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
248 char *msg; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
249 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
250 buddy = purple_find_buddy(account, passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
251 msg = g_strdup_printf( |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
252 _("%s has added you to his or her buddy list."), |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
253 buddy ? purple_buddy_get_contact_alias(buddy) : passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
254 purple_conv_im_write(PURPLE_CONV_IM(convo), passport, msg, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
255 PURPLE_MESSAGE_SYSTEM, time(NULL)); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
256 g_free(msg); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
257 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
258 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
259 if (!(user->list_op & (MSN_LIST_AL_OP | MSN_LIST_BL_OP))) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
260 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
261 /* |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
262 * TODO: The friendly name was NULL for me when I |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
263 * looked at this. Maybe we should use the store |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
264 * name instead? --KingAnt |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
265 */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
266 got_new_entry(gc, passport, friendly); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
267 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
268 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
269 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
270 user->list_op |= (1 << list_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
271 /* purple_user_add_list_id (user, list_id); */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
272 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
273 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
274 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
275 msn_got_rem_user(MsnSession *session, MsnUser *user, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
276 MsnListId list_id, int group_id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
277 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
278 PurpleAccount *account; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
279 const char *passport; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
280 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
281 account = session->account; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
282 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
283 passport = msn_user_get_passport(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
284 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
285 if (list_id == MSN_LIST_FL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
286 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
287 /* TODO: When is the user totally removed? */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
288 if (group_id >= 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
289 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
290 msn_user_remove_group_id(user, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
291 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
292 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
293 else |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
294 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
295 /* session->sync->fl_users_count--; */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
296 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
297 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
298 else if (list_id == MSN_LIST_AL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
299 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
300 purple_privacy_permit_remove(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
301 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
302 else if (list_id == MSN_LIST_BL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
303 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
304 purple_privacy_deny_remove(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
305 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
306 else if (list_id == MSN_LIST_RL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
307 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
308 PurpleConversation *convo; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
309 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
310 purple_debug_info("msn", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
311 "%s has removed you from his or her buddy list.\n", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
312 passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
313 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
314 convo = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, passport, account); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
315 if (convo) { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
316 PurpleBuddy *buddy; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
317 char *msg; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
318 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
319 buddy = purple_find_buddy(account, passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
320 msg = g_strdup_printf( |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
321 _("%s has removed you from his or her buddy list."), |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
322 buddy ? purple_buddy_get_contact_alias(buddy) : passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
323 purple_conv_im_write(PURPLE_CONV_IM(convo), passport, msg, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
324 PURPLE_MESSAGE_SYSTEM, time(NULL)); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
325 g_free(msg); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
326 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
327 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
328 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
329 user->list_op &= ~(1 << list_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
330 /* purple_user_remove_list_id (user, list_id); */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
331 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
332 if (user->list_op == 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
333 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
334 purple_debug_info("msn", "Buddy '%s' shall be deleted?.\n", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
335 passport); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
336 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
337 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
338 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
339 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
340 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
341 msn_got_lst_user(MsnSession *session, MsnUser *user, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
342 int list_op, GSList *group_ids) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
343 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
344 PurpleConnection *gc; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
345 PurpleAccount *account; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
346 const char *passport; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
347 const char *store; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
348 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
349 account = session->account; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
350 gc = purple_account_get_connection(account); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
351 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
352 passport = msn_user_get_passport(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
353 store = msn_user_get_store_name(user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
354 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
355 if (list_op & MSN_LIST_FL_OP) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
356 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
357 GSList *c; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
358 for (c = group_ids; c != NULL; c = g_slist_next(c)) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
359 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
360 int group_id; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
361 group_id = GPOINTER_TO_INT(c->data); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
362 msn_user_add_group_id(user, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
363 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
364 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
365 /* FIXME: It might be a real alias */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
366 /* Umm, what? This might fix bug #1385130 */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
367 serv_got_alias(gc, passport, store); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
368 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
369 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
370 if (list_op & MSN_LIST_AL_OP) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
371 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
372 /* These are users who are allowed to see our status. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
373 purple_privacy_deny_remove(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
374 purple_privacy_permit_add(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
375 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
376 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
377 if (list_op & MSN_LIST_BL_OP) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
378 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
379 /* These are users who are not allowed to see our status. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
380 purple_privacy_permit_remove(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
381 purple_privacy_deny_add(account, passport, TRUE); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
382 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
383 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
384 if (list_op & MSN_LIST_RL_OP) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
385 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
386 /* These are users who have us on their buddy list. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
387 /* |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
388 * TODO: What is store name set to when this happens? |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
389 * For one of my accounts "something@hotmail.com" |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
390 * the store name was "something." Maybe we |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
391 * should use the friendly name, instead? --KingAnt |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
392 */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
393 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
394 if (!(list_op & (MSN_LIST_AL_OP | MSN_LIST_BL_OP))) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
395 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
396 got_new_entry(gc, passport, store); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
397 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
398 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
399 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
400 user->list_op = list_op; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
401 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
402 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
403 /************************************************************************** |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
404 * UserList functions |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
405 **************************************************************************/ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
406 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
407 MsnUserList* |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
408 msn_userlist_new(MsnSession *session) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
409 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
410 MsnUserList *userlist; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
411 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
412 userlist = g_new0(MsnUserList, 1); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
413 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
414 userlist->session = session; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
415 userlist->buddy_icon_requests = g_queue_new(); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
416 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
417 /* buddy_icon_window is the number of allowed simultaneous buddy icon requests. |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
418 * XXX With smarter rate limiting code, we could allow more at once... 5 was the limit set when |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
419 * we weren't retrieiving any more than 5 per MSN session. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
420 userlist->buddy_icon_window = 1; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
421 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
422 return userlist; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
423 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
424 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
425 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
426 msn_userlist_destroy(MsnUserList *userlist) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
427 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
428 GList *l; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
429 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
430 for (l = userlist->users; l != NULL; l = l->next) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
431 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
432 msn_user_destroy(l->data); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
433 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
434 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
435 g_list_free(userlist->users); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
436 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
437 for (l = userlist->groups; l != NULL; l = l->next) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
438 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
439 msn_group_destroy(l->data); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
440 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
441 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
442 g_list_free(userlist->groups); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
443 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
444 g_queue_free(userlist->buddy_icon_requests); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
445 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
446 if (userlist->buddy_icon_request_timer) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
447 purple_timeout_remove(userlist->buddy_icon_request_timer); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
448 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
449 g_free(userlist); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
450 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
451 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
452 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
453 msn_userlist_add_user(MsnUserList *userlist, MsnUser *user) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
454 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
455 userlist->users = g_list_prepend(userlist->users, user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
456 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
457 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
458 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
459 msn_userlist_remove_user(MsnUserList *userlist, MsnUser *user) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
460 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
461 userlist->users = g_list_remove(userlist->users, user); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
462 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
463 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
464 MsnUser * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
465 msn_userlist_find_user(MsnUserList *userlist, const char *passport) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
466 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
467 GList *l; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
468 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
469 g_return_val_if_fail(passport != NULL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
470 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
471 for (l = userlist->users; l != NULL; l = l->next) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
472 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
473 MsnUser *user = (MsnUser *)l->data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
474 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
475 g_return_val_if_fail(user->passport != NULL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
476 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
477 if (!strcmp(passport, user->passport)) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
478 return user; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
479 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
480 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
481 return NULL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
482 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
483 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
484 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
485 msn_userlist_add_group(MsnUserList *userlist, MsnGroup *group) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
486 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
487 userlist->groups = g_list_append(userlist->groups, group); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
488 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
489 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
490 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
491 msn_userlist_remove_group(MsnUserList *userlist, MsnGroup *group) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
492 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
493 userlist->groups = g_list_remove(userlist->groups, group); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
494 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
495 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
496 MsnGroup * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
497 msn_userlist_find_group_with_id(MsnUserList *userlist, int id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
498 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
499 GList *l; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
500 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
501 g_return_val_if_fail(userlist != NULL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
502 g_return_val_if_fail(id >= 0, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
503 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
504 for (l = userlist->groups; l != NULL; l = l->next) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
505 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
506 MsnGroup *group = l->data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
507 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
508 if (group->id == id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
509 return group; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
510 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
511 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
512 return NULL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
513 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
514 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
515 MsnGroup * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
516 msn_userlist_find_group_with_name(MsnUserList *userlist, const char *name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
517 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
518 GList *l; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
519 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
520 g_return_val_if_fail(userlist != NULL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
521 g_return_val_if_fail(name != NULL, NULL); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
522 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
523 for (l = userlist->groups; l != NULL; l = l->next) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
524 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
525 MsnGroup *group = l->data; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
526 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
527 if ((group->name != NULL) && !g_ascii_strcasecmp(name, group->name)) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
528 return group; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
529 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
530 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
531 return NULL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
532 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
533 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
534 int |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
535 msn_userlist_find_group_id(MsnUserList *userlist, const char *group_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
536 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
537 MsnGroup *group; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
538 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
539 group = msn_userlist_find_group_with_name(userlist, group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
540 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
541 if (group != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
542 return msn_group_get_id(group); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
543 else |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
544 return -1; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
545 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
546 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
547 const char * |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
548 msn_userlist_find_group_name(MsnUserList *userlist, int group_id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
549 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
550 MsnGroup *group; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
551 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
552 group = msn_userlist_find_group_with_id(userlist, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
553 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
554 if (group != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
555 return msn_group_get_name(group); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
556 else |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
557 return NULL; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
558 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
559 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
560 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
561 msn_userlist_rename_group_id(MsnUserList *userlist, int group_id, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
562 const char *new_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
563 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
564 MsnGroup *group; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
565 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
566 group = msn_userlist_find_group_with_id(userlist, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
567 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
568 if (group != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
569 msn_group_set_name(group, new_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
570 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
571 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
572 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
573 msn_userlist_remove_group_id(MsnUserList *userlist, int group_id) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
574 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
575 MsnGroup *group; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
576 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
577 group = msn_userlist_find_group_with_id(userlist, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
578 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
579 if (group != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
580 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
581 msn_userlist_remove_group(userlist, group); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
582 msn_group_destroy(group); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
583 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
584 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
585 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
586 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
587 msn_userlist_rem_buddy(MsnUserList *userlist, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
588 const char *who, int list_id, const char *group_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
589 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
590 MsnUser *user; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
591 int group_id; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
592 const char *list; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
593 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
594 user = msn_userlist_find_user(userlist, who); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
595 group_id = -1; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
596 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
597 if (group_name != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
598 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
599 group_id = msn_userlist_find_group_id(userlist, group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
600 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
601 if (group_id < 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
602 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
603 /* Whoa, there is no such group. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
604 purple_debug_error("msn", "Group doesn't exist: %s\n", group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
605 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
606 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
607 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
608 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
609 /* First we're going to check if not there. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
610 if (!(user_is_there(user, list_id, group_id))) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
611 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
612 list = lists[list_id]; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
613 purple_debug_error("msn", "User '%s' is not there: %s\n", |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
614 who, list); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
615 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
616 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
617 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
618 /* Then request the rem to the server. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
619 list = lists[list_id]; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
620 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
621 msn_notification_rem_buddy(userlist->session->notification, list, who, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
622 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
623 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
624 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
625 msn_userlist_add_buddy(MsnUserList *userlist, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
626 const char *who, int list_id, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
627 const char *group_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
628 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
629 MsnUser *user; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
630 int group_id; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
631 const char *list; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
632 const char *store_name; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
633 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
634 group_id = -1; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
635 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
636 if (!purple_email_is_valid(who)) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
637 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
638 /* only notify the user about problems adding to the friends list |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
639 * maybe we should do something else for other lists, but it probably |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
640 * won't cause too many problems if we just ignore it */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
641 if (list_id == MSN_LIST_FL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
642 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
643 char *str = g_strdup_printf(_("Unable to add \"%s\"."), who); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
644 purple_notify_error(NULL, NULL, str, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
645 _("The screen name specified is invalid.")); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
646 g_free(str); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
647 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
648 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
649 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
650 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
651 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
652 if (group_name != NULL) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
653 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
654 group_id = msn_userlist_find_group_id(userlist, group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
655 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
656 if (group_id < 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
657 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
658 /* Whoa, we must add that group first. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
659 msn_request_add_group(userlist, who, NULL, group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
660 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
661 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
662 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
663 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
664 user = msn_userlist_find_user(userlist, who); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
665 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
666 /* First we're going to check if it's already there. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
667 if (user_is_there(user, list_id, group_id)) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
668 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
669 list = lists[list_id]; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
670 purple_debug_error("msn", "User '%s' is already there: %s\n", who, list); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
671 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
672 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
673 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
674 store_name = (user != NULL) ? get_store_name(user) : who; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
675 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
676 /* Then request the add to the server. */ |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
677 list = lists[list_id]; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
678 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
679 msn_notification_add_buddy(userlist->session->notification, list, who, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
680 store_name, group_id); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
681 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
682 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
683 void |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
684 msn_userlist_move_buddy(MsnUserList *userlist, const char *who, |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
685 const char *old_group_name, const char *new_group_name) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
686 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
687 int new_group_id; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
688 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
689 new_group_id = msn_userlist_find_group_id(userlist, new_group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
690 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
691 if (new_group_id < 0) |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
692 { |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
693 msn_request_add_group(userlist, who, old_group_name, new_group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
694 return; |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
695 } |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
696 |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
697 msn_userlist_add_buddy(userlist, who, MSN_LIST_FL, new_group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
698 msn_userlist_rem_buddy(userlist, who, MSN_LIST_FL, old_group_name); |
a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
699 } |