Warning: adopt_orphan_mount is deprecated since 2.20.
This function should be called by any VolumeMonitor implementation when a new Mount object is created that is not associated with a Volume object.
Instead of using this function, VolumeMonitor 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 is_shadowed, shadow and unshadow functions.
It must be called just before emitting the mount_added
signal.
If the return value is not null, the caller must associate the returned Volume object with the Mount. This involves returning it in its 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 adopt_orphan_mount, the implementor must take a reference to mount
and return it in its 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 Mount object that needs to be associated with the Volume object that represents the volume.
The other is for implementing a VolumeMonitor whose sole purpose is to return Volume objects representing entries in the users "favorite servers" list or similar.
mount |
a Mount object to find a parent for |
the Volume object that is the parent for |