![]() |
![]() |
![]() |
GIO Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <gio/gio.h> GVolumeMonitor; #define G_VOLUME_MONITOR_EXTENSION_POINT_NAME GVolumeMonitor * g_volume_monitor_get (void); GList * g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor); GList * g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor); GList * g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor); GVolume * g_volume_monitor_adopt_orphan_mount (GMount *mount); GMount * g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid); GVolume * g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);
GVolumeMonitor is for listing the user interesting devices and volumes on the computer. In other words, what a file selector or file manager would show in a sidebar.
GVolumeMonitor is not thread-default-context aware, and so should not be used other than from the main thread, with no thread-default-context active.
typedef struct { GObject parent_instance; } GVolumeMonitor;
A Volume Monitor that watches for volume events.
#define G_VOLUME_MONITOR_EXTENSION_POINT_NAME "gio-volume-monitor"
Extension point for volume monitor functionality. See Extending GIO.
GVolumeMonitor * g_volume_monitor_get (void);
Gets the volume monitor used by gio.
Returns : |
transfer full. transfer full. |
GList * g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor);
Gets a list of drives connected to the system.
The returned list should be freed with g_list_free()
, after
its elements have been unreffed with g_object_unref()
.
|
a GVolumeMonitor. |
Returns : |
a GList of connected GDrive objects.. element-type GDrive. transfer full. |
GList * g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor);
Gets a list of the volumes on the system.
The returned list should be freed with g_list_free()
, after
its elements have been unreffed with g_object_unref()
.
|
a GVolumeMonitor. |
Returns : |
a GList of GVolume objects.. element-type GVolume. transfer full. |
GList * g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor);
Gets a list of the mounts on the system.
The returned list should be freed with g_list_free()
, after
its elements have been unreffed with g_object_unref()
.
|
a GVolumeMonitor. |
Returns : |
a GList of GMount objects.. element-type GMount. transfer full. |
GVolume * g_volume_monitor_adopt_orphan_mount (GMount *mount);
g_volume_monitor_adopt_orphan_mount
has been deprecated since version 2.20 and should not be used in newly-written code. Instead of using this function, GVolumeMonitor
implementations should instead create shadow mounts with the URI of
the mount they intend to adopt. See the proxy volume monitor in
gvfs for an example of this. Also see g_mount_is_shadowed()
,
g_mount_shadow()
and g_mount_unshadow()
functions.
This function should be called by any GVolumeMonitor
implementation when a new GMount object is created that is not
associated with a GVolume object. It must be called just before
emitting the mount_added
signal.
If the return value is not NULL
, the caller must associate the
returned GVolume object with the GMount. This involves returning
it in its g_mount_get_volume()
implementation. The caller must
also listen for the "removed" signal on the returned object
and give up its reference when handling that signal
Similary, if implementing g_volume_monitor_adopt_orphan_mount()
,
the implementor must take a reference to mount
and return it in
its g_volume_get_mount()
implemented. Also, the implementor must
listen for the "unmounted" signal on mount
and give up its
reference upon handling that signal.
There are two main use cases for this function.
One is when implementing a user space file system driver that reads blocks of a block device that is already represented by the native volume monitor (for example a CD Audio file system driver). Such a driver will generate its own GMount object that needs to be assoicated with the GVolume object that represents the volume.
The other is for implementing a GVolumeMonitor whose sole purpose is to return GVolume objects representing entries in the users "favorite servers" list or similar.
GMount * g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);
Finds a GMount object by its UUID (see g_mount_get_uuid()
)
|
a GVolumeMonitor. |
|
the UUID to look for |
Returns : |
transfer full. transfer full. |
GVolume * g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);
Finds a GVolume object by its UUID (see g_volume_get_uuid()
)
|
a GVolumeMonitor. |
|
the UUID to look for |
Returns : |
transfer full. transfer full. |