/** * asb_plugin_initialize: */ void asb_plugin_initialize (AsbPlugin *plugin) { plugin->priv = ASB_PLUGIN_GET_PRIVATE (AsbPluginPrivate); plugin->priv->project_groups = asb_glob_value_array_new (); /* this is a heuristic */ g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http*://*.gnome.org*", "GNOME")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://gnome-*.sourceforge.net/", "GNOME")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http*://*.kde.org*", "KDE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://*kde-apps.org/*", "KDE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://*xfce.org*", "XFCE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://lxde.org*", "LXDE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://pcmanfm.sourceforge.net/*", "LXDE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://lxde.sourceforge.net/*", "LXDE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://*mate-desktop.org*", "MATE")); g_ptr_array_add (plugin->priv->project_groups, asb_glob_value_new ("http://*enlightenment.org*", "Enlightenment")); }
/** * asb_plugin_loader_get_globs: * @plugin_loader: A #AsbPluginLoader * * Gets the list of globs. * * Returns: (transfer container) (element-type utf8): globs * * Since: 0.2.1 **/ GPtrArray * asb_plugin_loader_get_globs (AsbPluginLoader *plugin_loader) { AsbPluginGetGlobsFunc plugin_func = NULL; AsbPluginLoaderPrivate *priv = GET_PRIVATE (plugin_loader); AsbPlugin *plugin; GPtrArray *globs; gboolean ret; guint i; /* run each plugin */ globs = asb_glob_value_array_new (); for (i = 0; i < priv->plugins->len; i++) { plugin = g_ptr_array_index (priv->plugins, i); ret = g_module_symbol (plugin->module, "asb_plugin_add_globs", (gpointer *) &plugin_func); if (!ret) continue; plugin_func (plugin, globs); } return globs; }