Gio::Volume Class Reference

The Volume interface represents user-visible objects that can be mounted. More...

#include <giomm/volume.h>

Inheritance diagram for Gio::Volume:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~Volume ()
GVolume* gobj ()
 Provides access to the underlying C GObject.
const GVolume* gobj () const
 Provides access to the underlying C GObject.
std::string get_name () const
 Gets the name of volume.
std::string get_uuid () const
 Gets the UUID for the volume.
Glib::RefPtr< Iconget_icon ()
 Gets the icon for volume.
Glib::RefPtr< const Iconget_icon () const
 Gets the icon for volume.
Glib::RefPtr< Driveget_drive ()
 Gets the drive for the volume.
Glib::RefPtr< const Driveget_drive () const
 Gets the drive for the volume.
Glib::RefPtr< Mountget_mount ()
 Gets the mount for the volume.
Glib::RefPtr< const Mountget_mount () const
 Gets the mount for the volume.
bool can_mount () const
 Checks if a volume can be mounted.
bool can_eject () const
 Checks if a volume can be ejected.
bool should_automount () const
 Returns whether the volume should be automatically mounted.
void mount (const Glib::RefPtr< MountOperation >& mount_operation, const SlotAsyncReady& slot, const Glib::RefPtr< Cancellable >& cancellable, MountMountFlags flags=MOUNT_MOUNT_NONE)
 Mounts a volume.
void mount (const Glib::RefPtr< MountOperation >& mount_operation, const SlotAsyncReady& slot, MountMountFlags flags=MOUNT_MOUNT_NONE)
 Mounts a volume.
void mount (const Glib::RefPtr< MountOperation >& mount_operation, MountMountFlags flags=MOUNT_MOUNT_NONE)
 Mounts a volume.
void mount (MountMountFlags flags=MOUNT_MOUNT_NONE)
 Mounts a volume.
bool mount_finish (const Glib::RefPtr< AsyncResult >& result)
 Finishes mounting a volume.
void eject (const SlotAsyncReady& slot, const Glib::RefPtr< Cancellable >& cancellable, MountUnmountFlags flags=MOUNT_UNMOUNT_NONE)
void eject (const SlotAsyncReady& slot, MountUnmountFlags flags=MOUNT_UNMOUNT_NONE)
void eject (MountUnmountFlags flags=MOUNT_UNMOUNT_NONE)
void eject (const Glib::RefPtr< MountOperation >& mount_operation, const SlotAsyncReady& slot, const Glib::RefPtr< Cancellable >& cancellable, MountUnmountFlags flags=MOUNT_UNMOUNT_NONE)
void eject (const Glib::RefPtr< MountOperation >& mount_operation, const SlotAsyncReady& slot, MountUnmountFlags flags=MOUNT_UNMOUNT_NONE)
void eject (const Glib::RefPtr< MountOperation >& mount_operation, MountUnmountFlags flags=MOUNT_UNMOUNT_NONE)
bool eject_finish (const Glib::RefPtr< AsyncResult >& result)
 Finishes ejecting a volume.
std::string get_identifier (const std::string& kind) const
 Gets the identifier of the given kind for volume.
Glib::StringArrayHandle enumerate_identifiers () const
 Gets the kinds of <link linkend="volume-identifier">identifiers</link> that volume has.
Glib::RefPtr< Fileget_activation_root ()
 Gets the activation root for a Volume if it is known ahead of mount time.
Glib::RefPtr< const Fileget_activation_root () const
 Gets the activation root for a Volume if it is known ahead of mount time.
Glib::SignalProxy0< void > signal_changed ()
Glib::SignalProxy0< void > signal_removed ()

Static Public Member Functions

static void add_interface (GType gtype_implementer)

Protected Member Functions

virtual void on_changed ()
virtual void on_removed ()

Related Functions

(Note that these are not member functions.)



Glib::RefPtr< Gio::Volumewrap (GVolume* object, bool take_copy=false)
 A Glib::wrap() method for this object.

Detailed Description

The Volume interface represents user-visible objects that can be mounted.

Mounting a Volume instance is an asynchronous operation. For more information about asynchronous operations, see AsyncReady and SimpleAsyncReady. To mount a GVolume, first call mount(), optionally providing a MountOperation object and a SlotAsyncReady callback.

Typically, you will not want to provide a MountOperation if automounting all volumes when a desktop session starts since it's not desirable to put up a lot of dialogs asking for credentials.

The callback will be fired when the operation has resolved (either with success or failure), and a AsyncReady structure will be passed to the callback. That callback should then call g_volume_mount_finish() with the GVolume instance and the GAsyncReady data to see if the operation was completed successfully. If an error is present when finish() is called, then it will be filled with any error information.

Since glibmm 2.16:

