2008-12-15 [colin] 3.6.1cvs78
[claws.git] / src / plugins / pgpcore / plugin.c
index bf0525591727ae5bfe14b67b890380783fa438e7..77543fb10222352d9763c9f997e8da1f0dd54c2f 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2006 Hiroyuki Yamamoto
+ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 1999-2007 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,8 @@
  * 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/>.
+ * 
  */
 
 #ifdef HAVE_CONFIG_H
 #include <glib/gi18n.h>
 
 #include "version.h"
-#include "common/sylpheed.h"
+#include "common/claws.h"
 #include "sgpgme.h"
 #include "prefs_gpg.h"
+#include "pgp_viewer.h"
+#include "plugin.h"
+
+#define PLUGIN_NAME (_("PGP/Core"))
 
 gint plugin_init(gchar **error)
 {
-       if ((sylpheed_get_version() > VERSION_NUMERIC)) {
-               *error = g_strdup("Your version of Sylpheed-Claws is newer than the version the PGP/Core plugin was built with");
-               return -1;
-       }
-
-       if ((sylpheed_get_version() < MAKE_NUMERIC_VERSION(1, 9, 12, 40))) {
-               *error = g_strdup("Your version of Sylpheed-Claws is too old for the PGP/Core plugin");
+       if (!check_plugin_version(MAKE_NUMERIC_VERSION(2,9,2,72),
+                               VERSION_NUMERIC, PLUGIN_NAME, error))
                return -1;
-       }
 
        sgpgme_init();
        prefs_gpg_init();
-
+       sgpgme_check_create_key();
+       pgp_viewer_init();
        return 0;       
 }
 
-void plugin_done(void)
+gboolean plugin_done(void)
 {
+       pgp_viewer_done();
        prefs_gpg_done();
        sgpgme_done();
+       return TRUE;
 }
 
 const gchar *plugin_name(void)
 {
-       return _("PGP/Core");
+       return PLUGIN_NAME;
 }
 
 const gchar *plugin_desc(void)
 {
-       return _("This plugin handles PGP core operations. It is used by other\n"
-                "plugins, like PGP/Mime.\n\n"
-                "GPGME is copyright 2001 by Werner Koch <dd9jn@gnu.org>\n");
+       return _("This plugin handles PGP core operations, it is used by other "
+                "plugins, like PGP/Mime.\n"
+                 "\n"
+                "Options can be found in /Configuration/Preferences/Plugins/GPG "
+                "and /Configuration/[Account Preferences]/Plugins/GPG\n"
+                "\n"
+                "The plugin uses the GPGME library as a wrapper for GnuPG.\n"
+                "\n"
+                "GPGME is copyright 2001 by Werner Koch <dd9jn@gnu.org>");
 }
 
 const gchar *plugin_type(void)
@@ -73,7 +80,7 @@ const gchar *plugin_type(void)
 
 const gchar *plugin_licence(void)
 {
-       return "GPL";
+       return "GPL3+";
 }
 
 const gchar *plugin_version(void)
@@ -81,3 +88,10 @@ const gchar *plugin_version(void)
        return VERSION;
 }
 
+struct PluginFeature *plugin_provides(void)
+{
+       static struct PluginFeature features[] = 
+               { {PLUGIN_PRIVACY, N_("Core operations")},
+                 {PLUGIN_NOTHING, NULL}};
+       return features;
+}