diff options
-rw-r--r-- | examples/qml/basic/main.qml | 3 | ||||
-rw-r--r-- | src/imports/pluginmain.cpp | 4 | ||||
-rw-r--r-- | src/lib/qotaclient.cpp | 22 | ||||
-rw-r--r-- | src/lib/qotaclient.h | 2 | ||||
-rw-r--r-- | src/lib/qotarepositoryconfig.cpp | 21 | ||||
-rw-r--r-- | src/lib/qotarepositoryconfig_p.h | 1 |
6 files changed, 19 insertions, 34 deletions
diff --git a/examples/qml/basic/main.qml b/examples/qml/basic/main.qml index 3168c54..368dd0b 100644 --- a/examples/qml/basic/main.qml +++ b/examples/qml/basic/main.qml @@ -63,8 +63,7 @@ Window { } function configureRepository(config, silent) { - var currentConfig = OtaClient.repositoryConfig() - if (currentConfig && OtaClient.repositoryConfigsEqual(currentConfig, config)) { + if (OtaClient.isRepositoryConfigSet(config)) { if (!silent) log("The configuration is already set") return false; diff --git a/src/imports/pluginmain.cpp b/src/imports/pluginmain.cpp index a498b93..9c72267 100644 --- a/src/imports/pluginmain.cpp +++ b/src/imports/pluginmain.cpp @@ -373,9 +373,9 @@ QT_BEGIN_NAMESPACE */ /*! - \qmlmethod bool OtaClient::repositoryConfigsEqual(OtaRepositoryConfig a, OtaRepositoryConfig b) + \qmlmethod bool OtaClient::isRepositoryConfigSet(OtaRepositoryConfig config) - \include qotaclient.cpp repository-configs-equal + \include qotaclient.cpp is-repository-config-set */ /*! diff --git a/src/lib/qotaclient.cpp b/src/lib/qotaclient.cpp index df71125..710d4be 100644 --- a/src/lib/qotaclient.cpp +++ b/src/lib/qotaclient.cpp @@ -480,16 +480,24 @@ bool QOtaClient::removeRepositoryConfig() } /*! -//! [repository-configs-equal] +//! [is-repository-config-set] - Compares if the configuration \a a is equal to the configuration \a b. Returns \c true - if configurations are equal (all properties are equal), otherwise returns \c false. + Returns \c true if the configuration \a config is already set; otherwise returns \c false. -//! [repository-configs-equal] +//! [is-repository-config-set] */ -bool QOtaClient::repositoryConfigsEqual(QOtaRepositoryConfig *a, QOtaRepositoryConfig *b) +bool QOtaClient::isRepositoryConfigSet(QOtaRepositoryConfig *config) const { - return QOtaRepositoryConfig().d_func()->repositoryConfigsEqual(a, b); + QOtaRepositoryConfig *currentConfig = repositoryConfig(); + + bool isSet = currentConfig && config && currentConfig->url() == config->url() && + currentConfig->gpgVerify() == config->gpgVerify() && + currentConfig->tlsPermissive() == config->tlsPermissive() && + currentConfig->tlsClientCertPath() == config->tlsClientCertPath() && + currentConfig->tlsClientKeyPath() == config->tlsClientKeyPath() && + currentConfig->tlsCaPath() == config->tlsCaPath(); + + return isSet; } /*! @@ -508,7 +516,7 @@ bool QOtaClient::repositoryConfigsEqual(QOtaRepositoryConfig *a, QOtaRepositoryC bool QOtaClient::setRepositoryConfig(QOtaRepositoryConfig *config) { Q_D(QOtaClient); - if (!d->isReady()) + if (!d->isReady() || !config) return false; if (QDir().exists(repoConfigPath)) { diff --git a/src/lib/qotaclient.h b/src/lib/qotaclient.h index c5df719..dfd171d 100644 --- a/src/lib/qotaclient.h +++ b/src/lib/qotaclient.h @@ -81,7 +81,7 @@ public: Q_INVOKABLE bool setRepositoryConfig(QOtaRepositoryConfig *config); Q_INVOKABLE QOtaRepositoryConfig *repositoryConfig() const; Q_INVOKABLE bool removeRepositoryConfig(); - Q_INVOKABLE bool repositoryConfigsEqual(QOtaRepositoryConfig *a, QOtaRepositoryConfig *b); + Q_INVOKABLE bool isRepositoryConfigSet(QOtaRepositoryConfig *config) const; QString bootedVersion() const; QString bootedDescription() const; diff --git a/src/lib/qotarepositoryconfig.cpp b/src/lib/qotarepositoryconfig.cpp index 5a443df..f2049ee 100644 --- a/src/lib/qotarepositoryconfig.cpp +++ b/src/lib/qotarepositoryconfig.cpp @@ -86,27 +86,6 @@ QOtaRepositoryConfig *QOtaRepositoryConfigPrivate::repositoryConfigFromFile(cons return conf; } -bool QOtaRepositoryConfigPrivate::repositoryConfigsEqual(QOtaRepositoryConfig *a, QOtaRepositoryConfig *b) const -{ - if (!a || !b) - return false; - - if (a->url() != b->url()) - return false; - if (a->gpgVerify() != b->gpgVerify()) - return false; - if (a->tlsPermissive() != b->tlsPermissive()) - return false; - if (a->tlsClientCertPath() != b->tlsClientCertPath()) - return false; - if (a->tlsClientKeyPath() != b->tlsClientKeyPath()) - return false; - if (a->tlsCaPath() != b->tlsCaPath()) - return false; - - return true; -} - /*! \class QOtaRepositoryConfig \inmodule qtotaupdate diff --git a/src/lib/qotarepositoryconfig_p.h b/src/lib/qotarepositoryconfig_p.h index 2bf3b9a..6ad12ca 100644 --- a/src/lib/qotarepositoryconfig_p.h +++ b/src/lib/qotarepositoryconfig_p.h @@ -47,7 +47,6 @@ public: virtual ~QOtaRepositoryConfigPrivate(); QOtaRepositoryConfig *repositoryConfigFromFile(const QString &configPath) const; - bool repositoryConfigsEqual(QOtaRepositoryConfig *a, QOtaRepositoryConfig *b) const; // members QOtaRepositoryConfig *const q_ptr; |