diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2003-11-22 07:03:32 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2003-11-22 07:03:32 +0800 |
commit | fd4f7ff174621461810cf76597a73250ab2cf6fd (patch) | |
tree | 394857e51657d369826ce21a918e8a062472ac36 /embed/ephy-embed-single.c | |
parent | f332569e59ed36ce9f00dc0e9557e8889d0f2651 (diff) | |
download | gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.tar gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.tar.gz gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.tar.bz2 gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.tar.lz gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.tar.xz gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.tar.zst gsoc2013-epiphany-fd4f7ff174621461810cf76597a73250ab2cf6fd.zip |
New interfaces: EphyCookieManager, EphyPermissionManager,
2003-11-21 Christian Persch <chpe@cvs.gnome.org>
* embed/Makefile.am:
* embed/ephy-cookie-manager.c: (ephy_cookie_get_type),
(ephy_cookie_new), (ephy_cookie_copy), (ephy_cookie_free),
(ephy_cookie_manager_get_type), (ephy_cookie_manager_base_init),
(ephy_cookie_manager_list_cookies),
(ephy_cookie_manager_remove_cookie), (ephy_cookie_manager_clear):
* embed/ephy-cookie-manager.h:
* embed/ephy-embed-single.c: (ephy_embed_single_get_type),
(ephy_embed_single_class_init), (ephy_embed_single_clear_cache),
(ephy_embed_single_set_offline_mode),
(ephy_embed_single_load_proxy_autoconf),
(ephy_embed_single_get_font_list):
* embed/ephy-embed-single.h:
* embed/ephy-password-manager.c: (ephy_password_info_get_type),
(ephy_password_info_new), (ephy_password_info_copy),
(ephy_password_info_free), (ephy_password_manager_get_type),
(ephy_password_manager_add), (ephy_password_manager_remove),
(ephy_password_manager_list):
* embed/ephy-password-manager.h:
* embed/ephy-permission-manager.c: (ephy_permission_info_get_type),
(ephy_permission_info_new), (ephy_permission_info_copy),
(ephy_permission_info_free), (ephy_permission_manager_get_type),
(ephy_permission_manager_base_init), (ephy_permission_manager_add),
(ephy_permission_manager_remove), (ephy_permission_manager_clear),
(ephy_permission_manager_test), (ephy_permission_manager_list):
* embed/ephy-permission-manager.h:
* embed/mozilla/mozilla-embed-single.cpp:
* embed/mozilla/mozilla-embed-single.h:
* embed/mozilla/mozilla-notifiers.cpp:
* src/Makefile.am:
* src/pdm-dialog.c: (pdm_dialog_get_type), (pdm_dialog_cookie_add),
(pdm_dialog_password_add), (pdm_dialog_cookie_remove),
(pdm_dialog_password_remove), (pdm_dialog_cookies_free),
(pdm_dialog_passwords_free), (pdm_dialog_init), (pdm_dialog_new),
(show_cookies_properties),
(pdm_dialog_cookies_properties_button_clicked_cb):
* src/pdm-dialog.h:
New interfaces: EphyCookieManager, EphyPermissionManager,
EphyPasswordManager.
Port all callers to new interfaces.
Change linking order to make it link.
Only set autoconf proxy url if it's non-empty.
Diffstat (limited to 'embed/ephy-embed-single.c')
-rw-r--r-- | embed/ephy-embed-single.c | 168 |
1 files changed, 31 insertions, 137 deletions
diff --git a/embed/ephy-embed-single.c b/embed/ephy-embed-single.c index e5bfd0f65..efaf2db39 100644 --- a/embed/ephy-embed-single.c +++ b/embed/ephy-embed-single.c @@ -22,66 +22,41 @@ #include "config.h" #endif -#include "ephy-embed-shell.h" +#include "ephy-embed-single.h" #include "ephy-marshal.h" -#include "ephy-favicon-cache.h" -#include "mozilla-embed-single.h" -#include "ephy-debug.h" -#include "downloader-view.h" -#include <string.h> - -#define EPHY_EMBED_SINGLE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_EMBED_SINGLE, EphyEmbedSinglePrivate)) - -struct EphyEmbedSinglePrivate -{ - EphyHistory *global_history; - DownloaderView *downloader_view; - EphyFaviconCache *favicon_cache; -}; - -static void -ephy_embed_single_class_init (EphyEmbedSingleClass *klass); -static void -ephy_embed_single_init (EphyEmbedSingle *ges); - -static GObjectClass *parent_class = NULL; +static void ephy_embed_single_class_init (gpointer g_class); GType ephy_embed_single_get_type (void) { - static GType ephy_embed_single_type = 0; + static GType type = 0; - if (ephy_embed_single_type == 0) + if (type == 0) { static const GTypeInfo our_info = { sizeof (EphyEmbedSingleClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) ephy_embed_single_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (EphyEmbedSingle), - 0, /* n_preallocs */ - (GInstanceInitFunc) ephy_embed_single_init + ephy_embed_single_class_init, + NULL, }; - ephy_embed_single_type = g_type_register_static (G_TYPE_OBJECT, - "EphyEmbedSingle", - &our_info, 0); + type = g_type_register_static (G_TYPE_INTERFACE, + "EphyEmbedSingle", + &our_info, + (GTypeFlags) 0); } - return ephy_embed_single_type; + return type; } static void -ephy_embed_single_class_init (EphyEmbedSingleClass *klass) +ephy_embed_single_class_init (gpointer g_class) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = (GObjectClass *) g_type_class_peek_parent (klass); + static gboolean initialised = FALSE; + if (initialised == FALSE) + { g_signal_new ("handle_content", EPHY_TYPE_EMBED_SINGLE, G_SIGNAL_RUN_LAST, @@ -93,118 +68,37 @@ ephy_embed_single_class_init (EphyEmbedSingleClass *klass) G_TYPE_STRING, G_TYPE_STRING); - g_type_class_add_private (object_class, sizeof(EphyEmbedSinglePrivate)); -} - -static void -ephy_embed_single_init (EphyEmbedSingle *ges) -{ - ges->priv = EPHY_EMBED_SINGLE_GET_PRIVATE (ges); - - ges->priv->global_history = NULL; - ges->priv->downloader_view = NULL; - - ges->priv->favicon_cache = NULL; + initialised = TRUE; + } } void -ephy_embed_single_clear_cache (EphyEmbedSingle *shell) +ephy_embed_single_clear_cache (EphyEmbedSingle *single) { - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - klass->clear_cache (shell); + EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (single); + klass->clear_cache (single); } void -ephy_embed_single_set_offline_mode (EphyEmbedSingle *shell, - gboolean offline) +ephy_embed_single_set_offline_mode (EphyEmbedSingle *single, + gboolean offline) { - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - klass->set_offline_mode (shell, offline); + EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (single); + klass->set_offline_mode (single, offline); } void -ephy_embed_single_load_proxy_autoconf (EphyEmbedSingle *shell, - const char* url) +ephy_embed_single_load_proxy_autoconf (EphyEmbedSingle *single, + const char* url) { - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - klass->load_proxy_autoconf (shell, url); + EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (single); + klass->load_proxy_autoconf (single, url); } GList * -ephy_embed_single_get_font_list (EphyEmbedSingle *shell, +ephy_embed_single_get_font_list (EphyEmbedSingle *single, const char *langGroup) { - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - return klass->get_font_list (shell, langGroup); -} - -GList * -ephy_embed_single_list_cookies (EphyEmbedSingle *shell) -{ - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - return klass->list_cookies (shell); -} - -void -ephy_embed_single_remove_cookies (EphyEmbedSingle *shell, - GList *cookies) -{ - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - klass->remove_cookies (shell, cookies); -} - -GList * -ephy_embed_single_list_passwords (EphyEmbedSingle *shell, - PasswordType type) -{ - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - return klass->list_passwords (shell, type); -} - -void -ephy_embed_single_remove_passwords (EphyEmbedSingle *shell, - GList *passwords, - PasswordType type) -{ - EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell); - klass->remove_passwords (shell, passwords, type); -} - -void -ephy_embed_single_free_cookies (EphyEmbedSingle *shell, - GList *cookies) -{ - GList *l; - - for (l = cookies; l != NULL; l = l->next) - { - CookieInfo *info = (CookieInfo *)l->data; - - g_free (info->domain); - g_free (info->name); - g_free (info->value); - g_free (info->path); - g_free (info->secure); - g_free (info->expire); - g_free (info); - } - - g_list_free (cookies); -} - -void -ephy_embed_single_free_passwords (EphyEmbedSingle *shell, - GList *passwords) -{ - GList *l; - - for (l = passwords; l != NULL; l = l->next) - { - PasswordInfo *info = (PasswordInfo *)l->data; - g_free (info->host); - g_free (info->username); - g_free (info); - } - - g_list_free (passwords); + EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (single); + return klass->get_font_list (single, langGroup); } |