4 #include "dbus-useful.h"
6 #include "conversation.h"
11 purple_accounts_find_ext(const char *name
, const char *protocol_id
,
12 gboolean (*account_test
)(const PurpleAccount
*account
))
14 PurpleAccount
*result
= NULL
;
19 who
= g_strdup(purple_normalize(NULL
, name
));
23 for (l
= purple_accounts_get_all(); l
!= NULL
; l
= l
->next
) {
24 PurpleAccount
*account
= (PurpleAccount
*)l
->data
;
26 if (who
&& strcmp(purple_normalize(NULL
, purple_account_get_username(account
)), who
))
29 if (protocol_id
&& strcmp(purple_account_get_protocol_id(account
), protocol_id
))
32 if (account_test
&& !account_test(account
))
44 PurpleAccount
*purple_accounts_find_any(const char *name
, const char *protocol
)
46 return purple_accounts_find_ext(name
, protocol
, NULL
);
49 PurpleAccount
*purple_accounts_find_connected(const char *name
, const char *protocol
)
51 return purple_accounts_find_ext(name
, protocol
, purple_account_is_connected
);