diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2023-08-18 17:30:46 +0200 |
---|---|---|
committer | Piotr Wierciński <piotr.wiercinski@qt.io> | 2023-10-18 15:02:22 +0200 |
commit | 322e2a282158c53f21eb1ca1a2e42097a897bfa2 (patch) | |
tree | 51bd27e1cb8bdad29de1259af5cbf4323b13bef8 /src/corelib/io | |
parent | 381d6210c2a214df2c4c79a507f42c27b2dcfdec (diff) |
Simplify QWasmIDBSettingsPrivate
Since QWasmIDBSettingsPrivate is only supported on JSPI now, there is
no need to maintain the isReadReady flag anymore. This lets us simplify
the class a lot.
Change-Id: I67322389463af13b5110091a4f8433f08da19925
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/qsettings_wasm.cpp | 53 |
1 files changed, 7 insertions, 46 deletions
diff --git a/src/corelib/io/qsettings_wasm.cpp b/src/corelib/io/qsettings_wasm.cpp index 96b0033d95..960938fb25 100644 --- a/src/corelib/io/qsettings_wasm.cpp +++ b/src/corelib/io/qsettings_wasm.cpp @@ -236,26 +236,17 @@ public: const QString &application); ~QWasmIDBSettingsPrivate(); - std::optional<QVariant> get(const QString &key) const override; - QStringList children(const QString &prefix, ChildSpec spec) const override; void clear() override; void sync() override; void flush() override; - bool isWritable() const override; - void initAccess() override; - - void loadLocal(); - void setReady(); private: - bool writeSettingsToTemporaryFile(void *dataPtr, int size); + bool writeSettingsToTemporaryFile(const QString &fileName, void *dataPtr, int size); QString databaseName; QString id; }; -static bool isReadReady = false; - constexpr char DbName[] = "/home/web_user"; QWasmIDBSettingsPrivate::QWasmIDBSettingsPrivate(QSettings::Scope scope, @@ -270,7 +261,6 @@ QWasmIDBSettingsPrivate::QWasmIDBSettingsPrivate(QSettings::Scope scope, return; } - setStatus(QSettings::AccessError); // access error until sandbox gets loaded databaseName = organization; id = application; @@ -285,35 +275,23 @@ QWasmIDBSettingsPrivate::QWasmIDBSettingsPrivate(QSettings::Scope scope, void *contents; int size; emscripten_idb_load(DbName, fileName().toLocal8Bit(), &contents, &size, &error); - if (error || !writeSettingsToTemporaryFile(contents, size)) { + if (error || !writeSettingsToTemporaryFile(fileName(), contents, size)) { setStatus(QSettings::AccessError); return; } } - setReady(); + QConfFileSettingsPrivate::initAccess(); } QWasmIDBSettingsPrivate::~QWasmIDBSettingsPrivate() = default; -void QWasmIDBSettingsPrivate::initAccess() -{ - if (isReadReady) - QConfFileSettingsPrivate::initAccess(); -} - -std::optional<QVariant> QWasmIDBSettingsPrivate::get(const QString &key) const -{ - if (isReadReady) - return QConfFileSettingsPrivate::get(key); +bool QWasmIDBSettingsPrivate::writeSettingsToTemporaryFile(const QString &fileName, void *dataPtr, + int size) - return std::nullopt; -} - -bool QWasmIDBSettingsPrivate::writeSettingsToTemporaryFile(void *dataPtr, int size) { - QFile file(fileName()); - QFileInfo fileInfo(fileName()); + QFile file(fileName); + QFileInfo fileInfo(fileName); QDir dir(fileInfo.path()); if (!dir.exists()) dir.mkpath(fileInfo.path()); @@ -324,11 +302,6 @@ bool QWasmIDBSettingsPrivate::writeSettingsToTemporaryFile(void *dataPtr, int si return size == file.write(reinterpret_cast<char *>(dataPtr), size); } -QStringList QWasmIDBSettingsPrivate::children(const QString &prefix, ChildSpec spec) const -{ - return QConfFileSettingsPrivate::children(prefix, spec); -} - void QWasmIDBSettingsPrivate::clear() { QConfFileSettingsPrivate::clear(); @@ -359,18 +332,6 @@ void QWasmIDBSettingsPrivate::flush() sync(); } -bool QWasmIDBSettingsPrivate::isWritable() const -{ - return isReadReady && QConfFileSettingsPrivate::isWritable(); -} - -void QWasmIDBSettingsPrivate::setReady() -{ - isReadReady = true; - setStatus(QSettings::NoError); - QConfFileSettingsPrivate::initAccess(); -} - QSettingsPrivate *QSettingsPrivate::create(QSettings::Format format, QSettings::Scope scope, const QString &organization, const QString &application) { |