Solid::StorageVolume Class

class Solid::StorageVolume

This device interface is available on volume devices. More...

Header: #include <Solid/StorageVolume>
CMake: find_package(KF6 REQUIRED COMPONENTS Solid)
target_link_libraries(mytarget PRIVATE KF6::Solid)
Inherits: Solid::DeviceInterface
Inherited By:

Solid::OpticalDisc

Public Types

enum UsageType { FileSystem, PartitionTable, Raid, Other, Unused, Encrypted }

Properties

Public Functions

Solid::Device encryptedContainer() const
QString fsType() const
bool isIgnored() const
QString label() const
qulonglong size() const
Solid::StorageVolume::UsageType usage() const
QString uuid() const

Static Public Members

Solid::DeviceInterface::Type deviceInterfaceType()

Detailed Description

A volume is anything that can contain data (partition, optical disc, memory card). It's a particular kind of block device.

A StorageVolume is commonly used in conjunction with StorageDrive and StorageAccess.

StorageDriveStorageVolumeStorageAccess
drivespartition tables / filesystemsmount points / partitions
QList<Solid::Device> devices = Solid::Device::listFromType(Solid::DeviceInterface::StorageVolume, QString());
for (auto device : devices) {
    auto volume = device.as<const Solid::StorageVolume>();
    if (volume) {
        // ...
    }
}

Member Type Documentation

enum StorageVolume::UsageType

This enum type defines how a volume is used.

ConstantValueDescription
Solid::StorageVolume::FileSystem2A mountable filesystem volume
Solid::StorageVolume::PartitionTable3A volume containing a partition table
Solid::StorageVolume::Raid4A volume member of a raid set (not mountable)
Solid::StorageVolume::Other0A not mountable volume (like a swap partition)
Solid::StorageVolume::Unused1An unused or free volume
Solid::StorageVolume::Encrypted5 

Property Documentation

[read-only] fsType : QString

Access functions:

QString fsType() const

[read-only] ignored : bool

Access functions:

bool isIgnored() const

[read-only] label : QString

Access functions:

QString label() const

[read-only] size : qulonglong

Access functions:

qulonglong size() const

[read-only] usage : UsageType

Access functions:

Solid::StorageVolume::UsageType usage() const

[read-only] uuid : QString

Access functions:

QString uuid() const

Member Function Documentation

[static] Solid::DeviceInterface::Type StorageVolume::deviceInterfaceType()

Returns the Solid::DeviceInterface::Type of the StorageVolume device interface.

See also Solid::DeviceInterface::Type.

Solid::Device StorageVolume::encryptedContainer() const

Returns the encrypted volume containing the current volume if applicable, an invalid device otherwise.

QString StorageVolume::fsType() const

Returns the filesystem type of this volume, QString() otherwise.

FIXME: It's a platform dependent string, maybe we should switch to an enum?

Note: Getter function for property fsType.

bool StorageVolume::isIgnored() const

Returns whether this volume should be ignored by applications.

If it should be ignored, it generally means that it should be invisible to the user. It's useful for firmware partitions or OS reinstall partitions on some systems.

Note: Getter function for property ignored.

QString StorageVolume::label() const

Returns the volume label if available, QString() otherwise.

Note: Getter function for property label.

qulonglong StorageVolume::size() const

Returns this volume size in bytes.

Note: Getter function for property size.

Solid::StorageVolume::UsageType StorageVolume::usage() const

Returns the usage type for this volume (for example filesystem).

Note: Getter function for property usage.

See also Solid::StorageVolume::UsageType.

QString StorageVolume::uuid() const

Returns this volume Universal Unique IDentifier (UUID), QString() otherwise.

You can generally assume that this identifier is unique with reasonable confidence. Except if the volume UUID has been forged to intentionally provoke a collision, the probability of having two volumes with the same UUID is low.

Note: Getter function for property uuid.