1
0
mirror of https://gitlab.gnome.org/GNOME/nautilus synced 2024-06-30 23:46:35 +00:00

file: Document vtable

Ensure no virtual method is left undefined by subclasses.
This commit is contained in:
António Fernandes 2024-05-25 19:42:36 +01:00
parent 6d47fce9c9
commit 61032380f3
2 changed files with 22 additions and 19 deletions

View File

@ -8527,22 +8527,6 @@ real_get_deep_counts (NautilusFile *file,
return NAUTILUS_REQUEST_DONE;
}
static void
real_set_metadata (NautilusFile *file,
const char *key,
const char *value)
{
/* Dummy default impl */
}
static void
real_set_metadata_as_list (NautilusFile *file,
const char *key,
char **value)
{
/* Dummy default impl */
}
static void
nautilus_file_get_property (GObject *object,
guint prop_id,
@ -8589,6 +8573,12 @@ nautilus_file_set_property (GObject *object,
}
}
static void
default_no_op (NautilusFile *file)
{
/* Dummy default impl */
}
static void
nautilus_file_class_init (NautilusFileClass *class)
{
@ -8636,8 +8626,18 @@ nautilus_file_class_init (NautilusFileClass *class)
class->get_item_count = real_get_item_count;
class->get_deep_counts = real_get_deep_counts;
class->set_metadata = real_set_metadata;
class->set_metadata_as_list = real_set_metadata_as_list;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
class->set_metadata = default_no_op;
class->set_metadata_as_list = default_no_op;
class->mount = default_no_op;
class->unmount = default_no_op;
class->eject = default_no_op;
class->start = default_no_op;
class->stop = default_no_op;
class->poll_for_media = default_no_op;
#pragma GCC diagnostic pop
signals[CHANGED] =
g_signal_new ("changed",

View File

@ -499,7 +499,7 @@ typedef struct {
/* Called periodically while directory deep count is being computed. */
void (* updated_deep_count_in_progress) (NautilusFile *file);
/* Virtual functions (mainly used for trash directory). */
/* Virtual functions which MUST be implemented by subclasses */
void (* monitor_add) (NautilusFile *file,
gconstpointer client,
NautilusFileAttributes attributes);
@ -514,6 +514,8 @@ typedef struct {
gpointer callback_data);
gboolean (* check_if_ready) (NautilusFile *file,
NautilusFileAttributes attributes);
/* Virtual functions which MAY be overridden by subclasses */
gboolean (* get_item_count) (NautilusFile *file,
guint *count,
gboolean *count_unreadable);
@ -523,6 +525,7 @@ typedef struct {
guint *unreadable_directory_count,
goffset *total_size);
/* Virtual functions which MAY be implemented by subclasses (default implementation does nothing) */
void (* set_metadata) (NautilusFile *file,
const char *key,
const char *value);