-typedef GisPlugin *(*GisPluginConstructor)(GisWorld *world, GisView *view, GisOpenGL *opengl, GisPrefs *prefs);
+typedef GisPlugin *(*GisPluginConstructor)(GisViewer *viewer, GisPrefs *prefs);
+
+GisPlugins *gis_plugins_new(const gchar *dir, GisPrefs *prefs);
+
+void gis_plugins_free();
+
+GList *gis_plugins_available(GisPlugins *plugins);
+
+GisPlugin *gis_plugins_load(GisPlugins *plugins, const char *name,
+ GisViewer *viewer, GisPrefs *prefs);
+
+GisPlugin *gis_plugins_enable(GisPlugins *plugin, const char *name,
+ GisViewer *viewer, GisPrefs *prefs);
+
+GList *gis_plugins_load_enabled(GisPlugins *plugin,
+ GisViewer *viewer, GisPrefs *prefs);
+
+gboolean gis_plugins_disable(GisPlugins *plugin, const char *name);
+
+gboolean gis_plugins_unload(GisPlugins *plugins, const char *name);