From 29f0d84eb5ebb8c2619c3b83ec682e2c5d78ebca Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Tue, 6 Sep 2022 19:15:33 +0200 Subject: server: Remove search provider --- README.md | 5 +- data/org.gnome.Terminal.metainfo.xml.in | 1 - meson.build | 4 - meson_options.txt | 6 +- src/gnome-terminal-search-provider.ini | 20 -- src/meson.build | 30 --- src/org.gnome.Terminal.gschema.xml | 4 +- src/terminal-app.cc | 36 --- src/terminal-defines.hh | 1 - src/terminal-schemas.hh | 1 - src/terminal-search-provider.cc | 380 -------------------------------- src/terminal-search-provider.hh | 51 ----- 12 files changed, 6 insertions(+), 533 deletions(-) delete mode 100644 src/gnome-terminal-search-provider.ini delete mode 100644 src/terminal-search-provider.cc delete mode 100644 src/terminal-search-provider.hh diff --git a/README.md b/README.md index 84c66032..934922f1 100644 --- a/README.md +++ b/README.md @@ -46,10 +46,7 @@ $ # Don't forget to make sure that pkg-config can find your self-build vte! $ # e.g. by doing: $ # export PKG_CONFIG_PATH=/some/where/lib64/pkg-config:$PKG_CONFIG_PATH $ # -$ # If you compiled gnome-shell into the same prefix, you can omit disabling -$ # the search provider. -$ # -$ meson _build --prefix=/some/where -Dsearch_provider=false +$ meson _build --prefix=/some/where $ $ # Build $ ninja -C _build diff --git a/data/org.gnome.Terminal.metainfo.xml.in b/data/org.gnome.Terminal.metainfo.xml.in index 6a4e7de5..5a0d7b5a 100644 --- a/data/org.gnome.Terminal.metainfo.xml.in +++ b/data/org.gnome.Terminal.metainfo.xml.in @@ -53,7 +53,6 @@ HiDpiIcon HighContrast ModernToolkit - SearchProvider UserDocs https://wiki.gnome.org/Apps/Terminal diff --git a/meson.build b/meson.build index 4f886a5d..1c5f4393 100644 --- a/meson.build +++ b/meson.build @@ -83,8 +83,6 @@ gt_pkglibdir = gt_libdir / gt_name gt_schemadir = gt_datadir / 'glib-2.0' / 'schemas' -gt_searchproviderdir = gt_datadir / 'gnome-shell' / 'search-providers' - gt_nautilusextensiondir = gt_libdir / 'nautilus' / 'extensions-4' gt_dbusinterfacedir = gt_datadir / 'dbus-1' / 'interfaces' @@ -157,7 +155,6 @@ config_h = configuration_data() config_h.set_quoted('GETTEXT_PACKAGE', gt_gettext_domain) config_h.set_quoted('VERSION', gt_version) config_h.set('ENABLE_DEBUG', enable_debug) -config_h.set('ENABLE_SEARCH_PROVIDER', get_option('search_provider')) # Enable libc features @@ -424,7 +421,6 @@ output += '\n' output += ' Prefix: ' + get_option('prefix') + '\n' output += '\n' output += ' Nautilus extension: ' + get_option('nautilus_extension').to_string() + '\n' -output += ' Search provider: ' + get_option('search_provider').to_string() + '\n' message(output) # Done diff --git a/meson_options.txt b/meson_options.txt index b555ab66..9b370bc8 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -37,7 +37,7 @@ option( option( 'search_provider', type: 'boolean', - value: true, - description: 'Provide search integration for gnome-shell', + value: false, + description: '', + deprecated: true, ) - diff --git a/src/gnome-terminal-search-provider.ini b/src/gnome-terminal-search-provider.ini deleted file mode 100644 index 1b9f81c1..00000000 --- a/src/gnome-terminal-search-provider.ini +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright © 2013 Red Hat, Inc. -# -# 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 3 of the License, 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, see . - -[Shell Search Provider] -DesktopId=org.gnome.Terminal.desktop -BusName=org.gnome.Terminal -ObjectPath=/org/gnome/Terminal/SearchProvider -Version=2 diff --git a/src/meson.build b/src/meson.build index df24c102..d9e45118 100644 --- a/src/meson.build +++ b/src/meson.build @@ -220,24 +220,6 @@ server_sources = app_sources + client_util_sources + debug_sources + dbus_source 'terminal-window.hh', ) -if get_option('search_provider') - - server_sources += files( - 'terminal-search-provider.cc', - 'terminal-search-provider.hh', - ) - - server_sources += gnome.gdbus_codegen( - 'terminal-search-provider-gdbus-generated', - gt_prefix / gt_dbusinterfacedir / 'org.gnome.ShellSearchProvider2.xml', - autocleanup: 'none', - install_header: false, - interface_prefix: 'org.gnome.Shell', - namespace: 'Terminal', - ) - -endif - server_incs = [ top_inc, src_inc, @@ -293,18 +275,6 @@ configure_file( install_dir: gt_prefix / gt_systemduserdir ) -# Search provider - -if get_option('search_provider') - - provider_ini = files(gt_name + '-search-provider.ini') - - install_data( - provider_ini, - install_dir: gt_prefix / gt_searchproviderdir, - ) -endif # option 'search_provider' - # Preferences prefs_resources_sources = gnome.compile_resources( diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml index 36a0230e..bb07bd2b 100644 --- a/src/org.gnome.Terminal.gschema.xml +++ b/src/org.gnome.Terminal.gschema.xml @@ -659,9 +659,9 @@ + - true - Whether the shell integration is enabled + false diff --git a/src/terminal-app.cc b/src/terminal-app.cc index 59a4db15..59407423 100644 --- a/src/terminal-app.cc +++ b/src/terminal-app.cc @@ -52,14 +52,6 @@ #include "terminal-prefs.hh" #endif -#ifndef TERMINAL_SERVER -#undef ENABLE_SEARCH_PROVIDER -#endif - -#ifdef ENABLE_SEARCH_PROVIDER -#include "terminal-search-provider.hh" -#endif /* ENABLE_SEARCH_PROVIDER */ - #include #include #include @@ -124,10 +116,6 @@ struct _TerminalApp GDBusObjectManagerServer *object_manager; GHashTable *screen_map; -#ifdef ENABLE_SEARCH_PROVIDER - TerminalSearchProvider *search_provider; -#endif /* ENABLE_SEARCH_PROVIDER */ - GMenuModel *menubar; GMenu *menubar_new_terminal_section; GMenu *menubar_set_profile_section; @@ -1091,22 +1079,6 @@ terminal_app_dbus_register (GApplication *application, error)) return FALSE; -#ifdef ENABLE_SEARCH_PROVIDER - if (g_settings_get_boolean (app->global_settings, TERMINAL_SETTING_SHELL_INTEGRATION_KEY)) { - gs_unref_object TerminalSearchProvider *search_provider; - - search_provider = terminal_search_provider_new (); - - if (!terminal_search_provider_dbus_register (search_provider, - connection, - TERMINAL_SEARCH_PROVIDER_PATH, - error)) - return FALSE; - - gs_transfer_out_value (&app->search_provider, &search_provider); - } -#endif /* ENABLE_SEARCH_PROVIDER */ - object = terminal_object_skeleton_new (TERMINAL_FACTORY_OBJECT_PATH); factory = terminal_factory_impl_new (); terminal_object_skeleton_set_factory (object, factory); @@ -1132,14 +1104,6 @@ terminal_app_dbus_unregister (GApplication *application, app->object_manager = nullptr; } -#ifdef ENABLE_SEARCH_PROVIDER - if (app->search_provider) { - terminal_search_provider_dbus_unregister (app->search_provider, connection, TERMINAL_SEARCH_PROVIDER_PATH); - g_object_unref (app->search_provider); - app->search_provider = nullptr; - } -#endif /* ENABLE_SEARCH_PROVIDER */ - G_APPLICATION_CLASS (terminal_app_parent_class)->dbus_unregister (application, connection, object_path); diff --git a/src/terminal-defines.hh b/src/terminal-defines.hh index cd85d60c..03b357d3 100644 --- a/src/terminal-defines.hh +++ b/src/terminal-defines.hh @@ -38,7 +38,6 @@ enum { #define TERMINAL_RECEIVER_OBJECT_PATH_FORMAT TERMINAL_OBJECT_PATH_PREFIX "/screen/%s" #define TEMRINAL_RECEIVER_INTERFACE_NAME TERMINAL_OBJECT_INTERFACE_PREFIX ".Terminal0" -#define TERMINAL_SEARCH_PROVIDER_PATH TERMINAL_OBJECT_PATH_PREFIX "/SearchProvider" #define TERMINAL_SETTINGS_BRIDGE_INTERFACE_NAME "org.gnome.Terminal.SettingsBridge0" #define TERMINAL_SETTINGS_BRIDGE_OBJECT_PATH TERMINAL_OBJECT_PATH_PREFIX "/SettingsBridge" diff --git a/src/terminal-schemas.hh b/src/terminal-schemas.hh index b146ba82..baa5055d 100644 --- a/src/terminal-schemas.hh +++ b/src/terminal-schemas.hh @@ -88,7 +88,6 @@ G_BEGIN_DECLS #define TERMINAL_SETTING_NEW_TERMINAL_MODE_KEY "new-terminal-mode" #define TERMINAL_SETTING_NEW_TAB_POSITION_KEY "new-tab-position" #define TERMINAL_SETTING_SCHEMA_VERSION "schema-version" -#define TERMINAL_SETTING_SHELL_INTEGRATION_KEY "shell-integration-enabled" #define TERMINAL_SETTING_TAB_POLICY_KEY "tab-policy" #define TERMINAL_SETTING_TAB_POSITION_KEY "tab-position" #define TERMINAL_SETTING_THEME_VARIANT_KEY "theme-variant" diff --git a/src/terminal-search-provider.cc b/src/terminal-search-provider.cc deleted file mode 100644 index deb5dc10..00000000 --- a/src/terminal-search-provider.cc +++ /dev/null @@ -1,380 +0,0 @@ -/* - * Copyright © 2013, 2014 Red Hat, Inc. - * - * 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 3 of the License, 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, see . - */ - -#include "config.h" - -#include - -#include "terminal-app.hh" -#include "terminal-debug.hh" -#include "terminal-libgsystem.hh" -#include "terminal-screen-container.hh" -#include "terminal-search-provider.hh" -#include "terminal-search-provider-gdbus-generated.h" -#include "terminal-window.hh" - -struct _TerminalSearchProvider -{ - GObject parent; - - TerminalSearchProvider2 *skeleton; -}; - -struct _TerminalSearchProviderClass -{ - GObjectClass parent_class; -}; - -G_DEFINE_TYPE (TerminalSearchProvider, terminal_search_provider, G_TYPE_OBJECT) - -static char * -normalize_casefold_and_unaccent (const char *str) -{ - gs_free char *casefolded = nullptr, *normalized = nullptr; - char *retval = nullptr; - - if (str == nullptr) - goto out; - - normalized = g_utf8_normalize (str, -1, G_NORMALIZE_ALL_COMPOSE); - casefolded = g_utf8_casefold (normalized, -1); - retval = g_str_to_ascii (casefolded, nullptr); - - out: - return retval; -} - -static char ** -normalize_casefold_and_unaccent_terms (const char* const *terms) -{ - char **casefolded_terms; - guint i, n; - - n = g_strv_length ((char **) terms); - casefolded_terms = g_new (char *, n + 1); - - for (i = 0; i < n; i++) - casefolded_terms[i] = normalize_casefold_and_unaccent (terms[i]); - casefolded_terms[n] = nullptr; - - return casefolded_terms; -} - -static gboolean -match_terms (const char *str, - const char* const *terms) -{ - gs_free char *casefolded_str = nullptr; - gboolean matches = TRUE; - guint i; - - if (str == nullptr) - { - matches = FALSE; - goto out; - } - - casefolded_str = normalize_casefold_and_unaccent (str); - for (i = 0; terms[i] != nullptr; i++) - { - if (strstr (casefolded_str, terms[i]) == nullptr) - { - matches = FALSE; - break; - } - } - - out: - return matches; -} - -static gboolean -handle_get_initial_result_set_cb (TerminalSearchProvider2 *skeleton, - GDBusMethodInvocation *invocation, - const char *const *terms, - gpointer user_data) -{ - GList *l, *screens = nullptr, *windows; - gs_unref_ptrarray GPtrArray *results; - TerminalApp *app; - gs_strfreev char **casefolded_terms = nullptr; - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "GetInitialResultSet started\n"); - - app = terminal_app_get (); - windows = gtk_application_get_windows (GTK_APPLICATION (app)); - for (l = windows; l != nullptr; l = l->next) - { - TerminalWindow *window = (TerminalWindow*)(l->data); - GList *c, *containers; - - if (!TERMINAL_IS_WINDOW (l->data)) - continue; - - containers = terminal_window_list_screen_containers (window); - for (c = containers; c != nullptr; c = c->next) - { - TerminalScreenContainer *container = TERMINAL_SCREEN_CONTAINER (c->data); - TerminalScreen *screen; - - screen = terminal_screen_container_get_screen (container); - screens = g_list_prepend (screens, screen); - } - } - - casefolded_terms = normalize_casefold_and_unaccent_terms (terms); - results = g_ptr_array_new_with_free_func (g_free); - - for (l = screens; l != nullptr; l = l->next) - { - TerminalScreen *screen = TERMINAL_SCREEN (l->data); - gs_free char *cmdline = nullptr, *process = nullptr; - const char *cwd, *title; - - cwd = vte_terminal_get_current_directory_uri (VTE_TERMINAL (screen)); - title = terminal_screen_get_title (screen); - terminal_screen_has_foreground_process (screen, &process, &cmdline); - if (match_terms (cwd, (const char *const *) casefolded_terms) || - match_terms (title, (const char *const *) casefolded_terms) || - match_terms (process, (const char *const *) casefolded_terms) || - match_terms (cmdline, (const char *const *) casefolded_terms)) - { - const char *uuid; - - uuid = terminal_screen_get_uuid (screen); - g_ptr_array_add (results, g_strdup (uuid)); - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "Search hit: %s\n", uuid); - } - } - - g_ptr_array_add (results, nullptr); - terminal_search_provider2_complete_get_initial_result_set (skeleton, - invocation, - (const char *const *) results->pdata); - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "GetInitialResultSet completed\n"); - return TRUE; -} - -static gboolean -handle_get_subsearch_result_set_cb (TerminalSearchProvider2 *skeleton, - GDBusMethodInvocation *invocation, - const char *const *previous_results, - const char *const *terms, - gpointer user_data) -{ - gs_unref_ptrarray GPtrArray *results; - TerminalApp *app; - gs_strfreev char **casefolded_terms = nullptr; - guint i; - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "GetSubsearchResultSet started\n"); - - app = terminal_app_get (); - casefolded_terms = normalize_casefold_and_unaccent_terms (terms); - results = g_ptr_array_new_with_free_func (g_free); - - for (i = 0; previous_results[i] != nullptr; i++) - { - TerminalScreen *screen; - gs_free char *cmdline = nullptr, *process = nullptr; - const char *cwd, *title; - - screen = terminal_app_get_screen_by_uuid (app, previous_results[i]); - if (screen == nullptr) - { - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "Not a screen: %s\n", previous_results[i]); - continue; - } - - cwd = vte_terminal_get_current_directory_uri (VTE_TERMINAL (screen)); - title = terminal_screen_get_title (screen); - terminal_screen_has_foreground_process (screen, &process, &cmdline); - if (match_terms (cwd, (const char *const *) casefolded_terms) || - match_terms (title, (const char *const *) casefolded_terms) || - match_terms (process, (const char *const *) casefolded_terms) || - match_terms (cmdline, (const char *const *) casefolded_terms)) - { - g_ptr_array_add (results, g_strdup (previous_results[i])); - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "Search hit: %s\n", previous_results[i]); - } - } - - g_ptr_array_add (results, nullptr); - terminal_search_provider2_complete_get_subsearch_result_set (skeleton, - invocation, - (const char *const *) results->pdata); - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "GetSubsearchResultSet completed\n"); - return TRUE; -} - -static gboolean -handle_get_result_metas_cb (TerminalSearchProvider2 *skeleton, - GDBusMethodInvocation *invocation, - const char *const *results, - gpointer user_data) -{ - GVariantBuilder builder; - TerminalApp *app; - guint i; - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "GetResultMetas started\n"); - - app = terminal_app_get (); - g_variant_builder_init (&builder, G_VARIANT_TYPE ("aa{sv}")); - - for (i = 0; results[i] != nullptr; i++) - { - TerminalScreen *screen; - const char *title; - gs_free char *escaped_text = nullptr; - gs_free char *text = nullptr; - - screen = terminal_app_get_screen_by_uuid (app, results[i]); - if (screen == nullptr) - { - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "Not a screen: %s\n", results[i]); - continue; - } - - title = terminal_screen_get_title (screen); - if (terminal_screen_has_foreground_process (screen, nullptr, nullptr)) { - VteTerminal *terminal = VTE_TERMINAL (screen); - long cursor_row; - - vte_terminal_get_cursor_position (terminal, nullptr, &cursor_row); - text = vte_terminal_get_text_range (terminal, - MAX(0, cursor_row - 1), - 0, - cursor_row + 1, - vte_terminal_get_column_count (terminal) - 1, - nullptr, nullptr, nullptr); - } - - g_variant_builder_open (&builder, G_VARIANT_TYPE ("a{sv}")); - g_variant_builder_add (&builder, "{sv}", "id", g_variant_new_string (results[i])); - g_variant_builder_add (&builder, "{sv}", "name", g_variant_new_string (title)); - if (text != nullptr) - { - escaped_text = g_markup_escape_text (text, -1); - g_variant_builder_add (&builder, "{sv}", "description", g_variant_new_string (escaped_text)); - } - g_variant_builder_close (&builder); - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "Meta for %s: %s\n", results[i], title); - } - - terminal_search_provider2_complete_get_result_metas (skeleton, invocation, g_variant_builder_end (&builder)); - - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "GetResultMetas completed\n"); - - return TRUE; -} - -static gboolean -handle_activate_result_cb (TerminalSearchProvider2 *skeleton, - GDBusMethodInvocation *invocation, - const char *identifier, - const char* const *terms, - guint timestamp, - gpointer user_data) -{ - GtkWidget *toplevel; - TerminalApp *app; - TerminalScreen *screen; - - app = terminal_app_get (); - screen = terminal_app_get_screen_by_uuid (app, identifier); - if (screen == nullptr) - goto out; - - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen)); - if (!gtk_widget_is_toplevel (toplevel)) - goto out; - - terminal_window_switch_screen (TERMINAL_WINDOW (toplevel), screen); - gtk_window_present_with_time (GTK_WINDOW (toplevel), timestamp); - _terminal_debug_print (TERMINAL_DEBUG_SEARCH, "ActivateResult: %s\n", identifier); - - out: - terminal_search_provider2_complete_activate_result (skeleton, invocation); - return TRUE; -} - -static void -terminal_search_provider_init (TerminalSearchProvider *provider) -{ - provider->skeleton = terminal_search_provider2_skeleton_new (); - - g_signal_connect (provider->skeleton, "handle-get-initial-result-set", - G_CALLBACK (handle_get_initial_result_set_cb), provider); - g_signal_connect (provider->skeleton, "handle-get-subsearch-result-set", - G_CALLBACK (handle_get_subsearch_result_set_cb), provider); - g_signal_connect (provider->skeleton, "handle-get-result-metas", - G_CALLBACK (handle_get_result_metas_cb), provider); - g_signal_connect (provider->skeleton, "handle-activate-result", - G_CALLBACK (handle_activate_result_cb), provider); -} - -static void -terminal_search_provider_dispose (GObject *object) -{ - TerminalSearchProvider *provider = TERMINAL_SEARCH_PROVIDER (object); - - g_clear_object (&provider->skeleton); - - G_OBJECT_CLASS (terminal_search_provider_parent_class)->dispose (object); -} - -static void -terminal_search_provider_class_init (TerminalSearchProviderClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->dispose = terminal_search_provider_dispose; -} - -TerminalSearchProvider * -terminal_search_provider_new (void) -{ - return reinterpret_cast - (g_object_new (TERMINAL_TYPE_SEARCH_PROVIDER, nullptr)); -} - -gboolean -terminal_search_provider_dbus_register (TerminalSearchProvider *provider, - GDBusConnection *connection, - const char *object_path, - GError **error) -{ - return g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (provider->skeleton), - connection, - object_path, - error); -} - -void -terminal_search_provider_dbus_unregister (TerminalSearchProvider *provider, - GDBusConnection *connection, - const char *object_path) -{ - if (g_dbus_interface_skeleton_has_connection (G_DBUS_INTERFACE_SKELETON (provider->skeleton), connection)) - g_dbus_interface_skeleton_unexport_from_connection (G_DBUS_INTERFACE_SKELETON (provider->skeleton), - connection); -} diff --git a/src/terminal-search-provider.hh b/src/terminal-search-provider.hh deleted file mode 100644 index 719bd3ee..00000000 --- a/src/terminal-search-provider.hh +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright © 2013 Red Hat, Inc. - * - * 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 3 of the License, 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, see . - */ - -#ifndef TERMINAL_SEARCH_PROVIDER_H -#define TERMINAL_SEARCH_PROVIDER_H - -#include -#include - -G_BEGIN_DECLS - -#define TERMINAL_TYPE_SEARCH_PROVIDER (terminal_search_provider_get_type ()) -#define TERMINAL_SEARCH_PROVIDER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TERMINAL_TYPE_SEARCH_PROVIDER, TerminalSearchProvider)) -#define TERMINAL_SEARCH_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TERMINAL_TYPE_SEARCH_PROVIDER, TerminalSearchProviderClass)) -#define TERMINAL_IS_SEARCH_PROVIDER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TERMINAL_TYPE_SEARCH_PROVIDER)) -#define TERMINAL_IS_SEARCH_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TERMINAL_TYPE_SEARCH_PROVIDER)) -#define TERMINAL_SEARCH_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TERMINAL_TYPE_SEARCH_PROVIDER, TerminalSearchProviderClass)) - -typedef struct _TerminalSearchProvider TerminalSearchProvider; -typedef struct _TerminalSearchProviderClass TerminalSearchProviderClass; - -GType terminal_search_provider_get_type (void); - -TerminalSearchProvider *terminal_search_provider_new (void); - -gboolean terminal_search_provider_dbus_register (TerminalSearchProvider *provider, - GDBusConnection *connection, - const char *object_path, - GError **error); - -void terminal_search_provider_dbus_unregister (TerminalSearchProvider *provider, - GDBusConnection *connection, - const char *object_path); - -G_END_DECLS - -#endif /* !TERMINAL_SEARCH_PROVIDER_H */ -- cgit v1.2.1