Mercurial > pidgin
comparison libpurple/protocols/msnp9/user.h @ 21312:a07cfce78345
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
old fools like me who prefer the stability of our MSNP9 code over the
features of MSNP14 can enable this using the --disable-msnp14 ./configure
option.
If we want to release from i.p.p and MSN stability is the only blocker, we
can trivially flick the default to use MSNP9 in configure.ac
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sun, 11 Nov 2007 12:57:52 +0000 |
parents | |
children | af5de2b08fe0 |
comparison
equal
deleted
inserted
replaced
21311:7d031cec5ba2 | 21312:a07cfce78345 |
---|---|
1 /** | |
2 * @file user.h User functions | |
3 * | |
4 * purple | |
5 * | |
6 * Purple is the legal property of its developers, whose names are too numerous | |
7 * to list here. Please refer to the COPYRIGHT file distributed with this | |
8 * source distribution. | |
9 * | |
10 * This program is free software; you can redistribute it and/or modify | |
11 * it under the terms of the GNU General Public License as published by | |
12 * the Free Software Foundation; either version 2 of the License, or | |
13 * (at your option) any later version. | |
14 * | |
15 * This program is distributed in the hope that it will be useful, | |
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 * GNU General Public License for more details. | |
19 * | |
20 * You should have received a copy of the GNU General Public License | |
21 * along with this program; if not, write to the Free Software | |
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA | |
23 */ | |
24 #ifndef _MSN_USER_H_ | |
25 #define _MSN_USER_H_ | |
26 | |
27 typedef struct _MsnUser MsnUser; | |
28 | |
29 #include "session.h" | |
30 #include "object.h" | |
31 | |
32 #include "userlist.h" | |
33 | |
34 /** | |
35 * A user. | |
36 */ | |
37 struct _MsnUser | |
38 { | |
39 #if 0 | |
40 MsnSession *session; /**< The MSN session. */ | |
41 #endif | |
42 MsnUserList *userlist; | |
43 | |
44 char *passport; /**< The passport account. */ | |
45 char *store_name; /**< The name stored in the server. */ | |
46 char *friendly_name; /**< The friendly name. */ | |
47 | |
48 const char *status; /**< The state of the user. */ | |
49 gboolean idle; /**< The idle state of the user. */ | |
50 | |
51 struct | |
52 { | |
53 char *home; /**< Home phone number. */ | |
54 char *work; /**< Work phone number. */ | |
55 char *mobile; /**< Mobile phone number. */ | |
56 | |
57 } phone; | |
58 | |
59 gboolean authorized; /**< Authorized to add this user. */ | |
60 gboolean mobile; /**< Signed up with MSN Mobile. */ | |
61 | |
62 GList *group_ids; /**< The group IDs. */ | |
63 | |
64 MsnObject *msnobj; /**< The user's MSN Object. */ | |
65 | |
66 GHashTable *clientcaps; /**< The client's capabilities. */ | |
67 | |
68 int list_op; | |
69 }; | |
70 | |
71 /**************************************************************************/ | |
72 /** @name User API */ | |
73 /**************************************************************************/ | |
74 /*@{*/ | |
75 | |
76 /** | |
77 * Creates a new user structure. | |
78 * | |
79 * @param session The MSN session. | |
80 * @param passport The initial passport. | |
81 * @param stored_name The initial stored name. | |
82 * | |
83 * @return A new user structure. | |
84 */ | |
85 MsnUser *msn_user_new(MsnUserList *userlist, const char *passport, | |
86 const char *store_name); | |
87 | |
88 /** | |
89 * Destroys a user structure. | |
90 * | |
91 * @param user The user to destroy. | |
92 */ | |
93 void msn_user_destroy(MsnUser *user); | |
94 | |
95 | |
96 /** | |
97 * Updates the user. | |
98 * | |
99 * Communicates with the core to update the ui, etc. | |
100 * | |
101 * @param user The user to update. | |
102 */ | |
103 void msn_user_update(MsnUser *user); | |
104 | |
105 /** | |
106 * Sets the new state of user. | |
107 * | |
108 * @param user The user. | |
109 * @param state The state string. | |
110 */ | |
111 void msn_user_set_state(MsnUser *user, const char *state); | |
112 | |
113 /** | |
114 * Sets the passport account for a user. | |
115 * | |
116 * @param user The user. | |
117 * @param passport The passport account. | |
118 */ | |
119 void msn_user_set_passport(MsnUser *user, const char *passport); | |
120 | |
121 /** | |
122 * Sets the friendly name for a user. | |
123 * | |
124 * @param user The user. | |
125 * @param name The friendly name. | |
126 */ | |
127 void msn_user_set_friendly_name(MsnUser *user, const char *name); | |
128 | |
129 /** | |
130 * Sets the store name for a user. | |
131 * | |
132 * @param user The user. | |
133 * @param name The store name. | |
134 */ | |
135 void msn_user_set_store_name(MsnUser *user, const char *name); | |
136 | |
137 /** | |
138 * Sets the buddy icon for a local user. | |
139 * | |
140 * @param user The user. | |
141 * @param img The buddy icon image | |
142 */ | |
143 void msn_user_set_buddy_icon(MsnUser *user, PurpleStoredImage *img); | |
144 | |
145 /** | |
146 * Sets the group ID list for a user. | |
147 * | |
148 * @param user The user. | |
149 * @param ids The group ID list. | |
150 */ | |
151 void msn_user_set_group_ids(MsnUser *user, GList *ids); | |
152 | |
153 /** | |
154 * Adds the group ID for a user. | |
155 * | |
156 * @param user The user. | |
157 * @param id The group ID. | |
158 */ | |
159 void msn_user_add_group_id(MsnUser *user, int id); | |
160 | |
161 /** | |
162 * Removes the group ID from a user. | |
163 * | |
164 * @param user The user. | |
165 * @param id The group ID. | |
166 */ | |
167 void msn_user_remove_group_id(MsnUser *user, int id); | |
168 | |
169 /** | |
170 * Sets the home phone number for a user. | |
171 * | |
172 * @param user The user. | |
173 * @param number The home phone number. | |
174 */ | |
175 void msn_user_set_home_phone(MsnUser *user, const char *number); | |
176 | |
177 /** | |
178 * Sets the work phone number for a user. | |
179 * | |
180 * @param user The user. | |
181 * @param number The work phone number. | |
182 */ | |
183 void msn_user_set_work_phone(MsnUser *user, const char *number); | |
184 | |
185 /** | |
186 * Sets the mobile phone number for a user. | |
187 * | |
188 * @param user The user. | |
189 * @param number The mobile phone number. | |
190 */ | |
191 void msn_user_set_mobile_phone(MsnUser *user, const char *number); | |
192 | |
193 /** | |
194 * Sets the MSNObject for a user. | |
195 * | |
196 * @param user The user. | |
197 * @param obj The MSNObject. | |
198 */ | |
199 void msn_user_set_object(MsnUser *user, MsnObject *obj); | |
200 | |
201 /** | |
202 * Sets the client information for a user. | |
203 * | |
204 * @param user The user. | |
205 * @param info The client information. | |
206 */ | |
207 void msn_user_set_client_caps(MsnUser *user, GHashTable *info); | |
208 | |
209 | |
210 /** | |
211 * Returns the passport account for a user. | |
212 * | |
213 * @param user The user. | |
214 * | |
215 * @return The passport account. | |
216 */ | |
217 const char *msn_user_get_passport(const MsnUser *user); | |
218 | |
219 /** | |
220 * Returns the friendly name for a user. | |
221 * | |
222 * @param user The user. | |
223 * | |
224 * @return The friendly name. | |
225 */ | |
226 const char *msn_user_get_friendly_name(const MsnUser *user); | |
227 | |
228 /** | |
229 * Returns the store name for a user. | |
230 * | |
231 * @param user The user. | |
232 * | |
233 * @return The store name. | |
234 */ | |
235 const char *msn_user_get_store_name(const MsnUser *user); | |
236 | |
237 /** | |
238 * Returns the home phone number for a user. | |
239 * | |
240 * @param user The user. | |
241 * | |
242 * @return The user's home phone number. | |
243 */ | |
244 const char *msn_user_get_home_phone(const MsnUser *user); | |
245 | |
246 /** | |
247 * Returns the work phone number for a user. | |
248 * | |
249 * @param user The user. | |
250 * | |
251 * @return The user's work phone number. | |
252 */ | |
253 const char *msn_user_get_work_phone(const MsnUser *user); | |
254 | |
255 /** | |
256 * Returns the mobile phone number for a user. | |
257 * | |
258 * @param user The user. | |
259 * | |
260 * @return The user's mobile phone number. | |
261 */ | |
262 const char *msn_user_get_mobile_phone(const MsnUser *user); | |
263 | |
264 /** | |
265 * Returns the MSNObject for a user. | |
266 * | |
267 * @param user The user. | |
268 * | |
269 * @return The MSNObject. | |
270 */ | |
271 MsnObject *msn_user_get_object(const MsnUser *user); | |
272 | |
273 /** | |
274 * Returns the client information for a user. | |
275 * | |
276 * @param user The user. | |
277 * | |
278 * @return The client information. | |
279 */ | |
280 GHashTable *msn_user_get_client_caps(const MsnUser *user); | |
281 | |
282 /*@}*/ | |
283 | |
284 #endif /* _MSN_USER_H_ */ |