diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2024-04-17 15:18:38 +0200 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-04-19 03:23:17 +0200 |
commit | 488545ca72b7f2a59401a42c2c264f38916e15d1 (patch) | |
tree | 424930ce219f03c0c27b27c68ee63cbda89ca741 /src | |
parent | 11f242174b5b53a7052e9d6edc7b75aa8f8d91c4 (diff) |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/io/qfsfileengine.cpp | 22 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_p.h | 12 |
2 files changed, 15 insertions, 19 deletions
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index c9ea8f94f7..a4d0cc0e4f 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -990,26 +990,14 @@ bool QFSFileEngine::remove() return ret; } -/*! - \reimp -*/ -bool QFSFileEngine::rename(const QString &newName) -{ - Q_D(QFSFileEngine); - 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) +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::renameOverwriteFile(d->fileEntry, QFileSystemEntry(newName), error); + const bool ret = func(d->fileEntry, QFileSystemEntry(newName), error); if (!ret) setError(QFile::RenameError, error.toString()); return ret; diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h index f70507147a..231ad9020a 100644 --- a/src/corelib/io/qfsfileengine_p.h +++ b/src/corelib/io/qfsfileengine_p.h @@ -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 |