aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.h
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-08-23 23:36:32 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-08-23 23:36:32 +0800
commitfd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e (patch)
treee97b9ea12c3007cee5933246893d18a63461ce3a /shell/e-shell.h
parent036bb44de80f86a9fa5d92ce9e8848332f2a9cd2 (diff)
downloadgsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.tar
gsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.tar.gz
gsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.tar.bz2
gsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.tar.lz
gsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.tar.xz
gsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.tar.zst
gsoc2013-evolution-fd6cd9e3a6dc06f9b8e44ec13ac881ebd6793e6e.zip
Progress update:
- Discard libnm-glib method of monitoring network connectivity. - Decided to make EShell a singleton GObject after all. Makes the design cleaner, despite having to pass a singleton instance around. - Make the switcher button style persistent. svn path=/branches/kill-bonobo/; revision=36043
Diffstat (limited to 'shell/e-shell.h')
-rw-r--r--shell/e-shell.h58
1 files changed, 48 insertions, 10 deletions
diff --git a/shell/e-shell.h b/shell/e-shell.h
index 2fb814d153..fd0e26e11b 100644
--- a/shell/e-shell.h
+++ b/shell/e-shell.h
@@ -22,13 +22,44 @@
#define E_SHELL_H
#include "e-shell-common.h"
-#include "e-shell-window.h"
+
+/* Standard GObject macros */
+#define E_TYPE_SHELL \
+ (e_shell_get_type ())
+#define E_SHELL(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_SHELL, EShell))
+#define E_SHELL_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_SHELL, EShellClass))
+#define E_IS_SHELL(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_SHELL))
+#define E_IS_SHELL_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_SHELL))
+#define E_SHELL_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_SHELL, EShellClass))
G_BEGIN_DECLS
+typedef struct _EShell EShell;
+typedef struct _EShellClass EShellClass;
+typedef struct _EShellPrivate EShellPrivate;
+
typedef enum _EShellLineStatus EShellLineStatus;
typedef enum _EShellStartupLineMode EShellStartupLineMode;
+struct _EShell {
+ GObject parent;
+ EShellPrivate *priv;
+};
+
+struct _EShellClass {
+ GObjectClass parent_class;
+};
+
enum _EShellLineStatus {
E_SHELL_LINE_STATUS_ONLINE,
E_SHELL_LINE_STATUS_GOING_OFFLINE, /* NB: really means changing state in either direction */
@@ -42,17 +73,24 @@ enum _EShellStartupLineMode {
E_SHELL_STARTUP_LINE_MODE_OFFLINE
};
-EShellWindow * e_shell_create_window (void);
-gboolean e_shell_handle_uri (const gchar *uri);
-void e_shell_send_receive (GtkWindow *parent);
-void e_shell_go_offline (void);
-void e_shell_go_online (void);
+GType e_shell_get_type (void);
+EShell * e_shell_new (gboolean online);
+GtkWidget * e_shell_create_window (EShell *shell);
+gboolean e_shell_handle_uri (EShell *shell,
+ const gchar *uri);
+void e_shell_send_receive (EShell *shell,
+ GtkWindow *parent);
+gboolean e_shell_get_online (EShell *shell);
+void e_shell_set_online (EShell *shell,
+ gboolean online);
EShellLineStatus
- e_shell_get_line_status (void);
+ e_shell_get_line_status (EShell *shell);
+void e_shell_set_line_status (EShell *shell,
+ EShellLineStatus status);
GtkWidget * e_shell_get_preferences_window (void);
-gboolean e_shell_is_busy (void);
-gboolean e_shell_do_quit (void);
-gboolean e_shell_quit (void);
+gboolean e_shell_is_busy (EShell *shell);
+gboolean e_shell_do_quit (EShell *shell);
+gboolean e_shell_quit (EShell *shell);
G_END_DECLS