cleanup
[platform/upstream/glib.git] / gio / gunixmounts.h
index 401612c..dffdce6 100644 (file)
@@ -1,5 +1,5 @@
 /* GIO - GLib Input, Output and Streaming Library
- * 
+ *
  * Copyright (C) 2006-2007 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -13,9 +13,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  *
  * Author: Alexander Larsson <alexl@redhat.com>
  */
 #ifndef __G_UNIX_MOUNTS_H__
 #define __G_UNIX_MOUNTS_H__
 
-#include <glib.h>
-#include <glib-object.h>
+#include <gio/gio.h>
 
 G_BEGIN_DECLS
 
 /**
- * GUnixMount:
- * 
- * Defines a Unix mount.
+ * GUnixMountEntry:
+ *
+ * Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
+ * This corresponds roughly to a mtab entry.
  **/
-typedef struct _GUnixMount GUnixMount;
+typedef struct _GUnixMountEntry GUnixMountEntry;
 
 /**
  * GUnixMountPoint:
- * 
- * Defines a Unix mount point (e.g. "/dev").
+ *
+ * Defines a Unix mount point (e.g. <filename>/dev</filename>).
+ * This corresponds roughly to a fstab entry.
  **/
 typedef struct _GUnixMountPoint GUnixMountPoint;
 
 /**
- * GUnixMountType:
- * @G_UNIX_MOUNT_TYPE_UNKNOWN: Unknown UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_FLOPPY: Floppy disk UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_CDROM: CDROM UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_NFS: Network File System (NFS) UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_ZIP: ZIP UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_JAZ: JAZZ UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_MEMSTICK: Memory Stick UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_CF: Compact Flash UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_SM: Smart Media UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_SDMMC: SD/MMC UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_IPOD: iPod UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_CAMERA: Digital camera UNIX mount type.
- * @G_UNIX_MOUNT_TYPE_HD: Hard drive UNIX mount type.
- * 
- * Types of UNIX mounts.
- **/
-typedef enum {
-  G_UNIX_MOUNT_TYPE_UNKNOWN,
-  G_UNIX_MOUNT_TYPE_FLOPPY,
-  G_UNIX_MOUNT_TYPE_CDROM,
-  G_UNIX_MOUNT_TYPE_NFS,
-  G_UNIX_MOUNT_TYPE_ZIP,
-  G_UNIX_MOUNT_TYPE_JAZ,
-  G_UNIX_MOUNT_TYPE_MEMSTICK,
-  G_UNIX_MOUNT_TYPE_CF,
-  G_UNIX_MOUNT_TYPE_SM,
-  G_UNIX_MOUNT_TYPE_SDMMC,
-  G_UNIX_MOUNT_TYPE_IPOD,
-  G_UNIX_MOUNT_TYPE_CAMERA,
-  G_UNIX_MOUNT_TYPE_HD
-} GUnixMountType;
-
-/**
  * GUnixMountMonitor:
- * 
- * Watches #GUnixMount<!-- -->s for changes.
+ *
+ * Watches #GUnixMounts for changes.
  **/
-typedef struct _GUnixMountMonitor GUnixMountMonitor;
+typedef struct _GUnixMountMonitor      GUnixMountMonitor;
 typedef struct _GUnixMountMonitorClass GUnixMountMonitorClass;
 
 #define G_TYPE_UNIX_MOUNT_MONITOR        (g_unix_mount_monitor_get_type ())
@@ -90,36 +55,84 @@ typedef struct _GUnixMountMonitorClass GUnixMountMonitorClass;
 #define G_IS_UNIX_MOUNT_MONITOR(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_MOUNT_MONITOR))
 #define G_IS_UNIX_MOUNT_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_MOUNT_MONITOR))
 
