static GList * xmms_main_client_plugin_list (xmms_object_t *main, gint32 type, xmms_error_t *err) { GList *list = NULL; xmms_plugin_foreach (type, xmms_main_client_list_foreach, &list); return list; }
/** * @internal Find a plugin that's been loaded, by a particular type and name * @param[in] type The type of plugin to look for * @param[in] name The name of the plugin to look for * @return The plugin instance, if found. NULL otherwise. */ xmms_plugin_t * xmms_plugin_find (xmms_plugin_type_t type, const gchar *name) { xmms_plugin_find_foreach_data_t data = {name, NULL}; xmms_plugin_foreach (type, xmms_plugin_find_foreach, &data); return data.plugin; }
static xmmsv_t * xmms_main_client_list_plugins (xmms_object_t *main, gint32 type, xmms_error_t *err) { xmmsv_t *list = xmmsv_new_list (); xmms_plugin_foreach (type, xmms_main_client_list_foreach, list); return list; }
xmms_xform_t * xmms_xform_find (xmms_xform_t *prev, xmms_medialib_entry_t entry, GList *goal_hints) { match_state_t state; xmms_xform_t *xform = NULL; state.out_type = prev->out_type; state.match = NULL; state.priority = -1; xmms_plugin_foreach (XMMS_PLUGIN_TYPE_XFORM, xmms_xform_match, &state); if (state.match) { xform = xmms_xform_new (state.match, prev, entry, goal_hints); } else { XMMS_DBG ("Found no matching plugin..."); } return xform; }