Constructor & Destructor Documentation

virtual Gio::Volume::~Volume (  )  [virtual]

Member Function Documentation

static void Gio::Volume::add_interface ( GType  gtype_implementer  )  [static]
bool Gio::Volume::can_eject (  )  const

Checks if a volume can be ejected.

Returns:
true if the volume can be ejected. false otherwise.
bool Gio::Volume::can_mount (  )  const

Checks if a volume can be mounted.

Returns:
true if the volume can be mounted. false otherwise.
void Gio::Volume::eject ( const Glib::RefPtr< MountOperation >&  mount_operation,
MountUnmountFlags  flags = MOUNT_UNMOUNT_NONE 
)
void Gio::Volume::eject ( const Glib::RefPtr< MountOperation >&  mount_operation,
const SlotAsyncReady slot,
MountUnmountFlags  flags = MOUNT_UNMOUNT_NONE 
)
void Gio::Volume::eject ( const Glib::RefPtr< MountOperation >&  mount_operation,
const SlotAsyncReady slot,
const Glib::RefPtr< Cancellable >&  cancellable,
MountUnmountFlags  flags = MOUNT_UNMOUNT_NONE 
)
void Gio::Volume::eject ( MountUnmountFlags  flags = MOUNT_UNMOUNT_NONE  ) 
void Gio::Volume::eject ( const SlotAsyncReady slot,
MountUnmountFlags  flags = MOUNT_UNMOUNT_NONE 
)
void Gio::Volume::eject ( const SlotAsyncReady slot,
const Glib::RefPtr< Cancellable >&  cancellable,
MountUnmountFlags  flags = MOUNT_UNMOUNT_NONE 
)
bool Gio::Volume::eject_finish ( const Glib::RefPtr< AsyncResult >&  result  ) 

Finishes ejecting a volume.

If any errors occurred during the operation, error will be set to contain the errors and false will be returned.

Since glibmm 2.22:
Parameters:
result A AsyncResult.
Returns:
true if the volume was successfully ejected. false otherwise.
Glib::StringArrayHandle Gio::Volume::enumerate_identifiers (  )  const

Gets the kinds of <link linkend="volume-identifier">identifiers</link> that volume has.

Use Glib::volume_get_identifer() to obtain the identifiers themselves.

Returns:
A 0-terminated array of strings containing kinds of identifiers. Use Glib::strfreev() to free.
Glib::RefPtr<const File> Gio::Volume::get_activation_root (  )  const

Gets the activation root for a Volume if it is known ahead of mount time.

Returns 0 otherwise. If not 0 and if volume is mounted, then the result of g_mount_get_root() on the Mount object obtained from g_volume_get_mount() will always either be equal or a prefix of what this function returns. In other words, in code

<programlisting> GMount *mount; GFile *mount_root GFile *volume_activation_root;

mount = g_volume_get_mount (volume); // mounted, so never 0 mount_root = g_mount_get_root (mount); volume_activation_root = g_volume_get_activation_root(volume); // assume not 0 </programlisting>

then the expression

<programlisting> (g_file_has_prefix (volume_activation_root, mount_root) || g_file_equal (volume_activation_root, mount_root)) </programlisting>

will always be true.

Activation roots are typically used in VolumeMonitor implementations to find the underlying mount to shadow, see g_mount_is_shadowed() for more details.

Returns:
The activation root of volume or 0. Use Glib::object_unref() to free.
Since glibmm 2.18:
Glib::RefPtr<File> Gio::Volume::get_activation_root (  ) 

Gets the activation root for a Volume if it is known ahead of mount time.

Returns 0 otherwise. If not 0 and if volume is mounted, then the result of g_mount_get_root() on the Mount object obtained from g_volume_get_mount() will always either be equal or a prefix of what this function returns. In other words, in code

<programlisting> GMount *mount; GFile *mount_root GFile *volume_activation_root;

mount = g_volume_get_mount (volume); // mounted, so never 0 mount_root = g_mount_get_root (mount); volume_activation_root = g_volume_get_activation_root(volume); // assume not 0 </programlisting>

then the expression

<programlisting> (g_file_has_prefix (volume_activation_root, mount_root) || g_file_equal (volume_activation_root, mount_root)) </programlisting>

will always be true.

Activation roots are typically used in VolumeMonitor implementations to find the underlying mount to shadow, see g_mount_is_shadowed() for more details.

Returns:
The activation root of volume or 0. Use Glib::object_unref() to free.
Since glibmm 2.18:
Glib::RefPtr<const Drive> Gio::Volume::get_drive (  )  const

Gets the drive for the volume.

Returns:
A Drive or 0 if volume is not associated with a drive. The returned object should be unreffed with Glib::object_unref() when no longer needed.
Glib::RefPtr<Drive> Gio::Volume::get_drive (  ) 

