diff options
author | Gary Kramlich <grim@reaperworld.com> | 2021-07-17 20:39:59 -0500 |
---|---|---|
committer | Gary Kramlich <grim@reaperworld.com> | 2021-07-17 20:39:59 -0500 |
commit | c0c799623128daa97325249296aa1d8c5661f47f (patch) | |
tree | d2df86d48ba8c8b8589cb1a45307a26cc994bb86 /libpurple/purpleprotocolmanager.c | |
parent | a592644ef9984667b72b82777a0d458e5e3fc6ca (diff) | |
download | pidgin-c0c799623128daa97325249296aa1d8c5661f47f.tar.gz |
Add _foreach functions to PurpleConversationManager and PurpleProtocolManager
Testing Done:
Compiled
Reviewed at https://reviews.imfreedom.org/r/799/
Diffstat (limited to 'libpurple/purpleprotocolmanager.c')
-rw-r--r-- | libpurple/purpleprotocolmanager.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libpurple/purpleprotocolmanager.c b/libpurple/purpleprotocolmanager.c index 50649ca3fb..1157fd151f 100644 --- a/libpurple/purpleprotocolmanager.c +++ b/libpurple/purpleprotocolmanager.c @@ -218,6 +218,26 @@ purple_protocol_manager_find(PurpleProtocolManager *manager, const gchar *id) { return PURPLE_PROTOCOL(value); } +void +purple_protocol_manager_foreach(PurpleProtocolManager *manager, + PurpleProtocolManagerForeachFunc func, + gpointer data) +{ + GHashTableIter iter; + PurpleProtocolManagerPrivate *priv = NULL; + gpointer value; + + g_return_if_fail(PURPLE_IS_PROTOCOL_MANAGER(manager)); + g_return_if_fail(func != NULL); + + priv = purple_protocol_manager_get_instance_private(manager); + + g_hash_table_iter_init(&iter, priv->protocols); + while(g_hash_table_iter_next(&iter, NULL, &value)) { + func(PURPLE_PROTOCOL(value), data); + } +} + GList * purple_protocol_manager_get_all(PurpleProtocolManager *manager) { PurpleProtocolManagerPrivate *priv = NULL; |