From 523f650a34c976c9d5cbeeb6ef415cd9d032be5c Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 24 Apr 2017 04:54:44 +0200 Subject: [PATCH] Ref T40, utility functions --- src/blackmisc/db/distributionlist.cpp | 24 ++++++++++++++++++++++++ src/blackmisc/db/distributionlist.h | 12 ++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/blackmisc/db/distributionlist.cpp b/src/blackmisc/db/distributionlist.cpp index e2c0360cc..abc662fc7 100644 --- a/src/blackmisc/db/distributionlist.cpp +++ b/src/blackmisc/db/distributionlist.cpp @@ -36,6 +36,30 @@ namespace BlackMisc return this->findFirstByOrDefault(&CDistribution::getChannel, channel); } + QString CDistributionList::getVersionForChannelAndPlatform(const QString &channel, const QString &platform) const + { + const CDistribution dist = this->findByChannelOrDefault(channel); + return dist.getVersionString(platform); + } + + QVersionNumber CDistributionList::getQVersionForChannelAndPlatform(const QString &channel, const QString &platform) const + { + const CDistribution dist = this->findByChannelOrDefault(channel); + return dist.getQVersion(platform); + } + + QString CDistributionList::getVersionForChannelAndPlatform(const QStringList &channelPlatform) const + { + Q_ASSERT_X(channelPlatform.length() != 2, Q_FUNC_INFO, "Wrong size"); + return this->getVersionForChannelAndPlatform(channelPlatform.first(), channelPlatform.last()); + } + + QVersionNumber CDistributionList::getQVersionForChannelAndPlatform(const QStringList &channelPlatform) const + { + Q_ASSERT_X(channelPlatform.length() == 2, Q_FUNC_INFO, "Wrong size"); + return this->getQVersionForChannelAndPlatform(channelPlatform.first(), channelPlatform.last()); + } + CDistributionList CDistributionList::fromDatabaseJson(const QJsonArray &array) { CDistributionList distributions; diff --git a/src/blackmisc/db/distributionlist.h b/src/blackmisc/db/distributionlist.h index c8f0a63de..355bc444b 100644 --- a/src/blackmisc/db/distributionlist.h +++ b/src/blackmisc/db/distributionlist.h @@ -45,6 +45,18 @@ namespace BlackMisc //! Find distribution by channels CDistribution findByChannelOrDefault(const QString &channel) const; + //! Version for specific channel and platform + QString getVersionForChannelAndPlatform(const QString &channel, const QString &platform) const; + + //! Version for specific channel and platform + QVersionNumber getQVersionForChannelAndPlatform(const QString &channel, const QString &platform) const; + + //! Version for specific channel and platform + QString getVersionForChannelAndPlatform(const QStringList &channelPlatform) const; + + //! Version for specific channel and platform + QVersionNumber getQVersionForChannelAndPlatform(const QStringList &channelPlatform) const; + //! From database JSON static CDistributionList fromDatabaseJson(const QJsonArray &array); };