aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-shell.h
diff options
context:
space:
mode:
authorXan Lopez <xlopez@igalia.com>2011-06-30 01:55:28 +0800
committerXan Lopez <xlopez@igalia.com>2011-06-30 01:55:28 +0800
commit4c444c0f7693b9a0f3058729bea04832b66d6214 (patch)
treed91f6fafd638bd19c9421fd1eaf56dde5db12741 /src/ephy-shell.h
parent7628d25419c00d95da3e104ad6f132f4607b78c0 (diff)
downloadgsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.tar
gsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.tar.gz
gsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.tar.bz2
gsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.tar.lz
gsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.tar.xz
gsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.tar.zst
gsoc2013-epiphany-4c444c0f7693b9a0f3058729bea04832b66d6214.zip
Merge EphyApplication into Ephy(Embed)Shell
We want to use EphyApplication from embed/ too, so instead of following the EphyEmbedShell/EphyShell pattern just fold the code into the Shell itself. This makes sense since both classes have basically the same function, and we can easily leave the non-embed code in EphyShell and move to EphyEmbedShell the bits we want to be global. The better name would be EphyCoreApplication/EphyApplication for the resulting object, but we can do this later.
Diffstat (limited to 'src/ephy-shell.h')
-rw-r--r--src/ephy-shell.h36
1 files changed, 33 insertions, 3 deletions
diff --git a/src/ephy-shell.h b/src/ephy-shell.h
index 100356443..bd49a0fd9 100644
--- a/src/ephy-shell.h
+++ b/src/ephy-shell.h
@@ -1,6 +1,9 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
/*
* Copyright © 2000-2004 Marco Pesenti Gritti
* Copyright © 2003, 2004, 2006 Christian Persch
+ * Copyright © 2011 Igalia S.L.
*
* 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
@@ -29,7 +32,6 @@
#include "ephy-bookmarks.h"
#include "ephy-window.h"
#include "ephy-embed.h"
-#include "ephy-application.h"
#include <webkit/webkit.h>
#include <glib-object.h>
@@ -74,6 +76,26 @@ typedef enum
} EphyNewTabFlags;
+typedef enum
+{
+ EPHY_STARTUP_NEW_TAB = 1 << 0,
+ EPHY_STARTUP_NEW_WINDOW = 1 << 1,
+ EPHY_STARTUP_BOOKMARKS_EDITOR = 1 << 2
+} EphyStartupFlags;
+
+typedef struct
+{
+ EphyStartupFlags startup_flags;
+
+ char *bookmarks_filename;
+ char *session_filename;
+ char *bookmark_url;
+
+ char **arguments;
+
+ guint32 user_time;
+} EphyShellStartupContext;
+
struct _EphyShell
{
EphyEmbedShell parent;
@@ -127,10 +149,18 @@ GObject *ephy_shell_get_pdm_dialog (EphyShell *shell);
GObject *ephy_shell_get_prefs_dialog (EphyShell *shell);
-EphyApplication *ephy_shell_get_application (EphyShell *shell);
+void ephy_shell_set_startup_context (EphyShell *shell,
+ EphyShellStartupContext *ctx);
+
+EphyShellStartupContext *ephy_shell_startup_context_new (EphyStartupFlags startup_flags,
+ char *bookmarks_filename,
+ char *session_filename,
+ char *bookmark_url,
+ char **arguments,
+ guint32 user_time);
/* private API */
-void _ephy_shell_create_instance (EphyApplication *application);
+void _ephy_shell_create_instance (gboolean private_instance);
G_END_DECLS