retro-imager/src/linux/udisks2api.h
Floris Bos dc6ef75333 udisks2: add support for 'safely removing storage'
mountutils lacks implemention of ejecting storage on Linux.
Add that to our own code (not to mountutils as it is hard to
do DBus calls from there).
2023-03-24 15:33:54 +01:00

36 lines
878 B
C++

#ifndef UDISKS2API_H
#define UDISKS2API_H
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright (C) 2020 Raspberry Pi Ltd
*/
#include <QObject>
#include <QFile>
class QDBusInterface;
class UDisks2Api : public QObject
{
Q_OBJECT
public:
explicit UDisks2Api(QObject *parent = nullptr);
int authOpen(const QString &device, const QString &mode = "rw");
void ejectDrive(const QString &device);
bool formatDrive(const QString &device, bool mountAfterwards = true);
QString mountDevice(const QString &device);
void unmountDrive(const QString &device);
QByteArrayList mountPoints(const QString &partitionDevice);
QByteArrayList mountPoints(const QDBusInterface &filesystem);
protected:
QString _resolveDevice(const QString &device);
void _unmountDrive(const QString &driveDbusPath);
signals:
public slots:
};
#endif // UDISKS2API_H