1 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* 3 * Copyright © 2019-2020 Jan-Michael Brummer <jan.brummer@tabos.org> 4 * 5 * This file is part of Epiphany. 6 * 7 * Epiphany is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * Epiphany is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with Epiphany. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 22 #pragma once 23 24 G_BEGIN_DECLS 25 26 #include <glib.h> 27 28 #include "ephy-web-extension.h" 29 30 #define EPHY_TYPE_WEB_EXTENSION_MANAGER (ephy_web_extension_manager_get_type ()) 31 32 G_DECLARE_FINAL_TYPE (EphyWebExtensionManager, ephy_web_extension_manager, EPHY, WEB_EXTENSION_MANAGER, GObject) 33 34 EphyWebExtensionManager *ephy_web_extension_manager_new (void); 35 36 GList *ephy_web_extension_manager_get_web_extensions (EphyWebExtensionManager *self); 37 38 void ephy_web_extension_manager_install_actions (EphyWebExtensionManager *self, 39 EphyWindow *window); 40 41 void ephy_web_extension_manager_install (EphyWebExtensionManager *self, 42 GFile *file); 43 44 void ephy_web_extension_manager_uninstall (EphyWebExtensionManager *self, 45 EphyWebExtension *web_extension); 46 47 void ephy_web_extension_manager_update_location_entry (EphyWebExtensionManager *self, 48 EphyWindow *window); 49 50 void ephy_web_extension_manager_add_web_extension_to_window (EphyWebExtensionManager *self, 51 EphyWebExtension *web_extension, 52 EphyWindow *window); 53 54 void ephy_web_extension_manager_remove_web_extension_from_window (EphyWebExtensionManager *self, 55 EphyWebExtension *web_extension, 56 EphyWindow *window); 57 58 gboolean ephy_web_extension_manager_is_active (EphyWebExtensionManager *self, 59 EphyWebExtension *web_extension); 60 61 void ephy_web_extension_manager_set_active (EphyWebExtensionManager *self, 62 EphyWebExtension *web_extension, 63 gboolean active); 64 65 GtkWidget *ephy_web_extension_manager_get_page_action (EphyWebExtensionManager *self, 66 EphyWebExtension *web_extension, 67 EphyWebView *web_view); 68 69 EphyWebView *ephy_web_extension_manager_get_background_web_view (EphyWebExtensionManager *self, 70 EphyWebExtension *web_extension); 71 72 G_END_DECLS 73