diff options
Diffstat (limited to 'src/libs/installer/remotefileengine.cpp')
-rw-r--r-- | src/libs/installer/remotefileengine.cpp | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/src/libs/installer/remotefileengine.cpp b/src/libs/installer/remotefileengine.cpp index b600da618..2ead83861 100644 --- a/src/libs/installer/remotefileengine.cpp +++ b/src/libs/installer/remotefileengine.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2024 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -55,10 +55,10 @@ QAbstractFileEngine* RemoteFileEngineHandler::create(const QString &fileName) co if (fileName.isEmpty() || fileName.startsWith(QLatin1String(":"))) return 0; // empty filename or Qt resource - QScopedPointer<RemoteFileEngine> client(new RemoteFileEngine()); + std::unique_ptr<RemoteFileEngine> client(new RemoteFileEngine()); client->setFileName(fileName); if (client->isConnectedToServer()) - return client.take(); + return client.release(); return 0; } @@ -313,6 +313,7 @@ bool RemoteFileEngine::link(const QString &newName) /*! \reimp */ +#if QT_VERSION < QT_VERSION_CHECK(6, 3, 0) bool RemoteFileEngine::mkdir(const QString &dirName, bool createParentDirectories) const { if ((const_cast<RemoteFileEngine *>(this))->connectToServer()) { @@ -320,18 +321,38 @@ bool RemoteFileEngine::mkdir(const QString &dirName, bool createParentDirectorie dirName, createParentDirectories); } return m_fileEngine.mkdir(dirName, createParentDirectories); + +} +#else +bool RemoteFileEngine::mkdir(const QString &dirName, bool createParentDirectories, + std::optional<QFile::Permissions> permissions) const +{ + if ((const_cast<RemoteFileEngine *>(this))->connectToServer()) { + return callRemoteMethod<bool>(QString::fromLatin1(Protocol::QAbstractFileEngineMkdir), + dirName, createParentDirectories); + } + return m_fileEngine.mkdir(dirName, createParentDirectories, permissions); } +#endif /*! \reimp */ +#if QT_VERSION < QT_VERSION_CHECK(6, 3, 0) bool RemoteFileEngine::open(QIODevice::OpenMode mode) +#else +bool RemoteFileEngine::open(QIODevice::OpenMode mode, std::optional<QFile::Permissions> permissions) +#endif { if (connectToServer()) { return callRemoteMethod<bool>(QString::fromLatin1(Protocol::QAbstractFileEngineOpen), static_cast<qint32>(mode | QIODevice::Unbuffered)); } +#if QT_VERSION < QT_VERSION_CHECK(6, 3, 0) return m_fileEngine.open(mode | QIODevice::Unbuffered); +#else + return m_fileEngine.open(mode | QIODevice::Unbuffered, permissions); +#endif } /*! @@ -418,8 +439,7 @@ bool RemoteFileEngine::seek(qint64 offset) void RemoteFileEngine::setFileName(const QString &fileName) { if (connectToServer()) { - callRemoteMethod(QString::fromLatin1(Protocol::QAbstractFileEngineSetFileName), fileName, - dummy); + callRemoteMethodDefaultReply(QString::fromLatin1(Protocol::QAbstractFileEngineSetFileName), fileName); } m_fileEngine.setFileName(fileName); } @@ -534,7 +554,11 @@ bool RemoteFileEngine::renameOverwrite(const QString &newName) return m_fileEngine.renameOverwrite(newName); } +#if QT_VERSION < QT_VERSION_CHECK(6, 7, 0) QDateTime RemoteFileEngine::fileTime(FileTime time) const +#else +QDateTime RemoteFileEngine::fileTime(QFile::FileTime time) const +#endif { if ((const_cast<RemoteFileEngine *>(this))->connectToServer()) { return callRemoteMethod<QDateTime> |