GtkSearchEngineTracker: Avoid a private struct
We can just make this type final, and avoid the private struct.
This commit is contained in:
@ -52,11 +52,9 @@
|
|||||||
*/
|
*/
|
||||||
#define FTS_MATCHING
|
#define FTS_MATCHING
|
||||||
|
|
||||||
/*
|
struct _GtkSearchEngineTracker
|
||||||
* GtkSearchEngineTracker object
|
|
||||||
*/
|
|
||||||
struct _GtkSearchEngineTrackerPrivate
|
|
||||||
{
|
{
|
||||||
|
GtkSearchEngine parent;
|
||||||
GDBusConnection *connection;
|
GDBusConnection *connection;
|
||||||
GCancellable *cancellable;
|
GCancellable *cancellable;
|
||||||
GtkQuery *query;
|
GtkQuery *query;
|
||||||
@ -64,7 +62,12 @@ struct _GtkSearchEngineTrackerPrivate
|
|||||||
GPtrArray *indexed_locations;
|
GPtrArray *indexed_locations;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineTracker, _gtk_search_engine_tracker, GTK_TYPE_SEARCH_ENGINE)
|
struct _GtkSearchEngineTrackerClass
|
||||||
|
{
|
||||||
|
GtkSearchEngineClass parent_class;
|
||||||
|
};
|
||||||
|
|
||||||
|
G_DEFINE_TYPE (GtkSearchEngineTracker, _gtk_search_engine_tracker, GTK_TYPE_SEARCH_ENGINE)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
finalize (GObject *object)
|
finalize (GObject *object)
|
||||||
@ -75,16 +78,16 @@ finalize (GObject *object)
|
|||||||
|
|
||||||
tracker = GTK_SEARCH_ENGINE_TRACKER (object);
|
tracker = GTK_SEARCH_ENGINE_TRACKER (object);
|
||||||
|
|
||||||
if (tracker->priv->cancellable)
|
if (tracker->cancellable)
|
||||||
{
|
{
|
||||||
g_cancellable_cancel (tracker->priv->cancellable);
|
g_cancellable_cancel (tracker->cancellable);
|
||||||
g_object_unref (tracker->priv->cancellable);
|
g_object_unref (tracker->cancellable);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_clear_object (&tracker->priv->query);
|
g_clear_object (&tracker->query);
|
||||||
g_clear_object (&tracker->priv->connection);
|
g_clear_object (&tracker->connection);
|
||||||
|
|
||||||
g_ptr_array_unref (tracker->priv->indexed_locations);
|
g_ptr_array_unref (tracker->indexed_locations);
|
||||||
|
|
||||||
G_OBJECT_CLASS (_gtk_search_engine_tracker_parent_class)->finalize (object);
|
G_OBJECT_CLASS (_gtk_search_engine_tracker_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
@ -152,7 +155,7 @@ get_query_results (GtkSearchEngineTracker *engine,
|
|||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
g_dbus_connection_call (engine->priv->connection,
|
g_dbus_connection_call (engine->connection,
|
||||||
DBUS_SERVICE_RESOURCES,
|
DBUS_SERVICE_RESOURCES,
|
||||||
DBUS_PATH_RESOURCES,
|
DBUS_PATH_RESOURCES,
|
||||||
DBUS_INTERFACE_RESOURCES,
|
DBUS_INTERFACE_RESOURCES,
|
||||||
@ -161,7 +164,7 @@ get_query_results (GtkSearchEngineTracker *engine,
|
|||||||
NULL,
|
NULL,
|
||||||
G_DBUS_CALL_FLAGS_NONE,
|
G_DBUS_CALL_FLAGS_NONE,
|
||||||
QUERY_TIMEOUT_SECONDS * 1000,
|
QUERY_TIMEOUT_SECONDS * 1000,
|
||||||
engine->priv->cancellable,
|
engine->cancellable,
|
||||||
callback,
|
callback,
|
||||||
user_data);
|
user_data);
|
||||||
}
|
}
|
||||||
@ -267,9 +270,9 @@ query_callback (GObject *object,
|
|||||||
|
|
||||||
tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
|
tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
|
||||||
|
|
||||||
tracker->priv->query_pending = FALSE;
|
tracker->query_pending = FALSE;
|
||||||
|
|
||||||
reply = g_dbus_connection_call_finish (tracker->priv->connection, res, &error);
|
reply = g_dbus_connection_call_finish (tracker->connection, res, &error);
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
_gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
|
_gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
|
||||||
@ -324,20 +327,20 @@ gtk_search_engine_tracker_start (GtkSearchEngine *engine)
|
|||||||
|
|
||||||
tracker = GTK_SEARCH_ENGINE_TRACKER (engine);
|
tracker = GTK_SEARCH_ENGINE_TRACKER (engine);
|
||||||
|
|
||||||
if (tracker->priv->query_pending)
|
if (tracker->query_pending)
|
||||||
{
|
{
|
||||||
g_debug ("Attempt to start a new search while one is pending, doing nothing");
|
g_debug ("Attempt to start a new search while one is pending, doing nothing");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tracker->priv->query == NULL)
|
if (tracker->query == NULL)
|
||||||
{
|
{
|
||||||
g_debug ("Attempt to start a new search with no GtkQuery, doing nothing");
|
g_debug ("Attempt to start a new search with no GtkQuery, doing nothing");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
search_text = gtk_query_get_text (tracker->priv->query);
|
search_text = gtk_query_get_text (tracker->query);
|
||||||
location_uri = gtk_query_get_location (tracker->priv->query);
|
location_uri = gtk_query_get_location (tracker->query);
|
||||||
recursive = _gtk_search_engine_get_recursive (engine);
|
recursive = _gtk_search_engine_get_recursive (engine);
|
||||||
|
|
||||||
sparql = g_string_new ("SELECT nie:url(?urn) "
|
sparql = g_string_new ("SELECT nie:url(?urn) "
|
||||||
@ -376,7 +379,7 @@ gtk_search_engine_tracker_start (GtkSearchEngine *engine)
|
|||||||
g_string_append (sparql, "} ORDER BY DESC(nie:url(?urn)) DESC(nfo:fileName(?urn))");
|
g_string_append (sparql, "} ORDER BY DESC(nie:url(?urn)) DESC(nfo:fileName(?urn))");
|
||||||
#endif /* FTS_MATCHING */
|
#endif /* FTS_MATCHING */
|
||||||
|
|
||||||
tracker->priv->query_pending = TRUE;
|
tracker->query_pending = TRUE;
|
||||||
|
|
||||||
g_debug ("SearchEngineTracker: query: %s", sparql->str);
|
g_debug ("SearchEngineTracker: query: %s", sparql->str);
|
||||||
|
|
||||||
@ -393,10 +396,10 @@ gtk_search_engine_tracker_stop (GtkSearchEngine *engine)
|
|||||||
|
|
||||||
tracker = GTK_SEARCH_ENGINE_TRACKER (engine);
|
tracker = GTK_SEARCH_ENGINE_TRACKER (engine);
|
||||||
|
|
||||||
if (tracker->priv->query && tracker->priv->query_pending)
|
if (tracker->query && tracker->query_pending)
|
||||||
{
|
{
|
||||||
g_cancellable_cancel (tracker->priv->cancellable);
|
g_cancellable_cancel (tracker->cancellable);
|
||||||
tracker->priv->query_pending = FALSE;
|
tracker->query_pending = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -411,10 +414,10 @@ gtk_search_engine_tracker_set_query (GtkSearchEngine *engine,
|
|||||||
if (query)
|
if (query)
|
||||||
g_object_ref (query);
|
g_object_ref (query);
|
||||||
|
|
||||||
if (tracker->priv->query)
|
if (tracker->query)
|
||||||
g_object_unref (tracker->priv->query);
|
g_object_unref (tracker->query);
|
||||||
|
|
||||||
tracker->priv->query = query;
|
tracker->query = query;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -437,11 +440,9 @@ static void get_indexed_locations (GtkSearchEngineTracker *engine);
|
|||||||
static void
|
static void
|
||||||
_gtk_search_engine_tracker_init (GtkSearchEngineTracker *engine)
|
_gtk_search_engine_tracker_init (GtkSearchEngineTracker *engine)
|
||||||
{
|
{
|
||||||
engine->priv = _gtk_search_engine_tracker_get_instance_private (engine);
|
engine->cancellable = g_cancellable_new ();
|
||||||
|
engine->query_pending = FALSE;
|
||||||
engine->priv->cancellable = g_cancellable_new ();
|
engine->indexed_locations = g_ptr_array_new_with_free_func (g_object_unref);
|
||||||
engine->priv->query_pending = FALSE;
|
|
||||||
engine->priv->indexed_locations = g_ptr_array_new_with_free_func (g_object_unref);
|
|
||||||
|
|
||||||
get_indexed_locations (engine);
|
get_indexed_locations (engine);
|
||||||
}
|
}
|
||||||
@ -462,7 +463,7 @@ _gtk_search_engine_tracker_new (void)
|
|||||||
|
|
||||||
engine = g_object_new (GTK_TYPE_SEARCH_ENGINE_TRACKER, NULL);
|
engine = g_object_new (GTK_TYPE_SEARCH_ENGINE_TRACKER, NULL);
|
||||||
|
|
||||||
engine->priv->connection = connection;
|
engine->connection = connection;
|
||||||
|
|
||||||
return GTK_SEARCH_ENGINE (engine);
|
return GTK_SEARCH_ENGINE (engine);
|
||||||
}
|
}
|
||||||
@ -535,7 +536,7 @@ get_indexed_locations (GtkSearchEngineTracker *engine)
|
|||||||
{
|
{
|
||||||
path = path_from_tracker_dir (locations[i]);
|
path = path_from_tracker_dir (locations[i]);
|
||||||
location = g_file_new_for_path (path);
|
location = g_file_new_for_path (path);
|
||||||
g_ptr_array_add (engine->priv->indexed_locations, location);
|
g_ptr_array_add (engine->indexed_locations, location);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_strfreev (locations);
|
g_strfreev (locations);
|
||||||
@ -550,9 +551,9 @@ _gtk_search_engine_tracker_is_indexed (GFile *location,
|
|||||||
gint i;
|
gint i;
|
||||||
GFile *place;
|
GFile *place;
|
||||||
|
|
||||||
for (i = 0; i < engine->priv->indexed_locations->len; i++)
|
for (i = 0; i < engine->indexed_locations->len; i++)
|
||||||
{
|
{
|
||||||
place = g_ptr_array_index (engine->priv->indexed_locations, i);
|
place = g_ptr_array_index (engine->indexed_locations, i);
|
||||||
if (g_file_equal (location, place) || g_file_has_prefix (location, place))
|
if (g_file_equal (location, place) || g_file_has_prefix (location, place))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,19 +35,6 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
typedef struct _GtkSearchEngineTracker GtkSearchEngineTracker;
|
typedef struct _GtkSearchEngineTracker GtkSearchEngineTracker;
|
||||||
typedef struct _GtkSearchEngineTrackerClass GtkSearchEngineTrackerClass;
|
typedef struct _GtkSearchEngineTrackerClass GtkSearchEngineTrackerClass;
|
||||||
typedef struct _GtkSearchEngineTrackerPrivate GtkSearchEngineTrackerPrivate;
|
|
||||||
|
|
||||||
struct _GtkSearchEngineTracker
|
|
||||||
{
|
|
||||||
GtkSearchEngine parent;
|
|
||||||
|
|
||||||
GtkSearchEngineTrackerPrivate *priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _GtkSearchEngineTrackerClass
|
|
||||||
{
|
|
||||||
GtkSearchEngineClass parent_class;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType _gtk_search_engine_tracker_get_type (void);
|
GType _gtk_search_engine_tracker_get_type (void);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user