[gnome-control-center] info: Update from gnome-settings-daemon



commit 27d917458d7b54580fd7417915ff23a9f5831dbf
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Apr 19 11:58:29 2012 +0100

    info: Update from gnome-settings-daemon

 panels/info/gsd-disk-space-helper.c |  105 +++++++++++++++++++++++++++++++++++
 panels/info/gsd-disk-space-helper.h |   38 +++++++++++++
 2 files changed, 143 insertions(+), 0 deletions(-)
---
diff --git a/panels/info/gsd-disk-space-helper.c b/panels/info/gsd-disk-space-helper.c
new file mode 100644
index 0000000..e505d48
--- /dev/null
+++ b/panels/info/gsd-disk-space-helper.c
@@ -0,0 +1,105 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * vim: set et sw=8 ts=8:
+ *
+ * Copyright (c) 2008, Novell, Inc.
+ * Copyright (c) 2012, Red Hat, Inc.
+ *
+ * Authors: Vincent Untz <vuntz gnome org>
+ * Bastien Nocera <hadess hadess net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include "config.h"
+
+#include <glib.h>
+#include <gio/gio.h>
+
+#include "gsd-disk-space-helper.h"
+
+gboolean
+gsd_should_ignore_unix_mount (GUnixMountEntry *mount)
+{
+        const char *fs, *device;
+        guint i;
+
+        /* This is borrowed from GLib and used as a way to determine
+         * which mounts we should ignore by default. GLib doesn't
+         * expose this in a way that allows it to be used for this
+         * purpose
+         */
+
+         /* We also ignore network filesystems */
+
+        const gchar *ignore_fs[] = {
+                "adfs",
+                "afs",
+                "auto",
+                "autofs",
+                "autofs4",
+                "cifs",
+                "cxfs",
+                "devfs",
+                "devpts",
+                "ecryptfs",
+                "fdescfs",
+                "gfs",
+                "gfs2",
+                "kernfs",
+                "linprocfs",
+                "linsysfs",
+                "lustre",
+                "lustre_lite",
+                "ncpfs",
+                "nfs",
+                "nfs4",
+                "nfsd",
+                "ocfs2",
+                "proc",
+                "procfs",
+                "ptyfs",
+                "rpc_pipefs",
+                "selinuxfs",
+                "smbfs",
+                "sysfs",
+                "tmpfs",
+                "usbfs",
+                "zfs",
+                NULL
+        };
+        const gchar *ignore_devices[] = {
+                "none",
+                "sunrpc",
+                "devpts",
+                "nfsd",
+                "/dev/loop",
+                "/dev/vn",
+                NULL
+        };
+
+        fs = g_unix_mount_get_fs_type (mount);
+        device = g_unix_mount_get_device_path (mount);
+
+        for (i = 0; ignore_fs[i] != NULL; i++)
+                if (g_str_equal (ignore_fs[i], fs))
+                        return TRUE;
+
+        for (i = 0; ignore_devices[i] != NULL; i++)
+                if (g_str_equal (ignore_devices[i], device))
+                        return TRUE;
+
+        return FALSE;
+}
diff --git a/panels/info/gsd-disk-space-helper.h b/panels/info/gsd-disk-space-helper.h
new file mode 100644
index 0000000..99c16eb
--- /dev/null
+++ b/panels/info/gsd-disk-space-helper.h
@@ -0,0 +1,38 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * vim: set et sw=8 ts=8:
+ *
+ * Copyright (c) 2008, Novell, Inc.
+ * Copyright (c) 2012, Red Hat, Inc.
+ *
+ * Authors: Vincent Untz <vuntz gnome org>
+ * Bastien Nocera <hadess hadess net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef __GSD_DISK_SPACE_HELPER_H
+#define __GSD_DISK_SPACE_HELPER_H
+
+#include <glib.h>
+#include <gio/gunixmounts.h>
+
+G_BEGIN_DECLS
+
+gboolean gsd_should_ignore_unix_mount (GUnixMountEntry *mount);
+
+G_END_DECLS
+
+#endif /* __GSD_DISK_SPACE_HELPER_H */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]