Add a plugin method to allow updating stored passwords on master password change.
[claws.git] / src / common / plugin.h
index 7ff4b4fefc077d374b8029667b0960767628d143..446df5e4be6496aaed53c370c01dde60a9d23da1 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Claws Mail Team
+ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 2002-2015 the Claws Mail Team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
@@ -13,8 +13,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef PLUGIN_H
@@ -27,6 +26,7 @@ typedef struct _Plugin Plugin;
 typedef enum {
        PLUGIN_NOTHING,
        PLUGIN_MIMEVIEWER,
+       PLUGIN_MIMEPARSER,
        PLUGIN_FOLDERCLASS,
        PLUGIN_FILTERING,
        PLUGIN_PRIVACY,
@@ -42,13 +42,15 @@ struct PluginFeature {
 
 /* Functions to implement by the plugin */
 gint plugin_init               (gchar          **error);
-void plugin_done               (void);
+gboolean plugin_done           (void);
 const gchar *plugin_name       (void);
 const gchar *plugin_desc       (void);
 const gchar *plugin_version    (void);
 struct PluginFeature *plugin_provides (void);
+const gchar *plugin_type       (void);
+const gchar *plugin_licence    (void);
 
-/* Functions by the sylpheed plugin system */
+/* Functions by the Claws Mail plugin system */
 Plugin *plugin_load            (const gchar     *filename,
                                 gchar          **error);
 void plugin_unload             (Plugin          *plugin);
@@ -57,12 +59,15 @@ void plugin_unload_all              (const gchar     *type);
 void plugin_save_list          (void);
 void plugin_load_standard_plugins (void);
 
+void plugins_master_password_change(const gchar *oldp, const gchar *newp);
+
 GSList *plugin_get_list                (void);
 GSList *plugin_get_unloaded_list(void);
 const gchar *plugin_get_name   (Plugin          *plugin);
 const gchar *plugin_get_desc   (Plugin          *plugin);
 const gchar *plugin_get_version        (Plugin          *plugin);
 const gchar *plugin_get_error  (Plugin          *plugin);
+Plugin      *plugin_get_loaded_by_name(const gchar *name);
 gint check_plugin_version      (guint32 minimum_claws_version,
                                 guint32 compiled_claws_version,
                                 const gchar *plugin_name,