diff options
author | Xan Lopez <xan@gnome.org> | 2009-06-06 04:50:06 +0800 |
---|---|---|
committer | Xan Lopez <xan@gnome.org> | 2009-06-06 04:50:06 +0800 |
commit | c3c1771fb6776ee3371ef06e5509d7e347880464 (patch) | |
tree | fd4d2786898ba60905727f3c336d3978478d2c01 /embed/webkit | |
parent | ecd30f7b95964ec717d5da6873492fab939f2523 (diff) | |
download | gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.gz gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.bz2 gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.lz gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.xz gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.zst gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.zip |
Make EphyEmbedSingle a non-interface type.
Diffstat (limited to 'embed/webkit')
-rw-r--r-- | embed/webkit/Makefile.am | 4 | ||||
-rw-r--r-- | embed/webkit/webkit-embed-single.c | 343 | ||||
-rw-r--r-- | embed/webkit/webkit-embed-single.h | 55 |
3 files changed, 1 insertions, 401 deletions
diff --git a/embed/webkit/Makefile.am b/embed/webkit/Makefile.am index ca204a8ec..e5b14ccff 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 af6cbc6e2..000000000 --- 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 aae444e9c..000000000 --- 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 |