Ref T40, utility functions

This commit is contained in:
Klaus Basan
2017-04-24 04:54:44 +02:00
committed by Mathew Sutcliffe
parent 64da9f215a
commit 523f650a34
2 changed files with 36 additions and 0 deletions

View File

@@ -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;

View File

@@ -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);
};