This function should be called by any
implementation when a new
GMount object is created that is not
associated with a
GVolume object. It must be called just before
If the return value is not
NULL, the caller must associate the
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
Similarly, if implementing g_volume_monitor_adopt_orphan_mount(),
the implementor must take a reference to
mount and return it in
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
associated 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.
Deprecated since: 2.20
Instead of using this function,
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(),
GMountobject to find a parent for.
The data is owned by the caller of the function.
GVolume object that is the parent for
if no wants to adopt the
|The caller of the function takes ownership of the data, and is responsible for freeing it.