| 67 } |
67 } |
| 68 |
68 |
| 69 if (user->session != NULL && user->session->users != NULL) |
69 if (user->session != NULL && user->session->users != NULL) |
| 70 msn_users_remove(user->session->users, user); |
70 msn_users_remove(user->session->users, user); |
| 71 |
71 |
| 72 if (user->clientinfo != NULL) |
72 if (user->clientcaps != NULL) |
| 73 g_hash_table_destroy(user->clientinfo); |
73 g_hash_table_destroy(user->clientcaps); |
| 74 |
74 |
| 75 if (user->passport != NULL) g_free(user->passport); |
75 if (user->passport != NULL) g_free(user->passport); |
| 76 if (user->name != NULL) g_free(user->name); |
76 if (user->name != NULL) g_free(user->name); |
| 77 |
77 |
| 78 if (user->phone.home != NULL) g_free(user->phone.home); |
78 if (user->phone.home != NULL) g_free(user->phone.home); |
| 222 |
222 |
| 223 return user->phone.mobile; |
223 return user->phone.mobile; |
| 224 } |
224 } |
| 225 |
225 |
| 226 void |
226 void |
| 227 msn_user_set_client_info(MsnUser *user, GHashTable *info) |
227 msn_user_set_client_caps(MsnUser *user, GHashTable *info) |
| 228 { |
228 { |
| 229 g_return_if_fail(user != NULL); |
229 g_return_if_fail(user != NULL); |
| 230 g_return_if_fail(info != NULL); |
230 g_return_if_fail(info != NULL); |
| 231 |
231 |
| 232 if (user->clientinfo != NULL) |
232 if (user->clientcaps != NULL) |
| 233 g_hash_table_destroy(user->clientinfo); |
233 g_hash_table_destroy(user->clientcaps); |
| 234 |
234 |
| 235 user->clientinfo = info; |
235 user->clientcaps = info; |
| 236 } |
236 } |
| 237 |
237 |
| 238 GHashTable * |
238 GHashTable * |
| 239 msn_user_get_client_info(const MsnUser *user) |
239 msn_user_get_client_caps(const MsnUser *user) |
| 240 { |
240 { |
| 241 g_return_val_if_fail(user != NULL, NULL); |
241 g_return_val_if_fail(user != NULL, NULL); |
| 242 |
242 |
| 243 return user->clientinfo; |
243 return user->clientcaps; |
| 244 } |
244 } |
| 245 |
245 |
| 246 MsnUsers * |
246 MsnUsers * |
| 247 msn_users_new(void) |
247 msn_users_new(void) |
| 248 { |
248 { |