diff --git a/src/udisks2block.cpp b/src/udisks2block.cpp index d2f1c58..e1290e2 100644 --- a/src/udisks2block.cpp +++ b/src/udisks2block.cpp @@ -294,6 +294,32 @@ QString UDisks2::Block::idUUID() const return value(QStringLiteral("IdUUID")).toString(); } +QStringList UDisks2::Block::symlinks() const +{ + QStringList links; + QVariant variantListBytes = value(QStringLiteral("Symlinks")); + + if (variantListBytes.canConvert()) { + QSequentialIterable iterable = variantListBytes.value(); + + for (const QVariant &a : iterable) { + QByteArray symlinkBytes; + + if (a.canConvert()) { + QSequentialIterable i = a.value(); + for (const QVariant &variantByte : i) { + symlinkBytes.append(variantByte.toChar()); + } + } + + if (!symlinkBytes.isEmpty()) + links << QString::fromLocal8Bit(symlinkBytes); + } + } + + return links; +} + QString UDisks2::Block::mountPath() const { return m_mountPath; diff --git a/src/udisks2block_p.h b/src/udisks2block_p.h index e13e554..1a66791 100644 --- a/src/udisks2block_p.h +++ b/src/udisks2block_p.h @@ -100,6 +100,8 @@ class SYSTEMSETTINGS_EXPORT Block : public QObject QString idLabel() const; QString idUUID() const; + QStringList symlinks() const; + QString mountPath() const; QVariant value(const QString &key) const;