mime-sniffer: Mark as a final type

It was already declared as such, so get rid of the priv boilerplate.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3525>
This commit is contained in:
Bilal Elmoussaoui 2024-10-22 13:28:11 +02:00 committed by Marge Bot
parent 791cbc7d5d
commit 71ecb8e6cd

View File

@ -70,25 +70,19 @@ typedef struct {
gint total_items;
} DeepCountState;
typedef struct _ShellMimeSnifferPrivate ShellMimeSnifferPrivate;
struct _ShellMimeSniffer
typedef struct _ShellMimeSniffer
{
GObject parent_instance;
ShellMimeSnifferPrivate *priv;
};
struct _ShellMimeSnifferPrivate {
GFile *file;
GCancellable *cancellable;
guint watchdog_id;
GTask *task;
};
} ShellMimeSniffer;
G_DEFINE_TYPE_WITH_PRIVATE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
G_DEFINE_FINAL_TYPE (ShellMimeSniffer, shell_mime_sniffer, G_TYPE_OBJECT);
static void deep_count_load (DeepCountState *state,
GFile *file);
@ -232,7 +226,7 @@ prepare_async_result (DeepCountState *state)
mimes = (gchar **) g_ptr_array_free (sniffed_mime, FALSE);
g_array_free (results, TRUE);
g_task_return_pointer (self->priv->task, mimes, (GDestroyNotify)g_strfreev);
g_task_return_pointer (self->task, mimes, (GDestroyNotify)g_strfreev);
}
/* adapted from nautilus/libnautilus-private/nautilus-directory-async.c */
@ -249,7 +243,7 @@ deep_count_one (DeepCountState *state,
subdir = g_file_get_child (state->file, g_file_info_get_name (info));
state->deep_count_subdirectories =
g_list_append (state->deep_count_subdirectories, subdir);
}
}
else
{
content_type = g_file_info_get_content_type (info);
@ -273,7 +267,7 @@ deep_count_finish (DeepCountState *state)
g_object_unref (state->enumerator);
}
g_cancellable_reset (state->self->priv->cancellable);
g_cancellable_reset (state->self->cancellable);
g_clear_object (&state->file);
g_list_free_full (state->deep_count_subdirectories, g_object_unref);
@ -315,15 +309,15 @@ deep_count_more_files_callback (GObject *source_object,
state = user_data;
if (g_cancellable_is_cancelled (state->self->priv->cancellable))
if (g_cancellable_is_cancelled (state->self->cancellable))
{
deep_count_finish (state);
return;
}
files = g_file_enumerator_next_files_finish (state->enumerator,
res, NULL);
for (l = files; l != NULL; l = l->next)
{
info = l->data;
@ -344,7 +338,7 @@ deep_count_more_files_callback (GObject *source_object,
g_file_enumerator_next_files_async (state->enumerator,
DIRECTORY_LOAD_ITEMS_PER_CALLBACK,
G_PRIORITY_LOW,
state->self->priv->cancellable,
state->self->cancellable,
deep_count_more_files_callback,
state);
}
@ -362,7 +356,7 @@ deep_count_callback (GObject *source_object,
state = user_data;
if (g_cancellable_is_cancelled (state->self->priv->cancellable))
if (g_cancellable_is_cancelled (state->self->cancellable))
{
deep_count_finish (state);
return;
@ -370,7 +364,7 @@ deep_count_callback (GObject *source_object,
enumerator = g_file_enumerate_children_finish (G_FILE (source_object),
res, NULL);
if (enumerator == NULL)
{
deep_count_next_dir (state);
@ -381,7 +375,7 @@ deep_count_callback (GObject *source_object,
g_file_enumerator_next_files_async (state->enumerator,
DIRECTORY_LOAD_ITEMS_PER_CALLBACK,
G_PRIORITY_LOW,
state->self->priv->cancellable,
state->self->cancellable,
deep_count_more_files_callback,
state);
}
@ -397,7 +391,7 @@ deep_count_load (DeepCountState *state,
LOADER_ATTRS,
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, /* flags */
G_PRIORITY_LOW, /* prio */
state->self->priv->cancellable,
state->self->cancellable,
deep_count_callback,
state);
}
@ -410,7 +404,7 @@ deep_count_start (ShellMimeSniffer *self)
state = g_new0 (DeepCountState, 1);
state->self = self;
deep_count_load (state, self->priv->file);
deep_count_load (state, self->file);
}
static void
@ -427,14 +421,14 @@ query_info_async_ready_cb (GObject *source,
if (error != NULL)
{
g_task_return_error (self->priv->task, error);
g_task_return_error (self->task, error);
return;
}
if (g_file_info_get_file_type (info) != G_FILE_TYPE_DIRECTORY)
{
g_task_return_new_error (self->priv->task,
g_task_return_new_error (self->task,
G_IO_ERROR,
G_IO_ERROR_NOT_DIRECTORY,
"Not a directory");
@ -450,8 +444,8 @@ watchdog_timeout_reached_cb (gpointer user_data)
{
ShellMimeSniffer *self = user_data;
self->priv->watchdog_id = 0;
g_cancellable_cancel (self->priv->cancellable);
self->watchdog_id = 0;
g_cancellable_cancel (self->cancellable);
return FALSE;
}
@ -459,11 +453,11 @@ watchdog_timeout_reached_cb (gpointer user_data)
static void
start_loading_file (ShellMimeSniffer *self)
{
g_file_query_info_async (self->priv->file,
g_file_query_info_async (self->file,
LOADER_ATTRS,
G_FILE_QUERY_INFO_NONE,
G_PRIORITY_DEFAULT,
self->priv->cancellable,
self->cancellable,
query_info_async_ready_cb,
self);
}
@ -472,8 +466,8 @@ static void
shell_mime_sniffer_set_file (ShellMimeSniffer *self,
GFile *file)
{
g_clear_object (&self->priv->file);
self->priv->file = g_object_ref (file);
g_clear_object (&self->file);
self->file = g_object_ref (file);
}
static void
@ -481,11 +475,11 @@ shell_mime_sniffer_dispose (GObject *object)
{
ShellMimeSniffer *self = SHELL_MIME_SNIFFER (object);
g_clear_object (&self->priv->file);
g_clear_object (&self->priv->cancellable);
g_clear_object (&self->priv->task);
g_clear_object (&self->file);
g_clear_object (&self->cancellable);
g_clear_object (&self->task);
g_clear_handle_id (&self->priv->watchdog_id, g_source_remove);
g_clear_handle_id (&self->watchdog_id, g_source_remove);
G_OBJECT_CLASS (shell_mime_sniffer_parent_class)->dispose (object);
}
@ -500,7 +494,7 @@ shell_mime_sniffer_get_property (GObject *object,
switch (prop_id) {
case PROP_FILE:
g_value_set_object (value, self->priv->file);
g_value_set_object (value, self->file);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -547,7 +541,6 @@ shell_mime_sniffer_class_init (ShellMimeSnifferClass *klass)
static void
shell_mime_sniffer_init (ShellMimeSniffer *self)
{
self->priv = shell_mime_sniffer_get_instance_private (self);
init_mimetypes ();
}
@ -564,17 +557,17 @@ shell_mime_sniffer_sniff_async (ShellMimeSniffer *self,
GAsyncReadyCallback callback,
gpointer user_data)
{
g_assert (self->priv->watchdog_id == 0);
g_assert (self->priv->task == NULL);
g_assert (self->watchdog_id == 0);
g_assert (self->task == NULL);
self->priv->cancellable = g_cancellable_new ();
self->priv->task = g_task_new (self, self->priv->cancellable,
callback, user_data);
self->cancellable = g_cancellable_new ();
self->task = g_task_new (self, self->cancellable,
callback, user_data);
self->priv->watchdog_id =
self->watchdog_id =
g_timeout_add (WATCHDOG_TIMEOUT,
watchdog_timeout_reached_cb, self);
g_source_set_name_by_id (self->priv->watchdog_id, "[gnome-shell] watchdog_timeout_reached_cb");
g_source_set_name_by_id (self->watchdog_id, "[gnome-shell] watchdog_timeout_reached_cb");
start_loading_file (self);
}
@ -584,5 +577,5 @@ shell_mime_sniffer_sniff_finish (ShellMimeSniffer *self,
GAsyncResult *res,
GError **error)
{
return g_task_propagate_pointer (self->priv->task, error);
return g_task_propagate_pointer (self->task, error);
}