[epiphany] Make EphyEmbedSingle a non-interface type.



commit c3c1771fb6776ee3371ef06e5509d7e347880464
Author: Xan Lopez <xan gnome org>
Date:   Fri Jun 5 23:50:06 2009 +0300

    Make EphyEmbedSingle a non-interface type.
---
 doc/reference/Makefile.am          |    2 -
 embed/ephy-embed-factory.c         |    3 +-
 embed/ephy-embed-shell.c           |    2 +-
 embed/ephy-embed-single.c          |  302 ++++++++++++++++++++++++++-----
 embed/ephy-embed-single.h          |   33 ++---
 embed/webkit/Makefile.am           |    4 +-
 embed/webkit/webkit-embed-single.c |  343 ------------------------------------
 embed/webkit/webkit-embed-single.h |   55 ------
 8 files changed, 268 insertions(+), 476 deletions(-)

diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
index 2fc9924..8a508f9 100644
--- a/doc/reference/Makefile.am
+++ b/doc/reference/Makefile.am
@@ -57,9 +57,7 @@ IGNORE_HFILES = \
 	ephy-history.h \
 	find-dialog.h \
 	print-dialog.h \
-	webkit-embed.h \
 	webkit-embed-persist.h \
-	webkit-embed-single.h \
 	egg-editable-toolbar.h \
 	eggintl.h \
 	eggmarshalers.h \
diff --git a/embed/ephy-embed-factory.c b/embed/ephy-embed-factory.c
index 3fa8818..6eaa05c 100644
--- a/embed/ephy-embed-factory.c
+++ b/embed/ephy-embed-factory.c
@@ -21,7 +21,6 @@
 
 #include "ephy-embed-factory.h"
 #include "webkit-embed-persist.h"
-#include "webkit-embed-single.h"
 #include "ephy-embed.h"
 #include "ephy-embed-persist.h"
 #include "ephy-embed-single.h"