-void           g_unix_mount_free                    (GUnixMount         *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+void           g_unix_mount_free                    (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
 void           g_unix_mount_point_free              (GUnixMountPoint    *mount_point);
-gint           g_unix_mount_compare                 (GUnixMount         *mount1,
-                                                    GUnixMount         *mount2);
-const char *   g_unix_mount_get_mount_path          (GUnixMount         *mount_entry);
-const char *   g_unix_mount_get_device_path         (GUnixMount         *mount_entry);
-const char *   g_unix_mount_get_fs_type             (GUnixMount         *mount_entry);
-gboolean       g_unix_mount_is_readonly             (GUnixMount         *mount_entry);
-gboolean       g_unix_mount_is_system_internal      (GUnixMount         *mount_entry);
-GUnixMountType g_unix_mount_guess_type              (GUnixMount         *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gint           g_unix_mount_compare                 (GUnixMountEntry    *mount1,
+                                                    GUnixMountEntry    *mount2);
+GLIB_AVAILABLE_IN_ALL
+const char *   g_unix_mount_get_mount_path          (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+const char *   g_unix_mount_get_device_path         (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+const char *   g_unix_mount_get_fs_type             (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean       g_unix_mount_is_readonly             (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean       g_unix_mount_is_system_internal      (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean       g_unix_mount_guess_can_eject         (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean       g_unix_mount_guess_should_display    (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+char *         g_unix_mount_guess_name              (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+GIcon *        g_unix_mount_guess_icon              (GUnixMountEntry    *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+GIcon *        g_unix_mount_guess_symbolic_icon     (GUnixMountEntry    *mount_entry);
+
 
+GLIB_AVAILABLE_IN_ALL
 gint           g_unix_mount_point_compare           (GUnixMountPoint    *mount1,
                                                     GUnixMountPoint    *mount2);
+GLIB_AVAILABLE_IN_ALL
 const char *   g_unix_mount_point_get_mount_path    (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
 const char *   g_unix_mount_point_get_device_path   (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
 const char *   g_unix_mount_point_get_fs_type       (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_2_32
+const char *   g_unix_mount_point_get_options       (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
 gboolean       g_unix_mount_point_is_readonly       (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
 gboolean       g_unix_mount_point_is_user_mountable (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
 gboolean       g_unix_mount_point_is_loopback       (GUnixMountPoint    *mount_point);
-GUnixMountType g_unix_mount_point_guess_type        (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
+gboolean       g_unix_mount_point_guess_can_eject   (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
+char *         g_unix_mount_point_guess_name        (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
+GIcon *        g_unix_mount_point_guess_icon        (GUnixMountPoint    *mount_point);
+GLIB_AVAILABLE_IN_ALL
+GIcon *        g_unix_mount_point_guess_symbolic_icon (GUnixMountPoint    *mount_point);
 
-GList *        g_get_unix_mount_points              (guint64            *time_read);
-GList *        g_get_unix_mounts                    (guint64            *time_read);
-GUnixMount *   g_get_unix_mount_at                  (const char         *mount_path,
+
+GLIB_AVAILABLE_IN_ALL
+GList *        g_unix_mount_points_get              (guint64            *time_read);
+GLIB_AVAILABLE_IN_ALL
+GList *        g_unix_mounts_get                    (guint64            *time_read);
+GLIB_AVAILABLE_IN_ALL
+GUnixMountEntry *g_unix_mount_at                    (const char         *mount_path,
                                                     guint64            *time_read);
+GLIB_AVAILABLE_IN_ALL
 gboolean       g_unix_mounts_changed_since          (guint64             time);
+GLIB_AVAILABLE_IN_ALL
 gboolean       g_unix_mount_points_changed_since    (guint64             time);
 
-GType              g_unix_mount_monitor_get_type (void) G_GNUC_CONST;
-GUnixMountMonitor *g_unix_mount_monitor_new      (void);
+GLIB_AVAILABLE_IN_ALL
+GType              g_unix_mount_monitor_get_type       (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GUnixMountMonitor *g_unix_mount_monitor_new            (void);
+GLIB_AVAILABLE_IN_ALL
+void               g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor,
+                                                        int                limit_msec);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_is_mount_path_system_internal (const char *mount_path);
 
 G_END_DECLS