aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-module.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-07-17 03:37:02 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-07-17 03:37:02 +0800
commit03a3e6f84638c62c7848eee4d6f71cc4b1a7c1b8 (patch)
tree39d9a26ea8438f161ca413b197cf62a070b21385 /shell/e-shell-module.h
parentac0c655f3f2a8e47b0cca877aabae66421c58187 (diff)
downloadgsoc2013-evolution-03a3e6f84638c62c7848eee4d6f71cc4b1a7c1b8.tar.gz
gsoc2013-evolution-03a3e6f84638c62c7848eee4d6f71cc4b1a7c1b8.tar.zst
gsoc2013-evolution-03a3e6f84638c62c7848eee4d6f71cc4b1a7c1b8.zip
Disable all components and plugins. Begin rewriting the shell.
svn path=/branches/kill-bonobo/; revision=35748
Diffstat (limited to 'shell/e-shell-module.h')
-rw-r--r--shell/e-shell-module.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/shell/e-shell-module.h b/shell/e-shell-module.h
new file mode 100644
index 0000000000..175b6dacde
--- /dev/null
+++ b/shell/e-shell-module.h
@@ -0,0 +1,84 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* e-shell-module.h
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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.
+ */
+
+#ifndef E_SHELL_MODULE_H
+#define E_SHELL_MODULE_H
+
+#include "e-shell-common.h"
+#include "e-shell-window.h"
+
+/* Standard GObject macros */
+#define E_TYPE_SHELL_MODULE \
+ (e_shell_module_get_type ())
+#define E_SHELL_MODULE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_SHELL_MODULE, EShellModule))
+#define E_SHELL_MODULE_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_SHELL_MODULE, EShellModuleClass))
+#define E_IS_SHELL_MODULE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_SHELL_MODULE))
+#define E_IS_SHELL_MODULE_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_SHELL_MODULE))
+#define E_SHELL_MODULE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_SHELL_MODULE, EShellModuleClass))
+
+G_BEGIN_DECLS
+
+typedef struct _EShellModule EShellModule;
+typedef struct _EShellModuleInfo EShellModuleInfo;
+typedef struct _EShellModuleClass EShellModuleClass;
+typedef struct _EShellModulePrivate EShellModulePrivate;
+
+struct _EShellModuleInfo {
+ gint sort_order;
+ const gchar *aliases; /* colon-separated list */
+ const gchar *schemas; /* colon-separated list */
+ GType shell_view_type; /* EShellView subclass */
+
+ void (*window_created) (EShellWindow *window);
+};
+
+struct _EShellModule {
+ GTypeModule parent;
+ EShellModulePrivate *priv;
+};
+
+struct _EShellModuleClass {
+ GTypeModuleClass parent_class;
+};
+
+GType e_shell_module_get_type (void);
+EShellModule * e_shell_module_new (const gchar *filename);
+gint e_shell_module_compare (EShellModule *shell_module_a,
+ EShellModule *shell_module_b);
+const gchar * e_shell_module_get_filename (EShellModule *shell_module);
+GType e_shell_module_get_view_type (EShellModule *shell_module);
+void e_shell_module_window_created (EShellModule *shell_module,
+ EShellWindow *shell_window);
+void e_shell_module_set_info (EShellModule *shell_module,
+ const EShellModuleInfo *info);
+
+G_END_DECLS
+
+#endif /* E_SHELL_MODULE_H */