Mon, 18 Feb 2008 19:20:39 +0000
If the user sets a username (because they don't have one), and it succeeds,
then set MsimSession.username as well and update the server alias, so that
outgoing messages correctly appear as from their username instead of uid.
Based on patch from Jaywalker. Closes #4857.
|
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 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
22 | static void msim_store_user_info_each(const gchar *key_str, gchar *value_str, MsimUser *user); |
|
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
|
23 | static gchar *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
|
24 | static void msim_downloaded_buddy_icon(PurpleUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
25 | gsize len, const gchar *error_message); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
26 | |
|
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
|
27 | /* Callbacks for setting the username bit */ |
|
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
|
28 | static void msim_check_username_availability_cb(PurpleConnection *gc, const char *value); |
|
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
|
29 | static void msim_username_is_available_cb(MsimSession *session, MsimMessage *userinfo, 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
|
30 | static void msim_set_username_confirmed_cb(PurpleConnection *gc); |
|
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
|
31 | static void msim_username_is_set_cb(MsimSession *session, MsimMessage *userinfo, 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
|
32 | static void 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
|
33 | 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
|
34 | 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
|
35 | |
|
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
|
36 | /** Format the "now playing" indicator, showing the artist and song. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
37 | * @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
|
38 | */ |
|
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 | 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
|
40 | 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
|
41 | { |
|
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
|
42 | 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
|
43 | 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
|
44 | (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
|
45 | (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
|
46 | } 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
|
47 | 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
|
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 | } |
|
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 | /** Get the MsimUser from a PurpleBuddy, creating it if needed. */ |
|
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 | 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
|
52 | msim_get_user_from_buddy(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
|
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 | 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
|
55 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
56 | 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
|
57 | 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
|
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 | |
|
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 | if (!buddy->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
|
61 | /* 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
|
62 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
63 | /* TODO: where is this 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
|
64 | 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
|
65 | user->buddy = 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
|
66 | buddy->proto_data = (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
|
67 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
68 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
69 | user = (MsimUser *)(buddy->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
|
70 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
71 | 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
|
72 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
73 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
74 | /** Find and return an MsimUser * representing a user on the buddy list, 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
|
75 | 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
|
76 | 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
|
77 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
78 | 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
|
79 | 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
|
80 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
81 | 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
|
82 | 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
|
83 | 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
|
84 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
85 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
86 | user = msim_get_user_from_buddy(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
|
87 | |
|
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 | 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
|
89 | } |
|
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 | /** Append user information to a PurpleNotifyUserInfo, given an 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
|
92 | * 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
|
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 | 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
|
95 | 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
|
96 | { |
|
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
|
97 | 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
|
98 | 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
|
99 | guint uid; |
|
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 | 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
|
101 | |
|
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 | /* Useful to identify the account the tooltip refers to. |
|
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 | * 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
|
104 | 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
|
105 | 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
|
106 | } |
|
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 | uid = purple_blist_node_get_int(&user->buddy->node, "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
|
109 | |
|
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 | 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
|
111 | /* TODO: link to username, if available */ |
|
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
|
112 | if (uid) { |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
113 | char *profile = g_strdup_printf("<a href=\"http://myspace.com/%d\">http://myspace.com/%d</a>", |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
114 | uid, uid); |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
115 | purple_notify_user_info_add_pair(user_info, _("Profile"), profile); |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
116 | g_free(profile); |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
117 | } |
|
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
|
118 | } |
|
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 | |
|
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
|
141 | 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
|
142 | |
|
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
|
143 | 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
|
144 | PurpleStatus *status; |
|
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
|
145 | const char *artist, *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
|
146 | |
|
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 | 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
|
148 | 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
|
149 | artist = purple_status_get_attr_string(status, PURPLE_TUNE_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
|
150 | |
|
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 | str = msim_format_now_playing(artist, 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
|
152 | if (str && *str) { |
|
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
|
153 | purple_notify_user_info_add_pair(user_info, _("Song"), str); |
|
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
|
154 | } |
|
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
|
155 | g_free(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
|
156 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
157 | |
|
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 | /* 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
|
159 | 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
|
160 | 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
|
161 | 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
|
162 | 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
|
163 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
164 | |
|
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 | 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
|
166 | /* 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
|
167 | 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
|
168 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
169 | 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
|
170 | 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
|
171 | |
|
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 | 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
|
173 | 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
|
174 | } 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
|
175 | 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
|
176 | } 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
|
177 | 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
|
178 | } |
|
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 | 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
|
180 | 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
|
181 | 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
|
182 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
183 | } |
|
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 | |
|
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
|
185 | /** Set the currently playing song artist and 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
|
186 | * |
|
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
|
187 | * @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
|
188 | * |
|
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
|
189 | * @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
|
190 | * |
|
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
|
191 | * @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
|
192 | * |
|
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
|
193 | * 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
|
194 | * |
|
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
|
195 | * 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
|
196 | * 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
|
197 | */ |
|
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
|
198 | 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
|
199 | { |
|
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
|
200 | PurplePresence *presence; |
|
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
|
201 | const char *prev_artist, *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
|
202 | |
|
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
|
203 | 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
|
204 | 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
|
205 | |
|
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
|
206 | if (new_artist && !strlen(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
|
207 | new_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
|
208 | if (new_title && !strlen(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
|
209 | 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
|
210 | |
|
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
|
211 | if (!new_artist && !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
|
212 | purple_prpl_got_user_status_deactive(user->buddy->account, user->buddy->name, "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
|
213 | 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
|
214 | } |
|
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
|
215 | |
|
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
|
216 | 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
|
217 | |
|
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
|
218 | 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
|
219 | PurpleStatus *status; |
|
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
|
220 | |
|
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
|
221 | 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
|
222 | 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
|
223 | prev_artist = purple_status_get_attr_string(status, PURPLE_TUNE_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
|
224 | } |
|
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
|
225 | |
|
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
|
226 | 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
|
227 | new_artist = prev_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
|
228 | |
|
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
|
229 | 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
|
230 | 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
|
231 | |
|
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
|
232 | purple_prpl_got_user_status(user->buddy->account, user->buddy->name, "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
|
233 | 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
|
234 | 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
|
235 | 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
|
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 | |
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
238 | /** Store a field of information about a buddy. |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
239 | * |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
240 | * @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
|
241 | * @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
|
242 | * 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
|
243 | * @param user User to store data in. Existing data will be replaced. |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
244 | * */ |
|
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
|
245 | 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
|
246 | 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
|
247 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
248 | 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
|
249 | /* Save to buddy list, if it exists, for quick cached uid lookup with msim_uid2username_from_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
|
250 | 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
|
251 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
252 | purple_debug_info("msim", "associating uid %s with username %s\n", key_str, user->buddy->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
|
253 | purple_blist_node_set_int(&user->buddy->node, "UserID", atol(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
|
254 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
255 | /* 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
|
256 | } 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
|
257 | 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
|
258 | 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
|
259 | } 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
|
260 | 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
|
261 | 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
|
262 | } 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
|
263 | 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
|
264 | 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
|
265 | } 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
|
266 | user->total_friends = atol(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
|
267 | } 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
|
268 | 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
|
269 | 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
|
270 | } 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
|
271 | msim_set_artist_or_title(user, value_str, 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
|
272 | } 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
|
273 | msim_set_artist_or_title(user, NULL, 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
|
274 | } 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
|
275 | /* 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
|
276 | 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
|
277 | } else if (g_str_equal(key_str, "ImageURL") || g_str_equal(key_str, "AvatarURL")) { |
| 21071 | 278 | const gchar *previous_url; |
| 279 | ||
|
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
|
280 | if (user->temporary_user) { |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
281 | /* This user will be destroyed soon; don't try to look up its image or avatar, |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
282 | * 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
|
283 | */ |
|
4ccbe30d873e
When getting info on a myspace user not on the buddy list, a temporary
Evan Schoenberg <evands@pidgin.im>
parents:
20815
diff
changeset
|
284 | 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
|
285 | 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
|
286 | } |
| 21098 | 287 | |
| 288 | if (user->temporary_user) { | |
| 289 | /* This user will be destroyed soon; don't try to look up its image or avatar, | |
| 290 | * since that won't return immediately and we will end up accessing freed data. | |
| 291 | */ | |
| 292 | g_free(value_str); | |
| 293 | return; | |
| 294 | } | |
| 295 | ||
|
20402
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
296 | 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
|
297 | |
|
a3a7cbfe1c1c
Fix a few memory leaks in #3281 (details in ticket).
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
20376
diff
changeset
|
298 | 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
|
299 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
300 | /* 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
|
301 | 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
|
302 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
303 | purple_buddy_icons_set_for_user(user->buddy->account, |
|
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 | user->buddy->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
|
305 | NULL, 0, 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
|
306 | 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
|
307 | } |
| 21098 | 308 | |
|
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
|
309 | /* 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
|
310 | 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
|
311 | |
|
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 | /* 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
|
313 | 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
|
314 | 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
|
315 | } |
|
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 | } 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
|
317 | /* 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
|
318 | 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
|
319 | 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
|
320 | } 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
|
321 | 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
|
322 | 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
|
323 | } 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
|
324 | /* 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
|
325 | 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
|
326 | |
|
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 | 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
|
328 | 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
|
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 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
331 | 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
|
332 | |
|
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 | 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
|
334 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
335 | } |
|
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 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
337 | /** Save buddy information to the buddy list from a user info reply message. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
338 | * |
|
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 | * @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
|
340 | * @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
|
341 | * @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
|
342 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
343 | * 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
|
344 | * 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
|
345 | * 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
|
346 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
347 | * 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
|
348 | * 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
|
349 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
350 | */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
351 | gboolean |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
352 | msim_store_user_info(MsimSession *session, MsimMessage *msg, 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
|
353 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
354 | 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
|
355 | 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
|
356 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
357 | 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
|
358 | 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
|
359 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
360 | 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
|
361 | 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
|
362 | 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
|
363 | } |
|
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 | 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
|
366 | |
|
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 | if (!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
|
368 | purple_debug_info("msim", |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
369 | "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
|
370 | 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
|
371 | 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
|
372 | 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
|
373 | } |
|
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 | |
|
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 | /* 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
|
376 | 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
|
377 | 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
|
378 | 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
|
379 | 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
|
380 | 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
|
381 | 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
|
382 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
383 | } |
|
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 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
385 | /* TODO: make looping over MsimMessage's easier. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
386 | for (body_node = 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
|
387 | body_node != 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
|
388 | 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
|
389 | { |
|
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 | 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
|
391 | 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
|
392 | 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
|
393 | |
|
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 | 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
|
395 | 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
|
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 | 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
|
398 | 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
|
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 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
401 | if (msim_msg_get_integer(msg, "dsn") == MG_OWN_IM_INFO_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
|
402 | msim_msg_get_integer(msg, "lid") == MG_OWN_IM_INFO_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
|
403 | /* TODO: do something with our own IM info, if we need it for some |
|
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 | * specific purpose. Otherwise it is available on the buddy list, |
|
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 | * if the user has themselves as their own 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
|
406 | * |
|
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 | * However, much of the info is already available in MsimSession, |
|
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 | * stored in msim_we_are_logged_on(). */ |
|
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 | } else if (msim_msg_get_integer(msg, "dsn") == MG_OWN_MYSPACE_INFO_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
|
410 | msim_msg_get_integer(msg, "lid") == MG_OWN_MYSPACE_INFO_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
|
411 | /* TODO: same as above, but for MySpace 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
|
412 | } |
|
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 | |
|
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 | 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
|
415 | 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
|
416 | |
|
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 | 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
|
418 | } |
|
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 | |
|
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 | * 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
|
422 | * |
|
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 | * @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
|
424 | * @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
|
425 | * @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
|
426 | * @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
|
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 | /* TODO: change to not use callbacks */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
429 | 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
|
430 | 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
|
431 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
432 | 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
|
433 | 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
|
434 | 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
|
435 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
436 | 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
|
437 | 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
|
438 | /* 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
|
439 | /*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
|
440 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
441 | 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
|
442 | "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
|
443 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
444 | msim_msg_dump("msim_lookup_user: data=%s\n", (MsimMessage *)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
|
445 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
446 | /* 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
|
447 | 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
|
448 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
449 | /* 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
|
450 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
451 | 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
|
452 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
453 | 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
|
454 | field_name = "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
|
455 | dsn = MG_MYSPACE_INFO_BY_ID_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
|
456 | lid = MG_MYSPACE_INFO_BY_ID_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
|
457 | } 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
|
458 | 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
|
459 | 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
|
460 | 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
|
461 | } 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
|
462 | 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
|
463 | 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
|
464 | 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
|
465 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
466 | |
|
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 | 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
|
468 | 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
|
469 | 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
|
470 | |
|
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 | 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
|
472 | "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
|
473 | "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
|
474 | "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
|
475 | "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
|
476 | "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
|
477 | "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
|
478 | "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
|
479 | "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
|
480 | 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
|
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 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
484 | /** |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
485 | * Check if a string is a userid (all numeric). |
|
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 | * |
|
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 | * @param user The user id, email, or 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
|
488 | * |
|
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 | * @return TRUE if is userid, FALSE if not. |
|
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 | */ |
|
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 | gboolean |
|
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 | msim_is_userid(const gchar *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
|
493 | { |
|
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 | g_return_val_if_fail(user != 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
|
495 | |
|
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 | return strspn(user, "0123456789") == strlen(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 | |
|
22436
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
499 | /** Return whether a given username is syntactically valid. |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
500 | * Note: does not actually check that the user exists. */ |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
501 | gboolean |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
502 | msim_is_valid_username(const gchar *user) |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
503 | { |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
504 | return !msim_is_userid(user) && /* Not all numeric */ |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
505 | strlen(user) <= MSIM_MAX_USERNAME_LENGTH |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
506 | && strspn(user, "0123456789" |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
507 | "abcdefghijklmnopqrstuvwxyz" |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
508 | "_" |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
509 | "ABCDEFGHIJKLMNOPQRSTUVWXYZ") == strlen(user); |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
510 | } |
|
3483af12d74f
In msimprpl, add msim_is_valid_username() to check whether a username
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22435
diff
changeset
|
511 | |
|
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
|
512 | /** |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
513 | * Check if a string is an email address (contains an @). |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
514 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
515 | * @param user The user id, email, or 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
|
516 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
517 | * @return TRUE if is an email, FALSE if not. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
518 | * |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
519 | * This function is not intended to be used as a generic |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
520 | * means of validating email addresses, but to distinguish |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
521 | * between a user represented by an email address from |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
522 | * other forms of identification. |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
523 | */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
524 | gboolean |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
525 | msim_is_email(const gchar *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
|
526 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
527 | g_return_val_if_fail(user != 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
|
528 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
529 | return strchr(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
|
530 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
531 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
532 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
533 | /** Callback for when a buddy icon finished being downloaded. */ |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
534 | static 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
|
535 | msim_downloaded_buddy_icon(PurpleUtilFetchUrlData *url_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
|
536 | gpointer user_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
|
537 | const gchar *url_text, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
538 | gsize len, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
539 | const gchar *error_message) |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
540 | { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
541 | 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
|
542 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
543 | user = (MsimUser *)user_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
|
544 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
545 | purple_debug_info("msim_downloaded_buddy_icon", |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
546 | "Downloaded %d bytes\n", len); |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
547 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
548 | if (!url_text) { |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
549 | purple_debug_info("msim_downloaded_buddy_icon", |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
550 | "failed to download icon for %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
|
551 | user->buddy->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
|
552 | 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
|
553 | } |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
554 | |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
555 | purple_buddy_icons_set_for_user(user->buddy->account, |
|
149d7d8284cc
Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
19635
diff
changeset
|
556 | user->buddy->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
|
557 | g_memdup((gchar *)url_text, len), len, |
|
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 | /* Use URL itself as buddy icon "checksum" (TODO: ETag) */ |
|
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 | user->image_url); /* 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
|
560 | } |
|
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 | |
|
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
|
562 | /*** |
|
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
|
563 | * If they hit cancel or no at any point in the Setting Username process, we come here. * |
|
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
|
564 | * Currently.. We're safe letting them get by without setting it.. Unless we hear otherwise.. * |
|
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
|
565 | * So for now, give them a menu.. If this becomes an issue with the Official client.. boot them here */ |
|
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
|
566 | void msim_do_not_set_username_cb(PurpleConnection *gc) { |
|
22439
7d55e1ec2825
If the user sets a username (because they don't have one), and it succeeds,
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22436
diff
changeset
|
567 | purple_debug_info("msim", "Don't set username"); |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
568 | |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
569 | /* Protocol won't log in now without a username set.. Disconnect */ |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
570 | purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, _("No username set")); |
|
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
|
571 | } |
|
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
|
572 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
573 | /** They've decided to set a username! Yay! */ |
|
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
|
574 | void msim_set_username_cb(PurpleConnection *gc) { |
|
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
|
575 | g_return_if_fail(gc != 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
|
576 | purple_debug_info("msim","Set username\n"); |
|
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
|
577 | purple_request_input(gc, _("MySpaceIM - Please Set a 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
|
578 | _("Please enter a username to check its availability:"), |
|
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
|
579 | 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
|
580 | "", FALSE, FALSE, 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
|
581 | _("OK"), G_CALLBACK(msim_check_username_availability_cb), |
|
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
|
582 | _("Cancel"), G_CALLBACK(msim_do_not_set_username_cb), |
|
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
|
583 | purple_connection_get_account(gc), |
|
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
|
584 | 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
|
585 | 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
|
586 | gc); |
|
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
|
587 | } |
|
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
|
588 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
589 | /** Once they've submitted their desired new username, |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
590 | * check if it is available here. */ |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
591 | static void msim_check_username_availability_cb(PurpleConnection *gc, const char *username_to_check) |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
592 | { |
|
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
|
593 | MsimMessage *user_msg; |
|
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
|
594 | MsimSession *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
|
595 | |
|
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
|
596 | g_return_if_fail(gc != 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
|
597 | |
|
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
|
598 | session = (MsimSession *)gc->proto_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
|
599 | |
|
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
|
600 | 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
|
601 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
602 | purple_debug_info("msim_check_username_availability_cb", "Checking username: %s\n", username_to_check); |
|
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
|
603 | |
|
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
|
604 | user_msg = msim_msg_new( |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
605 | "user", MSIM_TYPE_STRING, g_strdup(username_to_check), |
|
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
|
606 | 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
|
607 | |
|
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
|
608 | /* 25 characters: letters, numbers, underscores */ |
|
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
|
609 | /* TODO: VERIFY ABOVE */ |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
610 | |
|
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
|
611 | /* \persist\1\sesskey\288500516\cmd\1\dsn\5\uid\204084363\lid\7\rid\367\body\UserName=Jaywalker\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
|
612 | /* Official client uses a standard lookup... So do we! */ |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
613 | 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
|
614 | } |
|
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
|
615 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
616 | /** This is where we do a bit more than merely prompt the user. |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
617 | * Now we have some real data to tell us the state of their requested username |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
618 | * \persistr\\cmd\257\dsn\5\uid\204084363\lid\7\rid\367\body\UserName=TheAlbinoRhino1\final\ */ |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
619 | static void msim_username_is_available_cb(MsimSession *session, MsimMessage *userinfo, gpointer data) |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
620 | { |
|
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
|
621 | MsimMessage *msg; |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
622 | gchar *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
|
623 | 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
|
624 | gint userid; |
|
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
|
625 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
626 | purple_debug_info("msim_username_is_available_cb", "Look up username callback 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
|
627 | |
|
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
|
628 | msg = (MsimMessage *)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
|
629 | 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
|
630 | g_return_if_fail(msg != 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
|
631 | |
|
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 | username = msim_msg_get_string(msg, "user"); |
|
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 | body = msim_msg_get_dictionary(userinfo, "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
|
634 | |
|
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
|
635 | if (!body) { |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
636 | purple_debug_info("msim_username_is_available_cb", "No body for %s?!\n", username); |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
637 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
638 | "An error occured while trying to set the username.\n" |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
639 | "Please try again, or visit http://editprofile.myspace.com/index.cfm?" |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
640 | "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
|
641 | return; |
|
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
|
642 | } |
|
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 | userid = msim_msg_get_integer(body, "UserID"); |
|
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
|
645 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
646 | 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
|
647 | msim_msg_free(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
|
648 | msim_msg_free(msg); |
|
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
|
649 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
650 | /* The response for a free username will ONLY have the UserName in it.. |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
651 | * thus making UserID return 0 when we msg_get_integer it */ |
|
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
|
652 | if (userid == 0) { |
|
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
|
653 | /* This username is currently unused */ |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
654 | purple_debug_info("msim_username_is_available_cb", "Username available. Prompting to Confirm.\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
|
655 | msim_username_to_set = g_strdup(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
|
656 | g_free(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
|
657 | purple_request_yes_no(session->gc, |
|
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
|
658 | _("MySpaceIM - Username 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
|
659 | _("This username is available. Would you like to set it?"), |
|
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
|
660 | _("ONCE SET, THIS CANNOT BE CHANGED!"), |
|
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
|
661 | 0, |
|
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
|
662 | session->account, |
|
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
|
663 | 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
|
664 | NULL, |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
665 | session->gc, |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
666 | G_CALLBACK(msim_set_username_confirmed_cb), |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
667 | 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
|
668 | } else { |
|
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
|
669 | /* Looks like its in use or we have an invalid response */ |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
670 | purple_debug_info("msim_username_is_available_cb", "Username unavaiable. Prompting for new entry.\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
|
671 | purple_request_input(session->gc, _("MySpaceIM - Please Set a 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
|
672 | _("This username is unavailable."), |
|
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
|
673 | _("Please try another 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
|
674 | "", FALSE, FALSE, 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
|
675 | _("OK"), G_CALLBACK(msim_check_username_availability_cb), |
|
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
|
676 | _("Cancel"), G_CALLBACK(msim_do_not_set_username_cb), |
|
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
|
677 | session->account, |
|
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
|
678 | 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
|
679 | 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
|
680 | session->gc); |
|
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
|
681 | } |
|
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
|
682 | } |
|
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
|
683 | |
|
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
|
684 | /* They've confirmed that username that was available, Lets make the call to set it */ |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
685 | static void msim_set_username_confirmed_cb(PurpleConnection *gc) |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
686 | { |
|
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
|
687 | MsimMessage *user_msg; |
|
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
|
688 | MsimSession *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
|
689 | |
|
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
|
690 | g_return_if_fail(gc != 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
|
691 | |
|
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 | session = (MsimSession *)gc->proto_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
|
693 | |
|
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
|
694 | 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
|
695 | |
|
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 | user_msg = msim_msg_new( |
|
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 | "user", MSIM_TYPE_STRING, g_strdup(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
|
699 | 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
|
700 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
701 | purple_debug_info("msim_set_username_confirmed_cb", "Setting username to %s\n", msim_username_to_set); |
|
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
|
702 | |
|
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 | /* Sets our username... keep your fingers crossed :) */ |
|
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 | msim_set_username(session, msim_username_to_set, msim_username_is_set_cb, user_msg); |
|
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 | g_free(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
|
706 | } |
|
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
|
707 | |
|
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 | /** |
|
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 | * 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
|
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 | * @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
|
712 | * @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
|
713 | * @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
|
714 | * @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
|
715 | */ |
|
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 | static void |
|
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 | 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
|
718 | 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
|
719 | { |
|
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 | 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
|
721 | 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
|
722 | |
|
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 | 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
|
724 | 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
|
725 | 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
|
726 | |
|
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 | 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
|
728 | "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
|
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 | msim_msg_dump("msim_set_username: data=%s\n", (MsimMessage *)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
|
731 | |
|
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 | /* 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
|
733 | 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
|
734 | |
|
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 | /* 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
|
736 | |
|
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 | 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
|
738 | /* \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
|
739 | */ |
|
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
|
740 | |
|
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
|
741 | /* 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
|
742 | 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
|
743 | "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
|
744 | "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
|
745 | "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
|
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 | 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
|
748 | 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
|
749 | "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
|
750 | "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
|
751 | "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
|
752 | "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
|
753 | "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
|
754 | "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
|
755 | "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
|
756 | "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
|
757 | 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
|
758 | } |
|
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
|
759 | |
|
22434
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
760 | /** Called after username is set. */ |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
761 | static void msim_username_is_set_cb(MsimSession *session, MsimMessage *userinfo, gpointer data) |
|
3bc4a0a62c40
In msimprpl, change to patch from Jaywalker regarding setting
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22433
diff
changeset
|
762 | { |
|
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
|
763 | gchar *username, *errmsg; |
|
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
|
764 | 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
|
765 | |
|
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
|
766 | 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
|
767 | gint cmd,dsn,uid,lid,code; |
|
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
|
768 | /* \persistr\\cmd\258\dsn\9\uid\204084363\lid\14\rid\369\body\UserName=TheAlbinoRhino1.Code=0\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
|
769 | |
|
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
|
770 | purple_debug_info("msim","username_is_set made\n"); |
|
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
|
771 | |
|
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
|
772 | 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
|
773 | |
|
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
|
774 | |
|
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
|
775 | msim_msg_dump("username_is_set message is: %s\n", userinfo); |
|
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
|
776 | cmd = msim_msg_get_integer(userinfo, "cmd"); |
|
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
|
777 | dsn = msim_msg_get_integer(userinfo, "dsn"); |
|
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
|
778 | uid = msim_msg_get_integer(userinfo, "uid"); |
|
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
|
779 | lid = msim_msg_get_integer(userinfo, "lid"); |
|
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
|
780 | body = msim_msg_get_dictionary(userinfo, "body"); |
|
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
|
781 | errmsg = g_strdup("An error occured while trying to set the username.\n" |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
782 | "Please try again, or visit http://editprofile.myspace.com/index.cfm?" |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
783 | "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
|
784 | |
|
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
|
785 | if (!body) { |
|
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
|
786 | purple_debug_info("msim_username_is_set_cb", "No body"); |
|
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
|
787 | /* Error: No 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
|
788 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, errmsg); |
|
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
|
789 | } |
|
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
|
790 | username = msim_msg_get_string(body, "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
|
791 | code = msim_msg_get_integer(body,"Code"); |
|
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
|
792 | |
|
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
|
793 | msim_msg_free(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
|
794 | |
|
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
|
795 | purple_debug_info("msim_username_is_set_cb", |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
796 | "cmd = %d, dsn = %d, lid = %d, code = %d, username = %s\n", |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
797 | cmd, dsn, lid, code, username); |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
798 | |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
799 | if (cmd == (MSIM_CMD_BIT_REPLY | MSIM_CMD_PUT) |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
800 | && dsn == MC_SET_USERNAME_DSN |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
801 | && lid == MC_SET_USERNAME_LID) { |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
802 | purple_debug_info("msim_username_is_set_cb", "Proper cmd,dsn,lid for username_is_set!\n"); |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
803 | purple_debug_info("msim_username_is_set_cb", "Username Set with return code %d\n",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
|
804 | if (code == 0) { |
|
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
|
805 | /* Good! */ |
|
22439
7d55e1ec2825
If the user sets a username (because they don't have one), and it succeeds,
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22436
diff
changeset
|
806 | session->username = 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
|
807 | msim_we_are_logged_on(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
|
808 | } else { |
|
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
|
809 | purple_debug_info("msim_username_is_set", "code is %d",code); |
|
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 | /* TODO: what to do here? */ |
|
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
|
811 | } |
|
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
|
812 | } else if (cmd == (MSIM_CMD_BIT_REPLY | 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
|
813 | && dsn == MG_MYSPACE_INFO_BY_STRING_DSN |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
814 | && lid == 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
|
815 | /* Not quite done... ONE MORE STEP :) */ |
|
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
|
816 | rid = msim_new_reply_callback(session, msim_username_is_set_cb, data); |
|
22439
7d55e1ec2825
If the user sets a username (because they don't have one), and it succeeds,
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22436
diff
changeset
|
817 | body = msim_msg_new("UserName", MSIM_TYPE_STRING, g_strdup(username), NULL); |
|
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
|
818 | if (!msim_send(session, "persist", MSIM_TYPE_INTEGER, 1, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
819 | "sesskey", MSIM_TYPE_INTEGER, session->sesskey, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
820 | "cmd", MSIM_TYPE_INTEGER, MSIM_CMD_PUT, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
821 | "dsn", MSIM_TYPE_INTEGER, MC_SET_USERNAME_DSN, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
822 | "uid", MSIM_TYPE_INTEGER, session->userid, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
823 | "lid", MSIM_TYPE_INTEGER, MC_SET_USERNAME_LID, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
824 | "rid", MSIM_TYPE_INTEGER, rid, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
825 | "body", MSIM_TYPE_DICTIONARY, body, |
|
602abcb53ab0
In msimprpl, define a new set of symbolic constants for the command to
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
22434
diff
changeset
|
826 | 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
|
827 | /* Error! */ |
|
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
|
828 | /* Can't set... Disconnect */ |
|
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 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, errmsg); |
|
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
|
830 | } |
|
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
|
831 | |
|
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
|
832 | } else { |
|
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
|
833 | /* Error! */ |
|
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
|
834 | purple_debug_info("msim","username_is_set Error: Invalid cmd/dsn/lid combination"); |
|
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
|
835 | purple_connection_error_reason(session->gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, errmsg); |
|
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
|
836 | } |
|
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
|
837 | g_free(errmsg); |
|
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
|
838 | } |