1 /* 2 * Copyright (C) 2005 Novell, Inc. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the 16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 * 18 * Author: Anders Carlsson <andersca@imendio.com> 19 * 20 * Based on nautilus-search-engine.h 21 */ 22 23 #ifndef __GTK_SEARCH_ENGINE_H__ 24 #define __GTK_SEARCH_ENGINE_H__ 25 26 #include "gtkquery.h" 27 28 G_BEGIN_DECLS 29 30 #define GTK_TYPE_SEARCH_ENGINE (_gtk_search_engine_get_type ()) 31 #define GTK_SEARCH_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SEARCH_ENGINE, GtkSearchEngine)) 32 #define GTK_SEARCH_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SEARCH_ENGINE, GtkSearchEngineClass)) 33 #define GTK_IS_SEARCH_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SEARCH_ENGINE)) 34 #define GTK_IS_SEARCH_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SEARCH_ENGINE)) 35 #define GTK_SEARCH_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SEARCH_ENGINE, GtkSearchEngineClass)) 36 37 typedef struct _GtkSearchEngine GtkSearchEngine; 38 typedef struct _GtkSearchEngineClass GtkSearchEngineClass; 39 typedef struct _GtkSearchEnginePrivate GtkSearchEnginePrivate; 40 41 struct _GtkSearchEngine 42 { 43 GObject parent; 44 45 GtkSearchEnginePrivate *priv; 46 }; 47 48 struct _GtkSearchEngineClass 49 { 50 GObjectClass parent_class; 51 52 /* VTable */ 53 void (*set_query) (GtkSearchEngine *engine, 54 GtkQuery *query); 55 void (*start) (GtkSearchEngine *engine); 56 void (*stop) (GtkSearchEngine *engine); 57 gboolean (*is_indexed) (GtkSearchEngine *engine); 58 59 /* Signals */ 60 void (*hits_added) (GtkSearchEngine *engine, 61 GList *hits); 62 void (*hits_subtracted) (GtkSearchEngine *engine, 63 GList *hits); 64 void (*finished) (GtkSearchEngine *engine); 65 void (*error) (GtkSearchEngine *engine, 66 const gchar *error_message); 67 }; 68 69 GType _gtk_search_engine_get_type (void); 70 gboolean _gtk_search_engine_enabled (void); 71 72 GtkSearchEngine* _gtk_search_engine_new (void); 73 74 void _gtk_search_engine_set_query (GtkSearchEngine *engine, 75 GtkQuery *query); 76 void _gtk_search_engine_start (GtkSearchEngine *engine); 77 void _gtk_search_engine_stop (GtkSearchEngine *engine); 78 gboolean _gtk_search_engine_is_indexed (GtkSearchEngine *engine); 79 80 void _gtk_search_engine_hits_added (GtkSearchEngine *engine, 81 GList *hits); 82 void _gtk_search_engine_hits_subtracted (GtkSearchEngine *engine, 83 GList *hits); 84 void _gtk_search_engine_finished (GtkSearchEngine *engine); 85 void _gtk_search_engine_error (GtkSearchEngine *engine, 86 const gchar *error_message); 87 88 G_END_DECLS 89 90 #endif /* __GTK_SEARCH_ENGINE_H__ */ 91