Mercurial > pidgin.yaz
annotate libgaim/protocols/msn/user.h @ 20389:e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
to branch 'im.pidgin.rlaager.merging.soc-msnp13-to-svn18164' (head 5b5cde92182d2a922a8e7e6c2308342a5490a8c9)
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 15 Apr 2007 02:10:37 +0000 |
parents | 60b1bc8dbf37 |
children | 0b0ecee55091 |
rev | line source |
---|---|
14192 | 1 /** |
2 * @file user.h User functions | |
3 * | |
4 * gaim | |
5 * | |
6 * Gaim 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
48 char * uid; /*< User Id */ |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
49 |
14192 | 50 const char *status; /**< The state of the user. */ |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
51 const char *statusline; /**< The state of the user. */ |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
52 |
14192 | 53 gboolean idle; /**< The idle state of the user. */ |
54 | |
55 struct | |
56 { | |
57 char *home; /**< Home phone number. */ | |
58 char *work; /**< Work phone number. */ | |
59 char *mobile; /**< Mobile phone number. */ | |
60 | |
61 } phone; | |
62 | |
63 gboolean authorized; /**< Authorized to add this user. */ | |
64 gboolean mobile; /**< Signed up with MSN Mobile. */ | |
65 | |
66 GList *group_ids; /**< The group IDs. */ | |
67 | |
68 MsnObject *msnobj; /**< The user's MSN Object. */ | |
69 | |
70 GHashTable *clientcaps; /**< The client's capabilities. */ | |
71 | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
72 int type; |
14192 | 73 int list_op; |
74 }; | |
75 | |
76 /**************************************************************************/ | |
77 /** @name User API */ | |
78 /**************************************************************************/ | |
79 /*@{*/ | |
80 | |
81 /** | |
82 * Creates a new user structure. | |
83 * | |
84 * @param session The MSN session. | |
85 * @param passport The initial passport. | |
86 * @param stored_name The initial stored name. | |
87 * | |
88 * @return A new user structure. | |
89 */ | |
90 MsnUser *msn_user_new(MsnUserList *userlist, const char *passport, | |
91 const char *store_name); | |
92 | |
93 /** | |
94 * Destroys a user structure. | |
95 * | |
96 * @param user The user to destroy. | |
97 */ | |
98 void msn_user_destroy(MsnUser *user); | |
99 | |
100 | |
101 /** | |
102 * Updates the user. | |
103 * | |
104 * Communicates with the core to update the ui, etc. | |
105 * | |
106 * @param user The user to update. | |
107 */ | |
108 void msn_user_update(MsnUser *user); | |
109 | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
110 /** |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
111 * Sets the new statusline of user. |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
112 * |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
113 * @param user The user. |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
114 * @param state The statusline string. |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
115 */ |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
116 void msn_user_set_statusline(MsnUser *user, const char *statusline); |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
117 |
14192 | 118 /** |
119 * Sets the new state of user. | |
120 * | |
121 * @param user The user. | |
122 * @param state The state string. | |
123 */ | |
124 void msn_user_set_state(MsnUser *user, const char *state); | |
125 | |
126 /** | |
127 * Sets the passport account for a user. | |
128 * | |
129 * @param user The user. | |
130 * @param passport The passport account. | |
131 */ | |
132 void msn_user_set_passport(MsnUser *user, const char *passport); | |
133 | |
134 /** | |
135 * Sets the friendly name for a user. | |
136 * | |
137 * @param user The user. | |
138 * @param name The friendly name. | |
139 */ | |
140 void msn_user_set_friendly_name(MsnUser *user, const char *name); | |
141 | |
142 /** | |
143 * Sets the store name for a user. | |
144 * | |
145 * @param user The user. | |
146 * @param name The store name. | |
147 */ | |
148 void msn_user_set_store_name(MsnUser *user, const char *name); | |
149 | |
150 /** | |
151 * Sets the buddy icon for a local user. | |
152 * | |
153 * @param user The user. | |
154 * @param filename The path to the buddy icon. | |
155 */ | |
156 void msn_user_set_buddy_icon(MsnUser *user, const char *filename); | |
157 | |
158 /** | |
159 * Sets the group ID list for a user. | |
160 * | |
161 * @param user The user. | |
162 * @param ids The group ID list. | |
163 */ | |
164 void msn_user_set_group_ids(MsnUser *user, GList *ids); | |
165 | |
166 /** | |
167 * Adds the group ID for a user. | |
168 * | |
169 * @param user The user. | |
170 * @param id The group ID. | |
171 */ | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
172 void msn_user_add_group_id(MsnUser *user, const char * id); |
14192 | 173 |
174 /** | |
175 * Removes the group ID from a user. | |
176 * | |
177 * @param user The user. | |
178 * @param id The group ID. | |
179 */ | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
180 void msn_user_remove_group_id(MsnUser *user, const char * id); |
14192 | 181 |
182 /** | |
183 * Sets the home phone number for a user. | |
184 * | |
185 * @param user The user. | |
186 * @param number The home phone number. | |
187 */ | |
188 void msn_user_set_home_phone(MsnUser *user, const char *number); | |
189 | |
190 /** | |
191 * Sets the work phone number for a user. | |
192 * | |
193 * @param user The user. | |
194 * @param number The work phone number. | |
195 */ | |
196 void msn_user_set_work_phone(MsnUser *user, const char *number); | |
197 | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
198 void msn_user_set_uid(MsnUser *user, const char *uid); |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
199 void msn_user_set_type(MsnUser *user,int type); |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
200 |
14192 | 201 /** |
202 * Sets the mobile phone number for a user. | |
203 * | |
204 * @param user The user. | |
205 * @param number The mobile phone number. | |
206 */ | |
207 void msn_user_set_mobile_phone(MsnUser *user, const char *number); | |
208 | |
209 /** | |
210 * Sets the MSNObject for a user. | |
211 * | |
212 * @param user The user. | |
213 * @param obj The MSNObject. | |
214 */ | |
215 void msn_user_set_object(MsnUser *user, MsnObject *obj); | |
216 | |
217 /** | |
218 * Sets the client information for a user. | |
219 * | |
220 * @param user The user. | |
221 * @param info The client information. | |
222 */ | |
223 void msn_user_set_client_caps(MsnUser *user, GHashTable *info); | |
224 | |
225 | |
226 /** | |
227 * Returns the passport account for a user. | |
228 * | |
229 * @param user The user. | |
230 * | |
231 * @return The passport account. | |
232 */ | |
233 const char *msn_user_get_passport(const MsnUser *user); | |
234 | |
235 /** | |
236 * Returns the friendly name for a user. | |
237 * | |
238 * @param user The user. | |
239 * | |
240 * @return The friendly name. | |
241 */ | |
242 const char *msn_user_get_friendly_name(const MsnUser *user); | |
243 | |
244 /** | |
245 * Returns the store name for a user. | |
246 * | |
247 * @param user The user. | |
248 * | |
249 * @return The store name. | |
250 */ | |
251 const char *msn_user_get_store_name(const MsnUser *user); | |
252 | |
253 /** | |
254 * Returns the home phone number for a user. | |
255 * | |
256 * @param user The user. | |
257 * | |
258 * @return The user's home phone number. | |
259 */ | |
260 const char *msn_user_get_home_phone(const MsnUser *user); | |
261 | |
262 /** | |
263 * Returns the work phone number for a user. | |
264 * | |
265 * @param user The user. | |
266 * | |
267 * @return The user's work phone number. | |
268 */ | |
269 const char *msn_user_get_work_phone(const MsnUser *user); | |
270 | |
271 /** | |
272 * Returns the mobile phone number for a user. | |
273 * | |
274 * @param user The user. | |
275 * | |
276 * @return The user's mobile phone number. | |
277 */ | |
278 const char *msn_user_get_mobile_phone(const MsnUser *user); | |
279 | |
280 /** | |
281 * Returns the MSNObject for a user. | |
282 * | |
283 * @param user The user. | |
284 * | |
285 * @return The MSNObject. | |
286 */ | |
287 MsnObject *msn_user_get_object(const MsnUser *user); | |
288 | |
289 /** | |
290 * Returns the client information for a user. | |
291 * | |
292 * @param user The user. | |
293 * | |
294 * @return The client information. | |
295 */ | |
296 GHashTable *msn_user_get_client_caps(const MsnUser *user); | |
297 | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
298 /** |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
299 * check to see if user is online |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
300 */ |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
301 gboolean |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
302 msn_user_is_online(GaimAccount *account, const char *name); |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
303 |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
304 /** |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
305 * check to see if user is Yahoo User |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
306 */ |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
307 gboolean |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
308 msn_user_is_yahoo(GaimAccount *account ,const char *name); |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
309 |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
310 void msn_user_set_op(MsnUser *user,int list_op); |
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
311 |
14192 | 312 /*@}*/ |
313 | |
20389
e354528c4163
propagate from branch 'im.pidgin.gaim' (head 70ac931e4936c7916eec18a07fe46a0af0fd7403)
Richard Laager <rlaager@wiktel.com>
parents:
14192
diff
changeset
|
314 |
14192 | 315 #endif /* _MSN_USER_H_ */ |