@@ -49,7 +48,7 @@ ephy_embed_factory_new_object (GType type)
 	}
 	else if (type == EPHY_TYPE_EMBED_SINGLE)
 	{
-		object = g_object_new (WEBKIT_TYPE_EMBED_SINGLE, NULL);
+		object = g_object_new (EPHY_TYPE_EMBED_SINGLE, NULL);
 	}
 	else
 	{
diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c
index 03b493f..b84e2ee 100644
--- a/embed/ephy-embed-shell.c
+++ b/embed/ephy-embed-shell.c
@@ -231,7 +231,7 @@ impl_get_embed_single (EphyEmbedShell *shell)
 			(ephy_embed_factory_new_object (EPHY_TYPE_EMBED_SINGLE));
 		g_assert (priv->embed_single != NULL);
 
-		if (!ephy_embed_single_init (priv->embed_single))
+		if (!ephy_embed_single_initialize (priv->embed_single))
 		{
 			GtkWidget *dialog;
 
diff --git a/embed/ephy-embed-single.c b/embed/ephy-embed-single.c
index 9b0e817..7653945 100644
--- a/embed/ephy-embed-single.c
+++ b/embed/ephy-embed-single.c
@@ -20,42 +20,121 @@
 #include "config.h"
 
 #include "ephy-embed-single.h"
+#include "ephy-embed-prefs.h"
 #include "ephy-embed-type-builtins.h"
+#include "ephy-file-helpers.h"
 #include "ephy-marshal.h"
 #include "ephy-signal-accumulator.h"
+#include "ephy-password-manager.h"
+#include "ephy-permission-manager.h"
 
-static void ephy_embed_single_iface_init (gpointer g_class);
+#ifdef ENABLE_CERTIFICATE_MANAGER
+#include "ephy-certificate-manager.h"
+#endif
 
-GType
-ephy_embed_single_get_type (void)
+#include <webkit/webkit.h>
+#include <libsoup/soup-gnome.h>
+
+#define EPHY_EMBED_SINGLE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_EMBED_SINGLE, EphyEmbedSinglePrivate))
+
+struct _EphyEmbedSinglePrivate {
+  guint online : 1;
+};
+
+enum {
+  PROP_0,
+  PROP_NETWORK_STATUS
+};
+
+static void ephy_embed_single_init (EphyEmbedSingle *single);
+static void ephy_embed_single_class_init (EphyEmbedSingleClass *klass);
+static void ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface);
+static void ephy_password_manager_iface_init (EphyPasswordManagerIface *iface);
+#ifdef ENABLE_CERTIFICATE_MANAGER
+static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
+#endif
+
+static void
+ephy_embed_single_get_property (GObject *object,
+                                guint prop_id,
+                                GValue *value,
+                                GParamSpec *pspec)
 {
-	static GType type = 0;
-
-	if (G_UNLIKELY (type == 0))
-	{
-		const GTypeInfo our_info =
-		{
-			sizeof (EphyEmbedSingleIface),
-			ephy_embed_single_iface_init,
-			NULL,
-		};
-
-		type = g_type_register_static (G_TYPE_INTERFACE,
-					       "EphyEmbedSingle",
-					       &our_info,
-					       (GTypeFlags) 0);
-	}
-
-	return type;
+  EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
+
+  switch (prop_id) {
+    case PROP_NETWORK_STATUS:
+      g_value_set_boolean (value, ephy_embed_single_get_network_status (single));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 static void
-ephy_embed_single_iface_init (gpointer g_iface)
+ephy_embed_single_set_property (GObject *object,
+                                guint prop_id,
+                                const GValue *value,
+                                GParamSpec *pspec)
 {
-	static gboolean initialised = FALSE;
+  EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
+
+  switch (prop_id) {
+    case PROP_NETWORK_STATUS:
+      ephy_embed_single_set_network_status (single, g_value_get_boolean (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+/* Some compilers (like gcc 2.95) don't support preprocessor directives inside macros,
+   so we have to duplicate the whole thing */
+
+#ifdef ENABLE_CERTIFICATE_MANAGER
+G_DEFINE_TYPE_WITH_CODE (EphyEmbedSingle, ephy_embed_single, G_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
+                                                ephy_password_manager_iface_init)
+                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
+                                                ephy_certificate_manager_iface_init)
+                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
+                                                ephy_permission_manager_iface_init))
+#else
+G_DEFINE_TYPE_WITH_CODE (EphyEmbedSingle, ephy_embed_single, G_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
+                                                ephy_password_manager_iface_init)
+                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
+                                                ephy_permission_manager_iface_init))
+#endif
+
+static void
+ephy_embed_single_finalize (GObject *object)
+{
+  ephy_embed_prefs_shutdown ();
+
+  G_OBJECT_CLASS (ephy_embed_single_parent_class)->finalize (object);
+}
+
+static void
+ephy_embed_single_init (EphyEmbedSingle *single)
+{
+  EphyEmbedSinglePrivate *priv;
+
+  single->priv = priv = EPHY_EMBED_SINGLE_GET_PRIVATE (single);
+  priv->online = TRUE;
+}
+
+static void
+ephy_embed_single_class_init (EphyEmbedSingleClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  object_class->finalize = ephy_embed_single_finalize;
+  object_class->get_property = ephy_embed_single_get_property;
+  object_class->set_property = ephy_embed_single_set_property;
 
-	if (initialised == FALSE)
-	{
 /**
  * EphyEmbedSingle::new-window:
  * @single:
@@ -70,7 +149,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
 	g_signal_new ("new-window",
 		      EPHY_TYPE_EMBED_SINGLE,
 		      G_SIGNAL_RUN_FIRST | G_SIGNAL_RUN_LAST,
-		      G_STRUCT_OFFSET (EphyEmbedSingleIface, new_window),
+		      G_STRUCT_OFFSET (EphyEmbedSingleClass, new_window),
 		      ephy_signal_accumulator_object, ephy_embed_get_type,
 		      ephy_marshal_OBJECT__OBJECT_FLAGS,
 		      GTK_TYPE_WIDGET,
@@ -94,7 +173,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
 	g_signal_new ("handle_content",
 		      EPHY_TYPE_EMBED_SINGLE,
 		      G_SIGNAL_RUN_LAST,
-		      G_STRUCT_OFFSET (EphyEmbedSingleIface, handle_content),
+		      G_STRUCT_OFFSET (EphyEmbedSingleClass, handle_content),
 		      g_signal_accumulator_true_handled, NULL,
 		      ephy_marshal_BOOLEAN__STRING_STRING,
 		      G_TYPE_BOOLEAN,
@@ -114,7 +193,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
 	g_signal_new ("add-sidebar",
 		      EPHY_TYPE_EMBED_SINGLE,
 		      G_SIGNAL_RUN_LAST,
-		      G_STRUCT_OFFSET (EphyEmbedSingleIface, add_sidebar),
+		      G_STRUCT_OFFSET (EphyEmbedSingleClass, add_sidebar),
 		      g_signal_accumulator_true_handled, NULL,
 		      ephy_marshal_BOOLEAN__STRING_STRING,
 		      G_TYPE_BOOLEAN,
@@ -135,7 +214,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
 	g_signal_new ("add-search-engine",
 		      EPHY_TYPE_EMBED_SINGLE,
 		      G_SIGNAL_RUN_LAST,
-		      G_STRUCT_OFFSET (EphyEmbedSingleIface, add_search_engine),
+		      G_STRUCT_OFFSET (EphyEmbedSingleClass, add_search_engine),
 		      g_signal_accumulator_true_handled, NULL,
 		      ephy_marshal_BOOLEAN__STRING_STRING_STRING,
 		      G_TYPE_BOOLEAN,
@@ -149,30 +228,162 @@ ephy_embed_single_iface_init (gpointer g_iface)
  * 
  * Whether the network is on-line.
  */
-	g_object_interface_install_property
-		(g_iface,
+	g_object_class_install_property
+		(object_class,
+                 PROP_NETWORK_STATUS,
 		 g_param_spec_boolean ("network-status",
 				       "network-status",
 				       "network-status",
 				       FALSE,
 				       G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
 
-	initialised = TRUE;
-	}
+  g_type_class_add_private (object_class, sizeof (EphyEmbedSinglePrivate));
+}
+
+static void
+impl_permission_manager_add (EphyPermissionManager *manager,
+                             const char *host,
+                             const char *type,
+                             EphyPermission permission)
+{
+}
+
+static void
+impl_permission_manager_remove (EphyPermissionManager *manager,
+                                const char *host,
+                                const char *type)
+{
+}
+
+static void
+impl_permission_manager_clear (EphyPermissionManager *manager)
+{
+}
+
+static EphyPermission
+impl_permission_manager_test (EphyPermissionManager *manager,
+                              const char *host,
+                              const char *type)
+{
+  g_return_val_if_fail (type != NULL && type[0] != '\0', EPHY_PERMISSION_DEFAULT);
+
+  return (EphyPermission)0;
+}
+
+static GList *
+impl_permission_manager_list (EphyPermissionManager *manager,
+                              const char *type)
+{
+  GList *list = NULL;
+  return list;
+}
+
+static void
+ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface)
+{
+  iface->add = impl_permission_manager_add;
+  iface->remove = impl_permission_manager_remove;
+  iface->clear = impl_permission_manager_clear;
+  iface->test = impl_permission_manager_test;
+  iface->list = impl_permission_manager_list;
+}
+
+static GList *
+impl_list_passwords (EphyPasswordManager *manager)
+{
+  return NULL;
+}
+
+static void
+impl_remove_password (EphyPasswordManager *manager,
+                      EphyPasswordInfo *info)
+{
+}
+
+static void
+impl_remove_all_passwords (EphyPasswordManager *manager)
+{
+}
+
+static void
+impl_add_password (EphyPasswordManager *manager,
+                   EphyPasswordInfo *info)
+{
+}
+
+static void
+ephy_password_manager_iface_init (EphyPasswordManagerIface *iface)
+{
+  iface->add = impl_add_password;
+  iface->remove = impl_remove_password;
+  iface->remove_all = impl_remove_all_passwords;
+  iface->list = impl_list_passwords;
 }
 
+#ifdef ENABLE_CERTIFICATE_MANAGER
+
+static gboolean
+impl_remove_certificate (EphyCertificateManager *manager,
+                         EphyX509Cert *cert)
+{
+  return TRUE;
+}
+
+#define NICK_DELIMITER PRUnichar ('\001')
+static GList *
+impl_get_certificates (EphyCertificateManager *manager,
+                       EphyX509CertType type)
+{
+  return NULL;
+}
+
+static gboolean
+impl_import (EphyCertificateManager *manager,
+             const gchar *file)
+{
+  return TRUE;
+}
+
+static void
+ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface)
+{
+  iface->get_certificates = impl_get_certificates;
+  iface->remove_certificate = impl_remove_certificate;
+  iface->import = impl_import;
+}
+
+#endif /* ENABLE_CERTIFICATE_MANAGER */
+
 /**
- * ephy_embed_single_init:
+ * ephy_embed_single_initialize:
  * @single: the #EphyEmbedSingle
  * 
  * Performs startup initialisations. Must be called before calling
  * any other methods.
  **/
 gboolean
-ephy_embed_single_init (EphyEmbedSingle *single)
+ephy_embed_single_initialize (EphyEmbedSingle *single)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	return iface->init (single);
+  SoupSession *session;
+  SoupCookieJar *jar;
+  char *filename;
+
+  ephy_embed_prefs_init ();
+
+  session = webkit_get_default_session ();
+
+  /* Store cookies in moz-compatible SQLite format */
+  filename = g_build_filename (ephy_dot_dir (), "cookies.sqlite", NULL);
+  jar = soup_cookie_jar_sqlite_new (filename, FALSE);
+  g_free (filename);
+
+  soup_session_add_feature (session, SOUP_SESSION_FEATURE(jar));
+  g_object_unref (jar);
+
+  /* Use GNOME proxy settings through libproxy */
+  soup_session_add_feature_by_type (session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
+
+  return TRUE;
 }
 
 /**
@@ -184,8 +395,6 @@ ephy_embed_single_init (EphyEmbedSingle *single)
 void
 ephy_embed_single_clear_cache (EphyEmbedSingle *single)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	iface->clear_cache (single);
 }
 
 /**
@@ -205,8 +414,6 @@ ephy_embed_single_clear_cache (EphyEmbedSingle *single)
 void
 ephy_embed_single_clear_auth_cache (EphyEmbedSingle *single)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	iface->clear_auth_cache (single);
 }
 
 /**
@@ -220,8 +427,8 @@ void
 ephy_embed_single_set_network_status (EphyEmbedSingle *single,
 				      gboolean status)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	iface->set_network_status (single, status);
+  if (status != single->priv->online)
+    single->priv->online = status;
 }
 
 /**
@@ -235,8 +442,7 @@ ephy_embed_single_set_network_status (EphyEmbedSingle *single,
 gboolean
 ephy_embed_single_get_network_status (EphyEmbedSingle *single)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	return iface->get_network_status (single);
+  return single->priv->online;
 }
 
 /**
@@ -256,8 +462,7 @@ GList *
 ephy_embed_single_get_font_list (EphyEmbedSingle *single,
 				 const char *lang_group)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	return iface->get_font_list (single, lang_group);
+  return NULL;
 }
 
 /**
@@ -285,6 +490,5 @@ ephy_embed_single_open_window (EphyEmbedSingle *single,
 			       const char *name,
 			       const char *features)
 {
-	EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
-	return iface->open_window (single, parent, address, name, features);
+  return NULL;
 }
diff --git a/embed/ephy-embed-single.h b/embed/ephy-embed-single.h
index cbd253a..b2efd0e 100644
--- a/embed/ephy-embed-single.h
+++ b/embed/ephy-embed-single.h
@@ -37,11 +37,19 @@ G_BEGIN_DECLS
 #define EPHY_EMBED_SINGLE_GET_IFACE(i)	(G_TYPE_INSTANCE_GET_INTERFACE ((i), EPHY_TYPE_EMBED_SINGLE, EphyEmbedSingleIface))
 
 typedef struct _EphyEmbedSingle		EphyEmbedSingle;
-typedef struct _EphyEmbedSingleIface	EphyEmbedSingleIface;
+typedef struct _EphyEmbedSingleClass    EphyEmbedSingleClass;
+typedef struct _EphyEmbedSinglePrivate  EphyEmbedSinglePrivate;
 
-struct _EphyEmbedSingleIface
+struct _EphyEmbedSingle {
+  GObject parent;
+
+  /*< private >*/
+  EphyEmbedSinglePrivate *priv;
+};
+
+struct _EphyEmbedSingleClass
 {
-	GTypeInterface base_iface;
+	GObjectClass parent_class;
 
 	/* Signals */
 
@@ -61,28 +69,11 @@ struct _EphyEmbedSingleIface
 					const char *url,
 					const char *icon_url,
 					const char *title);
-
-	/* Methods */
-
-	gboolean	  (* init)		(EphyEmbedSingle *single);
-	GtkWidget *	  (* open_window)	(EphyEmbedSingle *single,
-						 EphyEmbed *parent,
-						 const char *address,
-						 const char *name,
-						 const char *features);
-	void		  (* clear_cache)	(EphyEmbedSingle *shell);
-	void		  (* clear_auth_cache)	(EphyEmbedSingle *shell);
-	void		  (* set_network_status)(EphyEmbedSingle *shell,
-						 gboolean offline);
-	gboolean	  (* get_network_status)(EphyEmbedSingle *single);
-	GList *		  (* get_font_list)	(EphyEmbedSingle *shell,
-						 const char *langGroup);
-	const char *      (* get_backend_name)  (EphyEmbedSingle *shell);
 };
 
 GType		ephy_embed_single_get_type		(void);
 
-gboolean	ephy_embed_single_init			(EphyEmbedSingle *single);
+gboolean	ephy_embed_single_initialize		(EphyEmbedSingle *single);
 
 GtkWidget      *ephy_embed_single_open_window		(EphyEmbedSingle *single,
 							 EphyEmbed *parent,
diff --git a/embed/webkit/Makefile.am b/embed/webkit/Makefile.am
index ca204a8..e5b14cc 100644
--- a/embed/webkit/Makefile.am
+++ b/embed/webkit/Makefile.am
@@ -2,9 +2,7 @@ noinst_LTLIBRARIES = libephywebkitembed.la
 
 libephywebkitembed_la_SOURCES = 	\
 	webkit-embed-persist.c          \
-	webkit-embed-persist.h		\
-	webkit-embed-single.c	        \
-	webkit-embed-single.h
+	webkit-embed-persist.h
 
 libephywebkitembed_la_CPPFLAGS = \
 	-I$(top_srcdir)/lib	    		\
diff --git a/embed/webkit/webkit-embed-single.c b/embed/webkit/webkit-embed-single.c
deleted file mode 100644
index af6cbc6..0000000
--- a/embed/webkit/webkit-embed-single.c
+++ /dev/null
@@ -1,343 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
-/*  Copyright © 2007 Xan Lopez <xan gnome org>
- *
- *  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, or (at your option)
- *  any later version.
- *
- *  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.
- *
- */
-
-#include "config.h"
-#include <glib/gi18n.h>
-#include <webkit/webkit.h>
-#include <libsoup/soup-gnome.h>
-
-#include "webkit-embed-single.h"
-#include "ephy-embed-prefs.h"
-#include "ephy-embed-single.h"
-#include "ephy-file-helpers.h"
-#include "ephy-password-manager.h"
-#include "ephy-permission-manager.h"
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-#include "ephy-certificate-manager.h"
-#endif
-
-#define WEBKIT_EMBED_SINGLE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSinglePrivate))
-
-struct WebKitEmbedSinglePrivate {
-  guint online : 1;
-};
-
-enum {
-  PROP_0,
-  PROP_NETWORK_STATUS
-};
-
-static void webkit_embed_single_class_init     (WebKitEmbedSingleClass *klass);
-static void webkit_embed_single_init           (WebKitEmbedSingle *wes);
-static void ephy_embed_single_iface_init       (EphyEmbedSingleIface *iface);
-static void ephy_password_manager_iface_init   (EphyPasswordManagerIface *iface);
-static void ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface);
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
-#endif
-
-/* Some compilers (like gcc 2.95) don't support preprocessor directives inside macros,
-   so we have to duplicate the whole thing */
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-G_DEFINE_TYPE_WITH_CODE (WebKitEmbedSingle, webkit_embed_single, G_TYPE_OBJECT,
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
-                                                ephy_embed_single_iface_init)
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
-                                                ephy_password_manager_iface_init)
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
-                                                ephy_certificate_manager_iface_init)
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
-                                                ephy_permission_manager_iface_init))
-#else
-G_DEFINE_TYPE_WITH_CODE (WebKitEmbedSingle, webkit_embed_single, G_TYPE_OBJECT,
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
-                                                ephy_embed_single_iface_init)
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
-                                                ephy_password_manager_iface_init)
-                         G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
-                                                ephy_permission_manager_iface_init))
-#endif
-
-
-static void
-webkit_embed_single_init (WebKitEmbedSingle *wes)
-{
-  wes->priv = WEBKIT_EMBED_SINGLE_GET_PRIVATE (wes);
-
-  wes->priv->online = TRUE;
-}
-
-static void
-webkit_embed_single_finalize (GObject *object)
-{
-  ephy_embed_prefs_shutdown ();
-
-  G_OBJECT_CLASS (webkit_embed_single_parent_class)->finalize (object);
-}
-
-static void
-impl_clear_cache (EphyEmbedSingle *shell)
-{
-}
-
-static void
-impl_clear_auth_cache (EphyEmbedSingle *shell)
-{
-}
-
-static void
-impl_set_network_status (EphyEmbedSingle *single,
-                         gboolean online)
-{
-  WebKitEmbedSinglePrivate *priv = WEBKIT_EMBED_SINGLE (single)->priv;
-
-  if (online != priv->online) {
-    priv->online = online;
-  }
-}
-
-static gboolean
-impl_get_network_status (EphyEmbedSingle *esingle)
-{
-  return WEBKIT_EMBED_SINGLE (esingle)->priv->online;
-}
-
-static GList *
-impl_get_font_list (EphyEmbedSingle *shell,
-                    const char *langGroup)
-{
-  return NULL;
-}
-
-static GList *
-impl_list_passwords (EphyPasswordManager *manager)
-{
-  return NULL;
-}
-
-static void
-impl_remove_password (EphyPasswordManager *manager,
-                      EphyPasswordInfo *info)
-{
-}
-
-static void
-impl_remove_all_passwords (EphyPasswordManager *manager)
-{
-}
-
-static void
-impl_add_password (EphyPasswordManager *manager,
-                   EphyPasswordInfo *info)
-{
-}
-
-static void
-impl_permission_manager_add (EphyPermissionManager *manager,
-                             const char *host,
-                             const char *type,
-                             EphyPermission permission)
-{
-}
-
-static void
-impl_permission_manager_remove (EphyPermissionManager *manager,
-                                const char *host,
-                                const char *type)
-{
-}
-
-static void
-impl_permission_manager_clear (EphyPermissionManager *manager)
-{
-}
-
-static EphyPermission
-impl_permission_manager_test (EphyPermissionManager *manager,
-                              const char *host,
-                              const char *type)
-{
-  g_return_val_if_fail (type != NULL && type[0] != '\0', EPHY_PERMISSION_DEFAULT);
-
-  return (EphyPermission)0;
-}
-
-static gboolean
-impl_init (EphyEmbedSingle *esingle)
-{
-  SoupSession *session;
-  SoupCookieJar *jar;
-  char *filename;
-
-  ephy_embed_prefs_init ();
-
-  session = webkit_get_default_session ();
-
-  /* Store cookies in moz-compatible SQLite format */
-  filename = g_build_filename (ephy_dot_dir (), "cookies.sqlite", NULL);
-  jar = soup_cookie_jar_sqlite_new (filename, FALSE);
-  g_free (filename);
-
-  soup_session_add_feature (session, SOUP_SESSION_FEATURE(jar));
-  g_object_unref (jar);
-
-  /* Use GNOME proxy settings through libproxy */
-  soup_session_add_feature_by_type (session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
-
-  return TRUE;
-}
-
-static GList *
-impl_permission_manager_list (EphyPermissionManager *manager,
-                              const char *type)
-{
-  GList *list = NULL;
-  return list;
-}
-
-static GtkWidget *
-impl_open_window (EphyEmbedSingle *single,
-                  EphyEmbed *parent,
-                  const char *address,
-                  const char *name,
-                  const char *features)
-{
-  return NULL;
-}
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-
-static gboolean
-impl_remove_certificate (EphyCertificateManager *manager,
-                         EphyX509Cert *cert)
-{
-  return TRUE;
-}
-
-#define NICK_DELIMITER PRUnichar ('\001')
-static GList *
-impl_get_certificates (EphyCertificateManager *manager,
-                       EphyX509CertType type)
-{
-  return NULL;
-}
-
-static gboolean
-impl_import (EphyCertificateManager *manager,
-             const gchar *file)
-{
-  return TRUE;
-}
-
-#endif /* ENABLE_CERTIFICATE_MANAGER */
-
-static void
-webkit_embed_single_get_property (GObject *object,
-                                  guint prop_id,
-                                  GValue *value,
-                                  GParamSpec *pspec)
-{
-  EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
-
-  switch (prop_id) {
-    case PROP_NETWORK_STATUS:
-      g_value_set_boolean (value, ephy_embed_single_get_network_status (single));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-webkit_embed_single_set_property (GObject *object,
-                                  guint prop_id,
-                                  const GValue *value,
-                                  GParamSpec *pspec)
-{
-  EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
-
-  switch (prop_id) {
-    case PROP_NETWORK_STATUS:
-      ephy_embed_single_set_network_status (single, g_value_get_boolean (value));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-static void
-webkit_embed_single_class_init (WebKitEmbedSingleClass *klass)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
-  object_class->finalize = webkit_embed_single_finalize;
-  object_class->get_property = webkit_embed_single_get_property;
-  object_class->set_property = webkit_embed_single_set_property;
-
-  g_object_class_override_property (object_class, PROP_NETWORK_STATUS, "network-status");
-
-  g_type_class_add_private (object_class, sizeof (WebKitEmbedSinglePrivate));
-}
-
-static void
-ephy_embed_single_iface_init (EphyEmbedSingleIface *iface)
-{
-  iface->init = impl_init;
-  iface->clear_cache = impl_clear_cache;
-  iface->clear_auth_cache = impl_clear_auth_cache;
-  iface->set_network_status = impl_set_network_status;
-  iface->get_network_status = impl_get_network_status;
-  iface->get_font_list = impl_get_font_list;
-  iface->open_window = impl_open_window;
-}
-
-static void
-ephy_password_manager_iface_init (EphyPasswordManagerIface *iface)
-{
-  iface->add = impl_add_password;
-  iface->remove = impl_remove_password;
-  iface->remove_all = impl_remove_all_passwords;
-  iface->list = impl_list_passwords;
-}
-
-static void
-ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface)
-{
-  iface->add = impl_permission_manager_add;
-  iface->remove = impl_permission_manager_remove;
-  iface->clear = impl_permission_manager_clear;
-  iface->test = impl_permission_manager_test;
-  iface->list = impl_permission_manager_list;
-}
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-
-static void
-ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface)
-{
-  iface->get_certificates = impl_get_certificates;
-  iface->remove_certificate = impl_remove_certificate;
-  iface->import = impl_import;
-}
-
-#endif /* ENABLE_CERTIFICATE_MANAGER */
diff --git a/embed/webkit/webkit-embed-single.h b/embed/webkit/webkit-embed-single.h
deleted file mode 100644
index aae444e..0000000
--- a/embed/webkit/webkit-embed-single.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
-/*
- *  Copyright © 2000-2003 Marco Pesenti Gritti
- *  Copyright © 2003 Christian Persch
- *
- *  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, or (at your option)
- *  any later version.
- *
- *  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 WEBKIT_EMBED_SINGLE_H
-#define WEBKIT_EMBED_SINGLE_H
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_EMBED_SINGLE                (webkit_embed_single_get_type ())
-#define WEBKIT_EMBED_SINGLE(o)                  (G_TYPE_CHECK_INSTANCE_CAST ((o), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSingle))
-#define WEBKIT_EMBED_SINGLE_CLASS(k)            (G_TYPE_CHECK_CLASS_CAST ((k), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSingleClass))
-#define WEBKIT_IS_EMBED_SINGLE(o)               (G_TYPE_CHECK_INSTANCE_TYPE ((o), WEBKIT_TYPE_EMBED_SINGLE))
-#define WEBKIT_IS_EMBED_SINGLE_CLASS(k)         (G_TYPE_CHECK_CLASS_TYPE ((k), WEBKIT_TYPE_EMBED_SINGLE))
-#define WEBKIT_EMBED_SINGLE_GET_CLASS(o)        (G_TYPE_INSTANCE_GET_CLASS ((o), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSingleClass))
-
-typedef struct WebKitEmbedSingle WebKitEmbedSingle;
-typedef struct WebKitEmbedSingleClass WebKitEmbedSingleClass;
-typedef struct WebKitEmbedSinglePrivate WebKitEmbedSinglePrivate;
-
-struct WebKitEmbedSingle {
-  GObject parent;
-
-  /*< private >*/
-  WebKitEmbedSinglePrivate *priv;
-};
-
-struct WebKitEmbedSingleClass {
-  GObjectClass parent_class;
-};
-
-GType   webkit_embed_single_get_type (void);
-
-G_END_DECLS
-
-#endif



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]