QFSFileEngine: de-duplicate some code
The only difference is the name of the QFileSystemEngine method each one calls. This makes subsequent commits simpler, since now only one function will need to be changed. Change-Id: I1b7d2ceeab0ad98e2ee87b3a64f100ab906f7df5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
11f242174b
commit
488545ca72
@ -990,26 +990,14 @@ bool QFSFileEngine::remove()
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*!
|
||||
\reimp
|
||||
*/
|
||||
bool QFSFileEngine::rename(const QString &newName)
|
||||
bool QFSFileEngine::rename_helper(const QString &newName, RenameMode mode)
|
||||
{
|
||||
Q_D(QFSFileEngine);
|
||||
|
||||
auto func = mode == Rename ? QFileSystemEngine::renameFile
|
||||
: QFileSystemEngine::renameOverwriteFile;
|
||||
QSystemError error;
|
||||
bool ret = QFileSystemEngine::renameFile(d->fileEntry, QFileSystemEntry(newName), error);
|
||||
if (!ret)
|
||||
setError(QFile::RenameError, error.toString());
|
||||
return ret;
|
||||
}
|
||||
/*!
|
||||
\reimp
|
||||
*/
|
||||
bool QFSFileEngine::renameOverwrite(const QString &newName)
|
||||
{
|
||||
Q_D(QFSFileEngine);
|
||||
QSystemError error;
|
||||
bool ret = QFileSystemEngine::renameOverwriteFile(d->fileEntry, QFileSystemEntry(newName), error);
|
||||
const bool ret = func(d->fileEntry, QFileSystemEntry(newName), error);
|
||||
if (!ret)
|
||||
setError(QFile::RenameError, error.toString());
|
||||
return ret;
|
||||
|
@ -60,8 +60,12 @@ public:
|
||||
bool isSequential() const override;
|
||||
bool remove() override;
|
||||
bool copy(const QString &newName) override;
|
||||
bool rename(const QString &newName) override;
|
||||
bool renameOverwrite(const QString &newName) override;
|
||||
|
||||
bool rename(const QString &newName) override
|
||||
{ return rename_helper(newName, Rename); }
|
||||
bool renameOverwrite(const QString &newName) override
|
||||
{ return rename_helper(newName, RenameOverwrite); }
|
||||
|
||||
bool link(const QString &newName) override;
|
||||
bool mkdir(const QString &dirName, bool createParentDirectories,
|
||||
std::optional<QFile::Permissions> permissions) const override;
|
||||
@ -110,6 +114,10 @@ public:
|
||||
|
||||
protected:
|
||||
QFSFileEngine(QFSFileEnginePrivate &dd);
|
||||
|
||||
private:
|
||||
enum RenameMode : int { Rename, RenameOverwrite };
|
||||
bool rename_helper(const QString &newName, RenameMode mode);
|
||||
};
|
||||
|
||||
class Q_AUTOTEST_EXPORT QFSFileEnginePrivate : public QAbstractFileEnginePrivate
|
||||
|
Loading…
x
Reference in New Issue
Block a user