Gets the drive for the volume.

Returns:
A Drive or 0 if volume is not associated with a drive. The returned object should be unreffed with Glib::object_unref() when no longer needed.
Glib::RefPtr<const Icon> Gio::Volume::get_icon (  )  const

Gets the icon for volume.

Returns:
A Icon. The returned object should be unreffed with Glib::object_unref() when no longer needed.
Glib::RefPtr<Icon> Gio::Volume::get_icon (  ) 

Gets the icon for volume.

Returns:
A Icon. The returned object should be unreffed with Glib::object_unref() when no longer needed.
std::string Gio::Volume::get_identifier ( const std::string kind  )  const

Gets the identifier of the given kind for volume.

See the <link linkend="volume-identifier">introduction</link> for more information about volume identifiers.

Parameters:
kind The kind of identifier to return.
Returns:
A newly allocated string containing the requested identfier, or 0 if the Volume doesn't have this kind of identifier.
Glib::RefPtr<const Mount> Gio::Volume::get_mount (  )  const

Gets the mount for the volume.

Returns:
A Mount or 0 if volume isn't mounted. The returned object should be unreffed with Glib::object_unref() when no longer needed.
Glib::RefPtr<Mount> Gio::Volume::get_mount (  ) 

Gets the mount for the volume.

Returns:
A Mount or 0 if volume isn't mounted. The returned object should be unreffed with Glib::object_unref() when no longer needed.
std::string Gio::Volume::get_name (  )  const

Gets the name of volume.

Returns:
The name for the given volume. The returned string should be freed with Glib::free() when no longer needed.
std::string Gio::Volume::get_uuid (  )  const

Gets the UUID for the volume.

The reference is typically based on the file system UUID for the volume in question and should be considered an opaque string. Returns 0 if there is no UUID available.

Returns:
The UUID for volume or 0 if no UUID can be computed. The returned string should be freed with Glib::free() when no longer needed.
const GVolume* Gio::Volume::gobj (  )  const [inline]

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

GVolume* Gio::Volume::gobj (  )  [inline]

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

void Gio::Volume::mount ( MountMountFlags  flags = MOUNT_MOUNT_NONE  ) 

Mounts a volume.

void Gio::Volume::mount ( const Glib::RefPtr< MountOperation >&  mount_operation,
MountMountFlags  flags = MOUNT_MOUNT_NONE 
)

Mounts a volume.

Parameters:
mount_operation A mount operation.
void Gio::Volume::mount ( const Glib::RefPtr< MountOperation >&  mount_operation,
const SlotAsyncReady slot,
MountMountFlags  flags = MOUNT_MOUNT_NONE 
)

Mounts a volume.

This is an asynchronous operation, and is finished by calling mount_finish() with the AsyncResult data returned in the callback slot.

Parameters:
slot A callback which will be called when the operation is completed or canceled.
mount_operation A mount operation.
void Gio::Volume::mount ( const Glib::RefPtr< MountOperation >&  mount_operation,
const SlotAsyncReady slot,
const Glib::RefPtr< Cancellable >&  cancellable,
MountMountFlags  flags = MOUNT_MOUNT_NONE 
)

Mounts a volume.

This is an asynchronous operation, and is finished by calling mount_finish() with the AsyncResult data returned in the callback slot.

Parameters:
slot A callback which will be called when the operation is completed or canceled.
cancellable A cancellable object which can be used to cancel the operation.
mount_operation A mount operation.
bool Gio::Volume::mount_finish ( const Glib::RefPtr< AsyncResult >&  result  ) 

Finishes mounting a volume.

If any errors occured during the operation, error will be set to contain the errors and false will be returned.

If the mount operation succeeded, g_volume_get_mount() on volume is guaranteed to return the mount right after calling this function; there's no need to listen for the 'mount-added' signal on VolumeMonitor.

Parameters:
result A AsyncResult.
Returns:
true, false if operation failed.
virtual void Gio::Volume::on_changed (  )  [protected, virtual]
virtual void Gio::Volume::on_removed (  )  [protected, virtual]
bool Gio::Volume::should_automount (  )  const

Returns whether the volume should be automatically mounted.

Returns:
true if the volume should be automatically mounted.
Glib::SignalProxy0< void > Gio::Volume::signal_changed (  ) 
Prototype:
void on_my_changed()
Glib::SignalProxy0< void > Gio::Volume::signal_removed (  ) 
Prototype:
void on_my_removed()

Friends And Related Function Documentation

Glib::RefPtr< Gio::Volume > wrap ( GVolume *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
object The C instance.
take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.

Generated on Mon May 3 23:46:30 2010 for glibmm by  doxygen 1.6.1