void photos_utils_ensure_extension_points (void) { static gsize once_init_value = 0; if (g_once_init_enter (&once_init_value)) { GIOExtensionPoint *extension_point; extension_point = g_io_extension_point_register (PHOTOS_BASE_ITEM_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (extension_point, PHOTOS_TYPE_BASE_ITEM); extension_point = g_io_extension_point_register (PHOTOS_SHARE_POINT_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (extension_point, PHOTOS_TYPE_SHARE_POINT); extension_point = g_io_extension_point_register (PHOTOS_SHARE_POINT_ONLINE_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (extension_point, PHOTOS_TYPE_SHARE_POINT_ONLINE); extension_point = g_io_extension_point_register (PHOTOS_TOOL_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (extension_point, PHOTOS_TYPE_TOOL); extension_point = g_io_extension_point_register (PHOTOS_TRACKER_CONTROLLER_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (extension_point, PHOTOS_TYPE_TRACKER_CONTROLLER); g_once_init_leave (&once_init_value, 1); } }
void gtk_inspector_init (void) { static GIOExtensionPoint *extension_point = NULL; g_type_ensure (G_TYPE_LIST_STORE); g_type_ensure (GTK_TYPE_CELL_RENDERER_GRAPH); g_type_ensure (GTK_TYPE_GRAPH_DATA); g_type_ensure (GTK_TYPE_INSPECTOR_ACTIONS); g_type_ensure (GTK_TYPE_INSPECTOR_CSS_EDITOR); g_type_ensure (GTK_TYPE_INSPECTOR_CSS_NODE_TREE); g_type_ensure (GTK_TYPE_INSPECTOR_DATA_LIST); g_type_ensure (GTK_TYPE_INSPECTOR_GENERAL); g_type_ensure (GTK_TYPE_INSPECTOR_GESTURES); g_type_ensure (GTK_TYPE_MAGNIFIER); g_type_ensure (GTK_TYPE_INSPECTOR_MAGNIFIER); g_type_ensure (GTK_TYPE_INSPECTOR_MENU); g_type_ensure (GTK_TYPE_INSPECTOR_MISC_INFO); g_type_ensure (GTK_TYPE_INSPECTOR_OBJECT_HIERARCHY); g_type_ensure (GTK_TYPE_INSPECTOR_OBJECT_TREE); g_type_ensure (GTK_TYPE_INSPECTOR_PROP_LIST); g_type_ensure (GTK_TYPE_INSPECTOR_RECORDER); g_type_ensure (GTK_TYPE_INSPECTOR_RESOURCE_LIST); g_type_ensure (GTK_TYPE_INSPECTOR_SELECTOR); g_type_ensure (GTK_TYPE_INSPECTOR_SIGNALS_LIST); g_type_ensure (GTK_TYPE_INSPECTOR_SIZE_GROUPS); g_type_ensure (GTK_TYPE_INSPECTOR_STATISTICS); g_type_ensure (GTK_TYPE_INSPECTOR_VISUAL); g_type_ensure (GTK_TYPE_INSPECTOR_WINDOW); g_type_ensure (GTK_TYPE_RENDER_NODE_VIEW); g_type_ensure (GTK_TYPE_STACK_COMBO); if (extension_point == NULL) { GIOModuleScope *scope; gchar **paths; int i; extension_point = g_io_extension_point_register ("gtk-inspector-page"); g_io_extension_point_set_required_type (extension_point, GTK_TYPE_WIDGET); paths = _gtk_get_module_path ("inspector"); scope = g_io_module_scope_new (G_IO_MODULE_SCOPE_BLOCK_DUPLICATES); for (i = 0; paths[i] != NULL; i++) g_io_modules_load_all_in_directory_with_scope (paths[i], scope); g_strfreev (paths); g_io_module_scope_free (scope); } }
static void panel_modules_ensure_extension_points_registered (void) { static gboolean registered_extensions = FALSE; GIOExtensionPoint *ep; if (!registered_extensions) { registered_extensions = TRUE; ep = g_io_extension_point_register (PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (ep, PANEL_TYPE_APPLETS_MANAGER); } }
LwPreferences* w_application_get_preferences (WApplication *application) { WApplicationPrivate *priv; priv = application->priv; if (priv->preferences == NULL) { g_io_extension_point_register ("gsettings-backend"); priv->preferences = lw_preferences_new (g_memory_settings_backend_new ()); } return priv->preferences; }
gboolean _fm_udisks_init() { /* glib < 2.23.2 has errors if an extension poinbt is already registered */ #if !GLIB_CHECK_VERSION(2, 23, 2) if(!g_io_extension_point_lookup(G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME)) #endif { g_io_extension_point_register(G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME); } /* register our own volume monitor to override the one provided in gvfs. */ g_io_extension_point_implement(G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME, G_UDISKS_VOLUME_MONITOR_TYPE, "udisks-monitor", 2 /* the gdu monitor provided by gvfs uses priority 3 */ ); }
static void load_panel_plugins (GnomeControlCenter *shell) { GList *modules; /* only allow this function to be run once to prevent modules being loaded * twice */ if (shell->priv->extension_point) return; /* make sure the base type is registered */ g_type_from_name ("CcPanel"); shell->priv->extension_point = g_io_extension_point_register (CC_SHELL_PANEL_EXTENSION_POINT); /* load all the plugins in the panels directory */ modules = g_io_modules_load_all_in_directory (PANELS_DIR); g_list_free (modules); }
static void ide_init_ctor (void) { GgitFeatureFlags ggit_flags; g_irepository_prepend_search_path (LIBDIR"/gnome-builder/girepository-1.0"); g_type_ensure (IDE_TYPE_CONTEXT); g_type_ensure (IDE_TYPE_VCS); g_io_extension_point_register (IDE_FILE_SETTINGS_EXTENSION_POINT); g_io_extension_point_register (IDE_SCRIPT_EXTENSION_POINT); g_io_extension_point_register (IDE_VCS_EXTENSION_POINT); g_io_extension_point_implement (IDE_FILE_SETTINGS_EXTENSION_POINT, IDE_TYPE_MODELINES_FILE_SETTINGS, IDE_FILE_SETTINGS_EXTENSION_POINT".modelines", -100); g_io_extension_point_implement (IDE_FILE_SETTINGS_EXTENSION_POINT, IDE_TYPE_EDITORCONFIG_FILE_SETTINGS, IDE_FILE_SETTINGS_EXTENSION_POINT".editorconfig", -200); g_io_extension_point_implement (IDE_FILE_SETTINGS_EXTENSION_POINT, IDE_TYPE_GSETTINGS_FILE_SETTINGS, IDE_FILE_SETTINGS_EXTENSION_POINT".gsettings", -300); #ifdef ENABLE_GJS_SCRIPTING g_io_extension_point_implement (IDE_SCRIPT_EXTENSION_POINT, IDE_TYPE_GJS_SCRIPT, IDE_SCRIPT_EXTENSION_POINT".gjs", -100); #endif #ifdef ENABLE_PYTHON_SCRIPTING g_io_extension_point_implement (IDE_SCRIPT_EXTENSION_POINT, IDE_TYPE_PYGOBJECT_SCRIPT, IDE_SCRIPT_EXTENSION_POINT".py", -100); #endif g_io_extension_point_implement (IDE_VCS_EXTENSION_POINT, IDE_TYPE_GIT_VCS, IDE_VCS_EXTENSION_POINT".git", -100); g_io_extension_point_implement (IDE_VCS_EXTENSION_POINT, IDE_TYPE_DIRECTORY_VCS, IDE_VCS_EXTENSION_POINT".directory", -200); modeline_parser_init (); ggit_init (); ggit_flags = ggit_get_features (); if ((ggit_flags & GGIT_FEATURE_THREADS) == 0) { g_error (_("Builder requires libgit2-glib with threading support.")); exit (EXIT_FAILURE); } if ((ggit_flags & GGIT_FEATURE_SSH) == 0) { g_error (_("Builder requires libgit2-glib with SSH support.")); exit (EXIT_FAILURE); } _ide_thread_pool_init (); _ide_battery_monitor_init (); }
* WITHOUT ANY WARRANTY; without even the implied warranties of * MERCHANTABILITY, SATISFACTORY QUALITY, 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, see <http://www.gnu.org/licenses/>. * * Authors: * Lars Uebernickel <*****@*****.**> */ #include "config.h" #include "ubuntumenuitemfactory.h" G_DEFINE_INTERFACE_WITH_CODE (UbuntuMenuItemFactory, ubuntu_menu_item_factory, G_TYPE_OBJECT, GIOExtensionPoint *ep = g_io_extension_point_register (UBUNTU_MENU_ITEM_FACTORY_EXTENSION_POINT_NAME); g_io_extension_point_set_required_type (ep, g_define_type_id);) /* * ubuntu_menu_item_factory_get_all: * * Returns a static list of all registered factories. */ GList * ubuntu_menu_item_factory_get_all (void) { static GList *factories = NULL; if (factories == NULL) { GIOExtensionPoint *ep;
static void ide_init_ctor (void) { GgitFeatureFlags ggit_flags; g_type_ensure (IDE_TYPE_CONTEXT); g_type_ensure (IDE_TYPE_BUILD_SYSTEM); g_type_ensure (IDE_TYPE_VCS); g_io_extension_point_register (IDE_BUILD_SYSTEM_EXTENSION_POINT); g_io_extension_point_register (IDE_FILE_SETTINGS_EXTENSION_POINT); g_io_extension_point_register (IDE_LANGUAGE_EXTENSION_POINT); g_io_extension_point_register (IDE_PROJECT_MINER_EXTENSION_POINT); g_io_extension_point_register (IDE_SCRIPT_EXTENSION_POINT); g_io_extension_point_register (IDE_SEARCH_PROVIDER_EXTENSION_POINT); g_io_extension_point_register (IDE_SERVICE_EXTENSION_POINT); g_io_extension_point_register (IDE_VCS_EXTENSION_POINT); g_io_extension_point_implement (IDE_BUILD_SYSTEM_EXTENSION_POINT, IDE_TYPE_AUTOTOOLS_BUILD_SYSTEM, IDE_BUILD_SYSTEM_EXTENSION_POINT".autotools", -100); g_io_extension_point_implement (IDE_BUILD_SYSTEM_EXTENSION_POINT, IDE_TYPE_DIRECTORY_BUILD_SYSTEM, IDE_BUILD_SYSTEM_EXTENSION_POINT".directory", -200); g_io_extension_point_implement (IDE_FILE_SETTINGS_EXTENSION_POINT, IDE_TYPE_EDITORCONFIG_FILE_SETTINGS, IDE_FILE_SETTINGS_EXTENSION_POINT".editorconfig", -100); g_io_extension_point_implement (IDE_FILE_SETTINGS_EXTENSION_POINT, IDE_TYPE_GSETTINGS_FILE_SETTINGS, IDE_FILE_SETTINGS_EXTENSION_POINT".gsettings", -200); g_io_extension_point_implement (IDE_LANGUAGE_EXTENSION_POINT, IDE_TYPE_C_LANGUAGE, IDE_LANGUAGE_EXTENSION_POINT".c", 0); g_io_extension_point_implement (IDE_LANGUAGE_EXTENSION_POINT, IDE_TYPE_HTML_LANGUAGE, IDE_LANGUAGE_EXTENSION_POINT".html", 0); g_io_extension_point_implement (IDE_LANGUAGE_EXTENSION_POINT, IDE_TYPE_PYTHON_LANGUAGE, IDE_LANGUAGE_EXTENSION_POINT".python", 0); g_io_extension_point_implement (IDE_LANGUAGE_EXTENSION_POINT, IDE_TYPE_XML_LANGUAGE, IDE_LANGUAGE_EXTENSION_POINT".xml", 0); g_io_extension_point_implement (IDE_LANGUAGE_EXTENSION_POINT, IDE_TYPE_VALA_LANGUAGE, IDE_LANGUAGE_EXTENSION_POINT".vala", 0); g_io_extension_point_implement (IDE_PROJECT_MINER_EXTENSION_POINT, IDE_TYPE_AUTOTOOLS_PROJECT_MINER, IDE_PROJECT_MINER_EXTENSION_POINT".autotools", 0); g_io_extension_point_implement (IDE_SCRIPT_EXTENSION_POINT, IDE_TYPE_GJS_SCRIPT, IDE_SCRIPT_EXTENSION_POINT".gjs", -100); g_io_extension_point_implement (IDE_SCRIPT_EXTENSION_POINT, IDE_TYPE_PYGOBJECT_SCRIPT, IDE_SCRIPT_EXTENSION_POINT".py", -100); g_io_extension_point_implement (IDE_SEARCH_PROVIDER_EXTENSION_POINT, IDE_TYPE_DEVHELP_SEARCH_PROVIDER, IDE_SEARCH_PROVIDER_EXTENSION_POINT".devhelp", -100); g_io_extension_point_implement (IDE_SEARCH_PROVIDER_EXTENSION_POINT, IDE_TYPE_GIT_SEARCH_PROVIDER, IDE_SEARCH_PROVIDER_EXTENSION_POINT".git", -100); g_io_extension_point_implement (IDE_SERVICE_EXTENSION_POINT, IDE_TYPE_CLANG_SERVICE, IDE_SERVICE_EXTENSION_POINT".clang", -100); g_io_extension_point_implement (IDE_SERVICE_EXTENSION_POINT, IDE_TYPE_GCA_SERVICE, IDE_SERVICE_EXTENSION_POINT".gca", -200); g_io_extension_point_implement (IDE_VCS_EXTENSION_POINT, IDE_TYPE_GIT_VCS, IDE_VCS_EXTENSION_POINT".git", -100); g_io_extension_point_implement (IDE_VCS_EXTENSION_POINT, IDE_TYPE_DIRECTORY_VCS, IDE_VCS_EXTENSION_POINT".directory", -200); modeline_parser_init (); ggit_init (); ggit_flags = ggit_get_features (); if ((ggit_flags & GGIT_FEATURE_THREADS) == 0) { g_error (_("Builder requires libgit2-glib with threading support.")); exit (EXIT_FAILURE); } if ((ggit_flags & GGIT_FEATURE_SSH) == 0) { g_error (_("Builder requires libgit2-glib with SSH support.")); exit (EXIT_FAILURE); } }