Mercurial > pidgin
comparison src/protocols/msn/user.h @ 9193:502707ca1836
[gaim-migrate @ 9988]
Patch by Felipe Contreras to add MSN file transfer and buddy icons. Please
test and report any bugs!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 06 Jun 2004 02:39:08 +0000 |
parents | 06f57183e29f |
children | ab6636c5a136 |
comparison
equal
deleted
inserted
replaced
9192:5655dcd94d0f | 9193:502707ca1836 |
---|---|
21 */ | 21 */ |
22 #ifndef _MSN_USER_H_ | 22 #ifndef _MSN_USER_H_ |
23 #define _MSN_USER_H_ | 23 #define _MSN_USER_H_ |
24 | 24 |
25 typedef struct _MsnUser MsnUser; | 25 typedef struct _MsnUser MsnUser; |
26 typedef struct _MsnUsers MsnUsers; | |
27 | 26 |
28 #include "session.h" | 27 #include "session.h" |
29 #include "msnobject.h" | 28 #include "object.h" |
29 | |
30 #include "userlist.h" | |
30 | 31 |
31 /** | 32 /** |
32 * A user. | 33 * A user. |
33 */ | 34 */ |
34 struct _MsnUser | 35 struct _MsnUser |
35 { | 36 { |
36 MsnSession *session; /**< The MSN session. */ | 37 #if 0 |
37 | 38 MsnSession *session; /**< The MSN session. */ |
38 char *passport; /**< The passport account. */ | 39 #endif |
39 char *name; /**< The friendly name. */ | 40 MsnUserList *userlist; |
41 | |
42 char *passport; /**< The passport account. */ | |
43 char *store_name; /**< The name stored in the server. */ | |
44 char *friendly_name; /**< The friendly name. */ | |
40 | 45 |
41 struct | 46 struct |
42 { | 47 { |
43 char *home; /**< Home phone number. */ | 48 char *home; /**< Home phone number. */ |
44 char *work; /**< Work phone number. */ | 49 char *work; /**< Work phone number. */ |
45 char *mobile; /**< Mobile phone number. */ | 50 char *mobile; /**< Mobile phone number. */ |
46 | 51 |
47 } phone; | 52 } phone; |
48 | 53 |
49 gboolean authorized; /**< Authorized to add this user. */ | 54 gboolean authorized; /**< Authorized to add this user. */ |
50 gboolean mobile; /**< Signed up with MSN Mobile. */ | 55 gboolean mobile; /**< Signed up with MSN Mobile. */ |
51 | 56 |
52 GList *group_ids; /**< The group IDs. */ | 57 GList *group_ids; /**< The group IDs. */ |
53 | 58 |
54 size_t ref_count; /**< The reference count. */ | 59 MsnObject *msnobj; /**< The user's MSN Object. */ |
55 | 60 |
56 MsnObject *msnobj; /**< The user's MSN Object. */ | 61 GHashTable *clientcaps; /**< The client's capabilities. */ |
57 | 62 |
58 GHashTable *clientcaps; /**< The client's capabilities. */ | 63 int list_op; |
59 }; | |
60 | |
61 /** | |
62 * A collection of users. | |
63 */ | |
64 struct _MsnUsers | |
65 { | |
66 size_t count; /**< The number of users. */ | |
67 | |
68 GList *users; /**< The list of users. */ | |
69 }; | 64 }; |
70 | 65 |
71 /**************************************************************************/ | 66 /**************************************************************************/ |
72 /** @name User API */ | 67 /** @name User API */ |
73 /**************************************************************************/ | 68 /**************************************************************************/ |
74 /*@{*/ | 69 /*@{*/ |
75 | 70 |
76 /** | 71 /** |
77 * Creates a new user structure. | 72 * Creates a new user structure. |
78 * | 73 * |
79 * @param session The MSN session. | 74 * @param session The MSN session. |
80 * @param passport The initial passport. | 75 * @param passport The initial passport. |
81 * @param name The initial friendly name. | 76 * @param stored_name The initial stored name. |
82 * | 77 * |
83 * @return A new user structure. | 78 * @return A new user structure. |
84 */ | 79 */ |
85 MsnUser *msn_user_new(MsnSession *session, const char *passport, | 80 MsnUser *msn_user_new(MsnUserList *userlist, const char *passport, |
86 const char *name); | 81 const char *store_name); |
87 | 82 |
88 /** | 83 /** |
89 * Destroys a user structure. | 84 * Destroys a user structure. |
90 * | 85 * |
91 * @param user The user to destroy. | 86 * @param user The user to destroy. |
92 */ | 87 */ |
93 void msn_user_destroy(MsnUser *user); | 88 void msn_user_destroy(MsnUser *user); |
94 | |
95 /** | |
96 * Increments the reference count on a user. | |
97 * | |
98 * @param user The user. | |
99 * | |
100 * @return @a user | |
101 */ | |
102 MsnUser *msn_user_ref(MsnUser *user); | |
103 | |
104 /** | |
105 * Decrements the reference count on a user. | |
106 * | |
107 * This will destroy the structure if the count hits 0. | |
108 * | |
109 * @param user The user. | |
110 * | |
111 * @return @a user, or @c NULL if the new count is 0. | |
112 */ | |
113 MsnUser *msn_user_unref(MsnUser *user); | |
114 | 89 |
115 /** | 90 /** |
116 * Sets the passport account for a user. | 91 * Sets the passport account for a user. |
117 * | 92 * |
118 * @param user The user. | 93 * @param user The user. |
124 * Sets the friendly name for a user. | 99 * Sets the friendly name for a user. |
125 * | 100 * |
126 * @param user The user. | 101 * @param user The user. |
127 * @param name The friendly name. | 102 * @param name The friendly name. |
128 */ | 103 */ |
129 void msn_user_set_name(MsnUser *user, const char *name); | 104 void msn_user_set_friendly_name(MsnUser *user, const char *name); |
105 | |
106 /** | |
107 * Sets the store name for a user. | |
108 * | |
109 * @param user The user. | |
110 * @param name The store name. | |
111 */ | |
112 void msn_user_set_store_name(MsnUser *user, const char *name); | |
130 | 113 |
131 /** | 114 /** |
132 * Sets the buddy icon for a local user. | 115 * Sets the buddy icon for a local user. |
133 * | 116 * |
134 * @param user The user. | 117 * @param user The user. |
215 * | 198 * |
216 * @param user The user. | 199 * @param user The user. |
217 * | 200 * |
218 * @return The friendly name. | 201 * @return The friendly name. |
219 */ | 202 */ |
220 const char *msn_user_get_name(const MsnUser *user); | 203 const char *msn_user_get_friendly_name(const MsnUser *user); |
221 | 204 |
222 /** | 205 /** |
223 * Returns the group IDs for a user. | 206 * Returns the store name for a user. |
224 * | 207 * |
225 * @param user The user. | 208 * @param user The user. |
226 * | 209 * |
227 * @return The group IDs. | 210 * @return The store name. |
228 */ | 211 */ |
229 GList *msn_user_get_group_ids(const MsnUser *user); | 212 const char *msn_user_get_store_name(const MsnUser *user); |
230 | 213 |
231 /** | 214 /** |
232 * Returns the home phone number for a user. | 215 * Returns the home phone number for a user. |
233 * | 216 * |
234 * @param user The user. | 217 * @param user The user. |
273 */ | 256 */ |
274 GHashTable *msn_user_get_client_caps(const MsnUser *user); | 257 GHashTable *msn_user_get_client_caps(const MsnUser *user); |
275 | 258 |
276 /*@}*/ | 259 /*@}*/ |
277 | 260 |
278 /**************************************************************************/ | |
279 /** @name User List API */ | |
280 /**************************************************************************/ | |
281 /*@{*/ | |
282 | |
283 /** | |
284 * Creates a new MsnUsers structure. | |
285 * | |
286 * @return A new MsnUsers structure. | |
287 */ | |
288 MsnUsers *msn_users_new(void); | |
289 | |
290 /** | |
291 * Destroys a users list. | |
292 * | |
293 * @param users The users list. | |
294 */ | |
295 void msn_users_destroy(MsnUsers *users); | |
296 | |
297 /** | |
298 * Adds a user to a users list. | |
299 * | |
300 * @param users The users list. | |
301 * @param user The user. | |
302 */ | |
303 void msn_users_add(MsnUsers *users, MsnUser *user); | |
304 | |
305 /** | |
306 * Removes a user from a users list. | |
307 * | |
308 * @param users The users list. | |
309 * @param user The user. | |
310 */ | |
311 void msn_users_remove(MsnUsers *users, MsnUser *user); | |
312 | |
313 /** | |
314 * Returns the number of users in a users list. | |
315 * | |
316 * @param users The users list. | |
317 * | |
318 * @return The number of users. | |
319 */ | |
320 size_t msn_users_get_count(const MsnUsers *users); | |
321 | |
322 /** | |
323 * Finds a user with the specified passport. | |
324 * | |
325 * @param users A list of users. | |
326 * @param passport The passport. | |
327 * | |
328 * @return The user if found, or @c NULL otherwise. | |
329 */ | |
330 MsnUser *msn_users_find_with_passport(MsnUsers *users, const char *passport); | |
331 | |
332 /*@}*/ | |
333 | |
334 #endif /* _MSN_USER_H_ */ | 261 #endif /* _MSN_USER_H_ */ |