static CajaRequestStatus
search_directory_file_get_deep_counts (CajaFile *file,
                                       guint *directory_count,
                                       guint *file_count,
                                       guint *unreadable_directory_count,
                                       goffset *total_size,
                                       goffset *total_size_on_disk)
{
    GList *file_list, *l;
    guint dirs, files;
    GFileType type;
    CajaFile *dir_file = NULL;

    file_list = caja_directory_get_file_list (file->details->directory);

    dirs = files = 0;
    for (l = file_list; l != NULL; l = l->next)
    {
        dir_file = CAJA_FILE (l->data);
        type = caja_file_get_file_type (dir_file);
        if (type == G_FILE_TYPE_DIRECTORY)
        {
            dirs++;
        }
        else
        {
            files++;
        }
    }

    if (directory_count != NULL)
    {
        *directory_count = dirs;
    }
    if (file_count != NULL)
    {
        *file_count = files;
    }
    if (unreadable_directory_count != NULL)
    {
        *unreadable_directory_count = 0;
    }
    if (total_size != NULL)
    {
        /* FIXME: Maybe we want to calculate this? */
        *total_size = 0;
    }
    if (total_size_on_disk != NULL)
    {
        /* FIXME: Maybe we want to calculate this? */
        *total_size_on_disk = 0;
    }

    caja_file_list_free (file_list);

    return CAJA_REQUEST_DONE;
}
static GList *
desktop_get_file_list (CajaDirectory *directory)
{
    GList *real_dir_file_list, *desktop_dir_file_list = NULL;

    real_dir_file_list = caja_directory_get_file_list
                         (CAJA_DESKTOP_DIRECTORY (directory)->details->real_directory);
    desktop_dir_file_list = EEL_CALL_PARENT_WITH_RETURN_VALUE (CAJA_DIRECTORY_CLASS, get_file_list, (directory));

    return g_list_concat (real_dir_file_list, desktop_dir_file_list);
}
static gboolean
search_directory_file_get_item_count (CajaFile *file,
                                      guint *count,
                                      gboolean *count_unreadable)
{
    if (count)
    {
        GList *file_list;

        file_list = caja_directory_get_file_list (file->details->directory);

        *count = g_list_length (file_list);

        caja_file_list_free (file_list);
    }

    return TRUE;
}