Mercurial > pidgin
annotate libpurple/protocols/msn/user.c @ 30725:de59c181e6aa
MsnUserEndpoint->id isn't actually used, so let's not store it in the
struct. It's used as the key in the endpoints hashtable, so hopefully
we can get away with keeping only one copy of it
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 22 Apr 2010 20:51:24 +0000 |
parents | 6376fc7a092e |
children | 2a5dbea6ab6b |
rev | line source |
---|---|
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2 * @file user.c User functions |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 * |
15822 | 4 * purple |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 * |
15822 | 6 * Purple is the legal property of its developers, whose names are too numerous |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 * source distribution. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
19681
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
16856
diff
changeset
|
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 #include "msn.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 #include "user.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 #include "slp.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 |
30676
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
28 static void free_user_endpoint(MsnUserEndpoint *data); |
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
29 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
30 /*new a user object*/ |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 MsnUser * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 msn_user_new(MsnUserList *userlist, const char *passport, |
23471
5a6cf27ead31
Remove MSN's use of a "store name" in favour of the "friendly name"
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23298
diff
changeset
|
33 const char *friendly_name) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 MsnUser *user; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 user = g_new0(MsnUser, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
38 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 user->userlist = userlist; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
40 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 msn_user_set_passport(user, passport); |
23471
5a6cf27ead31
Remove MSN's use of a "store name" in favour of the "friendly name"
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23298
diff
changeset
|
42 msn_user_set_friendly_name(user, friendly_name); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
43 |
30676
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
44 user->endpoints = g_hash_table_new_full(g_str_hash, g_str_equal, |
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
45 g_free, (GDestroyNotify)free_user_endpoint); |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
46 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 return user; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
48 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
49 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
50 /*destroy a user object*/ |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
52 msn_user_destroy(MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
53 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
56 if (user->endpoints != NULL) |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
57 g_hash_table_destroy(user->endpoints); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
58 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
59 if (user->clientcaps != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 g_hash_table_destroy(user->clientcaps); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
61 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
62 if (user->group_ids != NULL) |
20425
5048651671e1
Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents:
20411
diff
changeset
|
63 { |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
64 GList *l; |
20425
5048651671e1
Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents:
20411
diff
changeset
|
65 for (l = user->group_ids; l != NULL; l = l->next) |
5048651671e1
Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents:
20411
diff
changeset
|
66 { |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
67 g_free(l->data); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
68 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
69 g_list_free(user->group_ids); |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
70 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
71 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
72 if (user->msnobj != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
73 msn_object_destroy(user->msnobj); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
74 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
75 g_free(user->passport); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
76 g_free(user->friendly_name); |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
77 g_free(user->uid); |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
78 if (user->extinfo) { |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
79 g_free(user->extinfo->media_album); |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
80 g_free(user->extinfo->media_artist); |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
81 g_free(user->extinfo->media_title); |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
82 g_free(user->extinfo->phone_home); |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
83 g_free(user->extinfo->phone_mobile); |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
84 g_free(user->extinfo->phone_work); |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
85 g_free(user->extinfo); |
28960
99d1b433dba0
Keep CurrentMedia in a separate object outside of MsnUser that needs to
Mark Doliner <mark@kingant.net>
parents:
28369
diff
changeset
|
86 } |
21791 | 87 g_free(user->statusline); |
26909
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
88 g_free(user->invite_message); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
89 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
90 g_free(user); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
91 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
92 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
93 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
94 msn_user_update(MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
95 { |
15822 | 96 PurpleAccount *account; |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
97 gboolean offline; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
98 |
23946
169c1451b7e5
Don't crash if user == NULL in a couple more places. Not exactly the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23557
diff
changeset
|
99 g_return_if_fail(user != NULL); |
169c1451b7e5
Don't crash if user == NULL in a couple more places. Not exactly the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23557
diff
changeset
|
100 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
101 account = user->userlist->session->account; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
102 |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
103 offline = (user->status == NULL); |
22570
1168dc635ac1
some other mobile stuff that Maiku fixed, fixes #2359
Ka-Hing Cheung <khc@hxbc.us>
parents:
21791
diff
changeset
|
104 |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
105 if (!offline) { |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
106 purple_prpl_got_user_status(account, user->passport, user->status, |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
107 "message", user->statusline, NULL); |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
108 } else { |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
109 if (user->mobile) { |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
110 purple_prpl_got_user_status(account, user->passport, "mobile", NULL); |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
111 purple_prpl_got_user_status(account, user->passport, "available", NULL); |
22570
1168dc635ac1
some other mobile stuff that Maiku fixed, fixes #2359
Ka-Hing Cheung <khc@hxbc.us>
parents:
21791
diff
changeset
|
112 } else { |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
113 purple_prpl_got_user_status(account, user->passport, "offline", NULL); |
22570
1168dc635ac1
some other mobile stuff that Maiku fixed, fixes #2359
Ka-Hing Cheung <khc@hxbc.us>
parents:
21791
diff
changeset
|
114 } |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
115 } |
22570
1168dc635ac1
some other mobile stuff that Maiku fixed, fixes #2359
Ka-Hing Cheung <khc@hxbc.us>
parents:
21791
diff
changeset
|
116 |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
117 if (!offline || !user->mobile) { |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
118 purple_prpl_got_user_status_deactive(account, user->passport, "mobile"); |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
119 } |
20570
5913725cbcd6
Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20514
diff
changeset
|
120 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
121 if (!offline && user->extinfo && user->extinfo->media_type != CURRENT_MEDIA_UNKNOWN) { |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
122 if (user->extinfo->media_type == CURRENT_MEDIA_MUSIC) { |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
123 purple_prpl_got_user_status(account, user->passport, "tune", |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
124 PURPLE_TUNE_ARTIST, user->extinfo->media_artist, |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
125 PURPLE_TUNE_ALBUM, user->extinfo->media_album, |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
126 PURPLE_TUNE_TITLE, user->extinfo->media_title, |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
127 NULL); |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
128 } else if (user->extinfo->media_type == CURRENT_MEDIA_GAMES) { |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
129 purple_prpl_got_user_status(account, user->passport, "tune", |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
130 "game", user->extinfo->media_title, |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
131 NULL); |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
132 } else if (user->extinfo->media_type == CURRENT_MEDIA_OFFICE) { |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
133 purple_prpl_got_user_status(account, user->passport, "tune", |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
134 "office", user->extinfo->media_title, |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
135 NULL); |
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
136 } else { |
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
137 purple_debug_warning("msn", "Got CurrentMedia with unknown type %d.\n", |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
138 user->extinfo->media_type); |
24510
e344426d7c28
Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23946
diff
changeset
|
139 } |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
140 } else { |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
141 purple_prpl_got_user_status_deactive(account, user->passport, "tune"); |
15540
d74985add99f
This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
142 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 if (user->idle) |
15822 | 145 purple_prpl_got_user_idle(account, user->passport, TRUE, -1); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
146 else |
15822 | 147 purple_prpl_got_user_idle(account, user->passport, FALSE, 0); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
150 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
151 msn_user_set_state(MsnUser *user, const char *state) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
152 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
153 const char *status; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
154 |
23946
169c1451b7e5
Don't crash if user == NULL in a couple more places. Not exactly the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23557
diff
changeset
|
155 g_return_if_fail(user != NULL); |
169c1451b7e5
Don't crash if user == NULL in a couple more places. Not exactly the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23557
diff
changeset
|
156 |
23498
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
157 if (state == NULL) { |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
158 user->status = NULL; |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
159 return; |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
160 } |
80d09f42b157
A patch from felipec to consistently use NULL for the status of offline
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23481
diff
changeset
|
161 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
162 if (!g_ascii_strcasecmp(state, "BSY")) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
163 status = "busy"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
164 else if (!g_ascii_strcasecmp(state, "BRB")) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
165 status = "brb"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
166 else if (!g_ascii_strcasecmp(state, "AWY")) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
167 status = "away"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
168 else if (!g_ascii_strcasecmp(state, "PHN")) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
169 status = "phone"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
170 else if (!g_ascii_strcasecmp(state, "LUN")) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
171 status = "lunch"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
172 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 status = "available"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
174 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
175 if (!g_ascii_strcasecmp(state, "IDL")) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
176 user->idle = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
177 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
178 user->idle = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
179 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
180 user->status = status; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
181 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
182 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
183 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
184 msn_user_set_passport(MsnUser *user, const char *passport) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
185 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
186 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
187 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
188 g_free(user->passport); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
189 user->passport = g_strdup(passport); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
190 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
191 |
25393
f5188d4d84e3
Move the check for whether to update the server alias out of nln_cmd and
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24518
diff
changeset
|
192 gboolean |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
193 msn_user_set_friendly_name(MsnUser *user, const char *name) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
194 { |
25413
cd7aa76faef6
Fix this compile warning:
Mark Doliner <mark@kingant.net>
parents:
25393
diff
changeset
|
195 g_return_val_if_fail(user != NULL, FALSE); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
196 |
30673
d32c0a73c689
Don't update the server with our own information on initial login, since we
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30664
diff
changeset
|
197 if (user == user->userlist->session->user) |
d32c0a73c689
Don't update the server with our own information on initial login, since we
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30664
diff
changeset
|
198 return FALSE; |
d32c0a73c689
Don't update the server with our own information on initial login, since we
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30664
diff
changeset
|
199 |
28369
d213c8ad89da
Fix MSN forgetting display names for buddies. Fixes #10421.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26909
diff
changeset
|
200 if (user->friendly_name && name && (!strcmp(user->friendly_name, name) || |
d213c8ad89da
Fix MSN forgetting display names for buddies. Fixes #10421.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26909
diff
changeset
|
201 !strcmp(user->passport, name))) |
25393
f5188d4d84e3
Move the check for whether to update the server alias out of nln_cmd and
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24518
diff
changeset
|
202 return FALSE; |
f5188d4d84e3
Move the check for whether to update the server alias out of nln_cmd and
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24518
diff
changeset
|
203 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
204 g_free(user->friendly_name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
205 user->friendly_name = g_strdup(name); |
25393
f5188d4d84e3
Move the check for whether to update the server alias out of nln_cmd and
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24518
diff
changeset
|
206 |
28369
d213c8ad89da
Fix MSN forgetting display names for buddies. Fixes #10421.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26909
diff
changeset
|
207 serv_got_alias(purple_account_get_connection(user->userlist->session->account), |
d213c8ad89da
Fix MSN forgetting display names for buddies. Fixes #10421.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26909
diff
changeset
|
208 user->passport, name); |
25393
f5188d4d84e3
Move the check for whether to update the server alias out of nln_cmd and
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24518
diff
changeset
|
209 return TRUE; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
210 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
211 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
212 void |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
213 msn_user_set_statusline(MsnUser *user, const char *statusline) |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
214 { |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
215 g_return_if_fail(user != NULL); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
216 |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
217 g_free(user->statusline); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
218 user->statusline = g_strdup(statusline); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
219 } |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
220 |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
221 void |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
222 msn_user_set_uid(MsnUser *user, const char *uid) |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
223 { |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
224 g_return_if_fail(user != NULL); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
225 |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
226 g_free(user->uid); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
227 user->uid = g_strdup(uid); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
228 } |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
229 |
30676
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
230 static void |
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
231 free_user_endpoint(MsnUserEndpoint *data) |
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
232 { |
30682
f56126c5aa44
Save PrivateEndpointData that we've received. I think this only applies to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30681
diff
changeset
|
233 g_free(data->name); |
30676
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
234 g_free(data); |
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
235 } |
43cf75e21702
Don't leak the Endpoint ID.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30673
diff
changeset
|
236 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
237 void |
30680
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
238 msn_user_set_endpoint_data(MsnUser *user, const char *input, MsnUserEndpoint *data) |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
239 { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
240 MsnUserEndpoint *new; |
30680
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
241 char *endpoint; |
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
242 |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
243 g_return_if_fail(user != NULL); |
30680
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
244 g_return_if_fail(input != NULL); |
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
245 |
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
246 endpoint = g_ascii_strdown(input, -1); |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
247 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
248 if (data == NULL) { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
249 g_hash_table_remove(user->endpoints, endpoint); |
30680
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
250 g_free(endpoint); |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
251 return; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
252 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
253 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
254 new = g_hash_table_lookup(user->endpoints, endpoint); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
255 if (!new) { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
256 new = g_new0(MsnUserEndpoint, 1); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
257 g_hash_table_insert(user->endpoints, g_strdup(endpoint), new); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
258 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
259 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
260 new->clientid = data->clientid; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
261 new->extcaps = data->extcaps; |
30680
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
262 |
690bd42ce0ea
Endpoint names are case-insensitive, so put the id in lowercase always.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30676
diff
changeset
|
263 g_free(endpoint); |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
264 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
265 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
266 void |
28984
7f97370e674b
Use our MsnListOp enum in more places instead of int. I'm assuming
Mark Doliner <mark@kingant.net>
parents:
28978
diff
changeset
|
267 msn_user_set_op(MsnUser *user, MsnListOp list_op) |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
268 { |
20425
5048651671e1
Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents:
20411
diff
changeset
|
269 g_return_if_fail(user != NULL); |
5048651671e1
Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents:
20411
diff
changeset
|
270 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
271 user->list_op |= list_op; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
272 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
273 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
274 void |
28984
7f97370e674b
Use our MsnListOp enum in more places instead of int. I'm assuming
Mark Doliner <mark@kingant.net>
parents:
28978
diff
changeset
|
275 msn_user_unset_op(MsnUser *user, MsnListOp list_op) |
20486
ff4ae9dde291
Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents:
20481
diff
changeset
|
276 { |
ff4ae9dde291
Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents:
20481
diff
changeset
|
277 g_return_if_fail(user != NULL); |
23298
5cdd93dac7a2
Delete trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
23122
diff
changeset
|
278 |
20486
ff4ae9dde291
Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents:
20481
diff
changeset
|
279 user->list_op &= ~list_op; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
280 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
281 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
282 void |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
283 msn_user_set_buddy_icon(MsnUser *user, PurpleStoredImage *img) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
284 { |
22512
b65997110933
The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21791
diff
changeset
|
285 MsnObject *msnobj; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
286 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
287 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 |
22512
b65997110933
The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21791
diff
changeset
|
289 msnobj = msn_object_new_from_image(img, "TFR2C2.tmp", |
b65997110933
The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21791
diff
changeset
|
290 user->passport, MSN_OBJECT_USERTILE); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
291 |
22512
b65997110933
The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21791
diff
changeset
|
292 if (!msnobj) |
b65997110933
The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21791
diff
changeset
|
293 purple_debug_error("msn", "Unable to open buddy icon from %s!\n", user->passport); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
294 |
22512
b65997110933
The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21791
diff
changeset
|
295 msn_user_set_object(user, msnobj); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
296 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
297 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
298 /*add group id to User object*/ |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
299 void |
23557
aaaff38e144f
Fix a double free when connecting to the sender of a bonjour file fails. Also plug a small leak. Fixes #5971.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23519
diff
changeset
|
300 msn_user_add_group_id(MsnUser *user, const char* group_id) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
301 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
302 MsnUserList *userlist; |
15822 | 303 PurpleAccount *account; |
304 PurpleBuddy *b; | |
305 PurpleGroup *g; | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
306 const char *passport; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
307 const char *group_name; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
308 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
309 g_return_if_fail(user != NULL); |
23557
aaaff38e144f
Fix a double free when connecting to the sender of a bonjour file fails. Also plug a small leak. Fixes #5971.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23519
diff
changeset
|
310 g_return_if_fail(group_id != NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
311 |
23557
aaaff38e144f
Fix a double free when connecting to the sender of a bonjour file fails. Also plug a small leak. Fixes #5971.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23519
diff
changeset
|
312 user->group_ids = g_list_append(user->group_ids, g_strdup(group_id)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
313 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
314 userlist = user->userlist; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
315 account = userlist->session->account; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
316 passport = msn_user_get_passport(user); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
317 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
318 group_name = msn_userlist_find_group_name(userlist, group_id); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
319 |
23519
7bceac816e19
The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23498
diff
changeset
|
320 purple_debug_info("msn", "User: group id:%s,name:%s,user:%s\n", group_id, group_name, passport); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
321 |
15822 | 322 g = purple_find_group(group_name); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
323 |
23557
aaaff38e144f
Fix a double free when connecting to the sender of a bonjour file fails. Also plug a small leak. Fixes #5971.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23519
diff
changeset
|
324 if ((group_id == NULL) && (g == NULL)) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
325 { |
15822 | 326 g = purple_group_new(group_name); |
327 purple_blist_add_group(g, NULL); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
328 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
329 |
15822 | 330 b = purple_find_buddy_in_group(account, passport, g); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
331 if (b == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
332 { |
15822 | 333 b = purple_buddy_new(account, passport, NULL); |
334 purple_blist_add_buddy(b, NULL, g, NULL); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
335 } |
25799
8d562557ed6f
Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23946
diff
changeset
|
336 purple_buddy_set_protocol_data(b, user); |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
337 /*Update the blist Node info*/ |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
338 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
339 |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
340 /*check if the msn user is online*/ |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
341 gboolean |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
342 msn_user_is_online(PurpleAccount *account, const char *name) |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
343 { |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
344 PurpleBuddy *buddy; |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
345 |
23946
169c1451b7e5
Don't crash if user == NULL in a couple more places. Not exactly the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23557
diff
changeset
|
346 buddy = purple_find_buddy(account, name); |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
347 return PURPLE_BUDDY_IS_ONLINE(buddy); |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
348 } |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
349 |
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
350 gboolean |
20436
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
351 msn_user_is_yahoo(PurpleAccount *account, const char *name) |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
352 { |
20447
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
353 MsnSession *session = NULL; |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
354 MsnUser *user; |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
355 PurpleConnection *gc; |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
356 |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
357 gc = purple_account_get_connection(account); |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
358 if (gc != NULL) |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
359 session = gc->proto_data; |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
360 |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
361 if ((session != NULL) && (user = msn_userlist_find_user(session->userlist, name)) != NULL) |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
362 { |
23478
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
363 return (user->networkid == MSN_NETWORK_YAHOO); |
20447
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
364 } |
18ecdee88ed0
Add Pending list to recognized lists during contact list parsing
Stu Tomlinson <stu@nosnilmot.com>
parents:
20445
diff
changeset
|
365 return (strstr(name,"@yahoo.") != NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
366 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
367 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
368 void |
20436
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
369 msn_user_remove_group_id(MsnUser *user, const char *id) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
370 { |
20436
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
371 GList *l; |
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
372 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
373 g_return_if_fail(user != NULL); |
20394
4a099e4d0d09
propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
374 g_return_if_fail(id != NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
375 |
20436
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
376 l = g_list_find_custom(user->group_ids, id, (GCompareFunc)strcmp); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
377 |
20436
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
378 if (l == NULL) |
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
379 return; |
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
380 |
ad481ea028be
Fix msn_user_remove_group_id()
Stu Tomlinson <stu@nosnilmot.com>
parents:
20425
diff
changeset
|
381 g_free(l->data); |
20987
0cbfc19e4909
Fix some leaks caused by misuse of g_list_remove_link() instead of g_list_delete_link().
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20942
diff
changeset
|
382 user->group_ids = g_list_delete_link(user->group_ids, l); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
383 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
384 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
385 void |
24518
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
386 msn_user_set_pending_group(MsnUser *user, const char *group) |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
387 { |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
388 user->pending_group = g_strdup(group); |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
389 } |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
390 |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
391 char * |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
392 msn_user_remove_pending_group(MsnUser *user) |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
393 { |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
394 char *group = user->pending_group; |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
395 user->pending_group = NULL; |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
396 return group; |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
397 } |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
398 |
4fd22591e3f0
Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24510
diff
changeset
|
399 void |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
400 msn_user_set_home_phone(MsnUser *user, const char *number) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
401 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
402 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
403 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
404 if (!number && !user->extinfo) |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
405 return; |
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
406 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
407 if (user->extinfo) |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
408 g_free(user->extinfo->phone_home); |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
409 else |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
410 user->extinfo = g_new0(MsnUserExtendedInfo, 1); |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
411 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
412 user->extinfo->phone_home = g_strdup(number); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
413 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
414 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
415 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
416 msn_user_set_work_phone(MsnUser *user, const char *number) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
417 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
418 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
419 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
420 if (!number && !user->extinfo) |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
421 return; |
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
422 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
423 if (user->extinfo) |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
424 g_free(user->extinfo->phone_work); |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
425 else |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
426 user->extinfo = g_new0(MsnUserExtendedInfo, 1); |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
427 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
428 user->extinfo->phone_work = g_strdup(number); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
429 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
430 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
431 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
432 msn_user_set_mobile_phone(MsnUser *user, const char *number) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
433 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
434 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
435 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
436 if (!number && !user->extinfo) |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
437 return; |
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
438 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
439 if (user->extinfo) |
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
440 g_free(user->extinfo->phone_mobile); |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
441 else |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
442 user->extinfo = g_new0(MsnUserExtendedInfo, 1); |
28961
08296b862f98
Move the three phone numbers from the MsnUser struct into a separate
Mark Doliner <mark@kingant.net>
parents:
28960
diff
changeset
|
443 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
444 user->extinfo->phone_mobile = g_strdup(number); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
445 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
446 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
447 void |
23478
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
448 msn_user_set_clientid(MsnUser *user, guint clientid) |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
449 { |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
450 g_return_if_fail(user != NULL); |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
451 |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
452 user->clientid = clientid; |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
453 } |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
454 |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
455 void |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
456 msn_user_set_extcaps(MsnUser *user, guint extcaps) |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
457 { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
458 g_return_if_fail(user != NULL); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
459 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
460 user->extcaps = extcaps; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
461 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
462 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
463 void |
23478
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
464 msn_user_set_network(MsnUser *user, MsnNetwork network) |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
465 { |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
466 g_return_if_fail(user != NULL); |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
467 |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
468 user->networkid = network; |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
469 } |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
470 |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
471 void |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
472 msn_user_set_object(MsnUser *user, MsnObject *obj) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
473 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
474 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
475 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
476 if (user->msnobj != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
477 msn_object_destroy(user->msnobj); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
478 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
479 user->msnobj = obj; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
480 |
30673
d32c0a73c689
Don't update the server with our own information on initial login, since we
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30664
diff
changeset
|
481 if (user != user->userlist->session->user && user->list_op & MSN_LIST_FL_OP) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
482 msn_queue_buddy_icon_request(user); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
483 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
484 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
485 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
486 msn_user_set_client_caps(MsnUser *user, GHashTable *info) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
487 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
488 g_return_if_fail(user != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
489 g_return_if_fail(info != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
490 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
491 if (user->clientcaps != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
492 g_hash_table_destroy(user->clientcaps); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
493 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
494 user->clientcaps = info; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
495 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
496 |
26909
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
497 void |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
498 msn_user_set_invite_message(MsnUser *user, const char *message) |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
499 { |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
500 g_return_if_fail(user != NULL); |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
501 |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
502 g_free(user->invite_message); |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
503 user->invite_message = g_strdup(message); |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
504 } |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
505 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
506 const char * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
507 msn_user_get_passport(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
508 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
509 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
510 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
511 return user->passport; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
512 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
513 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
514 const char * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
515 msn_user_get_friendly_name(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
516 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
517 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
518 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
519 return user->friendly_name; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
520 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
521 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
522 const char * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
523 msn_user_get_home_phone(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
524 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
525 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
526 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
527 return user->extinfo ? user->extinfo->phone_home : NULL; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
528 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
529 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
530 const char * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
531 msn_user_get_work_phone(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
532 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
533 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
534 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
535 return user->extinfo ? user->extinfo->phone_work : NULL; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
536 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
537 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
538 const char * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
539 msn_user_get_mobile_phone(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
540 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
541 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
542 |
28978
746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
Mark Doliner <mark@kingant.net>
parents:
28961
diff
changeset
|
543 return user->extinfo ? user->extinfo->phone_mobile : NULL; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
544 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
545 |
23478
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
546 guint |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
547 msn_user_get_clientid(const MsnUser *user) |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
548 { |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
549 g_return_val_if_fail(user != NULL, 0); |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
550 |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
551 return user->clientid; |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
552 } |
31b5a1334e7e
Modifications to the MSN code for some stuff I'll be doing in later
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23471
diff
changeset
|
553 |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
554 guint |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
555 msn_user_get_extcaps(const MsnUser *user) |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
556 { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
557 g_return_val_if_fail(user != NULL, 0); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
558 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
559 return user->extcaps; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
560 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
561 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
562 MsnUserEndpoint * |
30681
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
563 msn_user_get_endpoint_data(MsnUser *user, const char *input) |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
564 { |
30681
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
565 char *endpoint; |
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
566 MsnUserEndpoint *data; |
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
567 |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
568 g_return_val_if_fail(user != NULL, NULL); |
30681
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
569 g_return_val_if_fail(input != NULL, NULL); |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
570 |
30681
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
571 endpoint = g_ascii_strdown(input, -1); |
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
572 data = g_hash_table_lookup(user->endpoints, endpoint); |
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
573 g_free(endpoint); |
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
574 |
fee2d38d14bd
Also, lower-case the endpoint name when looking up endpoint data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30680
diff
changeset
|
575 return data; |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
576 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
577 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
578 MsnObject * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
579 msn_user_get_object(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
580 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
581 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
582 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
583 return user->msnobj; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
584 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
585 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
586 GHashTable * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
587 msn_user_get_client_caps(const MsnUser *user) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
588 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
589 g_return_val_if_fail(user != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
590 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
591 return user->clientcaps; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
592 } |
26909
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
593 |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
594 const char * |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
595 msn_user_get_invite_message(const MsnUser *user) |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
596 { |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
597 g_return_val_if_fail(user != NULL, NULL); |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
598 |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
599 return user->invite_message; |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
600 } |
2a95e8bd9b80
Parse the invite message out of the pending membership list so that it can
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25947
diff
changeset
|
601 |
30659
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
602 gboolean |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
603 msn_user_is_capable(MsnUser *user, char *endpoint, guint capability, guint extcap) |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
604 { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
605 g_return_val_if_fail(user != NULL, FALSE); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
606 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
607 if (endpoint != NULL) { |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
608 MsnUserEndpoint *ep = g_hash_table_lookup(user->endpoints, endpoint); |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
609 if (ep != NULL) |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
610 return (ep->clientid & capability) == capability |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
611 && (ep->extcaps & extcap) == extcap; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
612 else |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
613 return FALSE; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
614 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
615 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
616 return (user->clientid & capability) == capability |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
617 && (user->extcaps & extcap) == extcap; |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
618 } |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
619 |
88c48bcb5455
Allow saving extended capabilities and endpoint-specific data in an MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28369
diff
changeset
|
620 |