Fetch the repository succeeded.
#include "deblistmodel.h"
#include "packagesmanager.h"
#include <QApt/Backend>
#include <QtConcurrent>
using namespace QApt;
Backend *init_backend()
{
Backend *b = new Backend;
if(b->init()){
return b;
}
qFatal("%s", b->initErrorMessage().toStdString().c_str());
return nullptr;
}
PackagesManager::PackagesManager(QObject *parent)
: QObject(parent)
{
m_backendFuture = QtConcurrent::run(init_backend);
}
int PackagesManager::packageInstallStatus(const int index)
{
if(m_packageInstallStatus.contains(index))
return m_packageInstallStatus[index];
const QString packageName = m_preparedPackages[index]->packageName();
Backend *b = m_backendFuture.result();
Package *p = b->package(packageName);
int ret;
do {
const QString installVersion = p->installedVersion();
if(installVersion.isEmpty())
{
ret = DebListModel::NotInstalled;
break;
}
const QString packageVersion = m_preparedPackages[index]->version();
const int result = Package::compareVersion(packageVersion, installVersion);
if(result == 0)
ret = DebListModel::InstalledSameVersion;
else if(result > 0)
ret = DebListModel::InstalledLaterVerision;
else
ret = DebListModel::InstalledEarlierVersion;
} while(false);
m_packageInstallStatus.insert(index, ret);
return ret;
}
int PackagesManager::packageDependsStatus(const int index)
{
if (m_packageDependsStatus.contains(index))
return m_packageDependsStatus[index];
return DebListModel::DependsOk;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。