add a method to the backend plugin interface to let backend plugins set fs
command support types export the fs implementation class symbols to let backend plugins access them make the static properties holding the command support information in the implementations public so backend plugins can change them rename resizeInternal to resizeBackend in the resize filesystem job svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1119648
This commit is contained in:
parent
a26bda1ca8
commit
be3fbd844a
7
TODO
7
TODO
|
@ -1,8 +1,5 @@
|
|||
Plans and ideas for 1.1:
|
||||
|
||||
* don't hardcode any support for libparted-related stuff like shrinking fat16
|
||||
in the file system classes.
|
||||
|
||||
* save SMART details to html file?
|
||||
|
||||
===============================================================================
|
||||
|
@ -30,7 +27,9 @@ For releases after 1.1:
|
|||
libraries to achieve the same things. Libraries in this case being libntfs-3g
|
||||
and libext2fs. There's one for reiserfs too, iirc.
|
||||
|
||||
* Convert the fs implementations into plugins.
|
||||
* Convert the fs implementations into plugins. Redesign the support-stuff, make
|
||||
that more flexible (no statics in the FS classes, some helper class or at
|
||||
least an array in FileSystem).
|
||||
|
||||
* Write a udisks backend plugin.
|
||||
|
||||
|
|
|
@ -53,6 +53,8 @@ class LIBPARTITIONMANAGERPRIVATE_EXPORT CoreBackend : public QObject
|
|||
public:
|
||||
virtual const KAboutData& about() const { return *m_AboutData; }
|
||||
|
||||
virtual void initFSSupport() = 0;
|
||||
|
||||
virtual QList<Device*> scanDevices() = 0;
|
||||
virtual Device* scanDevice(const QString& device_node) = 0;
|
||||
virtual CoreBackendDevice* openDevice(const QString& device_node) = 0;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define EXT2__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief An ext2 file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class ext2 : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT ext2 : public FileSystem
|
||||
{
|
||||
public:
|
||||
ext2(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label, FileSystem::Type t = FileSystem::Ext2);
|
||||
|
@ -64,7 +66,7 @@ namespace FS
|
|||
|
||||
virtual qint64 maxCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define EXT3__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/ext2.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -37,7 +39,7 @@ namespace FS
|
|||
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class ext3 : public ext2
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT ext3 : public ext2
|
||||
{
|
||||
public:
|
||||
ext3(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define EXT4__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/ext2.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -37,7 +39,7 @@ namespace FS
|
|||
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class ext4 : public ext2
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT ext4 : public ext2
|
||||
{
|
||||
public:
|
||||
ext4(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define EXTENDED__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -30,14 +32,14 @@ class QString;
|
|||
namespace FS
|
||||
{
|
||||
/** @brief An extended file system.
|
||||
|
||||
|
||||
A FileSystem for an extended Partition. Of course, extended partitions do not actually have
|
||||
a file system, but we need this to be able to create, grow, shrink or move them.
|
||||
|
||||
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
|
||||
class extended : public FileSystem
|
||||
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT extended : public FileSystem
|
||||
{
|
||||
public:
|
||||
extended(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -51,8 +53,8 @@ namespace FS
|
|||
virtual CommandSupportType supportGrow() const { return m_Grow; }
|
||||
virtual CommandSupportType supportShrink() const { return m_Shrink; }
|
||||
virtual CommandSupportType supportMove() const { return m_Move; }
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static CommandSupportType m_Create;
|
||||
static CommandSupportType m_Grow;
|
||||
static CommandSupportType m_Shrink;
|
||||
|
|
|
@ -60,8 +60,8 @@ namespace FS
|
|||
m_GetUsed = m_Check = findExternal("fsck.msdos", QStringList(), 2) ? cmdSupportFileSystem : cmdSupportNone;
|
||||
m_GetLabel = cmdSupportCore;
|
||||
m_SetLabel = cmdSupportFileSystem;
|
||||
m_Grow = cmdSupportCore;
|
||||
m_Shrink = cmdSupportCore;
|
||||
m_Grow = cmdSupportNone;
|
||||
m_Shrink = cmdSupportNone;
|
||||
m_Move = cmdSupportCore;
|
||||
m_Copy = cmdSupportCore;
|
||||
m_Backup = cmdSupportCore;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define FAT16__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief A fat16 file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class fat16 : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT fat16 : public FileSystem
|
||||
{
|
||||
public:
|
||||
fat16(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label, FileSystem::Type t = FileSystem::Fat16);
|
||||
|
@ -64,7 +66,7 @@ namespace FS
|
|||
virtual qint64 minCapacity() const;
|
||||
virtual qint64 maxCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_SetLabel;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define FAT32__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/fat16.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -37,7 +39,7 @@ namespace FS
|
|||
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class fat32 : public fat16
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT fat32 : public fat16
|
||||
{
|
||||
public:
|
||||
fat32(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -47,7 +49,7 @@ namespace FS
|
|||
|
||||
virtual bool create(Report& report, const QString& deviceNode) const;
|
||||
virtual bool updateUUID(Report& report, const QString& deviceNode) const;
|
||||
|
||||
|
||||
virtual qint64 minCapacity() const;
|
||||
virtual qint64 maxCapacity() const;
|
||||
};
|
||||
|
|
|
@ -69,9 +69,10 @@ class FileSystem
|
|||
/** The type of support for a given FileSystem action */
|
||||
enum CommandSupportType
|
||||
{
|
||||
cmdSupportNone = 0, /**< no support */
|
||||
cmdSupportCore = 1, /**< internal support */
|
||||
cmdSupportFileSystem = 2 /**< supported by some external command */
|
||||
cmdSupportNone = 0, /**< no support */
|
||||
cmdSupportCore = 1, /**< internal support */
|
||||
cmdSupportFileSystem = 2, /**< supported by some external command */
|
||||
cmdSupportBackend = 4 /**< supported by the backend */
|
||||
};
|
||||
|
||||
Q_DECLARE_FLAGS(CommandSupportTypes, CommandSupportType)
|
||||
|
|
|
@ -38,6 +38,9 @@
|
|||
#include "fs/unknown.h"
|
||||
#include "fs/xfs.h"
|
||||
|
||||
#include "backend/corebackendmanager.h"
|
||||
#include "backend/corebackend.h"
|
||||
|
||||
FileSystemFactory::FileSystems FileSystemFactory::m_FileSystems;
|
||||
|
||||
/** Initializes the instance. */
|
||||
|
@ -81,6 +84,8 @@ void FileSystemFactory::init()
|
|||
FS::unformatted::init();
|
||||
FS::unknown::init();
|
||||
FS::xfs::init();
|
||||
|
||||
CoreBackendManager::self()->backend()->initFSSupport();
|
||||
}
|
||||
|
||||
/** Creates a new FileSystem
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace FS
|
|||
m_Check = findExternal("hfsck") ? cmdSupportFileSystem : cmdSupportNone;
|
||||
|
||||
m_GetUsed = cmdSupportCore;
|
||||
m_Shrink = cmdSupportCore;
|
||||
m_Shrink = cmdSupportNone;
|
||||
|
||||
m_Move = m_Copy = (m_Check != cmdSupportNone) ? cmdSupportCore : cmdSupportNone;
|
||||
m_Backup = cmdSupportCore;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define HFS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief An hfs file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class hfs : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT hfs : public FileSystem
|
||||
{
|
||||
public:
|
||||
hfs(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -56,7 +58,7 @@ namespace FS
|
|||
|
||||
virtual qint64 maxCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace FS
|
|||
m_Check = findExternal("hpfsck") ? cmdSupportFileSystem : cmdSupportNone;
|
||||
|
||||
m_GetUsed = cmdSupportCore;
|
||||
m_Shrink = cmdSupportCore;
|
||||
m_Shrink = cmdSupportNone;
|
||||
m_Copy = (m_Check != cmdSupportNone) ? cmdSupportCore : cmdSupportNone;
|
||||
m_Move = (m_Check != cmdSupportNone) ? cmdSupportCore : cmdSupportNone;
|
||||
m_Backup = cmdSupportCore;
|
||||
|
@ -53,7 +53,7 @@ namespace FS
|
|||
{
|
||||
return Capacity::unitFactor(Capacity::Byte, Capacity::EiB);
|
||||
}
|
||||
|
||||
|
||||
bool hfsplus::check(Report& report, const QString& deviceNode) const
|
||||
{
|
||||
ExternalCommand cmd(report, "hpfsck", QStringList() << "-v" << deviceNode);
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define HFSPLUS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief An hfsplus file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class hfsplus : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT hfsplus : public FileSystem
|
||||
{
|
||||
public:
|
||||
hfsplus(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -50,10 +52,10 @@ namespace FS
|
|||
virtual CommandSupportType supportCheck() const { return m_Check; }
|
||||
virtual CommandSupportType supportCopy() const { return m_Copy; }
|
||||
virtual CommandSupportType supportBackup() const { return m_Backup; }
|
||||
|
||||
|
||||
virtual qint64 maxCapacity() const;
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_Shrink;
|
||||
static CommandSupportType m_Move;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define JFS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief A JFS file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class jfs : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT jfs : public FileSystem
|
||||
{
|
||||
public:
|
||||
jfs(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -60,7 +62,7 @@ namespace FS
|
|||
|
||||
virtual qint64 minCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define LINUXSWAP__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief A linux swap pseudo file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class linuxswap : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT linuxswap : public FileSystem
|
||||
{
|
||||
public:
|
||||
linuxswap(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -64,7 +66,7 @@ namespace FS
|
|||
virtual CommandSupportType supportSetLabel() const { return m_SetLabel; }
|
||||
virtual CommandSupportType supportGetUUID() const { return m_GetUUID; }
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_Create;
|
||||
static CommandSupportType m_Grow;
|
||||
static CommandSupportType m_Shrink;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define NTFS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief An NTFS file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class ntfs : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT ntfs : public FileSystem
|
||||
{
|
||||
public:
|
||||
ntfs(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -66,7 +68,7 @@ namespace FS
|
|||
|
||||
virtual qint64 maxCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define REISER4__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief A Reiser4 file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class reiser4 : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT reiser4 : public FileSystem
|
||||
{
|
||||
public:
|
||||
reiser4(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -54,7 +56,7 @@ namespace FS
|
|||
virtual CommandSupportType supportCopy() const { return m_Copy; }
|
||||
virtual CommandSupportType supportBackup() const { return m_Backup; }
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define REISERFS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include "util/capacity.h"
|
||||
|
@ -36,7 +38,7 @@ namespace FS
|
|||
/** @brief A ReiserFS file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class reiserfs : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT reiserfs : public FileSystem
|
||||
{
|
||||
public:
|
||||
reiserfs(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -67,7 +69,7 @@ namespace FS
|
|||
virtual qint64 minCapacity() const;
|
||||
virtual qint64 maxCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define UFS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -32,7 +34,7 @@ namespace FS
|
|||
/** @brief A UFS file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class ufs : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT ufs : public FileSystem
|
||||
{
|
||||
public:
|
||||
ufs(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -43,8 +45,8 @@ namespace FS
|
|||
virtual CommandSupportType supportMove() const { return m_Move; }
|
||||
virtual CommandSupportType supportCopy() const { return m_Copy; }
|
||||
virtual CommandSupportType supportBackup() const { return m_Backup; }
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static CommandSupportType m_Move;
|
||||
static CommandSupportType m_Copy;
|
||||
static CommandSupportType m_Backup;
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define UNFORMATTED__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,19 +36,19 @@ namespace FS
|
|||
/** @brief A pseudo file system for unformatted partitions.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class unformatted : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT unformatted : public FileSystem
|
||||
{
|
||||
public:
|
||||
unformatted(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
||||
public:
|
||||
static void init() {}
|
||||
|
||||
|
||||
virtual bool create(Report&, const QString&) const;
|
||||
|
||||
virtual CommandSupportType supportCreate() const { return m_Create; }
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static CommandSupportType m_Create;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define UNKNOWN__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -30,7 +32,7 @@ namespace FS
|
|||
/** @brief A pseudo file system for partitions whose file system we cannot determine.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class unknown : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT unknown : public FileSystem
|
||||
{
|
||||
public:
|
||||
unknown(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#define XFS__H
|
||||
|
||||
#include "util/libpartitionmanagerexport.h"
|
||||
|
||||
#include "fs/filesystem.h"
|
||||
|
||||
#include <qglobal.h>
|
||||
|
@ -34,7 +36,7 @@ namespace FS
|
|||
/** @brief An XFS file system.
|
||||
@author vl@fidra.de
|
||||
*/
|
||||
class xfs : public FileSystem
|
||||
class LIBPARTITIONMANAGERPRIVATE_EXPORT xfs : public FileSystem
|
||||
{
|
||||
public:
|
||||
xfs(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label);
|
||||
|
@ -61,7 +63,7 @@ namespace FS
|
|||
|
||||
virtual qint64 minCapacity() const;
|
||||
|
||||
protected:
|
||||
public:
|
||||
static CommandSupportType m_GetUsed;
|
||||
static CommandSupportType m_GetLabel;
|
||||
static CommandSupportType m_Create;
|
||||
|
|
|
@ -83,11 +83,11 @@ bool ResizeFileSystemJob::run(Report& parent)
|
|||
|
||||
switch(support)
|
||||
{
|
||||
case FileSystem::cmdSupportCore:
|
||||
case FileSystem::cmdSupportBackend:
|
||||
{
|
||||
Report* childReport = report->newChild();
|
||||
childReport->line() << i18nc("@info/plain", "Resizing a %1 file system using internal backend functions.", partition().fileSystem().name());
|
||||
rval = resizeFileSystemInternal(*childReport);
|
||||
rval = resizeFileSystemBackend(*childReport);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -112,7 +112,7 @@ bool ResizeFileSystemJob::run(Report& parent)
|
|||
return rval;
|
||||
}
|
||||
|
||||
bool ResizeFileSystemJob::resizeFileSystemInternal(Report& report)
|
||||
bool ResizeFileSystemJob::resizeFileSystemBackend(Report& report)
|
||||
{
|
||||
bool rval = false;
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ class ResizeFileSystemJob : public Job
|
|||
virtual QString description() const;
|
||||
|
||||
protected:
|
||||
bool resizeFileSystemInternal(Report& report);
|
||||
bool resizeFileSystemBackend(Report& report);
|
||||
|
||||
Partition& partition() { return m_Partition; }
|
||||
const Partition& partition() const { return m_Partition; }
|
||||
|
|
|
@ -64,6 +64,10 @@ DummyBackend::DummyBackend(QObject*, const QList<QVariant>&) :
|
|||
{
|
||||
}
|
||||
|
||||
void DummyBackend::initFSSupport()
|
||||
{
|
||||
}
|
||||
|
||||
QList<Device*> DummyBackend::scanDevices()
|
||||
{
|
||||
QList<Device*> result;
|
||||
|
|
|
@ -44,6 +44,8 @@ class DummyBackend : public CoreBackend
|
|||
DummyBackend(QObject* parent, const QList<QVariant>& args);
|
||||
|
||||
public:
|
||||
virtual void initFSSupport();
|
||||
|
||||
virtual QList<Device*> scanDevices();
|
||||
virtual CoreBackendDevice* openDevice(const QString& device_node);
|
||||
virtual CoreBackendDevice* openDeviceExclusive(const QString& device_node);
|
||||
|
|
|
@ -31,6 +31,10 @@
|
|||
#include "fs/filesystem.h"
|
||||
#include "fs/filesystemfactory.h"
|
||||
|
||||
#include "fs/fat16.h"
|
||||
#include "fs/hfs.h"
|
||||
#include "fs/hfsplus.h"
|
||||
|
||||
#include "util/globallog.h"
|
||||
|
||||
#include <QString>
|
||||
|
@ -276,6 +280,14 @@ LibPartedBackend::LibPartedBackend(QObject*, const QList<QVariant>&) :
|
|||
ped_exception_set_handler(pedExceptionHandler);
|
||||
}
|
||||
|
||||
void LibPartedBackend::initFSSupport()
|
||||
{
|
||||
FS::fat16::m_Shrink = FileSystem::cmdSupportBackend;
|
||||
FS::fat16::m_Grow = FileSystem::cmdSupportBackend;
|
||||
FS::hfs::m_Shrink = FileSystem::cmdSupportBackend;
|
||||
FS::hfsplus::m_Shrink = FileSystem::cmdSupportBackend;
|
||||
}
|
||||
|
||||
/** Scans a Device for Partitions.
|
||||
|
||||
This method will scan a Device for all Partitions on it, detect the FileSystem for each Partition,
|
||||
|
|
|
@ -59,6 +59,8 @@ class LibPartedBackend : public CoreBackend
|
|||
LibPartedBackend(QObject* parent, const QList<QVariant>& args);
|
||||
|
||||
public:
|
||||
virtual void initFSSupport();
|
||||
|
||||
virtual CoreBackendDevice* openDevice(const QString& device_node);
|
||||
virtual CoreBackendDevice* openDeviceExclusive(const QString& device_node);
|
||||
virtual bool closeDevice(CoreBackendDevice* core_device);
|
||||
|
|
Loading…
Reference in New Issue