| 218 MsnSwitchBoard *swboard; |
218 MsnSwitchBoard *swboard; |
| 219 |
219 |
| 220 g_return_val_if_fail(session != NULL, NULL); |
220 g_return_val_if_fail(session != NULL, NULL); |
| 221 g_return_val_if_fail(passport != NULL, NULL); |
221 g_return_val_if_fail(passport != NULL, NULL); |
| 222 |
222 |
| |
223 for (l = session->switches; l != NULL; l = l->next) |
| |
224 { |
| |
225 swboard = (MsnSwitchBoard *)l->data; |
| |
226 |
| |
227 if (!swboard->hidden && !swboard->chat_id && |
| |
228 !g_ascii_strcasecmp(passport, |
| |
229 msn_user_get_passport(swboard->user))) |
| |
230 { |
| |
231 return swboard; |
| |
232 } |
| |
233 } |
| |
234 |
| |
235 return NULL; |
| |
236 } |
| |
237 |
| |
238 MsnSwitchBoard * |
| |
239 msn_session_find_switch_with_id(const MsnSession *session, int chat_id) |
| |
240 { |
| |
241 GList *l; |
| |
242 MsnSwitchBoard *swboard; |
| |
243 |
| |
244 g_return_val_if_fail(session != NULL, NULL); |
| |
245 g_return_val_if_fail(chat_id > 0, NULL); |
| |
246 |
| 223 for (l = session->switches; l != NULL; l = l->next) { |
247 for (l = session->switches; l != NULL; l = l->next) { |
| 224 swboard = (MsnSwitchBoard *)l->data; |
248 swboard = (MsnSwitchBoard *)l->data; |
| 225 |
249 |
| 226 if (!swboard->hidden && |
250 if (swboard->chat_id == chat_id) |
| 227 !g_ascii_strcasecmp(passport, |
|
| 228 msn_user_get_passport(swboard->user))) { |
|
| 229 return swboard; |
251 return swboard; |
| 230 } |
|
| 231 } |
252 } |
| 232 |
253 |
| 233 return NULL; |
254 return NULL; |
| 234 } |
255 } |
| 235 |
256 |
| 236 MsnSwitchBoard * |
257 MsnSwitchBoard * |
| 237 msn_session_find_switch_with_id(const MsnSession *session, int chat_id) |
258 msn_session_find_unused_switch(const MsnSession *session) |
| 238 { |
259 { |
| 239 GList *l; |
260 GList *l; |
| 240 MsnSwitchBoard *swboard; |
261 MsnSwitchBoard *swboard; |
| 241 |
262 |
| 242 g_return_val_if_fail(session != NULL, NULL); |
263 g_return_val_if_fail(session != NULL, NULL); |
| 243 g_return_val_if_fail(chat_id > 0, NULL); |
|
| 244 |
264 |
| 245 for (l = session->switches; l != NULL; l = l->next) { |
265 for (l = session->switches; l != NULL; l = l->next) { |
| 246 swboard = (MsnSwitchBoard *)l->data; |
266 swboard = (MsnSwitchBoard *)l->data; |
| 247 |
267 |
| 248 if (swboard->chat_id == chat_id) |
|
| 249 return swboard; |
|
| 250 } |
|
| 251 |
|
| 252 return NULL; |
|
| 253 } |
|
| 254 |
|
| 255 MsnSwitchBoard * |
|
| 256 msn_session_find_unused_switch(const MsnSession *session) |
|
| 257 { |
|
| 258 GList *l; |
|
| 259 MsnSwitchBoard *swboard; |
|
| 260 |
|
| 261 g_return_val_if_fail(session != NULL, NULL); |
|
| 262 |
|
| 263 for (l = session->switches; l != NULL; l = l->next) { |
|
| 264 swboard = (MsnSwitchBoard *)l->data; |
|
| 265 |
|
| 266 if (!swboard->in_use) |
268 if (!swboard->in_use) |
| 267 return swboard; |
269 return swboard; |
| 268 } |
270 } |
| 269 |
271 |
| 270 return NULL; |
272 return NULL; |