Mon, 13 Jul 2009 05:01:42 +0000
On MSN, pop up an "invite message" request similar to oscar, and send that
in the add request. We really should try and move this into the add buddy
dialog instead of an extra prompt.
Fixes #8503.
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
1 | /* MySpaceIM Protocol Plugin, header file |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
2 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
3 | * Copyright (C) 2007, Jeff Connelly <jeff2@soc.pidgin.im> |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
4 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
5 | * This program is free software; you can redistribute it and/or modify |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
6 | * it under the terms of the GNU General Public License as published by |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
7 | * the Free Software Foundation; either version 2 of the License, or |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
8 | * (at your option) any later version. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
9 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
13 | * GNU General Public License for more details. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
14 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
16 | * along with this program; if not, write to the Free Software |
|
20376
40eb7fd73b9a
merge of 'f78451b4a2f7106eb8f8fa7275a7a29230593449'
Casey Harkins <charkins@pidgin.im>
diff
changeset
|
17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
18 | */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
19 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
20 | #include "myspace.h" |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
21 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
22 | static void msim_check_username_availability_cb(PurpleConnection *gc, const char *username_to_check); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
23 | |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
24 | static char *msim_username_to_set; |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
25 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
26 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
27 | * Format the "now playing" indicator, showing the artist and song. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
28 | * |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
29 | * @return Return a new string (must be g_free()'d), or NULL. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
30 | */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
31 | static gchar * |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
32 | msim_format_now_playing(const gchar *band, const gchar *song) |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
33 | { |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
34 | if ((band && *band) || (song && *song)) { |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
35 | return g_strdup_printf("%s - %s", |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
36 | (band && *band) ? band : "Unknown Artist", |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
37 | (song && *song) ? song : "Unknown Song"); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
38 | } else { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
39 | return NULL; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
40 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
41 | } |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
42 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
43 | /** |
|
25502
40f87522e2d0
propagate from branch 'im.pidgin.pidgin' (head db75fad3c5a74a5d380131b678995c6a78c140cb)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
44 | * Get the MsimUser from a PurpleBuddy, optionally creating it if needed. |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
45 | */ |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
46 | MsimUser * |
|
24867
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
23517
diff
changeset
|
47 | msim_get_user_from_buddy(PurpleBuddy *buddy, gboolean create) |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
48 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
49 | MsimUser *user; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
50 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
51 | if (!buddy) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
52 | return NULL; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
53 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
54 | |
|
26091
83f52ce0929f
propagate from branch 'im.pidgin.pidgin' (head b4bbfacd7f2050d87deeda12ea7bb3adc3608cb7)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
55 | user = purple_buddy_get_protocol_data(buddy); |
|
83f52ce0929f
propagate from branch 'im.pidgin.pidgin' (head b4bbfacd7f2050d87deeda12ea7bb3adc3608cb7)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
56 | if (create && !user) { |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
57 | /* No MsimUser for this buddy; make one. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
58 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
59 | user = g_new0(MsimUser, 1); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
60 | user->buddy = buddy; |
|
27375
11cb6a210a20
As far as I can tell this line was accidentally removed in an explicit merge
Mark Doliner <markdoliner@pidgin.im>
parents:
26091
diff
changeset
|
61 | user->id = purple_blist_node_get_int(&buddy->node, "UserID"); |
|
25140
7c494d2bc5e4
propagate from branch 'im.pidgin.pidgin' (head 009f3ea551248605298fbf1b88d7a873b2a6c7a3)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
62 | purple_buddy_set_protocol_data(buddy, user); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
63 | } |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
64 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
65 | return user; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
66 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
67 | |
|
25324
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
68 | void msim_user_free(MsimUser *user) |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
69 | { |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
70 | if (!user) |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
71 | return; |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
72 | |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
73 | g_free(user->client_info); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
74 | g_free(user->gender); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
75 | g_free(user->location); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
76 | g_free(user->headline); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
77 | g_free(user->display_name); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
78 | g_free(user->username); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
79 | g_free(user->band_name); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
80 | g_free(user->song_name); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
81 | g_free(user->image_url); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
82 | g_free(user); |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
83 | } |
|
9a07ddd8cc86
A couple of memory leak fixes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25302
diff
changeset
|
84 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
85 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
86 | * Find and return an MsimUser * representing a user on the buddy list, or NULL. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
87 | */ |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
88 | MsimUser * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
89 | msim_find_user(MsimSession *session, const gchar *username) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
90 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
91 | PurpleBuddy *buddy; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
92 | MsimUser *user; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
93 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
94 | buddy = purple_find_buddy(session->account, username); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
95 | if (!buddy) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
96 | return NULL; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
97 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
98 | |
|
24867
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
23517
diff
changeset
|
99 | user = msim_get_user_from_buddy(buddy, TRUE); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
100 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
101 | return user; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
102 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
103 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
104 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
105 | * Append user information to a PurpleNotifyUserInfo, given an MsimUser. |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
106 | * Used by msim_tooltip_text() and msim_get_info_cb() to show a user's profile. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
107 | */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
108 | void |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
109 | msim_append_user_info(MsimSession *session, PurpleNotifyUserInfo *user_info, MsimUser *user, gboolean full) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
110 | { |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
111 | PurplePresence *presence; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
112 | gchar *str; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
113 | guint cv; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
114 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
115 | /* Useful to identify the account the tooltip refers to. |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
116 | * Other prpls show this. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
117 | if (user->username) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
118 | purple_notify_user_info_add_pair(user_info, _("User"), user->username); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
119 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
120 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
121 | /* a/s/l...the vitals */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
122 | if (user->age) { |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
123 | char age[16]; |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
124 | g_snprintf(age, sizeof(age), "%d", user->age); |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
125 | purple_notify_user_info_add_pair(user_info, _("Age"), age); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
126 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
127 | |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
128 | if (user->gender && *user->gender) { |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
129 | purple_notify_user_info_add_pair(user_info, _("Gender"), user->gender); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
130 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
131 | |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
132 | if (user->location && *user->location) { |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
133 | purple_notify_user_info_add_pair(user_info, _("Location"), user->location); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
134 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
135 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
136 | /* Other information */ |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
137 | if (user->headline && *user->headline) { |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
138 | purple_notify_user_info_add_pair(user_info, _("Headline"), user->headline); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
139 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
140 | |
|
25115
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
141 | if (user->buddy != NULL) { |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
142 | presence = purple_buddy_get_presence(user->buddy); |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
143 | |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
144 | if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) { |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
145 | PurpleStatus *status; |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
146 | const char *artist, *title; |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
147 | |
|
25115
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
148 | status = purple_presence_get_status(presence, "tune"); |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
149 | title = purple_status_get_attr_string(status, PURPLE_TUNE_TITLE); |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
150 | artist = purple_status_get_attr_string(status, PURPLE_TUNE_ARTIST); |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
151 | |
|
25115
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
152 | str = msim_format_now_playing(artist, title); |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
153 | if (str && *str) { |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
154 | purple_notify_user_info_add_pair(user_info, _("Song"), str); |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
155 | } |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
156 | g_free(str); |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
157 | } |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
158 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
159 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
160 | /* Note: total friends only available if looked up by uid, not username. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
161 | if (user->total_friends) { |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
162 | char friends[16]; |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
163 | g_snprintf(friends, sizeof(friends), "%d", user->total_friends); |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
164 | purple_notify_user_info_add_pair(user_info, _("Total Friends"), friends); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
165 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
166 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
167 | if (full) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
168 | /* Client information */ |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
169 | char *client = NULL; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
170 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
171 | str = user->client_info; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
172 | cv = user->client_cv; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
173 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
174 | if (str && cv != 0) { |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
175 | client = g_strdup_printf("%s (build %d)", str, cv); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
176 | } else if (str) { |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
177 | client = g_strdup(str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
178 | } else if (cv) { |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
179 | client = g_strdup_printf("Build %d", cv); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
180 | } |
|
20815
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
181 | if (client && *client) |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
182 | purple_notify_user_info_add_pair(user_info, _("Client Version"), client); |
|
a6c11702ad56
Fix a few more memory leaks. Someone who has a myspace account should stare
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20404
diff
changeset
|
183 | g_free(client); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
184 | } |
|
25089
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
185 | |
|
25116
cb60ad01e2e8
Keep track of the user ID in the MsimUser struct so that we have a copy
Mark Doliner <markdoliner@pidgin.im>
parents:
25115
diff
changeset
|
186 | if (full && user->id) { |
|
25089
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
187 | /* TODO: link to username, if available */ |
|
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
188 | char *profile; |
|
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
189 | purple_notify_user_info_add_section_break(user_info); |
|
25193
f98a278fd233
Use the friendly/vanity url when it's available in myspace
Mark Doliner <markdoliner@pidgin.im>
parents:
25116
diff
changeset
|
190 | if (user->buddy != NULL) |
|
f98a278fd233
Use the friendly/vanity url when it's available in myspace
Mark Doliner <markdoliner@pidgin.im>
parents:
25116
diff
changeset
|
191 | profile = g_strdup_printf("<a href=\"http://myspace.com/%s\">%s</a>", |
|
f98a278fd233
Use the friendly/vanity url when it's available in myspace
Mark Doliner <markdoliner@pidgin.im>
parents:
25116
diff
changeset
|
192 | purple_buddy_get_name(user->buddy), _("View web profile")); |
|
f98a278fd233
Use the friendly/vanity url when it's available in myspace
Mark Doliner <markdoliner@pidgin.im>
parents:
25116
diff
changeset
|
193 | else |
|
f98a278fd233
Use the friendly/vanity url when it's available in myspace
Mark Doliner <markdoliner@pidgin.im>
parents:
25116
diff
changeset
|
194 | profile = g_strdup_printf("<a href=\"http://myspace.com/%d\">%s</a>", |
|
f98a278fd233
Use the friendly/vanity url when it's available in myspace
Mark Doliner <markdoliner@pidgin.im>
parents:
25116
diff
changeset
|
195 | user->id, _("View web profile")); |
|
25089
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
196 | purple_notify_user_info_add_pair(user_info, NULL, profile); |
|
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
197 | g_free(profile); |
|
b381e7e2a1cf
Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <markdoliner@pidgin.im>
parents:
23517
diff
changeset
|
198 | } |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
199 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
200 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
201 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
202 | * Callback for when a buddy icon finished being downloaded. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
203 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
204 | static void |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
205 | msim_downloaded_buddy_icon(PurpleUtilFetchUrlData *url_data, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
206 | gpointer user_data, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
207 | const gchar *url_text, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
208 | gsize len, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
209 | const gchar *error_message) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
210 | { |
|
25847
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
211 | MsimUser *user = (MsimUser *)user_data; |
|
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
212 | const char *name = purple_buddy_get_name(user->buddy); |
|
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
213 | PurpleAccount *account; |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
214 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
215 | purple_debug_info("msim_downloaded_buddy_icon", |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
216 | "Downloaded %" G_GSIZE_FORMAT " bytes\n", len); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
217 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
218 | if (!url_text) { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
219 | purple_debug_info("msim_downloaded_buddy_icon", |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
220 | "failed to download icon for %s", |
|
25847
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
221 | name); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
222 | return; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
223 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
224 | |
|
25847
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
225 | account = purple_buddy_get_account(user->buddy); |
|
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
226 | purple_buddy_icons_set_for_user(account, name, |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
227 | g_memdup((gchar *)url_text, len), len, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
228 | /* Use URL itself as buddy icon "checksum" (TODO: ETag) */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
229 | user->image_url); /* checksum */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
230 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
231 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
232 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
233 | * Set the currently playing song artist and or title. |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
234 | * |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
235 | * @param user User associated with the now playing information. |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
236 | * |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
237 | * @param new_artist New artist to set, or NULL/empty to not change artist. |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
238 | * |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
239 | * @param new_title New title to set, or NULL/empty to not change title. |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
240 | * |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
241 | * If new_artist and new_title are NULL/empty, deactivate PURPLE_STATUS_TUNE. |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
242 | * |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
243 | * This function is useful because it lets you set the artist or title |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
244 | * individually, which purple_prpl_got_user_status() doesn't do. |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
245 | */ |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
246 | static void msim_set_artist_or_title(MsimUser *user, const char *new_artist, const char *new_title) |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
247 | { |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
248 | PurplePresence *presence; |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
249 | PurpleAccount *account; |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
250 | const char *prev_artist, *prev_title; |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
251 | const char *name; |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
252 | |
|
25115
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
253 | if (user->buddy == NULL) |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
254 | /* User not on buddy list so nothing to do */ |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
255 | return; |
|
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
256 | |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
257 | prev_artist = NULL; |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
258 | prev_title = NULL; |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
259 | |
|
25115
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
260 | if (new_artist && !*new_artist) |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
261 | new_artist = NULL; |
|
25115
53ea7403c0a8
Don't create a temporary PurpleBuddy when getting info for someone not
Mark Doliner <markdoliner@pidgin.im>
parents:
25089
diff
changeset
|
262 | if (new_title && !*new_title) |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
263 | new_title = NULL; |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
264 | |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
265 | account = purple_buddy_get_account(user->buddy); |
|
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
266 | name = purple_buddy_get_name(user->buddy); |
|
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
267 | |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
268 | if (!new_artist && !new_title) { |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
269 | purple_prpl_got_user_status_deactive(account, name, "tune"); |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
270 | return; |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
271 | } |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
272 | |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
273 | presence = purple_buddy_get_presence(user->buddy); |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
274 | |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
275 | if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) { |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
276 | PurpleStatus *status; |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
277 | |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
278 | status = purple_presence_get_status(presence, "tune"); |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
279 | prev_title = purple_status_get_attr_string(status, PURPLE_TUNE_TITLE); |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
280 | prev_artist = purple_status_get_attr_string(status, PURPLE_TUNE_ARTIST); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
281 | } |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
282 | |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
283 | if (!new_artist) |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
284 | new_artist = prev_artist; |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
285 | |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
286 | if (!new_title) |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
287 | new_title = prev_title; |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
288 | |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
289 | purple_prpl_got_user_status(account, name, "tune", |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
290 | PURPLE_TUNE_TITLE, new_title, |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
291 | PURPLE_TUNE_ARTIST, new_artist, |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
292 | NULL); |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
293 | } |
|
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
294 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
295 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
296 | * Store a field of information about a buddy. |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
297 | * |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
298 | * @param key_str Key to store. |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
299 | * @param value_str Value string, either user takes ownership of this string |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
300 | * or it is freed if MsimUser doesn't store the string. |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
301 | * @param user User to store data in. Existing data will be replaced. |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
302 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
303 | static void |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
304 | msim_store_user_info_each(const gchar *key_str, gchar *value_str, MsimUser *user) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
305 | { |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
306 | const char *name = user->buddy ? purple_buddy_get_name(user->buddy) : NULL; |
|
25847
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
307 | |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
308 | if (g_str_equal(key_str, "UserID") || g_str_equal(key_str, "ContactID")) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
309 | /* Save to buddy list, if it exists, for quick cached uid lookup with msim_uid2username_from_blist(). */ |
|
25116
cb60ad01e2e8
Keep track of the user ID in the MsimUser struct so that we have a copy
Mark Doliner <markdoliner@pidgin.im>
parents:
25115
diff
changeset
|
310 | user->id = atol(value_str); |
|
25240
c8093ec246f0
Fix a few small memleaks
Mark Doliner <markdoliner@pidgin.im>
parents:
25233
diff
changeset
|
311 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
312 | if (user->buddy) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
313 | { |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
314 | purple_debug_info("msim", "associating uid %s with username %s\n", key_str, name); |
|
25847
a1c8c5a23b6d
explicit merge of '077b4d6fc595fc99f5c76572f1b5d2e0343b2563'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
315 | purple_blist_node_set_int(PURPLE_BLIST_NODE(user->buddy), "UserID", user->id); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
316 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
317 | /* Need to store in MsimUser, too? What if not on blist? */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
318 | } else if (g_str_equal(key_str, "Age")) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
319 | user->age = atol(value_str); |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
320 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
321 | } else if (g_str_equal(key_str, "Gender")) { |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
322 | g_free(user->gender); |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
323 | user->gender = value_str; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
324 | } else if (g_str_equal(key_str, "Location")) { |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
325 | g_free(user->location); |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
326 | user->location = value_str; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
327 | } else if (g_str_equal(key_str, "TotalFriends")) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
328 | user->total_friends = atol(value_str); |
|
25240
c8093ec246f0
Fix a few small memleaks
Mark Doliner <markdoliner@pidgin.im>
parents:
25233
diff
changeset
|
329 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
330 | } else if (g_str_equal(key_str, "DisplayName")) { |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
331 | g_free(user->display_name); |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
332 | user->display_name = value_str; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
333 | } else if (g_str_equal(key_str, "BandName")) { |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
334 | msim_set_artist_or_title(user, value_str, NULL); |
|
25240
c8093ec246f0
Fix a few small memleaks
Mark Doliner <markdoliner@pidgin.im>
parents:
25233
diff
changeset
|
335 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
336 | } else if (g_str_equal(key_str, "SongName")) { |
|
22358
13b8409aea48
In msimprpl, use a PURPLE_STATUS_TUNE presence type to hold the "now playing"
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
21098
diff
changeset
|
337 | msim_set_artist_or_title(user, NULL, value_str); |
|
25240
c8093ec246f0
Fix a few small memleaks
Mark Doliner <markdoliner@pidgin.im>
parents:
25233
diff
changeset
|
338 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
339 | } else if (g_str_equal(key_str, "UserName") || g_str_equal(key_str, "IMName") || g_str_equal(key_str, "NickName")) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
340 | /* Ignore because PurpleBuddy knows this already */ |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
341 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
342 | } else if (g_str_equal(key_str, "ImageURL") || g_str_equal(key_str, "AvatarURL")) { |
| 21071 | 343 | const gchar *previous_url; |
| 344 | ||
|
21058
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
345 | if (user->temporary_user) { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
346 | /* This user will be destroyed soon; don't try to look up its image or avatar, |
|
21058
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
347 | * since that won't return immediately and we will end up accessing freed data. |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
348 | */ |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
349 | g_free(value_str); |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
350 | return; |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
351 | } |
| 21098 | 352 | |
| 353 | if (user->temporary_user) { | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
354 | /* This user will be destroyed soon; don't try to look up its image or avatar, |
| 21098 | 355 | * since that won't return immediately and we will end up accessing freed data. |
| 356 | */ | |
| 357 | g_free(value_str); | |
| 358 | return; | |
| 359 | } | |
| 360 | ||
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
361 | g_free(user->image_url); |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
362 | |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
363 | user->image_url = value_str; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
364 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
365 | /* Instead of showing 'no photo' picture, show nothing. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
366 | if (g_str_equal(user->image_url, "http://x.myspace.com/images/no_pic.gif")) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
367 | { |
|
24398
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
368 | purple_buddy_icons_set_for_user(purple_buddy_get_account(user->buddy), |
|
4865c2ee6ea8
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23517
diff
changeset
|
369 | name, NULL, 0, NULL); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
370 | return; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
371 | } |
| 21098 | 372 | |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
373 | /* TODO: use ETag for checksum */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
374 | previous_url = purple_buddy_icons_get_checksum_for_user(user->buddy); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
375 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
376 | /* Only download if URL changed */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
377 | if (!previous_url || !g_str_equal(previous_url, user->image_url)) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
378 | purple_util_fetch_url(user->image_url, TRUE, NULL, TRUE, msim_downloaded_buddy_icon, (gpointer)user); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
379 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
380 | } else if (g_str_equal(key_str, "LastImageUpdated")) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
381 | /* TODO: use somewhere */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
382 | user->last_image_updated = atol(value_str); |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
383 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
384 | } else if (g_str_equal(key_str, "Headline")) { |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
385 | g_free(user->headline); |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
386 | user->headline = value_str; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
387 | } else { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
388 | /* TODO: other fields in MsimUser */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
389 | gchar *msg; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
390 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
391 | msg = g_strdup_printf("msim_store_user_info_each: unknown field %s=%s", |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
392 | key_str, value_str); |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
393 | g_free(value_str); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
394 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
395 | msim_unrecognized(NULL, NULL, msg); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
396 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
397 | g_free(msg); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
398 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
399 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
400 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
401 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
402 | * Save buddy information to the buddy list from a user info reply message. |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
403 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
404 | * @param session |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
405 | * @param msg The user information reply, with any amount of information. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
406 | * @param user The structure to save to, or NULL to save in PurpleBuddy->proto_data. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
407 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
408 | * Variable information is saved to the passed MsimUser structure. Permanent |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
409 | * information (UserID) is stored in the blist node of the buddy list (and |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
410 | * ends up in blist.xml, persisted to disk) if it exists. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
411 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
412 | * If the function has no buddy information, this function |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
413 | * is a no-op (and returns FALSE). |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
414 | */ |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
415 | gboolean |
|
25233
8a3fe5c4e2f4
Fix a leak in myspace prpl.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25212
diff
changeset
|
416 | msim_store_user_info(MsimSession *session, const MsimMessage *msg, MsimUser *user) |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
417 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
418 | gchar *username; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
419 | MsimMessage *body, *body_node; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
420 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
421 | g_return_val_if_fail(MSIM_SESSION_VALID(session), FALSE); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
422 | g_return_val_if_fail(msg != NULL, FALSE); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
423 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
424 | body = msim_msg_get_dictionary(msg, "body"); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
425 | if (!body) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
426 | return FALSE; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
427 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
428 | |
|
25212
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
429 | if (msim_msg_get_integer(msg, "dsn") == MG_OWN_IM_INFO_DSN && |
|
25297
37cdf2a6d174
Fix a typo in a comment
Mark Doliner <markdoliner@pidgin.im>
parents:
25240
diff
changeset
|
430 | msim_msg_get_integer(msg, "lid") == MG_OWN_IM_INFO_LID) |
|
37cdf2a6d174
Fix a typo in a comment
Mark Doliner <markdoliner@pidgin.im>
parents:
25240
diff
changeset
|
431 | { |
|
25212
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
432 | /* |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
433 | * Some of this info will be available on the buddy list if the |
|
25297
37cdf2a6d174
Fix a typo in a comment
Mark Doliner <markdoliner@pidgin.im>
parents:
25240
diff
changeset
|
434 | * user has themselves as their own buddy. |
|
25212
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
435 | * |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
436 | * Much of the info is already available in MsimSession, |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
437 | * stored in msim_we_are_logged_on(). |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
438 | */ |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
439 | gchar *tmpstr; |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
440 | |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
441 | tmpstr = msim_msg_get_string(body, "ShowOnlyToList"); |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
442 | if (tmpstr != NULL) { |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
443 | session->show_only_to_list = g_str_equal(tmpstr, "True"); |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
444 | g_free(tmpstr); |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
445 | } |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
446 | |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
447 | session->privacy_mode = msim_msg_get_integer(body, "PrivacyMode"); |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
448 | session->offline_message_mode = msim_msg_get_integer(body, "OfflineMessageMode"); |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
449 | |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
450 | msim_send(session, |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
451 | "blocklist", MSIM_TYPE_BOOLEAN, TRUE, |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
452 | "sesskey", MSIM_TYPE_INTEGER, session->sesskey, |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
453 | "idlist", MSIM_TYPE_STRING, |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
454 | g_strdup_printf("w%d|c%d", |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
455 | session->show_only_to_list ? 1 : 0, |
|
25302
c29df5c659cf
This is a bitmask, and the "c" value here should be the least significant
Mark Doliner <markdoliner@pidgin.im>
parents:
25297
diff
changeset
|
456 | session->privacy_mode & 1), |
|
25212
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
457 | NULL); |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
458 | } else if (msim_msg_get_integer(msg, "dsn") == MG_OWN_MYSPACE_INFO_DSN && |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
459 | msim_msg_get_integer(msg, "lid") == MG_OWN_MYSPACE_INFO_LID) { |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
460 | /* TODO: same as above, but for MySpace info. */ |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
461 | } |
|
9b3b9168c9e1
Grab the "Who can contact me? Only people on my buddy list?" and the
Mark Doliner <markdoliner@pidgin.im>
parents:
25209
diff
changeset
|
462 | |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
463 | username = msim_msg_get_string(body, "UserName"); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
464 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
465 | if (!username) { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
466 | purple_debug_info("msim", |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
467 | "msim_process_reply: not caching body, no UserName\n"); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
468 | msim_msg_free(body); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
469 | g_free(username); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
470 | return FALSE; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
471 | } |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
472 | |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
473 | /* Null user = find and store in PurpleBuddy's proto_data */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
474 | if (!user) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
475 | user = msim_find_user(session, username); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
476 | if (!user) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
477 | msim_msg_free(body); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
478 | g_free(username); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
479 | return FALSE; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
480 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
481 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
482 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
483 | /* TODO: make looping over MsimMessage's easier. */ |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
484 | for (body_node = body; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
485 | body_node != NULL; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
486 | body_node = msim_msg_get_next_element_node(body_node)) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
487 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
488 | const gchar *key_str; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
489 | gchar *value_str; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
490 | MsimMessageElement *elem; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
491 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
492 | elem = (MsimMessageElement *)body_node->data; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
493 | key_str = elem->name; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
494 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
495 | value_str = msim_msg_get_string_from_element(elem); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
496 | msim_store_user_info_each(key_str, value_str, user); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
497 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
498 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
499 | msim_msg_free(body); |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
500 | g_free(username); |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
501 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
502 | return TRUE; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
503 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
504 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
505 | #if 0 |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
506 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
507 | * Return whether a given username is syntactically valid. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
508 | * Note: does not actually check that the user exists. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
509 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
510 | static gboolean |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
511 | msim_is_valid_username(const gchar *user) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
512 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
513 | return !msim_is_userid(user) && /* Not all numeric */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
514 | strlen(user) <= MSIM_MAX_USERNAME_LENGTH |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
515 | && strspn(user, "0123456789" |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
516 | "abcdefghijklmnopqrstuvwxyz" |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
517 | "_" |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
518 | "ABCDEFGHIJKLMNOPQRSTUVWXYZ") == strlen(user); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
519 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
520 | #endif |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
521 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
522 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
523 | * Check if a string is a userid (all numeric). |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
524 | * |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
525 | * @param user The user id, email, or name. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
526 | * |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
527 | * @return TRUE if is userid, FALSE if not. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
528 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
529 | gboolean |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
530 | msim_is_userid(const gchar *user) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
531 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
532 | g_return_val_if_fail(user != NULL, FALSE); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
533 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
534 | return strspn(user, "0123456789") == strlen(user); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
535 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
536 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
537 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
538 | * Check if a string is an email address (contains an @). |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
539 | * |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
540 | * @param user The user id, email, or name. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
541 | * |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
542 | * @return TRUE if is an email, FALSE if not. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
543 | * |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
544 | * This function is not intended to be used as a generic |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
545 | * means of validating email addresses, but to distinguish |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
546 | * between a user represented by an email address from |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
547 | * other forms of identification. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
548 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
549 | static gboolean |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
550 | msim_is_email(const gchar *user) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
551 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
552 | g_return_val_if_fail(user != NULL, FALSE); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
553 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
554 | return strchr(user, '@') != NULL; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
555 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
556 | |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
557 | /** |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
558 | * Asynchronously lookup user information, calling callback when receive result. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
559 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
560 | * @param session |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
561 | * @param user The user id, email address, or username. Not freed. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
562 | * @param cb Callback, called with user information when available. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
563 | * @param data An arbitray data pointer passed to the callback. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
564 | */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
565 | /* TODO: change to not use callbacks */ |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
566 | void |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
567 | msim_lookup_user(MsimSession *session, const gchar *user, MSIM_USER_LOOKUP_CB cb, gpointer data) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
568 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
569 | MsimMessage *body; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
570 | gchar *field_name; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
571 | guint rid, cmd, dsn, lid; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
572 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
573 | g_return_if_fail(MSIM_SESSION_VALID(session)); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
574 | g_return_if_fail(user != NULL); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
575 | /* Callback can be null to not call anything, just lookup & store information. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
576 | /*g_return_if_fail(cb != NULL);*/ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
577 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
578 | purple_debug_info("msim", "msim_lookup_userid: " |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
579 | "asynchronously looking up <%s>\n", user); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
580 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
581 | /* Setup callback. Response will be associated with request using 'rid'. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
582 | rid = msim_new_reply_callback(session, cb, data); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
583 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
584 | /* Send request */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
585 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
586 | cmd = MSIM_CMD_GET; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
587 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
588 | if (msim_is_userid(user)) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
589 | field_name = "UserID"; |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
590 | dsn = MG_MYSPACE_INFO_BY_ID_DSN; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
591 | lid = MG_MYSPACE_INFO_BY_ID_LID; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
592 | } else if (msim_is_email(user)) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
593 | field_name = "Email"; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
594 | dsn = MG_MYSPACE_INFO_BY_STRING_DSN; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
595 | lid = MG_MYSPACE_INFO_BY_STRING_LID; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
596 | } else { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
597 | field_name = "UserName"; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
598 | dsn = MG_MYSPACE_INFO_BY_STRING_DSN; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
599 | lid = MG_MYSPACE_INFO_BY_STRING_LID; |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
600 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
601 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
602 | body = msim_msg_new( |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
603 | field_name, MSIM_TYPE_STRING, g_strdup(user), |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
604 | NULL); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
605 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
606 | g_return_if_fail(msim_send(session, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
607 | "persist", MSIM_TYPE_INTEGER, 1, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
608 | "sesskey", MSIM_TYPE_INTEGER, session->sesskey, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
609 | "cmd", MSIM_TYPE_INTEGER, 1, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
610 | "dsn", MSIM_TYPE_INTEGER, dsn, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
611 | "uid", MSIM_TYPE_INTEGER, session->userid, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
612 | "lid", MSIM_TYPE_INTEGER, lid, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
613 | "rid", MSIM_TYPE_INTEGER, rid, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
614 | "body", MSIM_TYPE_DICTIONARY, body, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
615 | NULL)); |
|
22436
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
616 | } |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
617 | |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
618 | /** |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
619 | * Called after username is set. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
620 | */ |
|
25233
8a3fe5c4e2f4
Fix a leak in myspace prpl.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25212
diff
changeset
|
621 | static void msim_username_is_set_cb(MsimSession *session, const MsimMessage *userinfo, gpointer data) |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
622 | { |
|
25233
8a3fe5c4e2f4
Fix a leak in myspace prpl.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25212
diff
changeset
|
623 | gchar *username; |
|
8a3fe5c4e2f4
Fix a leak in myspace prpl.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25212
diff
changeset
|
624 | const gchar *errmsg; |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
625 | MsimMessage *body; |
|
19795
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
626 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
627 | guint rid; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
628 | gint cmd,dsn,uid,lid,code; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
629 | /* \persistr\\cmd\258\dsn\9\uid\204084363\lid\14\rid\369\body\UserName=TheAlbinoRhino1.Code=0\final\ */ |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
630 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
631 | purple_debug_info("msim","username_is_set made\n"); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
632 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
633 | g_return_if_fail(MSIM_SESSION_VALID(session)); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
634 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
635 | cmd = msim_msg_get_integer(userinfo, "cmd"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
636 | dsn = msim_msg_get_integer(userinfo, "dsn"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
637 | uid = msim_msg_get_integer(userinfo, "uid"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
638 | lid = msim_msg_get_integer(userinfo, "lid"); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
639 | body = msim_msg_get_dictionary(userinfo, "body"); |
|
27635
0cd19038c417
More uniformity among disconnect error messages
Mark Doliner <markdoliner@pidgin.im>
parents:
27376
diff
changeset
|
640 | errmsg = _("An error occurred while trying to set the username. " |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
641 | "Please try again, or visit http://editprofile.myspace.com/index.cfm?" |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
642 | "fuseaction=profile.username to set your username."); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
643 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
644 | if (!body) { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
645 | purple_debug_info("msim_username_is_set_cb", "No body"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
646 | /* Error: No body! */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
647 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, errmsg); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
648 | } |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
649 | username = msim_msg_get_string(body, "UserName"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
650 | code = msim_msg_get_integer(body,"Code"); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
651 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
652 | msim_msg_free(body); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
653 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
654 | purple_debug_info("msim_username_is_set_cb", |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
655 | "cmd = %d, dsn = %d, lid = %d, code = %d, username = %s\n", |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
656 | cmd, dsn, lid, code, username); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
657 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
658 | if (cmd == (MSIM_CMD_BIT_REPLY | MSIM_CMD_PUT) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
659 | && dsn == MC_SET_USERNAME_DSN |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
660 | && lid == MC_SET_USERNAME_LID) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
661 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
662 | purple_debug_info("msim_username_is_set_cb", "Proper cmd,dsn,lid for username_is_set!\n"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
663 | purple_debug_info("msim_username_is_set_cb", "Username Set with return code %d\n",code); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
664 | if (code == 0) { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
665 | /* Good! */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
666 | session->username = username; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
667 | msim_we_are_logged_on(session); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
668 | } else { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
669 | purple_debug_info("msim_username_is_set", "code is %d",code); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
670 | /* TODO: what to do here? */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
671 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
672 | } else if (cmd == (MSIM_CMD_BIT_REPLY | MSIM_CMD_GET) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
673 | && dsn == MG_MYSPACE_INFO_BY_STRING_DSN |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
674 | && lid == MG_MYSPACE_INFO_BY_STRING_LID) { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
675 | /* Not quite done... ONE MORE STEP :) */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
676 | rid = msim_new_reply_callback(session, msim_username_is_set_cb, data); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
677 | body = msim_msg_new("UserName", MSIM_TYPE_STRING, g_strdup(username), NULL); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
678 | if (!msim_send(session, "persist", MSIM_TYPE_INTEGER, 1, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
679 | "sesskey", MSIM_TYPE_INTEGER, session->sesskey, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
680 | "cmd", MSIM_TYPE_INTEGER, MSIM_CMD_PUT, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
681 | "dsn", MSIM_TYPE_INTEGER, MC_SET_USERNAME_DSN, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
682 | "uid", MSIM_TYPE_INTEGER, session->userid, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
683 | "lid", MSIM_TYPE_INTEGER, MC_SET_USERNAME_LID, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
684 | "rid", MSIM_TYPE_INTEGER, rid, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
685 | "body", MSIM_TYPE_DICTIONARY, body, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
686 | NULL)) { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
687 | /* Error! */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
688 | /* Can't set... Disconnect */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
689 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, errmsg); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
690 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
691 | |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
692 | } else { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
693 | /* Error! */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
694 | purple_debug_info("msim","username_is_set Error: Invalid cmd/dsn/lid combination"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
695 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, errmsg); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
696 | } |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
697 | } |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
698 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
699 | /** |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
700 | * Asynchronously set new username, calling callback when receive result. |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
701 | * |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
702 | * @param session |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
703 | * @param username The username we're setting for ourselves. Not freed. |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
704 | * @param cb Callback, called with user information when available. |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
705 | * @param data An arbitray data pointer passed to the callback. |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
706 | */ |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
707 | static void |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
708 | msim_set_username(MsimSession *session, const gchar *username, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
709 | MSIM_USER_LOOKUP_CB cb, gpointer data) |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
710 | { |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
711 | MsimMessage *body; |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
712 | guint rid; |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
713 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
714 | g_return_if_fail(MSIM_SESSION_VALID(session)); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
715 | g_return_if_fail(username != NULL); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
716 | g_return_if_fail(cb != NULL); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
717 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
718 | purple_debug_info("msim", "msim_set_username: " |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
719 | "Setting username %s\n", username); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
720 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
721 | /* Setup callback. Response will be associated with request using 'rid'. */ |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
722 | rid = msim_new_reply_callback(session, cb, data); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
723 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
724 | /* TODO: I dont know if the ContactType is -/ALWAYS/- 1 */ |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
725 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
726 | body = msim_msg_new("UserName", MSIM_TYPE_STRING, g_strdup(username),NULL); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
727 | /* \setinfo\\sesskey\469958979\info\Age=21.AvatarUrl=.BandName=.ContactType=1.DisplayName=Msim.Gender=M.ImageURL=http:/1/1x.myspace.com/1images/1no_pic.gif.LastLogin=128335268400000000.Location=US.ShowAvatar=False.SongName=.TotalFriends=1.UserName=msimprpl2\final\ |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
728 | */ |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
729 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
730 | /* Send request */ |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
731 | g_return_if_fail(msim_send(session, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
732 | "setinfo", MSIM_TYPE_BOOLEAN, TRUE, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
733 | "sesskey", MSIM_TYPE_INTEGER, session->sesskey, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
734 | "info", MSIM_TYPE_DICTIONARY, body, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
735 | NULL)); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
736 | body = msim_msg_new("UserName", MSIM_TYPE_STRING, g_strdup(username),NULL); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
737 | g_return_if_fail(msim_send(session, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
738 | "persist", MSIM_TYPE_INTEGER, 1, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
739 | "sesskey", MSIM_TYPE_INTEGER, session->sesskey, |
|
22435
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
740 | "cmd", MSIM_TYPE_INTEGER, MSIM_CMD_GET, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
741 | "dsn", MSIM_TYPE_INTEGER, MG_MYSPACE_INFO_BY_STRING_DSN, |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
742 | "uid", MSIM_TYPE_INTEGER, session->userid, |
|
22435
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
743 | "lid", MSIM_TYPE_INTEGER, MG_MYSPACE_INFO_BY_STRING_LID, |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
744 | "rid", MSIM_TYPE_INTEGER, rid, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
745 | "body", MSIM_TYPE_DICTIONARY, body, |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
746 | NULL)); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
747 | } |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
748 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
749 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
750 | * They've confirmed that username that was available, Lets make the call to set it |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
751 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
752 | static void msim_set_username_confirmed_cb(PurpleConnection *gc) |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
753 | { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
754 | MsimMessage *user_msg; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
755 | MsimSession *session; |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
756 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
757 | g_return_if_fail(gc != NULL); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
758 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
759 | session = (MsimSession *)gc->proto_data; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
760 | |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
761 | g_return_if_fail(MSIM_SESSION_VALID(session)); |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
762 | |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
763 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
764 | user_msg = msim_msg_new( |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
765 | "user", MSIM_TYPE_STRING, g_strdup(msim_username_to_set), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
766 | NULL); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
767 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
768 | purple_debug_info("msim_set_username_confirmed_cb", "Setting username to %s\n", msim_username_to_set); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
769 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
770 | /* Sets our username... keep your fingers crossed :) */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
771 | msim_set_username(session, msim_username_to_set, msim_username_is_set_cb, user_msg); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
772 | g_free(msim_username_to_set); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
773 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
774 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
775 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
776 | * This is where we do a bit more than merely prompt the user. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
777 | * Now we have some real data to tell us the state of their requested username |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
778 | * \persistr\\cmd\257\dsn\5\uid\204084363\lid\7\rid\367\body\UserName=TheAlbinoRhino1\final\ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
779 | */ |
|
25233
8a3fe5c4e2f4
Fix a leak in myspace prpl.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25212
diff
changeset
|
780 | static void msim_username_is_available_cb(MsimSession *session, const MsimMessage *userinfo, gpointer data) |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
781 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
782 | MsimMessage *msg; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
783 | gchar *username; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
784 | MsimMessage *body; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
785 | gint userid; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
786 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
787 | purple_debug_info("msim_username_is_available_cb", "Look up username callback made\n"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
788 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
789 | msg = (MsimMessage *)data; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
790 | g_return_if_fail(MSIM_SESSION_VALID(session)); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
791 | g_return_if_fail(msg != NULL); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
792 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
793 | username = msim_msg_get_string(msg, "user"); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
794 | body = msim_msg_get_dictionary(userinfo, "body"); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
795 | |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
796 | if (!body) { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
797 | purple_debug_info("msim_username_is_available_cb", "No body for %s?!\n", username); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
798 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, |
|
27635
0cd19038c417
More uniformity among disconnect error messages
Mark Doliner <markdoliner@pidgin.im>
parents:
27376
diff
changeset
|
799 | _("An error occurred while trying to set the username. " |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
800 | "Please try again, or visit http://editprofile.myspace.com/index.cfm?" |
|
27635
0cd19038c417
More uniformity among disconnect error messages
Mark Doliner <markdoliner@pidgin.im>
parents:
27376
diff
changeset
|
801 | "fuseaction=profile.username to set your username.")); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
802 | return; |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
803 | } |
|
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
804 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
805 | userid = msim_msg_get_integer(body, "UserID"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
806 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
807 | purple_debug_info("msim_username_is_available_cb", "Returned username is %s and userid is %d\n", username, userid); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
808 | msim_msg_free(body); |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
809 | msim_msg_free(msg); |
|
22435
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
810 | |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
811 | /* The response for a free username will ONLY have the UserName in it.. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
812 | * thus making UserID return 0 when we msg_get_integer it */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
813 | if (userid == 0) { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
814 | /* This username is currently unused */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
815 | purple_debug_info("msim_username_is_available_cb", "Username available. Prompting to Confirm.\n"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
816 | msim_username_to_set = g_strdup(username); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
817 | g_free(username); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
818 | purple_request_yes_no(session->gc, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
819 | _("MySpaceIM - Username Available"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
820 | _("This username is available. Would you like to set it?"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
821 | _("ONCE SET, THIS CANNOT BE CHANGED!"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
822 | 0, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
823 | session->account, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
824 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
825 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
826 | session->gc, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
827 | G_CALLBACK(msim_set_username_confirmed_cb), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
828 | G_CALLBACK(msim_do_not_set_username_cb)); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
829 | } else { |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
830 | /* Looks like its in use or we have an invalid response */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
831 | purple_debug_info("msim_username_is_available_cb", "Username unavaiable. Prompting for new entry.\n"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
832 | purple_request_input(session->gc, _("MySpaceIM - Please Set a Username"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
833 | _("This username is unavailable."), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
834 | _("Please try another username:"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
835 | "", FALSE, FALSE, NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
836 | _("OK"), G_CALLBACK(msim_check_username_availability_cb), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
837 | _("Cancel"), G_CALLBACK(msim_do_not_set_username_cb), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
838 | session->account, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
839 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
840 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
841 | session->gc); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
842 | } |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
843 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
844 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
845 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
846 | * Once they've submitted their desired new username, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
847 | * check if it is available here. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
848 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
849 | static void msim_check_username_availability_cb(PurpleConnection *gc, const char *username_to_check) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
850 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
851 | MsimMessage *user_msg; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
852 | MsimSession *session; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
853 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
854 | g_return_if_fail(gc != NULL); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
855 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
856 | session = (MsimSession *)gc->proto_data; |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
857 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
858 | g_return_if_fail(MSIM_SESSION_VALID(session)); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
859 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
860 | purple_debug_info("msim_check_username_availability_cb", "Checking username: %s\n", username_to_check); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
861 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
862 | user_msg = msim_msg_new( |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
863 | "user", MSIM_TYPE_STRING, g_strdup(username_to_check), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
864 | NULL); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
865 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
866 | /* 25 characters: letters, numbers, underscores */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
867 | /* TODO: VERIFY ABOVE */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
868 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
869 | /* \persist\1\sesskey\288500516\cmd\1\dsn\5\uid\204084363\lid\7\rid\367\body\UserName=Jaywalker\final\ */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
870 | /* Official client uses a standard lookup... So do we! */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
871 | msim_lookup_user(session, username_to_check, msim_username_is_available_cb, user_msg); |
|
22433
41a60cb99e28
In msimprpl, if the user signs in without any username set (this will happen
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22358
diff
changeset
|
872 | } |
|
25197
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
873 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
874 | /*** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
875 | * If they hit cancel or no at any point in the Setting Username process, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
876 | * we come here. Currently we're safe letting them get by without |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
877 | * setting it, unless we hear otherwise. So for now give them a menu. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
878 | * If this becomes an issue with the official client then boot them here. |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
879 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
880 | void msim_do_not_set_username_cb(PurpleConnection *gc) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
881 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
882 | purple_debug_info("msim", "Don't set username"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
883 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
884 | /* Protocol won't log in now without a username set.. Disconnect */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
885 | purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, _("No username set")); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
886 | } |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
887 | |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
888 | /** |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
889 | * They've decided to set a username! Yay! |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
890 | */ |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
891 | void msim_set_username_cb(PurpleConnection *gc) |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
892 | { |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
893 | g_return_if_fail(gc != NULL); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
894 | purple_debug_info("msim","Set username\n"); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
895 | purple_request_input(gc, _("MySpaceIM - Please Set a Username"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
896 | _("Please enter a username to check its availability:"), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
897 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
898 | "", FALSE, FALSE, NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
899 | _("OK"), G_CALLBACK(msim_check_username_availability_cb), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
900 | _("Cancel"), G_CALLBACK(msim_do_not_set_username_cb), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
901 | purple_connection_get_account(gc), |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
902 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
903 | NULL, |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
904 | gc); |
|
077b4d6fc595
No functionality change--just cleanup.
Mark Doliner <markdoliner@pidgin.im>
parents:
25193
diff
changeset
|
905 | } |