repoindex/alpm/utilities.cpp

112 lines
2.9 KiB
C++
Raw Normal View History

2015-08-10 22:46:01 +02:00
#include "utilities.h"
#include <QString>
#include <QJsonArray>
using namespace std;
namespace PackageManagement {
namespace Utilities {
/*!
* \brief Returns the package names of the specified \a dependencyList.
*/
list<string> getNames(DependencyList dependencyList)
{
list<string> res;
for(auto dependency : dependencyList) {
res.push_back(dependency->name);
}
return res;
}
/*!
* \brief Returns string representations for the specified \a sigLevel.
*/
QJsonArray sigLevelStrings(alpm_siglevel_t sigLevel)
{
QJsonArray options;
if(sigLevel & ALPM_SIG_PACKAGE) {
options << QStringLiteral("package");
}
if(sigLevel & ALPM_SIG_PACKAGE_OPTIONAL) {
options << QStringLiteral("package optional");
}
if(sigLevel & ALPM_SIG_PACKAGE_MARGINAL_OK) {
options << QStringLiteral("package marginal ok");
}
if(sigLevel & ALPM_SIG_PACKAGE_UNKNOWN_OK) {
options << QStringLiteral("package unknown ok");
}
if(sigLevel & ALPM_SIG_DATABASE) {
options << QStringLiteral("database");
}
if(sigLevel & ALPM_SIG_DATABASE_OPTIONAL) {
options << QStringLiteral("database optional");
}
if(sigLevel & ALPM_SIG_DATABASE_MARGINAL_OK) {
options << QStringLiteral("database marginal ok");
}
if(sigLevel & ALPM_SIG_DATABASE_UNKNOWN_OK) {
options << QStringLiteral("database unknown ok");
}
if(sigLevel & ALPM_SIG_PACKAGE_SET) {
options << QStringLiteral("package set");
}
if(sigLevel & ALPM_SIG_PACKAGE_TRUST_SET) {
options << QStringLiteral("package trust set");
}
if(sigLevel & ALPM_SIG_USE_DEFAULT) {
options << QStringLiteral("use default");
}
return options;
}
/*!
* \brief Returns string representations for the specified database \a usage.
*/
QJsonArray usageStrings(alpm_db_usage_t usage)
{
QJsonArray strings;
if(usage & ALPM_DB_USAGE_SYNC) {
strings << QStringLiteral("refreshing");
}
if(usage & ALPM_DB_USAGE_SEARCH) {
strings << QStringLiteral("searching");
}
if(usage & ALPM_DB_USAGE_INSTALL) {
strings << QStringLiteral("installing");
}
if(usage & ALPM_DB_USAGE_UPGRADE) {
strings << QStringLiteral("upgrading");
}
return strings;
}
/*!
* \brief Returns the string representation for the specified \a sigStatus.
*/
QString sigStatusString(alpm_sigstatus_t sigStatus)
{
switch(sigStatus) {
case ALPM_SIGSTATUS_VALID:
return QStringLiteral("valid");
case ALPM_SIGSTATUS_KEY_EXPIRED:
return QStringLiteral("key expired");
case ALPM_SIGSTATUS_SIG_EXPIRED:
return QStringLiteral("sig expired");
case ALPM_SIGSTATUS_KEY_UNKNOWN:
return QStringLiteral("key unknown");
case ALPM_SIGSTATUS_KEY_DISABLED:
return QStringLiteral("key disabled");
default:
return QStringLiteral("invalid");
}
}
}
} // namespace Alpm