aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-10-07 16:21:02 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-10-07 16:21:02 +0800
commitb0e927b258bc1a05fc5df822dbfb55b3f5679d31 (patch)
tree5ba6fa9e0be357a2325ad4a7e6cf49db48214a45 /shell/main.c
parentc6cdea481024679cf1176a30054a9b651537f2fc (diff)
downloadgsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.tar
gsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.tar.gz
gsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.tar.bz2
gsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.tar.lz
gsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.tar.xz
gsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.tar.zst
gsoc2013-evolution-b0e927b258bc1a05fc5df822dbfb55b3f5679d31.zip
initialise plugin system. (main): add --disable-eplugin and --disable-mono
2004-10-07 Not Zed <NotZed@Ximian.com> * main.c (main): initialise plugin system. (main): add --disable-eplugin and --disable-mono arguments. svn path=/trunk/; revision=27492
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/shell/main.c b/shell/main.c
index 36f4d46b75..c3f9cde841 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -81,6 +81,10 @@
#include <pthread.h>
+#include "e-util/e-plugin.h"
+#ifdef ENABLE_MONO
+#include "e-util/e-plugin-mono.h"
+#endif
#define DEVELOPMENT
@@ -95,6 +99,10 @@ static gboolean killev = FALSE;
#ifdef DEVELOPMENT
static gboolean force_migrate = FALSE;
#endif
+#ifdef ENABLE_MONO
+static gboolean disable_mono = FALSE;
+#endif
+static gboolean disable_eplugin = FALSE;
static gint idle_cb (void *data);
@@ -474,6 +482,12 @@ main (int argc, char **argv)
#endif
{ "debug", '\0', POPT_ARG_STRING, &evolution_debug_log, 0,
N_("Send the debugging output of all components to a file."), NULL },
+#ifdef ENABLE_MONO
+ { "disable-mono", '\0', POPT_ARG_NONE, &disable_mono, 0,
+ N_("Disable the mono plugin environment."), NULL },
+#endif
+ { "disable-eplugin", '\0', POPT_ARG_NONE, &disable_eplugin, 0,
+ N_("Disable loading of any plugins."), NULL },
{ "setup-only", '\0', POPT_ARG_NONE | POPT_ARGFLAG_DOC_HIDDEN,
&setup_only, 0, NULL, NULL },
{ NULL, '\0', 0, NULL, 0, NULL, NULL }
@@ -571,6 +585,15 @@ main (int argc, char **argv)
gnome_sound_init ("localhost");
+ if (!disable_eplugin) {
+#ifdef ENABLE_MONO
+ if (!disable_mono && getenv("EVOLUTION_DISABLE_MONO") == NULL)
+ e_plugin_register_type(e_plugin_mono_get_type());
+#endif
+ e_plugin_register_type(e_plugin_lib_get_type());
+ e_plugin_load_plugins();
+ }
+
#ifdef DEVELOPMENT
client = gconf_client_get_default ();
skip_warning_dialog = gconf_client_get_bool (client, "/apps/evolution/shell/skip_warning_dialog", NULL);